Es ist heutzutage selten, eine Anwendung zu finden, die nur einen einzigen Rechner einbezieht. Die meisten der durchgeführten Aufgaben beinhalten die Kommunikation zwischen mehreren Geräten. Wenn Maschinen miteinander kommunizieren müssen, ist es wichtig, dass ihre Uhren synchronisiert sind, damit sie sich über die Reihenfolge und Dauer von Ereignissen einigen können.
Die Zeitsynchronisierung eines Computernetzwerks stellt also sicher, dass alle Maschinen, die miteinander kommunizieren müssen, die „gleiche" Zeit haben. Genaue und synchronisierte Uhren ermöglichen eine vereinfachte Kommunikation, die nicht fehlschlägt, erhöhen die Sicherheit des Netzwerks, indem sie z. B. genauere Protokolle ermöglichen oder Schwachstellen vermeiden, die mit der Wiederholung von Netzwerknachrichten verbunden sind.
Um ein Zeitnetzwerk zu synchronisieren, müssen mehrere grundlegende Schritte ausgeführt werden: eine Zeitquelle als Referenzzeit abrufen, die Referenzzeit über das Netzwerk verbreiten und schließlich den Gang der im Netzwerk vorhandenen Uhren korrigieren.
Referenzuhr und Zeitverbreitung im Netzwerk
Die erste Aufgabe bei der Zeitsynchronisierung eines Netzwerkes ist die Auswahl eines Referenztaktes. Eine Referenzuhr muss eine hohe Genauigkeit und Stabilität aufweisen. Es ist nämlich seine Zeit, die dazu dient, alle Uhren im Netzwerk zu aktualisieren. Als Referenzuhren dienen sehr häufig Atomuhren oder GPS. Beide Arten von Uhren liefern äußerst genaue Zeitstempel und sind zeitlich sehr stabil. Dabei ist zu entscheiden, ob ein öffentlicher Server verwendet werden soll oder ob eine eigene Referenzuhr eingestellt werden soll. Die Verwendung einer öffentlichen Referenzuhr ist zwar billiger, kann aber ein Sicherheitsproblem darstellen. Wie auch immer man sich entscheidet, es ist immer besser, mehrere Referenzuhren zu haben, da kein Gerät unfehlbar ist und ein Ausfall oder eine Abweichung auch bei so präzisen Geräten immer auftreten kann. Wenn man mehr Referenzuhren hat, ist man besser vor möglichen Ausfällen geschützt und kann so die Genauigkeit der Zeitsynchronisierung in seinem Netzwerk aufrechterhalten.
Sobald man über mehrere Zeitquellen verfügt, ist es wichtig, die Referenzzeit über das Netzwerk verbreiten zu können, um die Geräte zu synchronisieren. Dafür gibt es verschiedene Protokolle zur Zeitsynchronisierung, die beliebtesten sind NTP, SNTP, PTP oder IRIG. Die Wahl des Protokolls für die Zeitsynchronisierung hängt von der Genauigkeit ab, die von den Anwendungen im Netzwerk benötigt wird, sowie von der Schwierigkeit/Kosten, das Protokoll einzusetzen.
NTP
Das Protokoll NTP (Network Time Protocol) ist eines der ersten Protokolle, die auftauchten. Es wird heute sehr häufig verwendet und hat zahlreiche Weiterentwicklungen erfahren, um seine Leistung und Sicherheit zu verbessern (die derzeit gängige Version ist Version 4). Das NTP-Protokoll ist ein hierarchisches Protokoll mit einer Referenzuhr an der Spitze der Pyramide in Schicht 0. Jeder Server, der mit mindestens einem Server in Schicht i verbunden ist, ist ein Server in Schicht i+1. Zu tiefe NTP-Netzwerke werden nicht empfohlen, da sie die Genauigkeit der Zeitsynchronisierung stark beeinflussen. Es gibt viele öffentlich zugängliche Schicht-1- oder Schicht-2-Server, mit denen man sein Netzwerk synchronisieren kann. NTP ist ein sehr einfach zu implementierendes Protokoll, das jedoch nur eine Genauigkeit im Millisekundenbereich bietet. Obwohl diese Genauigkeit für eine Vielzahl von Anwendungen ausreichend ist, gibt es viele andere, die eine darüber hinausgehende Genauigkeit erfordern.
SNTP
SNTP (Simple Network Time Protocol) ist eine vereinfachte Version des NTP-Protokolls, die zwar nicht die gleiche Genauigkeit erreicht, aber wesentlich einfacher ist, insbesondere in Bezug auf die Algorithmen, die zur Aktualisierung der Uhren der Netzwerkgeräte verwendet werden.
PTP
Das Protokoll PTP (Precision Time Protocol) ist ein Protokoll zur Zeitsynchronisierung, mit dem in lokalen Netzwerken eine theoretische Genauigkeit im Nanosekundenbereich erreicht werden kann. Dies macht PTP zum bevorzugten Protokoll für Anwendungen mit hohem Präzisionsbedarf, wie z. B. in der Telekommunikations- oder Finanzbranche. PTP hat einen Master-Slave-Betrieb, um die Hauptuhr zu identifizieren, d. h. die Uhr, welche die anderen Uhren im Netzwerk synchronisiert. Die erste Phase des Protokolls besteht darin, die Master-Uhren (die Uhren mit den besten Parametern aus einem vordefinierten Satz) zu identifizieren, so dass sie ihre Zeit im gesamten ihnen zugewiesenen Netzwerk senden können.
IRIG
IRIG (Inter-Range Instrumentation Group) ist eine Familie von Protokollen, die unterschiedliche Genauigkeiten bieten und deren Mitglieder alle eine hohe Robustheit aufweisen. IRIG-Protokolle erfordern jedoch spezielle Hardware und sind nicht für den Betrieb über große Entfernungen ausgelegt. Es handelt sich um Protokolle, die in Umgebungen bevorzugt werden, in denen es auf Robustheit und Sicherheit ankommt, wie z. B. bei militärischen Anwendungen oder in der Luft- und Raumfahrtindustrie. IRIG-Zeitserver senden kontinuierlich Zeitstempel mit einer Frequenz, die vom genauen Protokoll abhängt, das gewählt wurde.
Weitere Informationen über den Unterschied zwischen den Protokollen NTP, PTP und IRIG?
Vergleich von Synchronisationsprotokollen
Aktualisieren der Netzwerkuhren
In diesem Schritt geht es darum, wie Sie die Uhr anhand der empfangenen Zeit aktualisieren können. Dieser Schritt ist entscheidend und hängt vom zuvor gewählten Protokoll ab. Jedes Protokoll definiert nämlich verschiedene Algorithmen, die verwendet werden können, um herauszufinden, wie eine Uhr aktualisiert werden kann. Da das Ziel immer die höchste Genauigkeit ist, filtern die verschiedenen Algorithmen die verschiedenen Zeitquellen und wählen die beste aus, um die Uhren im Netzwerk zu aktualisieren. Um die Qualität der Netzwerksynchronisation zu verbessern, werden andere Algorithmen das Rauschen in den empfangenen Nachrichten entfernen, wenn die Zeitstempel im Netzwerk zirkulieren.
Die Korrekturen der Uhren in einem Netzwerk können schrittweise erfolgen, um zu abrupte Sprünge zu vermeiden, wenn zwischen der lokalen Uhr und der Referenzuhr ein großer Zeitunterschied aufgetreten ist. Tatsächlich könnte die direkte Korrektur eines großen Zeitunterschieds dazu führen, dass Anwendungen, die auf der Zeit der korrigierten Uhr basieren, nicht mehr funktionieren.
All diese Mechanismen sind für den Nutzer transparent, da sie vom gewählten Protokoll zur Zeitsynchronisierung abhängen.
Es ist auch wichtig, sich mit den Sicherheitsproblemen der Zeitsynchronisierung zu befassen. Tatsächlich basiert eine sehr große Anzahl von Anwendungen auf einer präzisen zeitlichen Synchronisation: Daher handelt es sich um einen Angriffsvektor, der zu Fehlfunktionen in den Anwendungen führen kann. Die meisten Synchronisationsprotokolle bieten die Möglichkeit, die Kommunikation abzusichern, um sicherzustellen, dass externe Agenten die Zeitsynchronisierung nicht stören können.
Mit mehr als 150 Jahren Erfahrung in der Zeiterfassung und einer Präsenz in mehr als 140 Ländern ist Bodet Time ein führender französischer Akteur auf dem Gebiet der Zeitsynchronisierung und Zeitfrequenz. Der modulare Aufbau unserer Netsilon-Zeitserver passt sich an und wächst mit den Anforderungen und Anwendungen und bietet wahlweise IRIG-, PTP- oder NTP-Zeitsynchronisierung.
Sie haben ein Projekt? Brauchen Sie Unterstützung?