Timestamp or Timestamp Reply Message (Messaggio Timestamp)
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Campi IP
Addresses (Indirizzi)
L'indirizzo dell'host sorgente in un messaggio timestamp sarà l'indirizzo di destinazione del messaggio di risposta timestamp. Per formare un messaggio di risposta timestamp, la sorgente e la destinazione scambiano gli indirizzi, impostano il codice tipo a 14 e ricalcolano il checksum. Gli identificatori e i numeri di sequenza possono essere utilizzati dal processo mittente per associare le risposte alle richieste.
Campi ICMP
Type
13 per messaggio timestamp;
14 per messaggio di risposta timestamp.
Code
0
Checksum
Il checksum è il complemento a uno a 16 bit della somma in complemento a uno del messaggio ICMP, a partire dal Type ICMP. Per calcolare il checksum, il campo checksum dovrebbe essere zero. Questo checksum può essere sostituito in futuro.
Identifier (Identificatore)
Se Code = 0, un identificatore per aiutare nell'abbinamento delle risposte timestamp alle richieste timestamp. Il codice può essere restituito nella risposta timestamp.
Sequence Number (Numero di sequenza)
Se Code = 0, un numero di sequenza per aiutare nell'abbinamento delle risposte timestamp alle richieste timestamp. Il codice può essere restituito nella risposta timestamp.
Descrizione
L'area dati di una richiesta o risposta timestamp contiene tre timestamp. Il timestamp Originate è il momento in cui il mittente ha toccato per l'ultima volta la richiesta timestamp prima di inviarla. Il timestamp Receive è il momento in cui l'echoer ha toccato per la prima volta i dati dopo averli ricevuti. Il timestamp Transmit è il momento in cui l'echoer ha toccato per l'ultima volta la risposta timestamp dopo averla ricevuta. Se il tempo richiesto per questi timestamp non è disponibile, sia perché l'orologio non è in esecuzione o perché non è sincronizzato con UT (Universal Time), allora il bit più significativo del timestamp viene impostato a uno per indicare questi timestamp con valore non standard. Gli identificatori e i numeri di sequenza possono essere utilizzati dal processo mittente per associare le risposte alle richieste.
Il timestamp Originate e i timestamp Receive e Transmit sono ciascuno di 32 bit.
Il formato del timestamp è il numero di millisecondi dalla mezzanotte UT (Universal Time). Se il tempo in millisecondi non è disponibile, può essere utilizzata qualsiasi rappresentazione del tempo su scala temporale adatta alla rete. Il bit più significativo è riservato e deve essere zero.
L'host mittente deve impostare il timestamp Originate al momento (in millisecondi dalla mezzanotte UT) in cui viene inviata la richiesta timestamp. L'host ricevente (rispondente) deve impostare il timestamp Receive al momento (in millisecondi dalla mezzanotte UT) in cui viene ricevuta la richiesta timestamp e impostare il timestamp Transmit al momento (in millisecondi dalla mezzanotte UT) in cui viene inviata la risposta timestamp.
Nota: I messaggi timestamp possono essere utilizzati per la sincronizzazione temporale e la misurazione del ritardo. Tuttavia, le reti moderne tipicamente utilizzano il Network Time Protocol (NTP, RFC 5905) per una sincronizzazione temporale più precisa.