Die Zeitsynchronisation ist in zahlreichen Bereichen der Computer- und Netzwerktechnik notwendig, insbesondere in kritischen Systemen, wo Genauigkeit, Zuverlässigkeit und Sicherheit von entscheidender Bedeutung sind und diese die Aufrechterhaltung der genauen Übereinstimmung der Systemzeit aller beteiligten Geräte erfordern.
Wenn alle Geräte in einem komplexen System synchronisiert sind, kann das System Aktionen koordinieren, Transaktionen konsistent durchführen und die Datenintegrität aufrechterhalten, selbst in Systemen mit verteilten Geräten.
Heute stehen drei Synchronisationsprotokolle zur Verfügung, die sich jeweils durch ihre Einsatzmöglichkeiten und ihre Bedeutung auszeichnen: IRIG (Inter Range Instrumentation Group), NTP (Network Time Protocol) und PTP (Precision Time Protocol). Jedes dieser Protokolle wurde für bestimmte Ziele entwickelt und weist unterschiedliche Merkmale auf, die es für jeweils andere Anwendungen geeignet macht. Im Folgenden gehen wir auf alle Protokolle näher ein.
Der IRIG-Zeitcode in Kürze
IRIG ist kein Protokoll im engeren Sinne, sondern ist vielmehr ein Standard aus einer Reihe von Normen, mit welchen das Senden von Zeitcodes über elektrischen Strom ermöglicht wird. Ursprünglich war der IRIG-Standard ein Projekt des US-Militärs, später wurde er auch in der Luft- und Raumfahrt und in der Telemetrie genutzt. Das Ziel dieses Standards ist es, eine sehr hohe Genauigkeit der Datensynchronisation in Systemen zu gewährleisten, in denen verschiedene Instrumente und Geräte perfekt synchronisiert werden müssen.
Die IRIG-Signale (die Zeitcodes) enthalten Zeitinformationen, die in Form von Impulsen unterschiedlicher Dauer codiert sind. Sie ermöglichen eine sehr hohe Genauigkeit. Der Standard ist für eine schnelle Übertragung und hohe Genauigkeit auf kurze Distanzen konstruiert. Obwohl es auch Möglichkeiten gibt, die IRIG-Zeitcodes über Glasfaserkabel und damit über große Entfernungen zu übertragen, sollte dies vermieden werden, da dabei eine nicht bestimmbare Verzögerung zwischen dem Senden und dem Empfang eines Frames entsteht, was die Synchronisation der verschiedenen Geräte unter Umständen unmöglich macht.
Die Synchronisation zwischen den verschiedenen IRIG-Geräten erfolgt daher hauptsächlich über Koaxialkabel. Die IRIG-Server können ihre eigene interne Uhr verwenden, um Zeitcodes zu generieren, meistens sind sie allerdings mit einer zuverlässigen Zeitquelle wie GPS oder einer Atomuhr verbunden. Wenn die Zeitcodes mittels Strom über kurze Entfernungen versendet werden, können die Zeiten sowohl der Übertragung als auch die der Auflösung durch die Geräte, die die Frames lesen, genau ermittelt werden. Dadurch ist diese Technik sehr robust und bietet eine hohe Genauigkeit.
Die wichtigsten Grundsätze des NTP-Protokolls
Das Network Time Protocol (NTP) ist ein UDP-basiertes Synchronisationsprotokoll, das den Port 123 verwendet. Die Rollen des NTP-Protokolls sind asymmetrisch: Ein Computer synchronisiert seine Uhr mit der eines Referenzservers.
Die erste offizielle Festlegung des Protokolls erfolgte 1985 unter der Bezeichnung RFC 958. Heute ist das NTP in Version 4 (RFC 5905) verfügbar, jedoch hat diese es schwer, sich gegen Version 3 (RFC 1305) durchzusetzen, die noch immer weit verbreitet ist. Zwischen der Veröffentlichung der Versionen 3 und 4 wurde zudem noch eine vereinfachte Version von NTP erstellt: SNTP (Simple NTP). Das Prinzip von SNTP ist ähnlich, jedoch mit weniger Beschränkungen hinsichtlich der Algorithmen, die verwendet werden können, und der Anzahl der Quellen, mit denen auf den Ebenen 0/1 synchronisiert werden kann.
Das NTP-Protokoll definiert die Architektur des einzurichtenden Netzwerks, die Nachrichten, die zwischen Clients und Servern gesendet werden sollen, sowie eine Reihe von Algorithmen, die von den Clients verwendet werden müssen, um die Synchronisation so erfolgreich wie möglich zu machen.
Die Architektur des NTP-Netzwerks ist baumartig aufgebaut. Auf der obersten Ebene 0, in der Terminologie der NTP-Architektur als Stratum 0 bezeichnet, befinden sich die Referenzuhren (GPS, Atomuhr usw.). Sie sind über serielle Schnittstellen mit dem Server in Stratum 1 verbunden. Es folgt Stratum i, das mit Stratum i+1 verbunden wird, um den Zeitcode zu verbreiten. So wird die Synchronisation auf diese Ebenen fortgesetzt.
Die Server eines Stratums (Peers) können miteinander verbunden werden, um Verbindungsprobleme mit dem darüberliegenden Stratum zu lösen oder einfach um sich untereinander zu synchronisieren.
Die NTP-Server nehmen somit abwechselnd die Rolle des Clients und des Servers ein, je nachdem, mit welchem Stratum sie kommunizieren. Der Standard begrenzt die Architektur auf 16 Strata, aber in der Praxis bestehen die meisten Netzwerke nur aus 3 oder 4 Strata.
NTP ist auf eine Genauigkeit mit einer Abweichung von unter einer Sekunde ausgelegt. Mit zunehmender Anzahl der Strata, also mit zunehmender Entfernung von der Referenzuhr, nimmt die Genauigkeit ab, da jedes Stratum einen kleinen Versatz erzeugen kann. Version 4 ist genauer als die vorherigen Versionen mit einer Verzögerung von unter 10 ms bei einem über das Internet verbundenen Rechner; zwischen Rechnern im selben lokalen Netzwerk wird sogar eine Verzögerung von unter 200 s erreicht.
Da es öffentliche NTP-Server gibt, ist ein Zugang zu einer Referenzuhr nicht unbedingt erforderlich, um Ihr Netzwerk mit dem NTP-Protokoll zu synchronisieren. Wenn neben der Genauigkeit der Synchronisation jedoch maximale Sicherheit und Zuverlässigkeit erforderlich sind, sollte dies vermieden werden.
Das PTP-Protokoll in Kürze
Das Precision Time Protocol (PTP) ist ein asymmetrisches Synchronisationsprotokoll (Master-Slave), das Zeitstempel in einem Netzwerk verbreitet, um die Geräte in diesem Netzwerk zu synchronisieren.
Die theoretische Genauigkeit des Protokolls liegt im Nanosekundenbereich, in der Praxis liegt die Genauigkeit jedoch eher im Mikrosekundenbereich, was aber immer noch viel höher ist als beim NTP-Protokoll.
PTP ist im Vergleich sehr neu, die erste Version wurde im Jahr 2000 standardisiert (Standard IEEE 1588-2002 des IETF), die zweite im Jahr 2008 (IEEE 1588-2008) und die dritte (und aktuelle) Version stammt aus dem Jahr 2019. Ziel des Protokolls ist, NTP dort zu ersetzen, wo es nicht genau genug ist. Hier ist zu erwähnen, dass der IEEE-Standard von 2002 nicht mit den Nachfolgenormen von 2008 und 2019 kompatibel ist.
Technisch gesehen ist PTP ein hierarchisches Master-Slave-Protokoll. Die PTP-Server in der Mitte der Hierarchie wechseln zwischen den beiden Rollen hin und her. Die Master-Uhr an der Spitze der Hierarchie wird als Grandmaster bezeichnet. Sie ist in der Regel mit einer Referenzuhr verbunden (z. B. Atomuhr oder GPS) und erzeugt einen Zeitstempel, der an das gesamte Netzwerk gesendet wird. Für das PTP-Protokoll ist jedoch nicht zwingend eine Verbindung zu einer Referenzuhr erforderlich. Der Grandmaster kann auch einfach seine interne Uhr verwenden, um alle Geräte zu synchronisieren. Der Grandmaster eines Netzwerks wird mit Hilfe eines Algorithmus ausgewählt, der als Best Master Clock Algorithm (BMCA) bezeichnet wird.
Vergleich der unterschiedlichen Protokolle
Wenn Sie verstehen, was die einzelnen Protokolle voneinander unterscheidet, können Sie entscheiden, welches Protokoll für die Zeitsynchronisation Ihrer Geräte das richtige ist.
NTP bietet die geringste Genauigkeit, erfordert dafür aber keine spezielle oder komplexe Hardware, um zu funktionieren. Obwohl aus Sicherheitsgründen dringend davon abgeraten wird, kann sich NTP auch über das Internet mit öffentlich zugänglichen Servern synchronisieren.
NTP ist damit die richtige Wahl, wenn die Genauigkeit nicht kritisch ist und die Zeitinformation auf sichere Weise von einem lokalen NTP-Zeitserver übertragen wird.
PTP oder IRIG bieten im Gegensatz dazu eine viel höhere Genauigkeit und Zuverlässigkeit, erfordern jedoch spezielle Hardware, um zu funktionieren. IRIG basiert auf elektrischer Modulation. Um die Zeitinformationen kodieren und empfangen zu können, ist daher spezielle Hardware erforderlich. IRIG kommt vor allem in Bereichen zum Einsatz, in denen die Zeitsynchronisation absolut kritisch ist, wie z. B. in militärischen Anwendungen, in der Luft- und Raumfahrt oder in Kraftwerken. Für das PTP-Protokoll ist ebenfalls spezielle Hardware erforderlich, insbesondere Karten, die die Zeitstempel generieren und so eine höhere Genauigkeit gewährleisten können. Dieses Protokoll ist zu bevorzugen, wenn die Genauigkeit der Synchronisation wichtig ist, sie jedoch in einem Netzwerk implementiert werden soll.
IRIG ist hingegen auf die Synchronisation von lokalen Netzwerken beschränkt. PTP ist daher für Anwendungen wie die Sprach- und Bildübertragung oder den Hochfrequenzhandel zu bevorzugen, in denen die Zeitsynchronisation sehr wichtig ist.
Abschließend lässt sich sagen, dass die Wahl des richtigen Verfahrens zur Zeitsynchronisation von den jeweils zu erwarteten Anwendungsfällen abhängt.
Mit mehr als 150 Jahren Erfahrung in der Zeiterfassung par in Zeitsystemen und einer Präsenz in mehr als 140 Ländern ist Bodet Time ein führender französischer Akteur auf dem Gebiet der Zeitsynchronisation und Zeitfrequenz. Das modulare Konzept unserer Netsilon-Zeitserver lässt sich an die Bedürfnisse und Anwendungen anpassen, entwickelt sich mit diesen weiter und bietet wahlweise IRIG-, PTP- oder NTP-Zeitsynchronisation.