TCP和UDP報頭格式各字段解釋


 

u32位端口號:

源端口和目的端口各占16位,2的16次方等於65536,看端口的命令:netstat。

u32位序號:

也稱為順序號(Sequence Number),簡寫為SEQ,

u32位確認序號

也稱為應答號(Acknowledgment Number),簡寫為ACK。在握手階段,確認序號將發送方的序號加1作為回答。

u4位首部長度

這個字段占4位,它的單位時32位(4個字節)。本例值為7,TCP的頭長度為28字節,等於正常的長度2 0字節加上可選項8個字節。,TCP的頭長度最長可為60字節(二進制1111換算為十進制為15,15*4字節=60字節)。

u6位標志字段

ACK 置1時表示確認號(為合法,為0的時候表示數據段不包含確認信息,確認號被忽略。

RST 置1時重建連接。如果接收到RST位時候,通常發生了某些錯誤。

SYN 置1時用來發起一個連接。

FIN 置1時表示發端完成發送任務。用來釋放連接,表明發送方已經沒有數據發送了。

URG 緊急指針,告訴接收TCP模塊緊要指針域指着緊要數據。注:一般不使用。

PSH 置1時請求的數據段在接收方得到后就可直接送到應用程序,而不必等到緩沖區滿時才傳送。注:一般不使用。

u16位檢驗和:

檢驗和覆蓋了整個的TCP報文段: TCP首部和TCP數據。這是一個強制性的字段,一定是由發端計算和存儲,並由收端進行驗證。

u16位緊急指針:

注:一般不使用。

只有當U R G標志置1時緊急指針才有效。緊急指針是一個正的偏移量,和序號字段中的值相加表示緊急數據最后一個字節的序號。

u可選與變長選項

通常為空,可根據首部長度推算。用於發送方與接收方協商最大報文段長度(MSS),或在高速網絡環境下作窗口調節因子時使用。首部字段還定義了一個時間戳選項。

u最常見的可選字段是最長報文大小,又稱為MSS (Maximum Segment Size)。每個連接方通常都在握手的第一步中指明這個選項。它指明本端所能接收的最大長度的報文段。1460是以太網默認的大小。

 

u2字節源端口字段

源端口是一個大於1023的16位數字,由基於UDP應用程序的用戶進程隨機選擇。

u2字節節的端口字段

u2字節長度字段

指明了包括首部在內的UDP報文段長度。UDP長字段的值是UDP報文頭的長度(8字節)與UDP所攜帶數據長度的總和。

u2字節校驗和字段

是指整個UDP報文頭和UDP所帶的數據的校驗和(也包括偽報文頭)。偽報文頭不包括在真正的UDP報文頭中,但是它可以保證UDP數據被正確的主機收到了。因在校驗和中加入了偽頭標,故ICMP除能防止單純數據差錯之外,對IP分組也具有保護作用。


免責聲明!

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



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