Precision Time Protocol (PTP, IEEE 1588)

Das Precision Time Protocol (PTP), auch bekannt als IEEE 1588, sorgt für eine Uhrensynchronisation in einem Netzwerk. Es kann mit Hilfe 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 Bereitsstellung einer IEEE 1588 PTP Netzwerkstruktur gibt es Geräte, die eine exakte Synchronisation gewährleisten können. Diese enthalten sogenannte Boundary-Clocks. Diese funktioniert, indem sich ein an einen Master angeschlossener Switch als Slave auf den Master synchronisiert. Für die an den Switch angeschlossenen Slaves verhält er sich dann wie ein Master. Dadurch ist gewährleistet, dass zu jeder Komponente im Netzwerk nur eine Punkt-zu-Punkt Verbindung besteht, was garantiert, dass weder Wartezeiten noch Netzwerkgeräte-Jitter Einfluss auf die Delay-Messung nehmen können. Mit Hilfe des IEEE 1588 Protokolls kann in multicastfä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 über 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 5 mal in der Sekunde und eine dem Standard konforme 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 mit Hilfe 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 angepaßt, 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.