Network Time Protocol - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Principe

En plus de définir le protocole réseau permettant de transmettre l'heure de référence, NTP définit une architecture, différentes méthodes et algorithmes visant à limiter au maximum la dérive par rapport à cette heure de référence, dû au temps de transmission.

Ce que ne fait pas NTP

L'heure de référence fournie par NTP est UTC, à ce titre, il ne s'occupe pas :

  • du changement de l'heure dû au fuseau horaire ;
  • du passage à l'heure d'été et d'hiver.

Cela est du ressort du système d'exploitation, qui suivant l'endroit où l'administrateur a déclaré que l'ordinateur se trouvait, doit effectuer les corrections adéquates pour se caler sur l'heure légale.

Aucun mécanisme de chiffrement n'est fourni, les messages NTP circulent en clair sur le réseau.

Architecture

Architecture des serveurs et clients NTP

Le réseau NTP est composé :

  • de récepteurs récupérant l'heure de référence par radios, câbles, satellites ou directement depuis une horloge atomique ;
  • de serveurs de temps récupérant l'heure de référence auprès des récepteurs ou bien auprès d'autres serveurs de temps ;
  • de clients récupérant l'heure de référence auprès des serveurs de temps.

Tous ces systèmes sont organisés de façon hiérarchique, dont chaque couche ou niveau est appelé une strate. Chaque client NTP est également un serveur et se synchronise avec d'autres serveurs, le plus souvent de la strate supérieure. La strate 0 comprend des horloges de référence (récepteurs GPS ou grandes ondes, horloges au césium ou au rubidium, oscillateur à quartz thermostaté…) qui ne sont pas connectées aux serveurs de strate 1 via un réseau mais via une interface comme un port série. La norme prévoit jusqu'à 16 strates, mais la plupart des clients se situent dans les strates 3 ou 4. La strate 16 est aussi utilisée par les serveurs qui ne sont synchronisés à aucune source externe. La redondance des serveurs et leur organisation permet une répartition de la charge et ainsi la fiabilité du réseau.

En 1999, on estimait le nombre :

  • de serveurs de strate 1 à environ 300 ;
  • de serveurs de strate 2 à environ 20 000 ;
  • de serveurs de strate 3 à environ 80 000.

sur un total de 175 000 serveurs NTP

En décembre 2006, le nombre de clients NTP est très certainement de plusieurs dizaines de millions, du fait que les systèmes d'exploitation actuels, comme Windows XP ou Mac OS X, comprennent une version de NTP. La configuration par défaut ne vise cependant pas à garantir un contrôle précis de l'horloge du système mais simplement à remettre approximativement la machine à l'heure de temps en temps.

Implémentation

Le temps est défini comme un entier de 64 bits :

  • les 32 bits de poids forts correspondent au nombre de secondes écoulées depuis le 1er janvier 1900 à minuit ;
  • les 32 bits restant représentent la fraction d'une seconde.

L'échelle de temps est donc de 232 secondes (soit un peu plus de 136 ans), avec une résolution théorique de 2-32 seconde (ce qui correspond à un peu moins de 0,233 nanosecondes).

NTP utilise l'algorithme d'intersection (une version modifiée de l'algorithme de Marzullo) pour choisir les horloges sources et prend en charge l'ajout de secondes additionnelles. La version 4 du protocole permet de maintenir le temps d'une machine avec une précision de 10 ms à travers Internet et peut permettre une précision de 200 µs sur des réseaux locaux.

Bien que NTP soit le plus souvent utilisé avec UDP, il peut aussi l'être avec TCP.

Page générée en 0.100 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise