オクテット | 1 | 2 | 3 | 4 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
bit | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
0 | 送信元ポート番号 | 送信先ポート番号 | ||||||||||||||||||||||||||||||
32 | シーケンス番号 | |||||||||||||||||||||||||||||||
64 | 確認応答番号 | |||||||||||||||||||||||||||||||
96 | ヘッダ長 | 予約 | N S | CWR | ECE | URG | ACK | PSH | RST | SYN | FIN | ウィンドウサイズ(データサイズ) | ||||||||||||||||||||
128 | チェックサム | 緊急ポインタ | ||||||||||||||||||||||||||||||
160 | オプション |
NS…輻輳保護。
CWR…輻輳制御ウィンドウ縮小。
ECE…ECN-Echo を示す。
URG…緊急転送データ
ACK…受信確認。
PSH…プッシュ機能オン。バッファにプールしているデータをアプリケーションスタックにプッシュする。
RST…接続のリセット。
SYN…同期。最初にのフラグがオンの電文をやり取りすることで通信の開始を確認する。
FIN…送信終了。
トランスポート層以上の階層のプログラムと送受信するデータを結び付ける番号
接続要求→受信側からの確認応答→送信側からの確認応答により最終的にコネクションを確立する。(3ウェイハンドシェイク)
パケットを受信する際に、バッファ機能を使って複数のパケットをまとめて処理。本来ならパケット毎に応答確認を行うが、それを省略できるためパフォーマンスが向上する。このバッファ領域を「ウィンドウ」と呼び、そのサイズをウィンドウサイズと呼ぶ。
受信側でウィンドウサイズを変更し、それを送信側に通知することで送信するデータ量を抑える処理(流量制御)。多数のノードからアクセスがあり、処理しきれない場合にデータ量を制限する。