Network Time Protocol (NTP), Synchronisation verstehen.
Geschrieben von Richard N Williams on Oktober 7th, 2008
Network Time Protocol scheint für immer zu existieren. Tatsächlich ist es tatsächlich eines der ältesten Protokolle des Internets, das in den 1980 von Professor David Mills und seinem Team von der Delaware University entwickelt wurde.
In einer entspannten Welt ist es vielleicht egal, ob Computernetzwerke nicht synchronisiert sind. Die einzige Folge von Zeitfehlern könnte sein, dass eine E-Mail vor dem Versand eintrifft, aber in Branchen wie Flugplatzreservierung, Börsen- oder Satellitenkommunikation können Bruchteile von Sekunden schwerwiegende Fehler wie den mehrfachen Verkauf von Sitzplätzen verursachen von Millionen von Dollar oder sogar Betrug.
Computer sind logische Maschinen, und da die Zeit für einen Computer linear ist, muss jedes Ereignis, das auf einer Maschine passiert, geschehen, bevor die Nachricht von dieser Veranstaltung eine andere erreicht. Wenn Netzwerke nicht synchronisiert sind, haben Computer Schwierigkeiten, mit Ereignissen umzugehen, die offensichtlich aufgetreten sind (wie eine E-Mail gesendet wird), aber nach ihrer Uhr- und Zeitstempel noch nicht, denken Sie zurück an den Millennium Bug, wo es gefürchtet wurde Springe zurück zu 1900!
Aus diesem Grund wurde NTP entwickelt. NTP verwendet einen Algorithmus (Marzullos Algorithmus), um die Zeit mit der aktuellen Version von NTP zu synchronisieren, kann Zeit über das öffentliche Internet innerhalb von 10 Millisekunden halten und kann sogar noch besser über LANs arbeiten. NTP-Zeitserver arbeiten innerhalb der TCP / IP-Suite und sind auf UDP (User Datagram Protocol) angewiesen.
NTP-Server sind in der Regel dedizierte NTP-Geräte, die einen einzelnen Zeitbezug verwenden, um ein Netzwerk zu synchronisieren. Diese Zeitreferenz ist meistens eine UTC-Quelle (Coordinated Universal Time). UTC ist eine globale Zeitskala, die durch Atomuhren über das Internet, spezialisierte Langwellen-Funkübertragungen oder über das GPS-Netzwerk (Global Positioning System) verteilt wird.
Der NTP-Algorithmus verwendet diese Zeitreferenz, um den Betrag zu bestimmen, um den System- oder Netzwerktakt vorzuziehen oder zurückzuziehen. NTP analysiert die Werte des Zeitstempels einschließlich der Häufigkeit von Fehlern und seiner Stabilität. Ein NTP-Server wird die Qualität sowohl der Referenzuhren als auch selbst schätzen.
NTP ist hierarchisch. Die Entfernung von der Zeitreferenz ist in Schichten unterteilt. Stratum 0 ist die Atomuhrreferenz; Stratum 1 ist der NTP-Server, während Stratum 2 ein Server ist, der Timing-Informationen vom NTP-Server empfängt. NTP kann fast grenzenlose Schichten unterstützen, obwohl die Entfernung vom Timing-Referenzwert um so ungenauer ist, je weiter es entfernt ist.
Da jede Schichtstufe Zeitsignale empfangen und senden kann, hat dieses hierarchische System den Vorteil, dass Tausende von Maschinen mit nur einem NTP-Server synchronisiert werden können.
NTP enthält eine Sicherheitsmaßnahme namens Authentifizierung. Die Authentifizierung verifiziert, dass jeder Zeitstempel aus der beabsichtigten Zeitreferenz stammt, indem er einen Satz von Verschlüsselungsschlüsseln analysiert, die mit der Zeitreferenz gesendet werden. NTP analysiert es und bestätigt, ob es aus der Zeitquelle stammt, indem es es mit einer Reihe vertrauenswürdiger Schlüssel in seinen Konfigurationsdateien vergleicht.
Die Authentifizierung ist jedoch aus Timing-Quellen aus dem Internet nicht verfügbar, weshalb Microsoft und Novell unter anderem dringend empfehlen, nur externe Zeitreferenzen zu verwenden, wie z. B. eine dedizierte GPS NTP-Server oder eine, die die nationale Zeit- und Frequenzlangwellenübertragung empfängt.