1. 程式人生 > >TCP報文段的首部格式

TCP報文段的首部格式

源埠

目的埠

                                                             序號

                                                            確認號

資料偏移

保留

URG

ACK

PSH

RST

SYN

FIN

視窗

校驗和

緊急指標

選項(長度可變)

填充

TCP報文段首部的前20個位元組是固定,後面有4n位元組是根據需要而增加的選項,因此TCP首部最小長度20位元組。

1.源埠和目的埠:各佔2個位元組,分別寫入源埠號和目的埠號。(埠為16位即兩個位元組)

2.序號:佔4位元組序,序號範圍[0,2的32次冪-1]個序號,序號增加到2的32次冪-1後,下個序號又回到0。序號使用mod 2的32次冪運算。Tcp是面向位元組流的。

在tcp中傳送的位元組流中的每個位元組都安位元組編號。整個要傳送的資料的第一個位元組的序號必須在建立連線時設定。首部中的序號欄位值則指的是本報文所傳送

的位元組的序號。

3確認序號:佔4位元組,期望受到對方下個報文段的第一個資料位元組的序號

4資料偏移:佔4位,指出tcp報文段的資料起始處距離tcp報文段的起始處有多遠。

/******************************ICMP******************************/

0~8bit型別                 8~16bit程式碼                                   16~31bit檢驗和
這4個位元組取決於ICMP報文型別
ICMP的資料部分(長度取決於型別)

加上ip首部變成了ip資料包傳送出去