三、TCP/IP的四層協議詳解


1. TCP/IP的四層協議- 簡介

 tcp/ip協議族分層之后的總體設計:每一層完成不同的功能,且通過若干協議來實現,上層協議使用下層協議提供的服務

 

TCP/IP協議族按照層次由上到下,層層包裝:

  • (1)最上面的就是應用層了,這里面有http,ftp,等等我們熟悉的協議。
  • (2)而第二層則是傳輸層,著名的TCP和UDP協議就在這個層次。
  • (3)第三層是網絡層,IP協議就在這里,它負責對數據加上IP地址和其他的數據以確定傳輸的目標。
  • (4)第四層是叫數據鏈路層,這個層次為待傳送的數據加入一個以太網協議頭,並進行CRC編碼,為最后的數據傳輸做准備。

2. TCP/IP的四層協議- 詳解

 

第 1 層:鏈路層(數據鏈路層使用物理地址尋找機器

① 定義

  •  數據鏈路層實現了網卡接口的網絡驅動程序,處理數據在物理媒介(以太網,令牌環)上的傳輸。

② 作用

  • 當網絡層需要使用數據鏈路層提供的服務時,必須把IP地址轉換為物理地址,這就用到了RAP協議。
  • RARP協議僅用於網絡上某些無盤工作站,因為缺乏存儲設備,無盤工作站無法記住自己的IP地址,需要利用網卡上的物理地址來查詢自身的IP地址

③ 協議

  • 常用協議包含ARP(地址解析協議),‘’RARP(逆地址解析協議)兩個協議,他們實現了IP地址和物理地址間的相互轉換

 

第 2 層:網絡層(網絡層使用IP地址尋找機器

① 定義

  • 實現數據包的選路和轉發(處理這些流動的數據包,也就是如果把相應的數據包路由到指定的地點,為通信時的網絡傳輸選擇傳輸路)
  • 注意:WAN(Wide Area Network,廣域網),使用多級路由器連接分散的主機或LAN(Local Area Network,局域網),兩台主機一般不是直接相連的,而是通過多個中間節點(路由器)連接的。

② 作用

  • 網絡層的任務就是選擇這些中間節點,確定兩台主機之間的通信路徑。
  • 同時網絡層對上層協議隱藏了網絡拓撲連接的細節,使得在傳輸層和網絡應用程序來看,通信的雙方是直接相連的

③ 協議

  • 網絡層的核心協議是IP協議,根據數據包的目的IP地址來決定如何投遞它。
  • (1) 如果數據包不能直接發送給目的主機,那么IP協議就為它尋找合適的下一跳路由器,並將數據包交付給路由器轉發。多次重復該過程最終將數據包送達目的地址,
  • (2) 如果發送失敗則被丟棄。可見IP協議使用逐跳方式確定通信路徑。

第 3 層:傳輸層(為兩台主機上的應用程序提供端到端的通信)

① 定義

  • 傳輸層為兩台主機上的應用程序提供端到端的通信,只關心通信的起始端和目的端,不在乎數據包的中轉過程。

② 作用

  • 使源端主機和目標端主機上的對等實體可以進行會話

③ 協議

  • 傳輸控制協議TCP(transmission control protocol)是一個面向連接的、可靠的協議。TCP協議還要處理端到端的流量控制,以避免緩慢接收的接收方沒有足夠的緩沖區接收發送方發送的大量數據。   

  • 用戶數據報協議UDP(user datagram protocol) 是一個不可靠的、無連接協議,主要適用於不需要對報文進行排序和流量控制的場合

第 4 層: 應用層(處理應用程序的邏輯,數據鏈路層、網絡層和傳輸層負責處理網絡通信細節)

① 定義

  • 決定這次通信的應用類型,通俗來講,應用層決定這一次通信要干嘛

② 作用

  • 應用層則在用戶空間實現,它負責處理眾多邏輯,比如文件傳輸,名稱查詢和網絡管理等

③ 協議

  •  主要協議包含Telnet,OSPF,DNS、FTP、DNS、SMTP等等,同時HTTP協議也屬於應用層的范圍等

 

 

3. TCP/IP的四層協議- 如何實現通信的例子

 

整體的http請求到響應的過程,一訪問google做個例子:

0. 訪問google.com,按下回車。

1. 應用層准備好請求報文,通過DNS服務進行域名解析,得到google的ip地址,並將報文發到傳輸層。

2. 傳輸層收到報文后,會將請求的數據包進行拆分,打包,並對每個包裹打上tag。在請求報文的基礎上,加上一層TCP的首部信息,然后發往網絡層。

3. 到了網絡層以后,IP協議就發揮了巨大的作用,IP協議中需要兩個比較重要的信息,那就是ip地址和mac地址。

  • ip已經在應用層通過dns解析出來了
  • ARP協議可以根據ip地址反向查詢到目標主機的mac地址

4. ip地址和mac地址都有了,打包帶走,把數據發到數據鏈路層。

  • 求到達服務器后,先從數據鏈路層往上走,並驗證消去以太網首部信息,在網絡層消去IP首部,在傳輸層消去TCP首部,請求報文。
  • 在應用層對請求做出處理之后,需要對請求返回一個響應。而整個響應的傳輸過程就和請求一樣,一層一層的封裝,響應到達客戶端時再一層一層的消去首部,最后呈現響應的結果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM