首頁 >運維 >linux運維 >TCP資料段的首部格式

TCP資料段的首部格式

齐天大圣
齐天大圣原創
2020-12-19 14:15:193579瀏覽

在了解TCP首部各個欄位的意義後,我們就能更清楚的了解TCP協定的。 TCP首部位元組有20個位元組是固定了,後面還有可選選項。 TCP是以32位元(4位元組)對齊的。

TCP資料段的首部格式

來源連接埠和目的連接埠:TCP是透過通口號來進行應用進程間的通訊的。

序號:佔32位,序號的範圍是0~(2^32-1),當序號變成2^32-1後,下一個序號就要重新從0開始了。假如一個報文段的序號為1001,它的長度為100字節,那麼下一個報文段的序號就是1101。

確認號碼:佔32位元。確認號是對收到的分組進行確認的。假如A向B發送了一個報文段,A的序號為101,報文段長度為100字節,那麼B收到該報文段後,就需要對A發送確認報文段,這個確認報文段裡的確認號為201。有以下公式:

如果確認號為N 1,那麼表示到序號N位置的所有資料都已收到。

資料偏移:此欄位即表示tcp首部的長度,此欄位佔4位,單位為4位元組。所以,一個TCP的首部最大為60位元組。

六個控制位元:每個控制位元都只佔一位。

  • UGR:緊急字段,當該值為1時,表示此報文段含有緊急數據,應優先發送。此欄位需要和後面會說到的緊急指針配合使用。

  • ACK:確認欄位。此欄位在建立連線和斷線時會用到,傳送資料階段一律為1。

  • PSH:推送欄位。為1表示是帶有push標誌的數據,指示接收方在接收到該報文段以後,應盡快將這個報文段交給應用程序,而不是在緩衝區排隊。

  • RST:重設連線字段志。用於重置因主機崩潰或其他原因而出現錯誤的連線。或用於拒絕非法的報文段和拒絕連線請求。

  • SYN:同步欄位。用於建立連線時使用。

  • FIN:終止欄位。用於釋放連線時使用。

視窗:佔16位元。視窗值是的範圍是【0,2^16-1】之間的整數。注意,它表示的是接受窗口,表示允許接受的位元組數。例如,B的向A發送了一個確認報文段,該報文段的確認號為101,窗口值為1000.那麼表示B下一個接受的報文段序號應該是101,且報文段長度不能超過1000位元組。

校驗與:佔16位數。用來檢驗報文段有沒有錯誤。

緊急指標:佔16位。只有當URG字段為1時,該字段才有意思。它表示緊急資料的長度

相關推薦:《linux影片教學

以上是TCP資料段的首部格式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn