Echo or Echo Reply Message (エコーまたはエコー応答メッセージ)
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identifier | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+-
IPフィールド
Addresses (アドレス)
エコーメッセージの送信元アドレスは、エコー応答メッセージの宛先となります。エコー応答メッセージを形成するには、送信元と宛先のアドレスを単に逆にし、タイプコードを0に変更し、チェックサムを再計算します。
ICMPフィールド
Type (タイプ)
- 8 = echo message (エコーメッセージ);
- 0 = echo reply message (エコー応答メッセージ).
Code (コード)
0
Checksum (チェックサム)
チェックサムは、ICMPタイプから始まるICMPメッセージの1の補数和の16ビット1の補数です。チェックサムを計算する場合、チェックサムフィールドはゼロであるべきです (SHOULD)。全長が奇数の場合、受信したデータはチェックサムを計算するために1オクテットのゼロでパディングされます。このチェックサムは将来置き換えられる可能性があります (MAY)。
Identifier (識別子)
code = 0の場合、エコーと応答の一致を支援するための識別子であり、ゼロである可能性があります (MAY)。
Sequence Number (シーケンス番号)
code = 0の場合、エコーと応答の一致を支援するためのシーケンス番号であり、ゼロである可能性があります (MAY)。
Data (データ)
可変長のデータ。
説明 (Description)
エコーメッセージで受信したデータは、エコー応答メッセージで返されなければなりません (MUST)。
識別子とシーケンス番号は、応答をエコー要求と一致させるために、エコー送信者によって使用される可能性があります (MAY)。例えば、識別子はTCPまたはUDPのポートのようにセッションを識別するために使用され、シーケンス番号は送信される各エコー要求ごとに増加される可能性があります。エコー応答者は、エコー応答でこれらの同じ値を返します。
コード0は、ゲートウェイまたはホストから受信される可能性があります (MAY)。