目次
TCPパケットフォーマット
メッセージフォーマット
図 1 TCP ヘッダーの形式
分野 | 長さ | 意味 |
---|---|---|
送信元ポート | 16ビット | どのアプリケーションが送信したかを識別する送信元ポート。 |
宛先ポート | 16ビット | 宛先ポート。どのアプリケーションがそれを受信するかを識別します。 |
シーケンス番号 | 32ビット | 序数フィールド。TCP 接続上で送信されるデータ ストリームの各バイトには、シーケンス番号が割り当てられます。シーケンス番号フィールドの値は、このセグメントで送信されるデータの最初のバイトのシーケンス番号を指します。 |
確認番号 | 32ビット | 確認番号は、次に相手のセグメントを受信すると予想されるデータの最初のバイトのシーケンス番号、つまり、前回受信に成功したデータのバイトシーケンス番号に 1 を加えたものです。このフィールドは、ACK フラグが 1 の場合にのみ有効です。 |
データオフセット | 4ビット | データオフセット、すなわちヘッダの長さは、TCPセグメントのデータ先頭がTCPセグメントの先頭からどれだけ離れているかを示し、その計算単位は32ビット(4バイト)である。ヘッダーは最大60バイトありますが、オプションフィールドがない場合は通常20バイトです。 |
予約済み | 6ビット | 予約済み。0 を入力する必要があります。 |
URG | 1ビット | 緊急ポインタ有効フラグ。これは、このセグメントに緊急データがあり、できるだけ早く送信する必要があることをシステムに伝えます (高優先度データに相当)。 |
確認応答 | 1ビット | シリアル番号が識別に有効であることを確認してください。確認応答番号フィールドは、ACK=1 の場合にのみ有効です。ACK=0 の場合、確認番号は無効です。 |
PSH | 1ビット | 受信者がこのセグメントをできるだけ早くアプリケーション層に引き渡す必要があることを示します。PSH = 1 の TCP セグメントを受信した場合は、キャッシュ全体がいっぱいになるのを待って上方に配信するのではなく、できるだけ早く受信アプリケーション プロセスに配信する必要があります。 |
RST | 1ビット | 接続IDを再構築します。RST=1 の場合、TCP 接続に重大なエラー (ホストのクラッシュやその他の理由によるものなど) があることを示し、接続を解放してから再確立する必要があります。 |
シン | 1ビット | 同期シーケンス番号は、接続を開始するために使用されます。SYN=1 は、これが接続要求または接続受け入れ要求であることを示します。 |
フィン | 1ビット | 送信者はタスク ID の送信を終了します。接続を解放するために使用されます。FIN=1 は、このメッセージ セグメントの送信者のデータが送信され、接続を解放する必要があることを示します。 |
窓 | 16ビット | ウィンドウ: TCP フロー制御。ウィンドウは、確認応答シーケンス番号フィールドによって示される値から始まります。これは、受信側が受信を予期しているバイト数です。ウィンドウの最大サイズは 65535 バイトです。 |
チェックサム | 16ビット | TCP ヘッダーと TCP データを含むチェック フィールドは、送信者によって計算および保存され、受信者によって検証される必要がある必須フィールドです。チェックサムを計算するときは、TCP セグメントの前に 12 バイトの擬似ヘッダーを追加する必要があります。 |
緊急指示 | 16ビット | 緊急ポインタ。緊急ポインタは、URG フラグが 1 に設定されている場合にのみ有効です。TCP の緊急モードは、送信者が緊急データを相手側に送信する方法です。緊急ポインタは、このメッセージセグメント内の緊急データの総バイト数を示します(緊急データは、このメッセージセグメント内のデータの先頭に配置されます)。 |
オプション | 変数 | オプションフィールド。TCP プロトコルは当初、MSS とも呼ばれる最長セグメント長 (データ フィールドと TCP ヘッダー) というオプションを 1 つだけ指定していました。MSS は相手の TCP に「キャッシュが受信できるメッセージ セグメントのデータ フィールドの最大長は MSS バイトです」と伝えます。 新しい RFC では、オプション リストの終わり、操作なし、最大セグメント長、ウィンドウ拡張係数、およびタイムスタンプのオプションが提供されます。
|
パディング | 変数 | パディング フィールドは、ヘッダー全体の長さが 4 バイトの整数倍になるようにビットを埋めるために使用されます。 |
データ | 変数 | TCP負荷。 |
メッセージ例
図2 TCPメッセージ(通常メッセージ)
図3 TCPメッセージ(キープアライブ)
図4 TCPメッセージ(キープアライブACK)
図5 TCPメッセージ(重複ACK)
図6 TCPメッセージ(再送)
図 7 TCP メッセージ (Out-Of-Order アウトオブオーダー)
図8 TCPメッセージ(ウィンドウアップデート)
UDPパケットフォーマット
メッセージフォーマット
図1 UDPパケットフォーマット
分野 | 長さ | 説明する |
---|---|---|
Source Port | 2字节 | 标识哪个应用程序发送(发送进程)。 |
Destination Port | 2字节 | 标识哪个应用程序接收(接收进程)。 |
Length | 2字节 | UDP首部加上UDP数据的字节数,最小为8。 |
Checksum | 2字节 | 覆盖UDP首部和UDP数据,是可选的。 |
data octets | 变长 | UDP负载,可选的。 |
报文示例