Wie ein NTP-Server funktioniert
Geschrieben von Richard N Williams on Januar 30th, 2008
Network Time Protocol (NTP) ist eines der ältesten noch verwendeten Protokolle des Internets. Es wurde von Dr. David Mills von der University of Delaware erfunden und wird seit 1985 eingesetzt. NTP synchronisiert die Uhren auf Computern und in Netzwerken über das Internet oder lokale Netzwerke (LANs).
NTP (derzeit Version 4) ist eigentlich drei Dinge in einem; ein Softwareprogramm, das im Hintergrund von Windows oder UNIX läuft; ein Protokoll, das Zeitwerte zwischen Servern und Clients austauscht; und eine Reihe von Algorithmen, die die Zeitwerte verarbeiten, um die Systemuhr vorzurücken oder zurückzuziehen.
NTP verwendet einen Algorithmus (Marzullo-Algorithmus), um die Zeit in einem Netzwerk mithilfe einer Zeitreferenz zu synchronisieren. Obwohl Netzwerke mit internen Uhren oder internetbasierten Timing-Referenzen synchronisiert werden können, wird von Microsoft und anderen Unternehmen dringend empfohlen, dass eine externe Timing-Referenz verwendet wird, um die Authentifizierung zu gewährleisten. Eine absolute Timing-Referenz sollte UTC (Coordinated Universal Time oder Temps Universel Coordonné) verwenden, die Funktionen wie Schaltsekunden unterstützt - hinzugefügt, um die Verlangsamung der Erdrotation zu kompensieren.
NTP arbeitet innerhalb der TCP / IP-Suite und verlässt sich auf UDP, eine weniger komplexe Form von NTP existiert als Simple Network Time Protocol (SNTP), die nicht die Speicherung von Informationen über vorherige Kommunikation erfordert, die von NTP benötigt wird. Es wird in einigen Geräten und Anwendungen verwendet, wo hohe Genauigkeit Timing ist nicht so wichtig, es ist auch in den meisten Windows-Betriebssystemen enthalten, aber neuere Versionen haben die volle NTP bereits installiert, die auch kostenlos über das Internet herunterladen kann.
Die Synchronisation mit NTP ist relativ einfach, sie synchronisiert die Zeit mit Bezug auf eine zuverlässige Taktquelle wie eine Atomuhr, obwohl diese extrem teuer sind und in der Regel nur in großformatigen Physiklaboratorien zu finden sind, aber NTP kann entweder die Global Positioning verwenden System (GPS) Netzwerk oder spezialisierte Funkübertragung, um UTC Zeit von diesen Uhren zu empfangen.
NTP verwendet Zeitstempel, um die aktuelle Tageszeit zu repräsentieren, jeden Zeitstempel ist vergänglich, mit anderen Worten, es ist immer größer als der vorherige Zeitstempel, wenn die Zeit niemals rückwärts läuft. NTP analysiert die Zeitstempelwerte einschließlich der Häufigkeit der Fehler und der Stabilität. Ein NTP-Server wird eine Schätzung der Qualität seiner Referenzuhren und von sich selbst beibehalten.
Der Abstand von der Referenzuhr ist bekannt als die Stratum Ebenen und sie existieren, um Zyklen im NTP zu verhindern. Stratum 0 sind Geräte wie Referenztakte, die direkt an einen Computer angeschlossen sind. Stratum 1 sind Computer, die an Stratum 0-Geräten angeschlossen sind, während Stratum 2 Computer sind, die NTP-Anfragen an Stratum 1-Server senden. NTP kann bis zu 256-Schichten unterstützen.
NTP-Zeitstempel sind in zwei Formaten, aber sie vermitteln die Sekunden von einem Sollwert (bekannt als die primäre Epoche, eingestellt auf 00: 00 1 Januar 1900) Der NTP-Algorithmus verwendet dann diesen Zeitstempel, um den Betrag zu bestimmen, um das System vorzurücken oder zurückzuziehen Oder Netzwerkuhr.
Das NTP-Programm (unter UNIX als Daemon bezeichnet) und ein Dienst unter Windows läuft im Systemhintergrund. NTP weigert sich, die Zeit zu glauben, in der es erzählt wird, bis mehrere Paketbörsen stattgefunden haben, die jeweils eine Reihe von Tests bestehen. Nur wenn die Antworten von einem Server den Test erfüllen, bekannt als Protokollspezifikationen, wird der Server berücksichtigt. Es dauert normalerweise etwa fünf Minuten (fünf gute Beispiele), bis ein NTP-Server als Synchronisationsquelle akzeptiert wird.
Ein typischer GPS-Zeitserver kann Zeitinformationen innerhalb einiger Nanosekunden UTC bereitstellen, solange eine Antenne mit guter Sicht zum Himmel vorhanden ist.
Es gibt auch eine Anzahl von nationalen Zeit- und Frequenzfunkübertragungen, die verwendet werden können, um einen NTP-Server zu synchronisieren. In Großbritannien wird das Signal (MSF) vom National Physics Laboratory in Cumbria gesendet, das als nationale Zeitreferenz des Vereinigten Königreichs dient. Ähnliche Systeme gibt es auch in Colorado, USA (WWVB) und in Frankfurt (DCF-77). Diese Signale liefern UTC-Zeit mit einer Genauigkeit von 100 Mikrosekunden, jedoch hat das Funksignal eine begrenzte Reichweite und ist anfällig für Störungen.