UDP與TCP報文格式,字段意義


UDP與TCP報文格式,字段意義

 

UDP報文

1、UDP有兩個字段:數據字段和首部字段。

  • 首部字段
首部字段很簡單,只有8個字節,由4個字段組成,每個字段的長度都是兩個字節。
 
1)源端口:源端口號。在需要對方回信時選用。不需要時可用全0。
2)目的端口:目的端口號。這在終點交付報文時必須要使用到。
3)長度: UDP用戶數據報的長度,其最小值是8(僅有首部)。
4)校驗和:檢測UDP用戶數據報在傳輸中是否有錯。有錯就丟棄。
 
2、要注意的地方
  • UDP首部中校驗和的計算方法有些特殊。在計算校驗和時,要在UDP用戶數據報之前增加12個字節的偽首部。
  • 偽首部既不向下傳送也不向上遞交,而僅僅是為了計算校驗和。
  • 與IP數據報的校驗和只校驗IP數據報的首部不同,UDP的校驗和是把首部和數據部分一起都校驗。
偽首部:
          
 
 
 
 
 
TCP報文

 

TCP報文是TCP層傳輸的數據單元,也叫報文段。

 

圖片加載中

1、端口號:用來標識同一台計算機的不同的應用進程。

1)源端口:源端口和IP地址的作用是標識報文的返回地址。

2)目的端口:端口指明接收方計算機上的應用程序接口。

TCP報頭中的源端口號和目的端口號同IP數據報中的源IP與目的IP唯一確定一條TCP連接。

2、序號和確認號:是TCP可靠傳輸的關鍵部分。序號是本報文段發送的數據組的第一個字節的序號。在TCP傳送的流中,每一個字節一個序號。e.g.一個報文段的序號為300,此報文段數據部分共有100字節,則下一個報文段的序號為400。所以序號確保了TCP傳輸的有序性。確認號,即ACK,指明下一個期待收到的字節序號,表明該序號之前的所有數據已經正確無誤的收到。確認號只有當ACK標志為1時才有效。比如建立連接時,SYN報文的ACK標志位為0。

3、數據偏移/首部長度:4bits。由於首部可能含有可選項內容,因此TCP報頭的長度是不確定的,報頭不包含任何任選字段則長度為20字節,4位首部長度字段所能表示的最大值為1111,轉化為10進制為15,15*32/8 = 60,故報頭最大長度為60字節。首部長度也叫數據偏移,是因為首部長度實際上指示了數據區在報文段中的起始偏移值。

4、保留:為將來定義新的用途保留,現在一般置0。

5、控制位:URG  ACK  PSH  RST  SYN  FIN,共6個,每一個標志位表示一個控制功能。

1)URG:緊急指針標志,為1時表示緊急指針有效,為0則忽略緊急指針。

2)ACK:確認序號標志,為1時表示確認號有效,為0表示報文中不含確認信息,忽略確認號字段。

3)PSH:push標志,為1表示是帶有push標志的數據,指示接收方在接收到該報文段以后,應盡快將這個報文段交給應用程序,而不是在緩沖區排隊。

4)RST:重置連接標志,用於重置由於主機崩潰或其他原因而出現錯誤的連接。或者用於拒絕非法的報文段和拒絕連接請求。

5)SYN:同步序號,用於建立連接過程,在連接請求中,SYN=1和ACK=0表示該數據段沒有使用捎帶的確認域,而連接應答捎帶一個確認,即SYN=1和ACK=1。

6)FIN:finish標志,用於釋放連接,為1時表示發送方已經沒有數據發送了,即關閉本方數據流。

6、窗口:滑動窗口大小,用來告知發送端接受端的緩存大小,以此控制發送端發送數據的速率,從而達到流量控制。窗口大小時一個16bit字段,因而窗口大小最大為65535。

7、校驗和:奇偶校驗,此校驗和是對整個的 TCP 報文段,包括 TCP 頭部和 TCP 數據,以 16 位字進行計算所得。由發送端計算和存儲,並由接收端進行驗證。

8、緊急指針:只有當 URG 標志置 1 時緊急指針才有效。緊急指針是一個正的偏移量,和順序號字段中的值相加表示緊急數據最后一個字節的序號。 TCP 的緊急方式是發送端向另一端發送緊急數據的一種方式。

9、選項和填充:最常見的可選字段是最長報文大小,又稱為MSS(Maximum Segment Size),每個連接方通常都在通信的第一個報文段(為建立連接而設置SYN標志為1的那個段)中指明這個選項,它表示本端所能接受的最大報文段的長度。選項長度不一定是32位的整數倍,所以要加填充位,即在這個字段中加入額外的零,以保證TCP頭是32的整數倍。

10、數據部分 TCP 報文段中的數據部分是可選的。在一個連接建立和一個連接終止時,雙方交換的報文段僅有 TCP 首部。如果一方沒有數據要發送,也使用沒有任何數據的首部來確認收到的數據。在處理超時的許多情況中,也會發送不帶任何數據的報文段。

內容來自:https://www.cnblogs.com/Allen-rg/p/7190042.html


免責聲明!

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



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