Appendice A. Formato Dati NTP - Versione 3
Questa appendice descrive il formato del messaggio NTP, che segue le intestazioni IP e UDP. Il formato è identico a quello descritto in RFC-1119 ad eccezione del campo identificatore di riferimento descritto di seguito. Per il beneficio degli implementatori, il formato è mostrato di seguito.
Intestazione del Messaggio NTP
Il messaggio NTP è un datagramma UDP con il seguente formato di intestazione:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|LI | VN |Mode | Stratum | Poll | Precision |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Root Delay |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Root Dispersion |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Reference Identifier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Reference Timestamp (64) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Originate Timestamp (64) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Receive Timestamp (64) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ Transmit Timestamp (64) +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Key Identifier (opzionale) (32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Message Digest (opzionale) (128) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Descrizioni dei Campi
Indicatore di Salto (LI): Questo è un codice a due bit che avverte di un imminente secondo intercalare da inserire/eliminare nell'ultimo minuto del giorno corrente, con bit 0 e bit 1, rispettivamente, codificati come segue:
| Valore | Significato |
|---|---|
| 00 | nessun avviso |
| 01 | ultimo minuto ha 61 secondi |
| 10 | ultimo minuto ha 59 secondi |
| 11 | condizione di allarme (orologio non sincronizzato) |
Numero di Versione (VN): Questo è un intero a tre bit che indica il numero di versione NTP. Il numero di versione è 3 per la Versione 3 (solo IPv4) e 4 per la Versione 4 (IPv4, IPv6 e OSI).
Modalità: Questo è un intero a tre bit che indica la modalità, con valori definiti come segue:
| Valore | Significato |
|---|---|
| 0 | riservato |
| 1 | simmetrico attivo |
| 2 | simmetrico passivo |
| 3 | client |
| 4 | server |
| 5 | broadcast |
| 6 | riservato per messaggio di controllo NTP |
| 7 | riservato per uso privato |
Strato: Questo è un intero senza segno a otto bit che indica il livello di strato dell'orologio locale, con valori definiti come segue:
| Valore | Significato |
|---|---|
| 0 | non specificato o non disponibile |
| 1 | riferimento primario (es. orologio radio) |
| 2-15 | riferimento secondario (via NTP o SNTP) |
| 16-255 | riservato |
Intervallo di Polling: Questo è un intero con segno a otto bit che indica l'intervallo massimo tra messaggi successivi, in secondi alla potenza di due più vicina. I valori che possono attualmente apparire in questo campo vanno da 4 (16 s) a 14 (16384 s); tuttavia, la maggior parte delle applicazioni utilizza solo il sotto-intervallo 6 (64 s) a 10 (1024 s).
Precisione: Questo è un intero con segno a otto bit che indica la precisione dell'orologio locale, in secondi alla potenza di due più vicina. I valori che normalmente appaiono in questo campo vanno da -6 per gli orologi a frequenza di rete a -20 per gli orologi a microsecondi trovati in alcune workstation.
Ritardo Radice: Questo è un numero a virgola fissa con segno a 32 bit che indica il ritardo totale di andata e ritorno alla fonte di riferimento primaria, in secondi con punto di frazione tra i bit 15 e 16. Si noti che questa variabile può assumere valori sia positivi che negativi, a seconda degli offset di tempo e frequenza relativi. I valori che normalmente appaiono in questo campo vanno da valori negativi di pochi millisecondi a valori positivi di diverse centinaia di millisecondi.
Dispersione Radice: Questo è un numero a virgola fissa senza segno a 32 bit che indica l'errore nominale rispetto alla fonte di riferimento primaria, in secondi con punto di frazione tra i bit 15 e 16. I valori che normalmente appaiono in questo campo vanno da 0 a diverse centinaia di millisecondi.
Identificatore di Riferimento: Questa è una stringa di bit a 32 bit che identifica la particolare fonte di riferimento. Nel caso di NTP Versione 3, questa è una stringa ASCII di quattro caratteri, giustificata a sinistra e riempita con zeri a 32 bit. In NTP Versione 3, sono definite le seguenti stringhe ASCII:
| Stringa | Fonte |
|---|---|
| DCN | Protocollo di routing DCN |
| NIST | Modem pubblico NIST |
| TSP | Protocollo di tempo TSP |
| DTS | Servizio di tempo digitale |
| ATOM | Orologio atomico (calibrato) |
| VLF | Radio VLF (OMEGA, ecc.) |
| GPS | Ricevitore satellitare GPS |
| GOES | Satellite ambientale GOES UHF |
| WWV | Radio WWV HF |
| WWVB | Radio WWVB LF |
| WWVH | Radio WWVH HF |
| CHU | Radio CHU HF |
| LORC | Sistema di radionavigazione LORAN-C |
| OMEG | Sistema di radionavigazione OMEGA |
| TDF | Radio TDF HF (Francia) |
Nei server primari NTP Versione 4, questo è un indirizzo IPv4 a quattro ottetti o i primi quattro ottetti dell'hash MD5 dell'indirizzo IPv6. Nei server secondari NTP Versione 4, questo è l'identificatore di riferimento della sua fonte di sincronizzazione.
Timestamp di Riferimento, Origine, Ricezione e Trasmissione: Questi quattro campi sono nel formato del timestamp NTP, che è un numero a virgola fissa senza segno a 64 bit con la parte intera nei primi 32 bit e la parte frazionaria negli ultimi 32 bit. Questo formato consente un'aritmetica multi-precisione conveniente e la conversione in rappresentazione del Protocollo di Tempo (secondi), ma complica la conversione in rappresentazione del messaggio di timestamp ICMP (millisecondi). La precisione di questa rappresentazione è di circa 200 picosecondi, che dovrebbe essere adeguata anche per i requisiti più esotici.
Autenticatore (opzionale): Quando è implementato lo schema di autenticazione NTP, i campi identificatore chiave e digest del messaggio contengono le informazioni del codice di autenticazione del messaggio (MAC) definite nell'Appendice C.