Das Precision Time Protocol (PTP), auch bekannt als IEEE 1588, sorgt für eine Uhrensynchronisation in einem Netzwerk. Es kann mithilfe von speziellen TCP/IP-UDP-Nachrichten realisiert werden. Das PTP-Protokoll ist ein relativ neuer IEEE-Standard zur Zeitsynchronisation.
Das IEEE-1588-Protokoll kennt zwei Arten von Uhren: Master und Slave. Die Synchronisation zwischen beiden erfolgt beim PTP gemäß IEEE 1588 in zwei Phasen. In der ersten Phase wird der Offset bestimmt. Dazu sendet der Master eine zyklische Nachricht (Sync-Message) mit der Master-Uhrzeit an den Slave. Das Auslesen der Uhr, das Verarbeiten der Daten und das Absenden der Informationen benötigt allerdings eine unbestimmte Zeit. Daher wird parallel der exakte Absendezeitpunkt der Nachricht vom Master mit Hardwareunterstützung bestimmt. In einer zweiten PTP-Nachricht (Follow-Up-Message) wird dieser an den Slave übermittelt. Der Slave misst möglichst genau den Empfangszeitpunkt der Nachricht und kann daraus den Offset zum Master ermitteln. Bei der Offset-Messung wird die Sync-Nachricht zyklisch alle 1-10 Sekunden abgesetzt. Die Slave-Uhrzeit wird um den Offset korrigiert.
Um eine vollständige Synchronisation der PTP-Master- und PTP-Slave-Uhr gemäß IEEE 1588 herzustellen, muss nun noch die Verzögerung der Übertragungsstrecke beachtet werden. Hierzu wird in der zweiten Synchronisationsphase, der Delay-Messung, die Laufzeit zwischen Slave und Master bestimmt. Dies erfolgt über Delay-Request- und Delay-Response-Nachrichten. Zuerst übermittelt der Slave das Delay-Request-Paket an den Master und bestimmt dabei die exakte Sendezeit. Der Master ermittelt den Empfangszeitpunkt der Nachricht und sendet diesen per Delay-Response-Paket zurück an den Slave. Aus den vorliegenden Informationen kann der Slave die Verzögerungszeit zum Master bestimmen und damit die Uhrzeit synchronisieren. Die Delay-Messung erfolgt unregelmäßig in größeren Zeitintervallen von 4-60 s. Wichtig bei der IEEE-1588-Delay-Messung ist, dass die Delay-Request- und Delay-Response-Nachrichten dieselben Wege in gleicher Zeit durchlaufen. Bei einer direkten Kabelverbindung ist dieses gegeben. Wird jedoch eine Verbindung über Netzwerkgeräte wie Switches oder Router hergestellt, unterscheiden sich unter Umständen die Werte der beiden Wege.
Für die Bereitstellung einer IEEE-1588-PTP-Netzwerkstruktur gibt es Geräte, die eine exakte Synchronisation gewährleisten können. Diese enthalten sogenannte Boundary Clocks. Eine Boundary Clock synchronisiert sich als Slave auf den Master. Für die an den Switch angeschlossenen Slaves verhält sie sich anschließend wie ein Master. Dadurch ist gewährleistet, dass zu jeder Komponente im Netzwerk nur eine Punkt-zu-Punkt-Verbindung besteht. So können weder Wartezeiten noch Netzwerkgeräte-Jitter die Delay-Messung beeinflussen. Mithilfe des IEEE-1588-Protokolls kann in Multicast-fähigen Netzwerken eine Uhrensynchronisation in einer Größenordnung von einer Mikrosekunde und besser erreicht werden. Die beste verfügbare Uhr wird als Referenz automatisch ausgewählt. Der IEEE-1588-Zeitserver (Master Clock / Grandmaster Clock) sendet in regelmäßigen Abständen eine Multicast-Synchronisationsinformation an alle PTP-Teilnehmer im Netzwerk.
Die in den PTP-Telegrammen enthaltenen Zeitstempel für Sende- und Empfangszeitpunkte bestimmen die mögliche Genauigkeit der Uhrensynchronisation. Die Zeitstempel können durch den Protokollstack nur relativ ungenau generiert werden. Aus diesem Grund ist eine Hardwareunterstützung für das IEEE-1588-Protokoll für gute Ergebnisse notwendig.
Die im Telegramm enthaltenen Zeitstempel werden von den PTP-Slave-Teilnehmern ausgewertet. Über Delay-Request-Nachrichten kann jeder einzelne Teilnehmer die individuelle Verzögerung der Netzwerkübertragung ermitteln. Symmetrische Verzögerungen der Übertragung lassen sich auf diese Weise beseitigen. Die Ergebnisse dieser Messungen werden in der Berechnung des “Offset-From-Master” (ofm) und “One-Way-Delay” (owd) zusammengefasst.
Die Berechnung des owd erfolgt mit der Gleichung:
$$\text{one way delay} = \frac{(\text{master to slave delay} + \text{slave to master delay} )}{2}$$
Die Berechnung des ofm erfolgt mit der Gleichung:
$$\text{offset from master} = \text{sync receipt time} - \text{origin timestamp} -\text{one way delay} $$
Eine zuverlässige Funktion im Netzwerk wird durch eine automatische Masterwahl mit dem “Best Master Clock Algorithm” gewährleistet. Jeder IEEE-1588-PTP-Teilnehmer wird mit seinen Eigenschaften (Genauigkeit, Stratum, Drift, Varianz) bewertet. Mit diesen Informationen ist es jedem Knoten individuell möglich, den besten IEEE-1588-Master auszuwählen oder gegebenenfalls selbst als PTP-Master zu agieren. Eine Konfiguration mit mehreren oder ohne Master sowie instabile Zustände werden durch diesen in IEEE 1588 beschriebenen Algorithmus verhindert. Eine geeignete relativ kostengünstige Referenz für den PTP-Master ist eine GPS-Zeitbasis.
Das “Precision Time Protocol (PTP)” gemäß IEEE 1588-2002 gibt es nun in der neuen verbesserten Variante IEEE 1588-2008. Die Neuerungen umfassen unter anderem eine erhöhte Aktualisierungsrate von bis zu fünfmal in der Sekunde und eine standardkonforme Unicast-Kommunikation. Außerdem wird das Konzept von “Peer-to-Peer Transparent Clocks” eingeführt, um mehr Möglichkeiten bei der Verteilung der PTP-Nachrichten im Netzwerk zu haben. Dieses Konzept ermöglicht es, die Durchleitungsverzögerung von IEEE-1588-Netzwerkkomponenten mithilfe der PTP-Nachrichten zu übertragen.
Die Vorteile dieses IEEE-1588-Protokolls lassen sich in einigen Punkten zusammenfassen:
-
standardisiertes Protokoll, unterschiedliche Hersteller bieten Komponenten an
-
Verwendung eines variablen paketvermittelten Kommunikationsmediums
-
Zeitkonstanz (Jitter) hängt hauptsächlich von der verwendeten Hardware ab
-
Zeitkonstanz ist mit Hardwareunterstützung unabhängig von den Durchlaufzeiten des Protokollstapels
-
mit hochwertigen Komponenten ist eine Teilnehmerzeitsynchronisation mit einer Genauigkeit von unterhalb einer Mikrosekunde möglich
-
automatische Wahl des besten verfügbaren PTP-Clock-Masters
-
Das PTP-Protokoll gemäß IEEE 1588 ist hauptsächlich für lokale Ethernet-Netzwerke angepasst, aber eine Verwendung über drahtlose IEEE 802.11 Netze ist ebenfalls möglich. Die Eignung für solche drahtlose Netzwerke wurde in wissenschaftlichen Veröffentlichungen bereits genauer untersucht.
In unserem Projekt OBONIC-SYNET wurde das IEEE-1588-Protokoll implementiert und einem ausführlichen Test unterzogen. Weitere Informationen können wir gerne auf Anfrage zur Verfügung stellen.