TCPヘッダ
- Source Port [16ビット]
- 送信元ポート番号です。
- Destination Port [16ビット]
- 宛先ポート番号です。
- Sequence Number [32ビット]
-
TCPセグメントが運んでいる最初の1バイトのシーケンス番号です。
但し、SYNフラグが有効になっている場合には、このフィールドの値はInitial Sequence Number(ISN)になります。 最初に送られるデータのシーケンス番号は(ISN+1)になります。 - Acknowledgement Number [32ビット]
- 受信側が期待する次のシーケンス番号(このフィールドの値+1を受信側は期待)を表します。 ACKフラグが有効になっている場合に利用されます。 一度TCPコネクションが確立されると、全てのTCPセグメントでACKフラグが有効になります。
- Data Offset [4ビット]
- TCPヘッダの大きさを32ビットワード単位で表します。 TCPヘッダはこのフィールドの値に4を掛けた値になります。
- Reserved [6ビット]
- 利用されていません。
- Control Bits [6ビット]
-
URG Urgent Pointer field significant ACK Acknowledgment field significant PSH Push Function RST Reset the connection SYN Synchronize sequence numbers FIN No more data from sender - Window [16ビット]
- 受信側が一度に受け取れるデータサイズを表します。 単位は8ビット(バイト、オクテット)です。 この値を制御することにより、輻輳制御(congestion control)が行われます。
- Checksum [16ビット]
- チェックサムです。 チェックサムの計算は、TCPチェックサム計算用に作成されるpseudoヘッダ、TCPヘッダ、TCPペイロード(データ部分)から計算されます。 チェックサムの計算対象のデータ長が2で割り切れない値の場合には、パディングが行われます。
- Urgent Pointer [16ビット]
- URGフラグが有効になっている場合にのみ利用されます。 Urgent dataの位置を表します。
- Options And Padding [可変長]
-
TCPヘッダの最後に、オプションを付加することができます。
オプションは、8ビットの整数倍の長さになります。
パディングは、TCPヘッダが32ビットワード境界で終了するように行われます。