TCP/IP的层次结构以及各层数据封装的过程 (一)
(參考文獻)TCP/IP詳解,卷1:協議
Tcp/ip協議的四個層次:
?
在以上的圖中,FTP屬于應用層的協議,TCP、UDP屬于運輸層的協議。
在TCP/IP協議族中,網絡層IP提供的是一種不可靠的服務,,它盡可能的把分組從源節點送到目的節點,但是并不提供任何可靠保證。而TCP在不可靠的IP層上提供了一個可靠的運輸層(參見TCP三次握手),為了提供這種可靠的服務,TCP采用了超時重傳,發送和接收的端到端的確認分組等機制。
TCP、IP協議的分層結構圖:
在以上圖中,ICMP(控制報文協議)是IP協議的附屬協議,IP層用它來與其他主機或路由器交換錯誤報文和其他重要信息。
ICMP是Internet組管理協議,它用來把一個UDP數據多播到多個主機上。
互聯網地址分類:
數據包的封裝:
當應用程序用TCP傳數據時,數據被送入協議棧中,由上到下對每一層的數據進行加工(主要是增加一些首部信息和尾部信息);TCP串給IP的數據單元被稱為TCP報文段;IP傳為網絡接口層的數據單元被稱為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的標識。
?
數據幀的解析過程:
端口號的分配(216 = 65536):
在上面說了TCP和UDP采用了16bit的端口號來識別應用程序。
知名端口號一般位于:1 ---? 255 之間
256 --- 1023的端口號,通常是由Unix系統占用(系統占用)
1024 ---5000 是大多數TCP、IP實現的臨時分配
大于5000的一般是給其他服務預留的(Internet上并不常用的服務)
總結
以上是生活随笔為你收集整理的TCP/IP的层次结构以及各层数据封装的过程 (一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dos中for in后面执行多个命令
- 下一篇: tesklink 管理员项目角色被修改后