J'ai remarqué que, sur mes serveurs et autres machines, l'horloge dérive toujours, elle doit donc être synchronisée pour rester précise.
Comment les horloges du serveur NTP ne dérivent pas et restent toujours correctes?
J'ai remarqué que, sur mes serveurs et autres machines, l'horloge dérive toujours, elle doit donc être synchronisée pour rester précise.
Comment les horloges du serveur NTP ne dérivent pas et restent toujours correctes?
Réponses:
Les serveurs NTP s'appuient sur des horloges de haute précision pour un chronométrage précis. Les horloges atomiques, ou récepteurs GPS, sont une source de temps commune pour les serveurs NTP centraux (rappelez-vous que les satellites GPS sont équipés d'horloges atomiques). Ces horloges sont définies comme précises car elles fournissent une référence temporelle extrêmement exacte. Le GPS ou les horloges atomiques n'ont rien de magique qui leur permette de vous dire exactement quelle heure il est; en raison de la façon dont les horloges atomiques fonctionnent, ils sont tout simplement très bon, étant une fois dit à quelle heure il est, à garder dire l' heure précise (depuis la seconde est définie en termes d'effets atomiques ). En fait, il est intéressant de noter que l' heure GPS est différente de l'heure UTC que nous sommes plus habitués à voir. Ces horloges atomiques sont à leur tour synchronisées avecInternational Atomic Time ou TAI afin non seulement de dire avec précision le passage du temps, mais aussi le temps.
Une fois que vous avez une heure exacte sur un système connecté à un réseau tel qu'Internet, c'est une question d'ingénierie de protocole permettant le transfert d'heures précises entre hôtes sur un réseau peu fiable. À cet égard, un serveur NTP de strate 2 (ou plus éloignée de la source de temps réelle) ne diffère pas de la synchronisation de votre système de bureau avec un ensemble de serveurs NTP.
Au moment où vous avez quelques heures précises (obtenues auprès de serveurs NTP ou ailleurs) et que vous connaissez le taux d'avancement de votre horloge locale (qui est facile à déterminer), vous pouvez calculer le taux de dérive de votre horloge locale par " passage du temps. Une fois verrouillée, cette valeur peut ensuite être utilisée pour ajuster en permanence l’horloge locale afin qu’elle affiche des valeurs très proches du passage précis du temps, même si l’horloge locale en temps réel est très imprécise. tant que votre horloge locale n'est pas très irrégulière, cela devrait permettre de conserver une heure précise même si votre source de temps en amont devient indisponible pour une raison quelconque. Certaines implémentations de clients NTP (probablement la plupart des implémentations de ntpd
démons ou de services système) le font, et d’autres (comme le compagnon de ntpdntpdate
qui règle simplement l’horloge une fois) ne le fait pas. Ce fichier est généralement appelé fichier de dérive, car il stocke de manière persistante une mesure de la dérive d'horloge, mais à proprement parler, il n'est pas nécessaire de le stocker en tant que fichier spécifique sur disque.
Dans NTP, la strate 0 est par définition une source de temps précise. La strate 1 est un système qui utilise une source de temps de strate 0 comme source de temps (et est donc légèrement moins précise que la source de temps de strate 0). La strate 2 est à nouveau légèrement moins précise que la strate 1 car elle synchronise son temps avec la source de la strate 1. Etc. En pratique, cette perte de précision est si faible qu'elle est totalement négligeable dans tous les cas sauf le plus extrême.
Dans la mesure du temps réseau, la spécification indiquant comment un serveur obtient sa source de temps s'appelle un niveau de strate. Plus le niveau est bas, meilleure est la conservation du temps de ce serveur.
Les appareils du niveau 0 de la strate ne sont pas directement connectés au réseau. Ils constituent le dispositif de chronométrage réel lui-même et doivent être connectés à un ordinateur pour obtenir le temps réel. Cet ordinateur devient alors un serveur NTP du niveau 1 de la strate.
Un ordinateur connecté à une strate de niveau 1 peut également devenir un serveur de temps, mais ce serait alors une strate de niveau 2. Plus un ordinateur est connecté à un serveur de temps, plus votre niveau de strate est bas, plus votre chronométrage peut être précis.
Les appareils de niveau 0 de strate incluent des horloges atomiques participant au TAI (heure atomique internationale)ou synchronisés avec elle, et les récepteurs du signal horaire envoyés par cette horloge. Le plus souvent, il s'agit de récepteurs de pointage GPS dotés d'une interface appropriée incluant le signal GPS PPS. Le signal PPS, lorsque le GPS dispose d'un bon verrouillage sur plusieurs satellites, envoie une impulsion par seconde, et le bord d'attaque de cette impulsion se situe à quelques nanosecondes du début réel de cette seconde. Selon les spécifications du récepteur GPS, le signal PPS peut être plus ou moins précis. En effet, chaque satellite GPS possède une horloge atomique. Une fois que le récepteur GPS a trouvé sa propre position et la position des satellites GPS qu'il écoute, il peut corriger la propagation RF et vous donner une heure presque aussi précise que celle d'une horloge atomique directement sur le récepteur GPS.
Les serveurs du niveau 1 de la strate se connectent donc à des horloges atomiques ou à des récepteurs GPS, auxquels se connectent des serveurs NTP. Même la connexion à un serveur de niveau 2 ou 3 avec des réglages fréquents donnera à votre ordinateur une précision de chronométrage mesurée en nanosecondes. Mais si vous avez besoin d'un meilleur timing, connectez-vous à un serveur de niveau 1 ou achetez un récepteur GPS de pointage approprié et devenez vous-même une source de niveau 1.
Toutes les horloges dérivent dans une certaine mesure, cela dépend de la source du signal de synchronisation et de la qualité de son suivi. Sur un PC, il s’agit de la HPET de nos jours, mais le PC peut perdre le fil du nombre de ticks passés en cas de surcharge.
Les serveurs NTP auxquels votre machine parle perdent probablement eux aussi du temps, mais ils reviennent à une meilleure source.
En fin de compte, les meilleures sources sont des horloges extrêmement précises, comme les horloges atomiques. Vous pouvez considérer le protocole NTP comme un réseau de machines. Chacune d'elles dispose d'un certain nombre de sources sur lesquelles elle s'appuie pour l'heure et ajuste son propre temps à ce qui est considéré comme plus précis.
Ceci est régi par une source déclarant sa strate. Une horloge atomique ou GPS est la couche 0 et l’autorité sur l’heure. Chaque couche en dehors de celle-ci constitue la strate suivante - la strate 1, et vérifiera un nombre de sources de la strate 0 avec des pairs du même niveau, afin de vérifier l'intégrité des sources de temps.
Vous parlez probablement à une source de strate 2 ou 3.
Ce que les autres ont écrit est vrai: un serveur Stratum 1 tire son heure d’un appareil Stratum 0. Je ne sais pas dans quels intervalles de temps cela se produit, mais je pense qu’ils sont assez précis là-bas.
Un serveur Stratum n avec n> 1 tire son heure via NTP d’un serveur Stratum n-1. Cela signifie qu'il se synchronise à intervalles réguliers. Lors du démarrage du service NTP, la synchronisation se produit à des intervalles assez courts et, progressivement, les intervalles commencent à augmenter. Finalement, l’intervalle peut atteindre 1024 secondes, soit environ 17 minutes.
Ce qui n'a pas été abordé est la question de ce qui se passe entre-temps Eh bien, il existe une installation appelée fichier de dérive . Cela aide NTP à surveiller toute dérive entre l'horloge locale et l'horloge de référence. La fréquence de l'horloge locale est ensuite ajustée en fonction de la dérive détectée, de sorte que l'heure est également précise entre les interrogations du serveur.
D'autres implémentations NTP peuvent utiliser d'autres installations, mais une chose est commune: le besoin et la possibilité d'ajuster la fréquence de l'horloge.