Das PTP-Protokoll (Precision Time Protocol) wurde entwickelt, um eine präzisere Zeitsynchronisation als andere Protokolle für kritische Anwendungen zu bieten.
Während NTP eine Genauigkeit im Millisekundenbereich anstrebt, zielt PTP auf die Mikrosekunde ab. Das Erreichen dieser Präzision basiert auf Mechanismen, die davon abhängen, dass das Netzwerk die Synchronisationsnachrichten ohne unvorhersehbare Verzögerungen übertragen kann. Netzwerkkomponenten wie Switches und Router verursachen jedoch genau diese Art von Verzögerungen. Die transparente Uhr (bzw. Transparent Clock) ist der im IEEE-1588-Standard vorgesehene Mechanismus, um dieses Problem zu lösen.
Warum beeinträchtigt ein Switch die PTP-Genauigkeit?
Um den Nutzen der transparenten Uhr zu verstehen, muss man zunächst die Funktionsweise der PTP-Synchronisation nachvollziehen können. Ein PTP-Client tauscht mit einem Referenzserver, dem sogenannten Grandmaster, zeitgestempelte Nachrichten aus. Anhand dieser Zeitstempel wird die Laufzeit der Nachrichten im Netzwerk ermittelt. Daraus berechnet der Client die Abweichung seiner lokalen Uhr von der Uhr des Grandmasters und kann seine Zeit entsprechend synchronisieren. Diese Berechnung beruht auf einer Hypothese: die Laufzeit bleibt über die Zeit stabil.
Problematisch wird es, sobald sich ein Ethernet-Switch auf dem Pfad zwischen dem Grandmaster und dem Client befindet. Jede Synchronisationsnachricht wird vom Switch wie alle anderen Netzwerkpakete behandelt: Sie wird an einem Eingangsport empfangen, in eine Warteschlange eingereiht und dann über den Ausgangsport weitergeleitet. Die in dieser Warteschlange verbrachte Zeit hängt vom tatsächlichen Datenverkehr ab. Bei einer hohen Netzwerkauslastung kann sich die Verarbeitung des Pakets verzögern und mehrere zusätzliche Mikrosekunden in Anspruch nehmen, ohne dass dies gemessen wird.
Diese Schwankung der Durchlaufzeit, auch bekannt als PDV (Packet Delay Variation oder Paketlaufzeitschwankung), verfälscht die vom PTP-Client durchgeführte Berechnung der Laufzeit. Schlimmer noch: Der Fehler kann verstärkt werden, wenn sich zwischen dem Grandmaster und dem Client mehrere Switches befinden.
In einigen Fällen verschlechtert sich die PTP-Genauigkeit derart, dass sie nahezu das Niveau von NTP erreicht. Mit anderen Worten: Ohne einen Kompensationsmechanismus bringt der Einsatz von PTP in einem Standardnetzwerk kaum Vorteile.
Wie funktioniert eine transparente Uhr?
Die Transparent Clock ist ein Korrekturmechanismus des PTP, der in IEEE 1588-2008 (PTP Version 2) definiert wurde. Sie dient zur Verwaltung der Netzwerkgeräte, die sich zwischen dem Grandmaster und den sich synchronisierenden Clients befinden. Ziel ist es, Schwankungen der Durchlaufzeit durch Netzwerkgeräte zu kompensieren, indem die auftretenden Verzögerungen gemessen werden. Dieser Messwert wird dann dem Client mitgeteilt, damit er ihn bei seiner Synchronisation berücksichtigen kann.
Das Prinzip ist eigentlich denkbar einfach.
Wenn eine PTP-Nachricht am Eingangsport des Switches eingeht, registriert das Gerät den exakten Ankunftszeitpunkt. Verlässt dieselbe Nachricht später den Ausgangsport, wird auch dieser Zeitpunkt registriert. Die Differenz zwischen beiden Werten entspricht der im Gerät verbrachten Zeit – also genau der variablen Verzögerung, die kompensiert werden soll. Die Transparent Clock trägt diese Verweildauer in das sogenannte Korrekturfeld der PTP-Nachricht ein.
Dabei handelt es sich um einen kumulativen Mechanismus. Durchläuft die Nachricht mehrere aufeinanderfolgende transparente Uhren, addiert jede von ihnen ihre jeweilige Verweildauer zum bereits vorhandenen Wert im Korrekturfeld. Wenn der Client die Nachricht empfängt, verfügt er somit über die Summe aller von den zwischengeschalteten Geräten eingefügten Verzögerungen. Er muss diesen Wert lediglich von seiner Verzögerungsberechnung abziehen, um einen genauen Messwert zu erhalten.
Man spricht von einer transparenten Uhr, da die Netzwerkkomponenten dank des Korrekturfeldes für die Synchronisation quasi unsichtbar werden.
In gewisser Weise ist der Begriff „transparente Uhr“ jedoch irreführend. Tatsächlich synchronisiert sich die Transparent Clock nicht mit dem Grandmaster. Sie erfasst lediglich die innerhalb des Geräts entstehende Verzögerung und trägt diese Information in die Nachrichten ein..
Zuverlässige Zeitsynchronisation für kritische Umgebungen
Sorgen Sie für eine präzise und einheitliche Zeitsynchronisation auf allen Ihren Geräten, ohne Abweichungen.
Es gibt zwei Varianten: End-to-End und Peer-to-Peer
Der PTP-Standard definiert zwei Methoden zur Messung der Laufzeit zwischen zwei Geräten: die End-to-End-Methode und die Peer-to-Peer-Methode. Die transparente Uhr unterstützt beide Methoden.
Die End-to-End-Transparent-Clock ist die am häufigsten eingesetzte Variante. Sie misst ausschließlich die Durchlaufzeit durch den Switch oder Router und trägt diese in das Korrekturfeld ein. Die Berechnung der Gesamtlaufzeit zwischen dem Grandmaster und dem Client verbleibt vollständig beim Client. Dieser tauscht weiterhin Nachrichten zur Laufzeitmessung mit dem Grandmaster aus, ebenso wie in einem herkömmlichen PTP-Netzwerk. Diese Uhr ist eine reine Gerätefunktion und arbeitet transparent und „passiv“, da sie den eigentlichen Synchronisationsprozess nicht verändert. Sie korrigiert lediglich die durch das Netzwerkgerät verursachten Verzögerungen. Dadurch lässt sie sich vergleichsweise einfach implementieren.
Die Peer-to-Peer-Transparent-Clock (P2P) geht noch einen Schritt weiter, erfordert jedoch komplexere Geräte. Die Peer-to-Peer-Transparent-Clock misst nicht nur die Verweildauer einer Nachricht innerhalb des Geräts, sondern berücksichtigt auch die Laufzeit über die Verbindung zum benachbarten Gerät. Dazu tauscht sie im Peer-to-Peer-Modus spezifische Messnachrichten mit benachbarten Geräten aus.
Das Korrekturfeld berücksichtigt somit sowohl die Durchlaufzeit des Geräts als auch die Übertragungszeit der Informationen zwischen den Geräten. Der Vorteil dieses Ansatzes besteht darin, dass der Client, wenn er eine Nachricht empfängt, nicht einmal mehr mit dem Grandmaster kommunizieren muss, um die Verzögerung zu erfahren, da das Korrekturfeld bereits alle Informationen enthält. Das macht das Ergebnis potenziell genauer.
Transparent Clock oder Boundary Clock?
Diese Frage stellt sich bei der Konzeption einer PTP-Architektur jedes Mal. Beide Mechanismen behandeln dasselbe Problem, bieten jedoch jeweils eine andere Lösung.
Die transparente Uhr lässt PTP-Nachrichten durch und versieht sie dabei mit Anmerkungen. Die Boundary Clock hingegen unterbricht die PTP-Kommunikationskette. Sie synchronisiert sich zunächst wie ein gewöhnlicher Client mit dem Grandmaster. Anschließend verteilt sie die Zeit an die nachgelagerten Geräte weiter, als wäre sie selbst der Grandmaster. Auf diese Weise unterteilt sie das PTP-Netzwerk in unabhängige Segmente.
Für große Netzwerke bietet die Boundary Clock einen entscheidenden Vorteil. Bei der Verwendung von Transparent Clocks tauscht jeder Client seine Synchronisationsnachrichten direkt mit dem Grandmaster aus. Wenn die Anzahl der Clients steigt, wird der Grandmaster dadurch schnell zum Engpass und kann das gesamte Synchronisationssystem zum Erliegen bringen. Mit Boundary Clocks übernehmen die einzelnen PTP-Switches die Synchronisation jeweils einer Teilmenge der Clients, wodurch sich die Last auf mehrere Geräte verteilt. Der BMCA-Algotithmis (Best Master Clock Algorithm) sorgt bei einem Ausfall für die automatische Auswahl des besten Referenzservers.
Die Transparent Clock hingegen bietet den Vorteil, dass sie keine zusätzliche Uhr in die Synchronisationskette einführt. Eine Boundary Clock ist eine vollwertige Uhr: Sie synchronisiert sich zwar mit dem Grandmaster, weist aber wie jede Uhr eine eigene Drift auf.
Die Transparent Clock vermeidet diese Drift. Bei einem Netzwerk mittlerer Größe ist dies oft der am besten geeignete Ansatz. In der Praxis schließen sich beide Ansätze jedoch nicht aus. Beispielsweise können Boundary Clocks an den strukturellen Knotenpunkten des Netzwerks eingesetzt werden, während Transparent Clocks in den Access-Switches verwendet werden.
Wichtig für eine korrekte Implementierung
Ein PTP-Netzwerk erreicht seine theoretische Genauigkeit nur dann, wenn alle Geräte entlang des Pfads zwischen Grandmaster und Clients PTP-kompatibel sind. Das bedeutet, dass jeder Switch entweder als Transparent Clock oder als Boundary Clock fungieren muss. Ein Switch, der PTP-Nachrichten wie gewöhnlichen Datenverkehr behandelt, würde eine Laufzeitschwankung mit sich bringen. Ein einziges nicht kompatibles Gerät reicht also aus, um die Genauigkeit des gesamten Systems zu beeinträchtigen.
Der zweite Punkt betrifft die Qualität der Zeitstempelerfassung im Switch. Damit die Messung der Durchlaufzeit zuverlässig ist, muss die Zeitstempelung auf Hardware-Ebene erfolgen. Eine softwarebasierte Zeitstempelerfassung führt selbst zu Schwankungen und reduziert damit den Nutzen der Transparent Clock. Bei der Auswahl eines Switches für eine PTP-Implementierung muss daher unbedingt sichergestellt werden, dass die Zeitstempelung in der Hardware integriert ist.
Schließlich behebt die Transparent Clock zwar die Laufzeitschwankungen innerhalb der Netzwerkgeräte, nicht jedoch die Asymmetrie des Netzwerks. Unter Asymmetrie versteht man dabei, dass die Laufzeit in Sende- und Empfangsrichtung nicht identisch ist – etwa weil unterschiedliche physikalische Pfade genutzt werden. Dieses Problem muss bei der Netzwerkplanung angegangen werden und nicht auf Ebene des Synchronisationsprotokolls.