Einführung in das Network Time Protocol
Geschrieben von Stuart on September 8th, 2008
Network Time Protocol (NTP) ist eines der ältesten noch im Gebrauch befindlichen Protokolle des Internets. Entwickelt von Dr. David Mills von der University of Delaware, wird es seit 1985 ständig genutzt und ständig aktualisiert. NTP ist ein Protokoll, das entwickelt wurde, um die Uhren von Computern und Netzwerken über das Internet oder lokale oder breitere Netzwerke (LANs / WANS) zu synchronisieren.
In einer modernen Weltwirtschaft ist die Zeitsynchronisierung für die Durchführung zeitkritischer Transaktionen wie die Buchung eines Flugtickets auf einer Internetauktionsseite unerlässlich. Wenn die Uhren nicht zur selben Zeit synchronisiert sind, kann es sein, dass Ihr Airline-Sitz nach dem Kauf verkauft wird und die Administratoren von Ebay nicht in der Lage sind herauszufinden, wessen Gebot zuletzt war.
NTP ist ein mehrstufiges System, wobei jede Schicht als Stratum bezeichnet wird. Server auf jeder Ebene kommunizieren miteinander (Peer) und bieten Zeit für niedrigere Schichten. Server in der obersten Schicht, Schicht 1, verbinden sich mit einer Atomuhr entweder über das Internet oder durch einen Radio- oder GPS-Empfänger, während ein Stratum 2-Server eine Verbindung zu einem Stratum 1 herstellt.
NTP verwendet einen Algorithmus (Marzullo-Algorithmus), um die Zeit in einem Netzwerk mit Zeitskalen wie UTC (Coordinated Universal Time oder Temps Universel Coordonné) zu synchronisieren und Funktionen wie Schaltsekunden zu unterstützen - zusätzlich zur Kompensation der Verlangsamung der Erdrotation.
NTP (Version 4 ist die neueste) kann Zeit über das öffentliche Internet bis 10 Millisekunden (1 / 100th einer Sekunde) halten und kann sogar besser über LANs mit Genauigkeiten von 200 Mikrosekunden (1 / 5000th einer Sekunde) unter idealen Bedingungen ..
NTP Zeitserver arbeiten innerhalb der TCP / IP-Suite und verlassen sich auf UDP (User Datagram Protocol). Eine weniger komplexe Form von NTP namens Simple Network Time Protocol (SNTP), die nicht die Speicherung von Informationen über frühere, von NTP benötigte Kommunikationen erfordert, wird in einigen Geräten und Anwendungen verwendet, in denen ein hochgenaues Timing nicht so wichtig ist Standard in Windows-Software (obwohl neuere Versionen von Microsoft Windows haben die vollständige NTP installiert und der Quellcode ist kostenlos und leicht verfügbar im Internet).
Das NTP-Programm (unter UNIX als Daemon und als Dienst unter Windows) läuft im Hintergrund und weigert sich, die Zeit zu glauben, die verstreicht, bis mehrere Austauschvorgänge stattgefunden haben, von denen jeder eine Reihe von Tests besteht. Wenn die Antworten von einem Server diese "Protokollspezifikationen" erfüllen, wird der Server akzeptiert. Es dauert normalerweise fünf gute Proben (fünf Minuten), bis ein NTP-Server als Quelle für die Synchronisierung akzeptiert wird.
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.
Eine vereinfachte Version von NTP namens Simple Network Time Protocol (SNTP) existiert, die nicht das Speichern von Informationen über vorherige Kommunikation erfordert, wie von NTP erforderlich. Es wird in einigen Geräten und Anwendungen verwendet, in denen das Timing mit hoher Genauigkeit nicht so wichtig ist und auf älteren Versionen von Microsoft Windows installiert wird. Windows seit 2000 hat den Windows-Zeitdienst (w32time.exe) enthalten, der SNTP verwendet, um die Computeruhr zu synchronisieren. NTP ist auch unter UNIX und LINUX verfügbar (Download über NTP.org).