TCP報文格式

2021-10-05 09:53:40 字數 1519 閱讀 9248

視窗字段:佔16bit。雙方說出自己的資料快取區大小,單位為byte,然後約定乙個比兩者中較小的大小還要小的數值作為雙方通訊的快取區大小。防止出現傳送方一次可以傳送30000個資料,接收方一次只能接收20000個資料

檢驗和字段:佔16bit。檢驗和字段檢驗的範圍包括首部和資料兩部分

緊急指標字段:佔16bit。指出此報文段中緊急資料的最後乙個位元組的序號。

選項字段:長度可變。tcp只規定了一種選項,即最大報文段長度mss(maximum segment size)。mss告訴對方tcp:「我的快取所能接收的報文段的資料字段的最大長度是mss個位元組」。1

保留字段:佔6bit。保留為今後使用,但目前應置為0。

選項欄位和保留字段似乎只出現在含有syn訊號的報文段中

第一次握手:客戶端傳送乙個資料報,其syn置1,傳送序號seq=x,是隨機生成的。

第二次握手:伺服器返回資料報應答。其syn和ack均置1,同時將ack序號+1,即ack=x+1,傳送序號seq=y,隨機生成。

第三次握手:客戶端再次傳送確認資料報,其syn置0,ack置1,同時將ack序號加1,即ack=y+1,傳送序號上次握手的ack序號,即seq=x+1。

第一次揮手:客戶端傳送乙個資料報文,其標誌位fin和ack置1,序號seq=x,確認序號ack=y。2

client進入fin_wait_1狀態。

第二次揮手:伺服器返回乙個確認包,其標誌位ack置1,序號seq=y,確認序號ack=x+1。server進入close_wait狀態。

第三次揮手:伺服器斷開tcp連線,並傳送乙個資料報。其標誌位fin和ack置1,server進入last_wait狀態。3

第四次揮手:客戶端收到伺服器的斷開請求後,client進入time_wait狀態,傳送乙個確認包。其標誌位ack=1,傳送序號seq=x+1,確認序號ack=y+1。server進入closed轉台。

↩︎序號是隨機生成的。 ↩︎

有資料說這裡的傳送序號要加1,但我用wireshark抓包發現第三次和第二次的seq以及ack的數值並沒有改變。 ↩︎

TCP報文格式

傳輸控制協議 tcp 向上與使用者應用程式程序介面,向下與網路層協議ip介面。使用者應用程式採用首先呼叫tcp 或udp 然後將應用程式資料遞交給tcp這一方式,在ip網路上傳送資料。tcp將這些資料打包分段並呼叫ip模組向目的主機傳送每個資料段。接收方的tcp將段中的資料放入接收緩衝器,然後將段重...

TCP報文格式

tcp transmission control protocol 傳輸控制協議是一種面向連線的 可靠的 基於位元組流的傳輸層協議 tcp報文格式 源埠號 2位元組 d5 df 54751 目的埠號 2位元組 tcp報頭中的源埠號和目的埠號同ip資料報中的源ip與目的ip唯一確定一條tcp連線 序號...

TCP報文格式

tcp ip協議定義了乙個在網際網路上傳輸的包,稱為ip資料報,由首部和資料兩部分組成。ip報頭中包含大量的資訊,如源ip位址丶目的ip位址丶ip版本號丶資料報長度等。資料部分儲存著傳輸層的資料丶如tcp丶udp丶icmp等資料 組成如下 其依然由首部和資料部分組成 字段長度 bit 含義源埠 16...