TCP/IP的層次結構以及各層數據封裝的過程

Tcp/ip協議的四個層次:
TCP/IP的層次結構以及各層數據封裝的過程
在以上的圖中,FTP屬於應用層的協議,TCP、UDP屬於運輸層的協議。

在TCP/IP協議族中,網絡層IP提供的是一種不可靠的服務,,它儘可能的把分組從源節點送到目的節點,但是並不提供任何可靠保證。而TCP在不可靠的IP層上提供了一個可靠的運輸層(參見TCP三次握手),爲了提供這種可靠的服務,TCP採用了超時重傳,發送和接收的端到端的確認分組等機制。

TCP、IP協議的分層結構圖:
TCP/IP的層次結構以及各層數據封裝的過程
在以上圖中,ICMP(控制報文協議)是IP協議的附屬協議,IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。

ICMP是Internet組管理協議,它用來把一個UDP數據多播到多個主機上。

互聯網地址分類:
TCP/IP的層次結構以及各層數據封裝的過程
數據包的封裝:
TCP/IP的層次結構以及各層數據封裝的過程
當應用程序用TCP傳數據時,數據被送入協議棧中,由上到下對每一層的數據進行加工(主要是增加一些首部信息和尾部信息);TCP串給IP的數據單元被稱爲TCP報文段;IP傳爲網絡接口層的數據單元被稱爲IP數據報;通過以太網傳輸的比特流稱作幀。

封裝流程圖圖下圖:
TCP/IP的層次結構以及各層數據封裝的過程
UDP數據與TCP數據基本一致,唯一不同的是,UDP傳給IP的信息單元稱爲UDP數據包,並且UDP的首部長爲8字節。

在上面的TCP、IP的分層結構圖中我們可以看見,用戶程序、TCP、UDP、ICMP等都會向IP傳送數據,因此在IP的首部加入了長度爲8bit的標識;1表示ICMP協議,2表示IGMP協議,6表示TCP,17表示UDP協議。

TCP、和UDP在傳送數據的過程中都會用到一個16bit的端口號來表示不同的應用程序TCP和UDP把源端口號和目的端口號分別存入報文首部中。(216= 65536)

網絡接口通常要發送和接收IP、ARP、RARP數據,因此在以太網的首部(及幀的首部)也有一個16bit的標識。

數據幀的解析過程:
TCP/IP的層次結構以及各層數據封裝的過程
端口號的分配(216 = 65536):

在上面說了TCP和UDP採用了16bit的端口號來識別應用程序。

知名端口號一般位於:1 --- 255 之間

256 --- 1023的端口號,通常是由Unix系統佔用(系統佔用)

1024 ---5000 是大多數TCP、IP實現的臨時分配

大於5000的一般是給其他服務預留的(Internet上並不常用的服務)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章