1. 程式人生 > >TCP/IP協議族體系結構

TCP/IP協議族體系結構

    TCP/IP協議族是一個四層協議系統,自底而上分別是資料鏈路層、網路層、傳輸層和應用層。每一層完成不同的功能,

且通過若干協議來實現,上層協議使用下層協議提供的服務。

1、資料鏈路層

      負責幀資料的傳遞。(經過資料鏈路層封裝的資料稱為幀)

      資料鏈路層兩個常用的協議時ARP(地址解析協議)和RARP(逆地址解析協議)。它們實現了IP地址和機器實體地址之間的相互轉換。

網路層使用IP地址定址一臺機器,而資料鏈路層使用實體地址定址一臺機器,因此網路層必須先將目標機器的IP地址轉換為其實體地址,

才能使用資料鏈路層提供的服務,這就是ARP協議的用途。RARP協議僅用於網路上的某些無盤工作站(沒有硬碟)。因缺乏儲存裝置,

無盤工作站無法記住自己的IP地址,但他們可以利用網絡卡上的實體地址來向網路管理者(伺服器或網路管理軟體)查詢自身的IP地址。

執行RARP服務的網路管理者通常存有該網路上所有機器的實體地址到IP地址的對映。

2、網路層

      負責資料怎樣傳遞過去。

      網路層實現資料包的選路和轉發。WAN(廣域網)通常使用眾多分級的路由器來連線分散的主機或LAN(區域網),因此,

通訊的兩臺主機一般不是直接相連的,而是通過多箇中間節點(路由器)連線的。網路層的任務就是選擇這些中間節點,

已確定兩臺主機之間的通訊路徑。同時,網路層對上層協議隱藏了網路拓撲連線的細節,使得在傳輸層和網路應用程式看來,

通訊的雙方是直接相連的。

3、傳輸層

  負責傳輸資料的控制(準確性、安全性)

  傳輸層為兩臺主機上的應用程式提供端到端(end to end)的通訊。與網路層使用的逐跳通訊方式不同,傳輸層只關心通訊的

起始端和目的端,而不在乎資料包的中轉過程。

    垂直的實線箭頭表示TCP/IP協議族各層之間的實體通訊,而水平的虛線箭頭表示邏輯通訊線路。傳輸層為應用程式封裝了一條

端到端的邏輯通訊鏈路,它負責資料的收發、鏈路的超時重傳等。

      傳輸層協議主要有三個:TCP 協議、UDP協議、SCTP協議。

4、應用層

      負責資料的展示和獲取。

      資料鏈路層、網路層、傳輸層負責處理網路通訊細節,這部分必須既穩定又高效,因此它們都在核心空間中實現。而應用層則在

使用者空間中實現,因為它負責處理眾多邏輯,比如檔案傳輸、名稱查詢和網路管理等。如果應用層也在核心中實現,則會讓核心變的

十分龐大。當然,也有少數伺服器程式是在核心中實現的,這樣程式碼就無須在使用者空間和核心空間來回切換(主要是資料的複製),

極大地提高了工作效率。不過這種程式碼實現起來較複雜,不夠靈活且不便於移植。