Timestamp or Timestamp Reply Message (Zeitstempel-Nachricht)
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-Felder
Addresses (Adressen)
Die Adresse des Quellhosts in einer Zeitstempel-Nachricht wird die Zieladresse der Zeitstempel-Antwort-Nachricht sein. Um eine Zeitstempel-Antwort zu bilden, vertauscht die Quelle und das Ziel die Adressen, setzt den Typ-Code auf 14 und berechnet die Prüfsumme neu. Die Identifikation und Sequenznummer können vom sendenden Prozess verwendet werden, um die Antworten mit den Anfragen zu verknüpfen.
ICMP-Felder
Type
13 für Zeitstempel-Nachricht;
14 für Zeitstempel-Antwort-Nachricht.
Code
0
Checksum (Prüfsumme)
Die Prüfsumme ist das 16-Bit-Einerkomplement der Einerkomplement-Summe der ICMP-Nachricht, beginnend mit dem ICMP-Type. Zur Berechnung der Prüfsumme sollte das Prüfsummenfeld Null sein. Diese Prüfsumme kann in Zukunft ersetzt werden.
Identifier
Wenn Code = 0, kann eine Identifikation als Hilfsmittel zur Zuordnung von Zeitstempelantworten zu Zeitstempelanfragen verwendet werden. Der Code kann in der Zeitstempelantwort zurückgegeben werden.
Sequence Number (Sequenznummer)
Wenn Code = 0, kann eine Sequenznummer als Hilfsmittel zur Zuordnung von Zeitstempelantworten zu Zeitstempelanfragen verwendet werden. Der Code kann in der Zeitstempelantwort zurückgegeben werden.
Beschreibung
Der Datenbereich einer Zeitstempelanforderung oder Zeitstempelantwort enthält drei Zeitstempel. Der Originate Timestamp ist die Zeit, zu der der Absender die Zeitstempelanforderung zuletzt berührt hat, bevor er sie sendet. Der Receive Timestamp ist die Zeit, zu der der Echoer die Daten zuerst berührt, nachdem er sie empfangen hat. Der Transmit Timestamp ist die Zeit, zu der der Echoer die Zeitstempelantwort zuletzt berührt, nachdem er sie empfangen hat. Wenn die für diese Zeitstempel erforderliche Zeit nicht verfügbar ist, entweder weil die Uhr nicht läuft oder weil sie nicht mit UT (Universal Time) synchronisiert ist, dann wird das höchstwertige Bit des Zeitstempels auf Eins gesetzt, um diese Nicht-Standard-Wert-Zeitstempel anzuzeigen. Die Identifikation und Sequenznummer können vom sendenden Prozess verwendet werden, um die Antworten mit den Anfragen zu verknüpfen.
Der Originate Timestamp und die Receive- und Transmit-Zeitstempel sind jeweils 32 Bits lang.
Das Zeitstempelformat ist die Anzahl der Millisekunden seit Mitternacht UT (Universal Time, Universalzeit). Wenn die Millisekunden-Zeit nicht verfügbar ist, kann jede für das Netzwerk geeignete Zeitskalendarstellung verwendet werden. Das höchstwertige Bit ist reserviert und muss Null sein.
Der sendende Host muss den Originate Timestamp auf die Uhrzeit (in Millisekunden seit Mitternacht UT) setzen, zu der die Zeitstempelanforderung gesendet wird. Der empfangende (antwourtende) Host muss den Receive Timestamp auf die Uhrzeit (in Millisekunden seit Mitternacht UT) setzen, zu der die Zeitstempelanforderung empfangen wird, und den Transmit Timestamp auf die Uhrzeit (in Millisekunden seit Mitternacht UT) setzen, zu der die Zeitstempelantwort gesendet wird.
Hinweis: Zeitstempel-Nachrichten können zur Zeitsynchronisation und Verzögerungsmessung verwendet werden. Moderne Netzwerke verwenden jedoch typischerweise das Network Time Protocol (NTP, Netzwerkzeitprotokoll, RFC 5905) für präzisere Zeitsynchronisation.