21Aug
Viele von uns hatten gelegentlich Probleme mit unseren Computern und anderen Geräten, die genaue Zeiteinstellungen beibehalten, aber eine schnelle Synchronisierung mit einem NTP-Server macht alles wieder gut. Aber wenn unsere eigenen Geräte die Genauigkeit verlieren, wie schaffen es NTP-Server, so genau zu bleiben?
Die heutige Frage &Die Antwortsitzung kommt dank SuperUser, einer Unterteilung von Stack Exchange, einer Community-gesteuerten Gruppierung von Q & A-Websites, zu uns.
Foto mit freundlicher Genehmigung von LEOL30( Flickr).
Die Frage
SuperUser Leser Frank Thornton möchte wissen, wie NTP Server so genau bleiben können:
Ich habe festgestellt, dass auf meinen Servern und anderen Maschinen die Uhren immer driften, so dass sie synchronisieren müssen, um genau zu bleiben. Wie halten sich die NTP-Server-Uhren vom Driften ab und bleiben immer so genau?
Wie schaffen es die NTP-Server, so genau zu bleiben?
Der Antwort-
-SuperUser-Mitwirkende Michael Kjorling hat die Antwort für uns:
-NTP-Server verlassen sich auf hochgenaue Uhren für eine präzise Zeitmessung. Eine gemeinsame Zeitquelle für zentrale NTP-Server sind Atomuhren oder GPS-Empfänger( denken Sie daran, dass GPS-Satelliten Atomuhren an Bord haben).Diese Uhren werden als genau definiert, da sie eine sehr genaue Zeitreferenz liefern.
Es gibt nichts Magisches an GPS oder Atomuhren, dass sie Ihnen genau sagen, wie spät es ist. Wegen der Funktionsweise von Atomuhren sind sie einfach sehr gut, nachdem man ihnen einmal gesagt hat, wie spät es ist, , das die genaue Zeit von beibehält( da die Sekunde in Atomeffekten definiert ist).In der Tat ist es bemerkenswert, dass GPS-Zeit unterscheidet sich von der UTC, die wir mehr zu sehen gewohnt sind. Diese Atomuhren werden wiederum gegen die Internationale Atomzeit oder TAI synchronisiert, um nicht nur den Lauf der Zeit, sondern auch die Zeit genau zu bestimmen.
Sobald Sie eine genaue Zeit auf einem System haben, das mit einem Netzwerk wie dem Internet verbunden ist, ist es eine Frage des Protokoll-Engineerings, die Übertragung von präzisen Zeiten zwischen Hosts über ein unzuverlässiges Netzwerk zu ermöglichen. In dieser Hinsicht unterscheidet sich ein NTP-Server von Stratum 2( oder von der tatsächlichen Zeitquelle entfernt) nicht von Ihrem Desktop-System, das mit einer Reihe von NTP-Servern synchronisiert wird.
Wenn Sie einige genaue Zeiten( wie von NTP-Servern oder anderswo) erhalten haben und die Fortschrittsrate Ihrer lokalen Uhr kennen( die leicht zu bestimmen ist), können Sie die Driftrate Ihrer lokalen Uhr relativ zu der angenommenen Rate berechnengenauer "Ablauf der Zeit. Einmal gesperrt, kann dieser Wert dann verwendet werden, um die lokale Uhr kontinuierlich so einzustellen, dass sie Werte sehr nahe an dem genauen Zeitablauf meldet, selbst wenn die lokale Echtzeituhr selbst sehr ungenau ist. So lange Ihre lokale Uhr asratic nicht hoch ist, sollte dies eine genaue Zeit für einige Zeit halten, selbst wenn Ihre Upstream-Zeitquelle aus irgendeinem Grund nicht verfügbar ist.
Einige NTP-Client-Implementierungen( wahrscheinlich die meisten ntpd-Daemon- oder System-Service-Implementierungen) tun dies, und andere( wie ntpd's Companion ntpdate, das die Uhr einfach einmal setzt) nicht. Dies wird üblicherweise als -Driftdatei bezeichnet, da sie eine Taktdriftdauer speichert, aber strenggenommen nicht als spezifische Datei auf der Festplatte gespeichert werden muss.
In NTP ist Stratum 0 per Definition eine genaue Zeitquelle. Stratum 1 ist ein System, das eine Stratum 0-Zeitquelle als seine Zeitquelle verwendet( und daher etwas weniger genau ist als die Stratum 0-Zeitquelle).Stratum 2 ist wiederum etwas weniger genau als Stratum 1, da es seine Zeit gegen die Stratum 1-Quelle synchronisiert und so weiter. In der Praxis ist dieser Genauigkeitsverlust so gering, dass er in allen, außer den extremsten Fällen, vernachlässigbar ist.
Haben Sie etwas zur Erklärung hinzuzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange Benutzern lesen? Sehen Sie sich den vollständigen Diskussionsfaden hier an.