TCP IP資料報文長度

2021-10-04 17:12:46 字數 2057 閱讀 8459

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 首部。如果一方沒有資料要傳送,也使用沒有任何資料的首部來確認收到的資料。在處理超時的許多情況中,也會傳送不帶任何資料的報文段。

mtu:最大傳輸單元,乙太網的mtu為1500bytes

mss:最大分解大小,為每次tcp資料報每次傳輸的最大資料的分段大小,由傳送端通知接收端,傳送大於mtu就會被分片

tcp最小資料長度為1460bytes這個跟具體傳輸網路有關,乙太網的mtu為1500位元組,internet的mtu為576位元組。

mtu是網路層的傳輸單元,那麼mss = mtu - 20位元組(ip首部) - 20位元組(tcp首部)。所以乙太網的mss為1460位元組,而internet的mss為536位元組。

tcp最大負載65535-40bbytes,tcp報文段的最大負載為65495位元組,因為每個資料段必須適合ip的載荷能力,不能超過65535位元組,ip頭20b,tcp包頭20b,故最大負載為65535- 20-20=65495b

速讀原著 TCP IP 最大UDP資料報長度

理論上,i p資料報的最大長度是6 5 5 3 5位元組,這是由i p首部 圖3 1 1 6位元總長度欄位所限制的。去除 2 0位元組的i p首部和8個位元組的u d p首部,u d p資料報中使用者資料的最長長度為6 5 5 0 7位元組。但是,大多數實現所提供的長度比這個最大值小。我們將遇到兩個...

TCP IP資料報結構詳解

tcp ip 資料報 結構 詳解 網路 協議 一般來說,網路程式設計我們只需要呼叫一些封裝好的函式或者元件就能完成大部分的工作,但是一些特殊的情況下,就需要深入的理解 網路資料報的結構,以及協議分析。如 網路監控,故障排查等 ip包是不安全的,但是它是網際網路的基礎,在各方面都有廣泛的應用。由ip協...

TCP IP資料報結構詳解

tcp ip 資料報 結構 詳解 網路 協議 一般來說,網路程式設計我們只需要呼叫一些封裝好的函式或者元件就能完成大部分的工作,但是一些特殊的情況下,就需要深入的理解 網路資料報的結構,以及協議分析。如 網路監控,故障排查等 ip包是不安全的,但是它是網際網路的基礎,在各方面都有廣泛的應用。由ip協...