Precision Time Protocol

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
PTP (Precision Time Protocol)
Familie: Internetprotokollfamilie
Einsatzgebiet: Synchronisierung von Uhren in Computersystemen
Ports:
PTP im TCP/IP‑Protokollstapel:
Anwendung PTP
Transport UDP
Internet IP (IPv4, IPv6)
Netzzugang Ethernet Token
Bus
Token
Ring
FDDI
Standards: IEEE 1588

Das Precision Time Protocol (PTP) ist ein Netzwerkprotokoll, das die Synchronität der Uhrzeiteinstellungen mehrerer Geräte in einem Computernetzwerk bewirkt. Anders als bei dem Network Time Protocol (NTP) liegt der Fokus von PTP auf höherer Genauigkeit und lokal begrenzten Netzwerken. PTP kann in Hardware-Ausführung eine Genauigkeit im Bereich von Nanosekunden und in Software-Ausführung im Bereich weniger Mikrosekunden erzielen. PTP ist definiert in der IEEE 1588 und in IEC 61588 übernommen worden.

Funktionsweise[Bearbeiten]

Netzorganisation[Bearbeiten]

Ein PTP-Netz besteht aus kommunizierenden Uhren. Von diesen teilnehmenden Geräten wird über den Best Master Clock (BMC)-Algorithmus dasjenige ermittelt, das die exakteste Zeit angibt. Dieses Gerät dient als Referenzuhr und wird als Grandmaster Clock bezeichnet. Bei Änderungen in der Netz-Topologie wird der BMC-Algorithmus auf möglicherweise vom Grandmaster abgeschnittenen Netzsegmenten neu durchgeführt. Hat ein teilnehmendes Gerät sowohl die Master- als auch die Slave-Rolle, dann wird es auch als Boundary Clock bezeichnet.

Ablauf[Bearbeiten]

Im Betrieb verteilt jeweils der Master das Zeitsignal an seine Slaves zur Ermittlung der sogenannten Verzögerung (engl. delay). Dazu werden Zeitmarken (Sync Messages) von der Referenzuhr an den Slave versandt, der die Empfangszeit der Zeitmarken an seiner eigenen Zeit bestimmt. Zudem sendet der Slave wiederholt eine Delay Request Message an den Master, deren Empfangszeit beim Master wiederum als Delay Response Message an den Slave zurückgeschickt wird.

Aus jeweils den Differenzen der vier Zeitmarken werden das Master-to-Slave Delay und das Slave-to-Master Delay bestimmt. In diesen Werten ist also jeweils die Differenz der beiden Uhren und die Nachrichtenlaufzeit mit entgegengesetzten Vorzeichen enthalten. Der Mittelwert der beiden Größen liefert somit den gerichteten Offset zum Master, welcher schließlich zur Synchronisation der eigenen Uhr benutzt wird.

Die Kompensation der Laufzeiten stützt sich dabei auf die Annahme, dass Hin- und Rückweg von Synchronisierungsnachrichten gleiche mittlere Laufzeiten haben und sich mit der Zeit nur langsam ändern. Die Annäherung der Referenzuhr erfolgt kontinuierlich über ein Regelverfahren. Insbesondere werden so Rücksprünge in der Slave-Zeit vermieden.

Uhrentypen[Bearbeiten]

Das Precision Time Protocol kennt verschiedene Uhrentypen:

  • Eine gewöhnliche Uhr (engl. Ordinary Clock, kurz OC) ist mit der Rolle Master entweder die Quelle oder mit der Rolle Slave der Empfänger der Zeit, nicht aber beides. Einfache Uhren synchronisieren sich direkt.
  • Eine 'Boundary Clock' (BC) ist eine Uhr, die die Zeitinformation über eine Netzwerk-Grenze hinweg transportiert. So z.B. in einem Router, der verschiedene 'geswitchte' Netze verbindet: Als Slave empfängt die Uhr des Routers die Zeitinformation und gibt diese als Master weiter.
  • Eine durchsichtige, auch transparente Uhr (engl. Transparent Clock, kurz TC) wurde 2008 nachträglich in die Spezifikation aufgenommen und verbessert innerhalb eines Netzwerks bei der Weiterleitung von Zeitinformationen, indem sie die PTP-Nachrichten empfängt und modifiziert (korrigiert) weiterleitet.

Sende-Betriebsarten[Bearbeiten]

Unterstützt die Hardware, welche die Frames versendet, das Einfügen des exakten tatsächlichen Absendezeitpunkts on-the-fly, d.h. sie kann diese Information eigenständig in den zu sendenden Frame einfügen, so kann das Protokoll in der Betriebsart 'One Step' betrieben werden. In diesem Fall reicht ein Schritt, also das Senden von nur einem Frame aus, um Empfängern die aktuelle Zeit des lokalen Geräts zu übermitteln. Im anderen Fall wird der exakte tatsächliche Absendezeitpunkt in einem zweiten Frame versandt, diese Betriebsart heißt daher 'Two Step'.

Umsetzungen[Bearbeiten]

Die Protokollspezifikation sieht vor, sämtliche Zeitmarken so spät wie möglich vor dem Versand und so früh wie möglich nach dem Empfang von Nachrichten anzufertigen. Hier zeigt sich der Vorteil einer Hardware-Unterstützung gegenüber der reinen Software-Variante. Die Zeitnahme im Prozessor des Netzwerkgerätes liefert deutlich präzisere Werte als durch die CPU des Rechners.

Die zum aktuellen Zeitpunkt verfügbaren Implementierungen nutzen zumeist Ethernet als Netzwerkmedium. Die Protokollspezifikation ist bezüglich des Netzwerkmediums nicht festgelegt.

Eine freie Implementierung des Protokolls ist durch den Precision Time Protocol Daemon PTPd realisiert.

Implementierung in Netzwerkkarte: Laut der Herstellerwebsite gibt es von SolarFlare eine Netzwerkkarte („SFN5322F“), welche PTP in Hardware implementiert.

Literatur[Bearbeiten]

  •  The Institute of Electrical and Electronics Engineers, Inc. (Hrsg.): IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems. IEEE Std. 1588–2002. New York November 2002, ISBN 0-7381-3369-8.
  • IEC 61588 ed2.0: Precision clock synchronization protocol for networked measurement and control systems. (IEC Webstore 2009) (engl.)
  • John C. Eidson, Measurement, Control and Communication Using IEEE 1588, (Springer-Verlag London Limited 2006) (engl.)

Weblinks[Bearbeiten]