- ntpd
-
ntpd, sigle de Network Time Protocol Daemon, est un daemon qui définit et maintient l'heure sur un système d'exploitation par synchronisation avec les serveurs dédiés à donner cette information.
Sommaire
Description
Ce programme est un démon qui gère l'heure système en synchronisation avec des serveurs de temps internet. Il implémente de manière exhaustive la version 4 du protocole NTP, mais reste aussi compatible avec la version 3, définie par le RFC 1305, et les versions 1 et 2, définies par les RFC 1059 et RFC 1119. Ntpd effectue la plupart de ses calculs en arithmétique virgule flottante 64 bits et ne fait des opérations sur les entiers 64bits seulement pour garder une précision ultime, environ 232 picosecondes. Bien que cette précision ne soit pas atteinte avec les stations de travail et les réseaux d'aujourd'hui, elle pourra devenir utile pour de futurs processeurs et réseaux encore plus rapides. En pratique, sur un ordinateur de bureau ou serveur quelconque, la précision peut raisonnablement atteindre 1 milliseconde voire mieux en fonction surtout de la qualité de la connexion réseau.
Ntpd n'utilise qu'un seul fichier de configuration en mode démon et en mode client. Celui-ci s'appelle en principe ntpd.conf et se trouve dans le répertoire /etc. Un autre fichier important s'appelle driftfile (fichier de dérive), et sert à corriger les dérives de l'horloge en l'absence de connexion réseau à un serveur plus précis. La version Solaris de ntpd s'appelle xntpd.
Debugging
Si ntpd ne se lance pas, en supposant une implémentation du programme qui respecte les RFC, votre horloge peut être affectée d'un décalage horaire trop important. En regardant le fichier des logs, on voit alors une ligne du genre :
18 Aug 21:04:40 ntpd[7220]: time correction of 1738 seconds exceeds sanity limit (1000); set clock manually to the correct UTC time.
Ce contrôle peut être annulé en passant le paramètre "-g" à ntpd au démarrage :
ntpd -g
Pour forcer la synchronisation des horloges, utiliser :
ntpd -q
ou sur des systèmes plus vieux :
ntpdate un.serveur-de-temps.example
Il faut noter que de larges décalages horaires provoqués par cette actions peuvent entrainer des effets de bord dans des processus qui tournent depuis longtemps ou complexes, et ce n'est pas conseillé pour des serveurs. En particulier, des programmes qui sont dépendants de l'horloge comme cron ou make peuvent se lancer deux fois de suite ou pas du tout.
La commande ntpq permet de se connecter au démon de notre serveur de temps et de lui demander des informations sur les serveurs auxquels il est connecté. Par exemple, avec la commande
ntpq -p localhost
on peut ainsi connaitre pour chaque serveur de référence ainsi que ses pairs :
- L'adresse du serveur distant ;
- L'adresse que ce serveur distant utilise en référence (les serveurs de strate 1 indiqueront par exemple "GPS" comme source) ;
- Son stratum (entre 1 - par exemple pour une source GPS -, 2 pour les clients des strates 1, etc. jusqu'à 5 (rarement plus, max 15) pour les plus éloignées d'une source fiable) ;
- L'intervalle de temps en secondes entre deux interrogation de ce serveur (durée variable selon un algorithme interne) ;
- Si le serveur distant peut être atteint ;
- La durée en millisecondes, due aux délais réseau, pour une requête complète (similaire au ping) ;
- Le décalage temporel apparent en millisecondes par rapport à l'horloge interne de notre serveur ;
- L'écart-type du décalage temporel apparent ;
Implémentations
- L'implémentation de référence du projet NTP à l'Université du Delaware.
- OpenNTP – Un NTPD simple et portable, l'implémentation de OpenBSD.
- dntpd – Un simple client ntpd de DragonFly BSD
- La version Windows – Une version gratuite avec une installation facile.
Manuels de ntpd
- La documentation officielle
- La documentation de la communauté
- NTP Development Collaboration Tool
- Mailing Lists
- Archive
- Archives de la documentation pour les releases stables
- les man pages OpenNTP
- Wiki de Gentoo
- Notes générales de linux
Bibliographie
- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « ntpd » (voir la liste des auteurs)
- D. L. Mills, ntpd - Network Time Protocol (NTP) daemon, The University of Delaware, USA. 2005.
Catégorie :- Logiciel réseau et Internet
Wikimedia Foundation. 2010.