TCP/IP 協議詳解和運做過程

1、TCP/IP協議族


TCP/IP協議族體系結構及主要協議.png

一、數據鏈路層

ARP協議和RARP協議,它們實現了IP地址和機器物理地址之間的相互轉化網絡

  • ARP協議(Address Resolve Protocol,地址解析協議)數據結構

  • RARP協議(Reverse Address Resolve Protocol,逆地址解析協議)3d

做用:網絡層是用IP地址尋址一臺機器,而數據鏈路層是用物理地址尋址一臺機器,所以網絡層必須先將目標機器的IP地址轉化成其物理地址,這就是ARP協議的用途。RARP協議僅用於網絡上某些無盤工做站。由於缺少儲存設備,無盤工做站沒法記住本身的IP地址。可是它們能夠利用網卡上的物理地址來向網絡管理者查詢自身的IP地址。運行RARP服務的網絡管理者一般存有該網絡上有所及其得物理地址到IP地址映射。blog

二、網絡層

ip協議和ICMP協議,它們實現了數據包的選路和轉發。網絡層的任務就是選擇這些中間節點,已肯定兩臺主機之間通訊路徑。ip

三、傳輸層

TCP協議、UDP協議和SCTP協議
傳輸層爲兩臺主機上的應用程序提供端對端的通訊。與網絡層使用的逐跳通訊方式不一樣,傳輸層只關心通訊的起始端和目的端,而不在意數據包的中轉過程。io

  • TCP協議,傳輸控制協議
  • UDP協議,用戶數據報協議
  • SCTP協議,流控制傳輸協議

四、應用層

應用層在用戶空間實現,而數據鏈路層、網絡層和傳輸層處理網絡通訊細節,這部分必須穩定有高效,所以它們都在內核空間中實現。class

4.一、傳輸層和網絡層區別

傳輸層和網絡層區別.png

傳輸層爲兩臺主機上的應用程序提供端對端的通訊。與網絡層使用的逐跳通訊方式不一樣,傳輸層只關心通訊的起始端和目的端,而不在意數據包的中轉過程基礎

4.二、TCP協議的特色

爲應用層提供可靠的面向鏈接基於流的服務。TCP協議通訊使用超時重傳數據肯定等待來確保數據包被正確地發送至目的端。所以TCP服務是可靠的。定時器

使用TCP協議通訊的雙方必須先創建TCP鏈接,並在內核中爲鏈接維持一些必要的數據結構,好比鏈接的狀態讀寫緩衝區以及諸多定時器等。當通訊結束時,雙方必須關閉鏈接已釋放這些內核數據。TCP服務時給予流的。給予流的數據沒有邊界限制,它源源不斷地從通訊的一端流入另外一端。發送端能夠逐個字節地向數據流寫入數據,接受端也能夠逐個字節地將它們讀出程序

4.三、UDP協議的特色

爲應用層提供不可靠無鏈接和基於據包的服務。

UDP協議沒法保證數據從發送端正確的地傳送到目的端。若是數據在中途丟失,或者目的端數據校驗發現數據錯誤誤將其丟棄,則UDP協議知識簡單的通知應用程序發送失敗,所以,使用UDP協議的應用程序一般要本身處理數據確認、超時重傳等邏輯。UDP協議是無鏈接的,即通訊雙方不保持一個長久的聯繫,所以應用程序每一次發送數據都要指定接收方的地址。每個UDP數據都有一個長度,就接受端必須以該長度爲最小單位將其全部內容一次性讀出,不然數據將被截斷。

2、封裝和分用

一、封裝

上層協議是如何使用下層協議提供的服務的呢?其實經過封裝實現的。應用程序數據在發送到無力網絡上以前,將沿着協議棧從上往下依次傳遞。每一層協議都將在上冊數據的基礎上加上本身的頭信息。


封裝.png
  1. 通過TCP封裝後的數據稱TCP報文段,通過UDP封裝後的數據稱爲UDP數據包。
  2. 通過IP封裝後的數據稱爲IP數據報。
  3. 通過數據鏈路層封裝後的數據稱幀

二、分用

當幀到達目的的主機時,將沿着協議棧自底向上依次傳遞。各層協議依次處理幀中本層負責的頭數據,以獲取所需的信息,並最終將處理後的幀交給目的應用程序。

相關文章
相關標籤/搜索