送信元ポート番号・・・16bit 送信元のアプリケーション(プロセス別)
宛先ポート番号・・・16bit 宛先のアプリケーション
ポート番号・・・論理的なアプリケーションを識別する番号
シーケンス番号・・・32bit 分割したデータの順序や順番を管理するための番号
確認応答番号・・・32bit 次に受信するべきデータのシーケンス番号を伝える番号
データオフセット・・・4bit TCPで混んでるデータの先頭 TCPヘッダの長さを表す
オプションなし・・・0101 20byteを表す 4*5=20
予約・・・3bit 将来拡張用に用意
基本的には0000 現在は使われていない
コントロールフラグ・・・8bit 該当パケットがSYN、ACK,FIN等の判断に使用する
先頭から8bit 1が入ったところが意味を持つ
1(0)・・・CWR
2(0)・・・ECE
3(0)・・・URG
4(1)・・・ACK
5(0)・・・PSH
6(0)・・・RST
7(1)・・・SYN
8(0)・・・FIN
この場合SYN + ACK
ウィンドウサイズ・・・16bit 受信可能なデータサイズ (バッファ容量)
まとめて受け取ることのできるデータサイズ
チェックサム・・・16bit ヘッダとデータが壊れていないかの確認するためのデータ
緊急ポインタ・・・16bit 緊急のデータの場所を表す情報
通信を途中で中断する際などに使用
オプション・・・可変長 最大40byte 32bitの整数倍にする必要がある TCPの通信性能を向上させるための情報
例:MSSオプション・・・セグメントの最大長
パディング・・・可変長 オプションが32bitの整数倍にならない場合に調整する情報
データ(ペイロード)・・・データの本体