TCP/IP協議族

Koma_Wong發表於2018-07-15

TCP/IP協議族

現在internet使用的駐留協議族是TCP/IP協議族,它是四層協議的通訊系統。自底向上分別是:資料鏈路層、網路層、傳輸層和應用層。

5853159-0178254b89f97498.png
  • 資料鏈路層

資料鏈路層實現了網路卡介面的網路驅動程式,以處理資料在物理媒介上的傳輸(乙太網、令牌環網等)。網路驅動程式隱藏了不同物理網路的電氣特性,提供了一個統一的介面。
常用協議有:ARP、RARP

  • 網路層

網路層實現資料包的選路和轉發。網路層對上層協議隱藏了網路拓撲的細節,使得在傳輸層和網路應用程式看來,通訊雙方是直接相連的。
常用協議有:IP、ICMP

  • 傳輸層

傳輸層為兩臺主機上應用程式提供端到端的通訊。與網路層使用的逐跳通訊不同,傳輸層只關心通訊的起始端和目的端,不在乎資料包的中轉過程。
常用協議有:TCP、UDP、SCTP

  • 應用層

應用層負責處理應用程式的邏輯。資料鏈路層、網路層和傳輸層負責處理網路通訊的細節,這部分必須既穩定又高效,因此都在核心中實現,而應用層則在使用者空間實現。
應用層協議很多,例如:telnet、OSPF、DNS、FTP、HTTP等。值得注意的是,ping是應用程式,不是協議,它只是利用ICMP報文對網路連線進行檢測。

少數常見協議

  • ARP、RARP

網路層使用IP地址定址一臺機器,而資料鏈路層使用實體地址定址一臺機器,因此必須先將目標機器的IP地址轉化成目標機器的實體地址,才能使用資料鏈路層的服務。
ARP協議用於實現網路地址到實體地址的轉換,RARP協議用於實現實體地址到網路地址的轉換。RARP協議僅用於網路上某些無盤工作站,由於缺乏儲存裝置,其無法記住自己的IP地址,只能利用網路卡上的實體地址向網路管理者查詢自身IP地址。

  • ICMP

ICMP由型別欄位分為兩大類:一類是差錯報文,這類報文主要是用來回應網路錯誤,比如目標不可達(型別值3)和重定向(型別5);另一類是查詢報文,這類報文用來查詢網路資訊,比如ping程式就是使用ICMP報文檢視目標是否可達的(型別8)。

  • TCP、UDP

TCP協議為應用層提供可靠的、面向連線的基於流(資料無邊界)的服務。其通過超時重傳、資料確認等方式保證資料包被正確地接受。
UDP協議為應用層提供不可靠、無連線和基於資料包的服務。無法保證資料從傳送端正確傳送到目的端。需要應用程式自己處理資料確認、超時重傳等邏輯。

  • DNS

DNS協議是一套分散式域名伺服器。每個DNS伺服器上都存放著大量機器名和IP地址對映,並且是動態更新的。眾多網路客戶端都使用DNS協議來向DNS伺服器查詢目標主機的IP地址。

封裝與分用

應用程式資料在傳送到物理網路之前,將沿著協議棧從上往下傳遞。每層協議都在上層資料的基礎上加上自己的頭部資訊(有時還包括尾部資訊),以實現該層的功能,這個過程就叫封裝

5853159-9a454ceb1f3d3bd2.png

當幀到達目的主機時,將沿著協議棧自底向上依次傳遞。各層協議依次處理幀中本層負責的頭部,提取所需的資訊,並將最終處理後的幀交給目標應用程式,這個過程稱為分用

5853159-ad69555973f58912.png

相關文章