Was ist das Network Time Protocol?
Das Network Time Protocol dient zum präzisen Synchronisieren der Zeit zwischen mehreren Computern in einem Netzwerk. Die meisten Computeruhren verlieren jeden Tag mindestens eine volle Sekunde Zeit, was für den durchschnittlichen Benutzer nicht so wichtig ist. Viele Sicherheits- und Ereignisprotokollierungssysteme müssen Computer in mehreren Netzwerken einschließlich des Internets nachverfolgen. Diese Systeme sind auf die Uhrzeitsynchronisierung ihrer verbundenen Computer mit dem Network Time Protocol angewiesen. Dieses Protokoll aktualisiert häufig die genaue Uhrzeit seiner Clients von Servern, die den internationalen Atomzeitstandard einhalten.
Das Network Time Protocol, auch bekannt unter dem Akronym NTP, wurde zum ersten Mal in den späten 1980er Jahren als Standard eingeführt. In den neunziger Jahren wurden mehrere Überarbeitungen durchgeführt, um die Authentifizierung, die Algorithmen, die Genauigkeit und die externe Synchronisierung zu verbessern. Im Jahr 2010 wurde NTP Version 4 von der Internet Engineering Task Force (IETF) in Request For Comments (RFC) 5905 vorgeschlagen. Version 4 enthält Public-Key-Kryptographie, Genauigkeit der Nanosekunden-Zeit und eine Methode zum automatischen Auffinden eines Zeitservers. Es enthält auch verbesserte Algorithmen und Genauigkeiten sowie Unterstützung für neue Hardware-Referenzuhren und Betriebssysteme.
Ein Benutzer in einem kleinen lokalen Netzwerk ist möglicherweise nur leicht verärgert, wenn die Zeitstempel für E-Mail- oder Dateiänderungen nicht in Ordnung sind. Netzwerke mit vielen Benutzern und gemeinsam genutzten Ressourcen im Internet werden davon jedoch erheblich betroffen sein. Bei Finanztransaktionsdatenbanken, Industriesteuerungsanwendungen und Netzwerküberwachungssoftware ist in der Regel die genaue Zeit entscheidend, und zwar nicht nur auf dem System, das die Transaktion aufzeichnet, sondern auf allen Computern, die rund um die Uhr Daten melden. Das Network Time Protocol und die internationalen Zeitserver, die es unterstützen, können diese Anforderungen erfüllen.
Ein Netzwerkadministrator kann die Uhrzeit auf jedem Client täglich manuell von einem Zeitserver aus aktualisieren. Systeme können auch so konfiguriert werden, dass die Zeit bei jedem Neustart neu geladen wird. Die Zeitverschiebung von Stunde zu Stunde ist jedoch aufgrund vieler Faktoren, einschließlich Temperatur- und Betriebssystemproblemen, erheblich. Die beste Lösung besteht normalerweise darin, jede Uhr mit dem Network Time Protocol mehrmals täglich in sehr kleinen Schritten automatisch zurückzusetzen. Mit dieser Methode werden Systeme und Benutzer nicht von relativ großen, plötzlichen Zeitsprüngen vorwärts oder rückwärts "überrascht".
Ein Client, der das Network Time Protocol verwendet, kann die genaue Uhrzeit von einem internetbasierten Server oder einer festverdrahteten externen Zeitquelle abrufen. Letztendlich erhalten beide Quellen die Coordinated Universal Time (UTC) von einem internationalen Zeitserver. Eine festverdrahtete Quelle kann sie direkt oder indirekt über ein spezielles Funksignal empfangen. Eine Netzwerkquelle erhält sie normalerweise indirekt über mehrere Serverschichten, auf denen NTP-Software ausgeführt wird. Während es nur wenige Zeitserver gibt, die direkt mit Atomuhren verbunden sind, leiten Zehntausende Server weltweit die Zeit an lokale Systeme weiter.
Netzwerkzeitbezogene Software, die auf jedem NTP-Client ausgeführt wird, aktualisiert die Uhr mit äußerster Genauigkeit und Regelmäßigkeit. Wenn ein Client nicht mit dem Internet verbunden ist, schätzen die NTP-Algorithmen die aktuelle Zeit basierend auf der bisherigen Leistung. Systeme, die nicht alle Funktionen von NTP benötigen, können eine abgespeckte Version namens SNTP (Simple Network Time Protocol) verwenden.