TCP首部:
TCP數據被封裝在一個IP數據報中,如下:
TCP首部數據格式:
16位源都口號:16位目的端口號用於尋找發送端和接收端的應用進程,加上IP首部的源端IP及終端IP,唯一的確認一個TCP連接。
32位序號:標識發送的數據字節流,標識在這個報文段中的第一個數據字節,2^3 - 1后重新從0開始。包含該主機選擇的連接的ISN(Initial Sequence Number),要發送的第一個數據字節序號為ISN+1.
32位確認序號:ACK為1時有效,上次成功收到的數據字節序號+1(如接收到的為1024--2048,則返回2049)。
4位首部長度:首部中32bits字的數目,TCP最多有60字節的長度,除去任選字段,正常為20字節。
6bits標志位:URG緊急指針;ACK確認序號有效;PSH接收方應盡快將此報文段交給應用層;RST重建連接;SYN同步序號,用來發起一個新連接;FIN發端完成發送任務。
16位窗口大小:TCP流量控制,字節數,起始於確認序列號指明的值,接收端期望收到的字節,最大為65535.
16位檢驗和:包括計算TCP首部和數據綜合的二進制反碼和檢驗和。
16位緊急指針:URG為1時有效,正向的偏移量,加上序號字段值表示最后一個字節的序號。
可選字段:例:MSS.
