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、應用層
負責資料的展示和獲取。
資料鏈路層、網路層、傳輸層負責處理網路通訊細節,這部分必須既穩定又高效,因此它們都在核心空間中實現。而應用層則在
使用者空間中實現,因為它負責處理眾多邏輯,比如檔案傳輸、名稱查詢和網路管理等。如果應用層也在核心中實現,則會讓核心變的
十分龐大。當然,也有少數伺服器程式是在核心中實現的,這樣程式碼就無須在使用者空間和核心空間來回切換(主要是資料的複製),
極大地提高了工作效率。不過這種程式碼實現起來較複雜,不夠靈活且不便於移植。