Aller au contenu principal

Annexe A. Format de Données NTP - Version 3

Cette annexe décrit le format de message NTP, qui suit les en-têtes IP et UDP. Le format est identique à celui décrit dans RFC-1119 à l'exception du champ d'identifiant de référence décrit ci-dessous. Pour le bénéfice des implémenteurs, le format est montré ci-dessous.

En-tête de Message NTP

Le message NTP est un datagramme UDP avec le format d'en-tête suivant:

 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 (optionnel) (32) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| Message Digest (optionnel) (128) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Descriptions des Champs

Indicateur de Saut (LI): Il s'agit d'un code de deux bits avertissant d'une seconde intercalaire imminente à insérer/supprimer dans la dernière minute du jour actuel, avec bit 0 et bit 1, respectivement, codés comme suit:

ValeurSignification
00pas d'avertissement
01dernière minute a 61 secondes
10dernière minute a 59 secondes
11condition d'alarme (horloge non synchronisée)

Numéro de Version (VN): Il s'agit d'un entier de trois bits indiquant le numéro de version NTP. Le numéro de version est 3 pour la Version 3 (IPv4 uniquement) et 4 pour la Version 4 (IPv4, IPv6 et OSI).

Mode: Il s'agit d'un entier de trois bits indiquant le mode, avec des valeurs définies comme suit:

ValeurSignification
0réservé
1symétrique actif
2symétrique passif
3client
4serveur
5diffusion
6réservé pour message de contrôle NTP
7réservé pour usage privé

Strate: Il s'agit d'un entier non signé de huit bits indiquant le niveau de strate de l'horloge locale, avec des valeurs définies comme suit:

ValeurSignification
0non spécifié ou non disponible
1référence primaire (par ex., horloge radio)
2-15référence secondaire (via NTP ou SNTP)
16-255réservé

Intervalle de Sondage: Il s'agit d'un entier signé de huit bits indiquant l'intervalle maximum entre messages successifs, en secondes à la puissance de deux la plus proche. Les valeurs qui peuvent apparaître dans ce champ vont actuellement de 4 (16 s) à 14 (16384 s); cependant, la plupart des applications n'utilisent que la sous-plage 6 (64 s) à 10 (1024 s).

Précision: Il s'agit d'un entier signé de huit bits indiquant la précision de l'horloge locale, en secondes à la puissance de deux la plus proche. Les valeurs qui apparaissent normalement dans ce champ vont de -6 pour les horloges de fréquence secteur à -20 pour les horloges microsecondes trouvées dans certaines stations de travail.

Délai Racine: Il s'agit d'un nombre à virgule fixe signé de 32 bits indiquant le délai aller-retour total vers la source de référence primaire, en secondes avec point de fraction entre les bits 15 et 16. Notez que cette variable peut prendre des valeurs à la fois positives et négatives, selon les décalages de temps et de fréquence relatifs. Les valeurs qui apparaissent normalement dans ce champ vont de valeurs négatives de quelques millisecondes à des valeurs positives de plusieurs centaines de millisecondes.

Dispersion Racine: Il s'agit d'un nombre à virgule fixe non signé de 32 bits indiquant l'erreur nominale par rapport à la source de référence primaire, en secondes avec point de fraction entre les bits 15 et 16. Les valeurs qui apparaissent normalement dans ce champ vont de 0 à plusieurs centaines de millisecondes.

Identifiant de Référence: Il s'agit d'une chaîne de bits de 32 bits identifiant la source de référence particulière. Dans le cas de NTP Version 3, il s'agit d'une chaîne ASCII de quatre caractères, justifiée à gauche et remplie de zéros sur 32 bits. Dans NTP Version 3, les chaînes ASCII suivantes sont définies:

ChaîneSource
DCNProtocole de routage DCN
NISTModem public NIST
TSPProtocole de temps TSP
DTSService de temps numérique
ATOMHorloge atomique (calibrée)
VLFRadio VLF (OMEGA, etc.)
GPSRécepteur satellite GPS
GOESSatellite environnemental GOES UHF
WWVRadio WWV HF
WWVBRadio WWVB LF
WWVHRadio WWVH HF
CHURadio CHU HF
LORCSystème de radionavigation LORAN-C
OMEGSystème de radionavigation OMEGA
TDFRadio TDF HF (France)

Dans les serveurs primaires NTP Version 4, il s'agit d'une adresse IPv4 de quatre octets ou des quatre premiers octets du hachage MD5 de l'adresse IPv6. Dans les serveurs secondaires NTP Version 4, il s'agit de l'identifiant de référence de sa source de synchronisation.

Horodatages de Référence, d'Origine, de Réception et de Transmission: Ces quatre champs sont au format de l'horodatage NTP, qui est un nombre à virgule fixe non signé de 64 bits avec la partie entière dans les 32 premiers bits et la partie fractionnaire dans les 32 derniers bits. Ce format permet une arithmétique de précision multiple pratique et une conversion en représentation de Protocole de Temps (secondes), mais complique la conversion en représentation de message d'horodatage ICMP (millisecondes). La précision de cette représentation est d'environ 200 picosecondes, ce qui devrait être adéquat même pour les exigences les plus exotiques.

Authentificateur (optionnel): Lorsque le schéma d'authentification NTP est implémenté, les champs d'identifiant de clé et de condensé de message contiennent les informations de code d'authentification de message (MAC) définies dans l'Annexe C.