Anhang A. NTP-Datenformat - Version 3
Dieser Anhang beschreibt das NTP-Nachrichtenformat, das den IP- und UDP-Headern folgt. Das Format ist identisch mit dem in RFC-1119 beschriebenen Format mit Ausnahme des unten beschriebenen Referenzbezeichner-Feldes. Zum Nutzen der Implementierer wird das Format unten gezeigt.
NTP-Nachrichtenheader
Die NTP-Nachricht ist ein UDP-Datagramm mit dem folgenden Header-Format:
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 (optional) (32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Message Digest (optional) (128) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Feldbeschreibungen
Schaltsekundenindikator (LI): Dies ist ein Zwei-Bit-Code, der vor einer bevorstehenden Schaltsekunde warnt, die in der letzten Minute des aktuellen Tages eingefügt/gelöscht werden soll, mit Bit 0 und Bit 1, jeweils wie folgt kodiert:
| Wert | Bedeutung |
|---|---|
| 00 | keine Warnung |
| 01 | letzte Minute hat 61 Sekunden |
| 10 | letzte Minute hat 59 Sekunden |
| 11 | Alarmzustand (Uhr nicht synchronisiert) |
Versionsnummer (VN): Dies ist eine drei-Bit-Ganzzahl, die die NTP-Versionsnummer anzeigt. Die Versionsnummer ist 3 für Version 3 (nur IPv4) und 4 für Version 4 (IPv4, IPv6 und OSI).
Modus: Dies ist eine drei-Bit-Ganzzahl, die den Modus anzeigt, mit wie folgt definierten Werten:
| Wert | Bedeutung |
|---|---|
| 0 | reserviert |
| 1 | symmetrisch aktiv |
| 2 | symmetrisch passiv |
| 3 | Client |
| 4 | Server |
| 5 | Broadcast |
| 6 | für NTP-Steuerungsnachricht reserviert |
| 7 | für private Verwendung reserviert |
Schicht: Dies ist eine acht-Bit-vorzeichenlose Ganzzahl, die die Schichtebene der lokalen Uhr anzeigt, mit wie folgt definierten Werten:
| Wert | Bedeutung |
|---|---|
| 0 | nicht spezifiziert oder nicht verfügbar |
| 1 | primäre Referenz (z.B. Funkuhr) |
| 2-15 | sekundäre Referenz (über NTP oder SNTP) |
| 16-255 | reserviert |
Abfrageintervall: Dies ist eine acht-Bit-vorzeichenbehaftete Ganzzahl, die das maximale Intervall zwischen aufeinanderfolgenden Nachrichten anzeigt, in Sekunden zur nächsten Potenz von zwei. Die Werte, die derzeit in diesem Feld erscheinen können, reichen von 4 (16 s) bis 14 (16384 s); die meisten Anwendungen verwenden jedoch nur den Teilbereich 6 (64 s) bis 10 (1024 s).
Präzision: Dies ist eine acht-Bit-vorzeichenbehaftete Ganzzahl, die die Präzision der lokalen Uhr anzeigt, in Sekunden zur nächsten Potenz von zwei. Die Werte, die normalerweise in diesem Feld erscheinen, reichen von -6 für Netzfrequenz-Uhren bis -20 für Mikrosekunden-Uhren, die in einigen Workstations zu finden sind.
Wurzelverzögerung: Dies ist eine 32-Bit-vorzeichenbehaftete Festkommazahl, die die gesamte Rundlaufverzögerung zur primären Referenzquelle anzeigt, in Sekunden mit Bruchpunkt zwischen Bit 15 und 16. Beachten Sie, dass diese Variable sowohl positive als auch negative Werte annehmen kann, abhängig von den relativen Zeit- und Frequenzversätzen. Die Werte, die normalerweise in diesem Feld erscheinen, reichen von negativen Werten von einigen Millisekunden bis zu positiven Werten von mehreren hundert Millisekunden.
Wurzeldispersion: Dies ist eine 32-Bit-vorzeichenlose Festkommazahl, die den nominalen Fehler relativ zur primären Referenzquelle anzeigt, in Sekunden mit Bruchpunkt zwischen Bit 15 und 16. Die Werte, die normalerweise in diesem Feld erscheinen, reichen von 0 bis mehreren hundert Millisekunden.
Referenzbezeichner: Dies ist eine 32-Bit-Bitfolge, die die bestimmte Referenzquelle identifiziert. Im Fall von NTP Version 3 ist dies eine vier-Zeichen-ASCII-Zeichenfolge, linksbündig und mit Nullen auf 32 Bit aufgefüllt. In NTP Version 3 sind die folgenden ASCII-Zeichenfolgen definiert:
| Zeichenfolge | Quelle |
|---|---|
| DCN | DCN-Routingprotokoll |
| NIST | NIST öffentliches Modem |
| TSP | TSP-Zeitprotokoll |
| DTS | Digitaler Zeitdienst |
| ATOM | Atomuhr (kalibriert) |
| VLF | VLF-Radio (OMEGA usw.) |
| GPS | GPS-Satellitenempfänger |
| GOES | GOES UHF-Umweltsatellit |
| WWV | WWV HF-Radio |
| WWVB | WWVB LF-Radio |
| WWVH | WWVH HF-Radio |
| CHU | CHU HF-Radio |
| LORC | LORAN-C-Funknavigationssystem |
| OMEG | OMEGA-Funknavigationssystem |
| TDF | TDF HF-Radio (Frankreich) |
In NTP Version 4 Primärservern ist dies eine vier-Oktett-IPv4-Adresse oder die ersten vier Oktetts des MD5-Hashs der IPv6-Adresse. In NTP Version 4 Sekundärservern ist dies der Referenzbezeichner seiner Synchronisationsquelle.
Referenz-, Ursprungs-, Empfangs- und Übertragungszeitstempel: Diese vier Felder sind im Format des NTP-Zeitstempels, der eine 64-Bit-vorzeichenlose Festkommazahl ist, mit dem ganzzahligen Teil in den ersten 32 Bits und dem Bruchteil in den letzten 32 Bits. Dieses Format ermöglicht eine bequeme Mehrfachpräzisions-Arithmetik und Konvertierung in Zeitprotokoll-Darstellung (Sekunden), kompliziert jedoch die Konvertierung in ICMP-Zeitstempelnachrichten-Darstellung (Millisekunden). Die Präzision dieser Darstellung beträgt etwa 200 Pikosekunden, was selbst für die exotischsten Anforderungen ausreichend sein sollte.
Authentifikator (optional): Wenn das NTP-Authentifizierungsschema implementiert ist, enthalten die Felder Schlüsselbezeichner und Nachrichtendigest die in Anhang C definierten Nachrichtenauthentifizierungscode (MAC) Informationen.