Timestamp or Timestamp 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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Originate Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receive Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Transmit Timestamp |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
IPフィールド
Addresses (アドレス)
タイムスタンプメッセージの送信元アドレスは、タイムスタンプ応答メッセージの宛先となります。タイムスタンプ応答メッセージを形成するには、送信元と宛先のアドレスを単に逆にし、タイプコードを14に変更し、チェックサムを再計算します。
ICMPフィールド
Type (タイプ)
- 13 = timestamp message (タイムスタンプメッセージ);
- 14 = timestamp reply message (タイムスタンプ応答メッセージ).
Code (コード)
0
Checksum (チェックサム)
チェックサムは、ICMPタイプから始まるICMPメッセージの1の補数和の16ビット1の補数です。チェックサムを計算する場合、チェックサムフィールドはゼロであるべきです (SHOULD)。このチェックサムは将来置き換えられる可能性があります (MAY)。
Identifier (識別子)
code = 0の場合、タイムスタンプと応答の一致を支援するための識別子であり、ゼロである可能性があります (MAY)。
Sequence Number (シーケンス番号)
code = 0の場合、タイムスタンプと応答の一致を支援するためのシーケンス番号であり、ゼロである可能性があります (MAY)。
説明 (Description)
メッセージで受信したデータ (タイムスタンプ) は、追加のタイムスタンプとともに応答で返されます。タイムスタンプは、協定世界時 (UT) の真夜中からのミリ秒を表す32ビットです。これらのタイムスタンプの使用の1つは、Mills [5] によって説明されています。
Originate Timestamp (開始タイムスタンプ) は、送信者がメッセージを送信する前に最後にメッセージに触れた時刻、Receive Timestamp (受信タイムスタンプ) は、エコー応答者が受信時に最初にメッセージに触れた時刻、Transmit Timestamp (送信タイムスタンプ) は、エコー応答者が送信時に最後にメッセージに触れた時刻です。
時刻がミリ秒単位で利用できない場合、または協定世界時の真夜中に関して提供できない場合、タイムスタンプに任意の時刻を挿入することができます (CAN) が、この非標準値を示すためにタイムスタンプの最上位ビットも設定しなければなりません (MUST)。
識別子とシーケンス番号は、応答を要求と一致させるために、エコー送信者によって使用される可能性があります (MAY)。例えば、識別子はTCPまたはUDPのポートのようにセッションを識別するために使用され、シーケンス番号は送信される各要求ごとに増加される可能性があります。宛先は、応答でこれらの同じ値を返します。
コード0は、ゲートウェイまたはホストから受信される可能性があります (MAY)。