網路程式設計之各種協議

2021-07-04 16:26:33 字數 1049 閱讀 6322

在網路程式設計 時有各種協議,多的眼花繚亂,學著也容易混淆,特意整理一下,方便查閱:

arp:位址解析協議,就是把ip位址和mac位址對應起來的,當網路中乙個ip位址沒有與之相對應的mac位址時,arp可以在網路中找到與之相對應的主機mac位址。ip在osi模型的網路層,mac在資料鏈路層,他倆彼此互不聯絡,當要向乙太網傳送訊息時,只知道目的ip位址,而不知道是哪個mac位址,這是arp的作用就體現了,其可以可

根據網路層ip資料報包頭中的ip位址資訊解析出目標硬體位址(mac位址)資訊。

ip:這個最常見了,就是在網際網路上各個計算機之間進行通訊的協議,要遵照此協議傳送的資料。但是ip協議不是可靠的,不提供訊息未傳達時的處理機制。

tcp:在ip協議上層(傳輸層)的一種傳輸協議,是面向連線的,他是可靠的,一般都要經過三次握手連線,適合於對連線可靠性要求較高的服務。

udp:和tcp是相對的,也是位於傳輸層的一種面向無連線的不可靠的傳輸協議,就是只管傳送,不管你有沒有接到,適合於對連線可靠性無要求,一般聊天軟體用這個。

dns:是用來進行網域名稱和ip位址轉換的,位於應用層,現在都是乙個網域名稱對應乙個ip,但乙個ip可以對應多個網域名稱或者沒有網域名稱。

dhcp:動態主機配置協議,就是為你的計算機分配ip位址的,具有手工、自動、動態分配三種分配方式,動態分配就是當你需要上網時為你的電腦分配乙個動態ip位址,每次都是不一樣的,當你不需要網時就把ip位址收回來,重複利用。

http:超文字傳輸協議,就是傳送和接收html檔案的協議,現在的網頁都是用html格式,在瀏覽器和伺服器之間通訊用的就是這個協議。

目前就用到了這幾個,後續的再補充。

我的理解是當你用瀏覽器訪問乙個**時,首先需要dhcp伺服器也就是你的電信運營商為你的電腦分配乙個可以上網的ip位址,然後在瀏覽器輸入**的網域名稱,瀏覽器把這個指令轉換成http命令,然後連線dns伺服器查詢此網域名稱的ip位址,接著往下層傳送,到了傳輸層後,選擇tcp協議,接著送往網路層和資料鏈路層,通過arp協議找到與此ip對應的mac位址,然後通過乙太網把命令傳送到指定伺服器,至此請求命令傳送完成,接著實行三次握手連線確認,成功後伺服器即可返回你需要的內容也就是html的網頁。

網路程式設計之UDP協議

將資料及源和目的封裝成資料報,不需要建立連線。每個資料報的大小限制在64k內。因無連線,是不可靠的協議,但是速度快。客戶端 1 建立udp傳輸的傳送端 2 建立udp的socket服務 3 將要傳送的資料封裝到資料報中 4 通過udp的socket服務獎資料報傳送過去 5 關閉socket服務 pu...

網路程式設計之UDP協議

1 實現的功能 能夠傳送和接收訊息,並且在發生886後退出 2 chatroom 類 public class chatroom 3 傳送執行緒sendthread 類public class sendthread implements runnable override public void r...

網路程式設計之TCP協議整理

建立連線,形成傳輸資料的通道,在連線中進行大資料量的傳輸。需要通過三次握手完成連線,是可靠地協議。但是效率低。客戶端建立過程。1 建立tcp客戶端socket伺服器,使用的是socket物件,建立物件時明確目的地,以及要連線的主機。2 如果連線成功,說明資料傳輸通道已經建立。這個通道就是流,sock...