Präzisionszeitprotokoll - Precision Time Protocol

Das Precision Time Protocol ( PTP ) ist ein Protokoll zum Synchronisieren von Uhren in einem Computernetzwerk . In einem lokalen Netzwerk erreicht es eine Taktgenauigkeit im Sub-Mikrosekundenbereich und ist damit für Mess- und Regelsysteme geeignet. PTP wird derzeit verwendet, um Finanztransaktionen , Übertragungen von Mobilfunkmasten , Unterwasser- Akustik-Arrays und Netzwerke zu synchronisieren , die ein genaues Timing erfordern, aber keinen Zugang zu Satellitennavigationssignalen haben.

Die Originalversion von PTP, IEEE 1588-2002 , wurde 2002 veröffentlicht. IEEE 1588-2008 , auch bekannt als PTP Version 2, ist nicht abwärtskompatibel mit der Originalversion von 2002. IEEE 1588-2019 wurde im November 2019 veröffentlicht und enthält abwärtskompatible Verbesserungen gegenüber der Veröffentlichung von 2008. IEEE 1588-2008 enthält ein Profilkonzept , das PTP-Betriebsparameter und -optionen definiert. Für Anwendungen wie Telekommunikation , Stromverteilung und audiovisuelle Medien wurden mehrere Profile definiert . IEEE 802.1AS ist eine Anpassung von PTP für die Verwendung mitAudio-Video-Bridgingund zeitkritischen Netzwerken.

Geschichte

Laut John Eidson, der die IEEE 1588-2002 Standardisierungsbemühungen geführt „ , IEEE 1588 ausgelegt ist , eine Nische zu füllen nicht gut bedient durch eine der beiden dominierenden Protokolle, NTP und GPS . IEEE 1588 ist für die lokalen Systeme entwickelt Genauigkeiten über diejenigen erfordern mit NTP erreichbar. Es ist auch für Anwendungen konzipiert, die die Kosten eines GPS-Empfängers an jedem Knoten nicht tragen können oder für die GPS-Signale nicht zugänglich sind."

PTP wurde ursprünglich im IEEE 1588-2002-Standard mit dem offiziellen Titel "Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems" definiert und 2002 veröffentlicht. Im Jahr 2008 wurde IEEE 1588-2008 als überarbeiteter Standard veröffentlicht; auch bekannt als PTP Version 2 (PTPv2), verbessert es die Genauigkeit, Präzision und Robustheit, ist aber nicht abwärtskompatibel mit der Originalversion von 2002. IEEE 1588-2019 wurde im November 2019 veröffentlicht, ist informell als PTPv2.1 bekannt und enthält abwärtskompatible Verbesserungen gegenüber der Veröffentlichung von 2008.

Die Architektur

Die Standards IEEE 1588 beschreiben eine hierarchische Master-Slave-Architektur zur Taktverteilung. Bei dieser Architektur besteht ein Zeitverteilungssystem aus einem oder mehreren Kommunikationsmedien (Netzsegmenten) und einer oder mehreren Uhren. Eine gewöhnliche Uhr ist ein Gerät mit einer einzigen Netzwerkverbindung und ist entweder die Quelle (Master oder Leader) oder das Ziel (Slave oder Follower) einer Synchronisationsreferenz. Ein Boundary Clock verfügt über mehrere Netzwerkverbindungen und kann ein Netzwerksegment mit einem anderen genau synchronisieren . Für jedes der Netzsegmente im System wird ein Synchronisations- Master ausgewählt. Die Root-Timing-Referenz wird als Grandmaster bezeichnet . Der Grandmaster überträgt Synchronisationsinformationen an die Uhren, die sich in seinem Netzwerksegment befinden. Die Boundary Clocks mit Präsenz in diesem Segment leiten dann die genaue Zeit an die anderen Segmente weiter, mit denen sie ebenfalls verbunden sind.

Ein vereinfachtes PTP-System besteht häufig aus gewöhnlichen Uhren, die mit einem einzigen Netzwerk verbunden sind, und es werden keine Boundary-Clocks verwendet. Ein Großmeister wird gewählt und alle anderen Uhren synchronisieren sich direkt darauf.

IEEE 1588-2008 führt einen Takt ein, der mit Netzwerkgeräten verbunden ist, die verwendet werden, um PTP-Nachrichten zu übermitteln. Die transparente Uhr modifiziert PTP-Nachrichten, während sie das Gerät passieren. Zeitstempel in den Nachrichten werden für die Zeit korrigiert, die für das Durchqueren der Netzwerkausrüstung aufgewendet wird. Dieses Schema verbessert die Verteilungsgenauigkeit durch Kompensieren der Liefervariabilität über das Netzwerk.

PTP verwendet typischerweise dieselbe Epoche wie die Unix-Zeit (Anfang 1. Januar 1970). Während die Unix - Zeit auf Basis der Coordinated Universal Time (UTC) und unterliegt Schaltsekunden , wird PTP basierend auf der Internationalen Atomzeit (TAI). Der PTP-Grandmaster übermittelt den aktuellen Offset zwischen UTC und TAI, sodass UTC aus der empfangenen PTP-Zeit berechnet werden kann.

Protokolldetails

Die Synchronisation und Verwaltung eines PTP-Systems wird durch den Austausch von Nachrichten über das Kommunikationsmedium erreicht. Zu diesem Zweck verwendet PTP die folgenden Nachrichtentypen.

  • Sync , FOLLOW_UP , Delay_Req und Delay_Resp Nachrichten werden von verwendeten gewöhnlichen und Boundary - Uhren und kommunizieren zeitbezogene Informationen verwendet zu synchronisieren Uhren über das Netzwerk.
  • Pdelay_Req , Pdelay_Resp und Pdelay_Resp_Follow_Up werden von transparenten Taktgebern verwendet, um Verzögerungen über das Kommunikationsmedium zu messen, damit sie vom System kompensiert werden können. Transparente Uhren und diese damit verbundenen Nachrichten sind im ursprünglichen PTPv1-Standard IEEE 1588-2002 nicht verfügbar und wurden in PTPv2 hinzugefügt.
  • Announce- Nachrichten werden vom besten Master-Clock-Algorithmus in IEEE 1588-2008 verwendet, um eine Clock-Hierarchie aufzubauen und den Grandmaster auszuwählen .
  • Verwaltungsnachrichten werden vom Netzwerkmanagement verwendet , um ein PTP-System zu überwachen, zu konfigurieren und zu warten.
  • Signalisierungsnachrichten werden für nicht zeitkritische Kommunikationen zwischen Uhren verwendet. Signalisierungsnachrichten wurden in IEEE 1588-2008 eingeführt.

Nachrichten werden in Ereignis- und allgemeine Nachrichten kategorisiert . Ereignisnachrichten sind insofern zeitkritisch, als sich die Genauigkeit der Sende- und Empfangszeitstempelgenauigkeit direkt auf die Genauigkeit der Taktverteilung auswirkt. Sync , Delay_Req , Pdelay_Req und Pdelay_resp sind Ereignismeldungen . Allgemeine Nachrichten sind insofern konventionellere Protokolldateneinheiten , als die Daten in diesen Nachrichten für PTP von Bedeutung sind, ihre Sende- und Empfangszeitstempel jedoch nicht. Announce- , Follow_Up- , Delay_Resp- , Pdelay_Resp_Follow_Up- , Management- und Signalling- Nachrichten sind Mitglieder der allgemeinen Nachrichtenklasse.

Nachrichtentransport

PTP-Nachrichten können für den Transport das User Datagram Protocol over Internet Protocol (UDP/IP) verwenden. IEEE 1588-2002 verwendet nur IPv4- Transporte, dies wurde jedoch in IEEE 1588-2008 um IPv6 erweitert. In IEEE 1588-2002 werden alle PTP-Nachrichten unter Verwendung von Multicast- Messaging gesendet , während IEEE 1588-2008 eine Option für Geräte eingeführt hat, um die Unicast- Übertragung auf Port-für-Port-Basis auszuhandeln . Multicast-Übertragungen verwenden die IP-Multicast- Adressierung, für die Multicast-Gruppenadressen für IPv4 und IPv6 definiert sind (siehe Tabelle). Zeitkritische Ereignismeldungen (Sync, Delay_req, Pdelay_Req und Pdelay_Resp) werden gesendet Portnummer 319. Allgemeine Nachrichten (Kündigen, FOLLOW_UP, Delay_Resp, Pdelay_Resp_Follow_Up, Management und Signalisierung) Nummer verwenden Port 320.

Multicast-Gruppenadressen
Mitteilungen IPv4 IPv6 IEEE 802.3-Ethernet
Alle außer Peer-Delay-Nachrichten 224.0.1.129 FF0x::181 01-1B-19-00-00-00
Peer-Verzögerungsnachrichten: Pdelay_Req , Pdelay_Resp und Pdelay_Resp_Follow_Up 224.0.0.107 FF02::6B 01-80-C2-00-00-0E

In IEEE 1588-2008 ist die Kapselung auch für DeviceNet , ControlNet und PROFINET definiert .

Domänen

Eine Domäne ist ein interagierender Satz von Uhren, die sich über PTP miteinander synchronisieren. Uhren werden einer Domain aufgrund des Inhalts des Subdomain-Namens (IEEE 1588-2002) oder der domainNumber- (IEEE 1588-2008) Felder in PTP-Nachrichten zugewiesen, die sie empfangen oder generieren. Domänen ermöglichen es mehreren Taktverteilungssystemen, sich dasselbe Kommunikationsmedium zu teilen.

Feldinhalt des Subdomain-Namens ( IEEE 1588-2002 ) IPv4-Multicast-Adresse
( IEEE 1588-2002 )
Domänennummer
( IEEE 1588-2008 )
Anmerkungen
_DFLT 224.0.1.129 0 Standarddomäne
_ALT1 224.0.1.130 1 Alternative Domain 1
_ALT2 224.0.1.131 2 Alternative Domäne 2
_ALT3 224.0.1.132 3 Alternative Domain 3
Anwendungsspezifisch bis zu 15 Oktetts 224.0.1.130, 131 oder 132 gemäß Hash-Funktion auf Subdomain-Name 4 bis 127 Benutzerdefinierte Domänen

Bester Master-Clock-Algorithmus

Der Best Master Clock (BMC)-Algorithmus führt eine verteilte Auswahl des besten Kandidatentakts basierend auf den folgenden Takteigenschaften durch:

  • Bezeichner – Ein universell eindeutiger numerischer Bezeichner für die Uhr. Diese wird normalerweise basierend auf der MAC-Adresse eines Geräts erstellt .
  • Qualität – Beide Versionen von IEEE 1588 versuchen, die Taktqualität basierend auf der erwarteten Zeitabweichung zu quantifizieren, einer Technologie, die verwendet wird, um die Uhr oder den Ort in einem Takt-Stratum- Schema zu implementieren , obwohl nur V1 (IEEE 1588-2002) ein Datenfeld- Stratum kennt . PTP V2 (IEEE 1588-2008) definiert die Gesamtqualität einer Uhr durch die Verwendung der Datenfelder clockAccuracy und clockClass .
  • Priorität – Ein administrativ zugewiesener Rangfolgehinweis, der vom BMC verwendet wird, um bei der Auswahl eines Grandmasters für die PTP-Domäne zu helfen . IEEE 1588-2002 verwendet eine einzelne boolesche Variable , um den Vorrang anzugeben. IEEE 1588-2008 bietet zwei 8-Bit-Prioritätsfelder.
  • Varianz – Die Stabilitätsschätzung einer Uhr basierend auf der Beobachtung ihrer Leistung gegenüber der PTP-Referenz.

IEEE 1588-2008 verwendet einen hierarchischen Auswahlalgorithmus basierend auf den folgenden Eigenschaften in der angegebenen Reihenfolge:

  1. Priorität 1 – Der Benutzer kann jeder Uhr eine bestimmte statische Priorität zuweisen und präventiv eine Priorität unter ihnen definieren. Kleinere numerische Werte weisen auf eine höhere Priorität hin.
  2. Klasse – jede Uhr ist ein Mitglied einer bestimmten Klasse, jede Klasse erhält ihre eigene Priorität.
  3. Genauigkeit – Genauigkeit zwischen Uhr und UTC, in Nanosekunden (ns)
  4. Varianz – Variabilität der Uhr
  5. Priorität 2 – endgültig definierte Priorität, die die Backup-Reihenfolge definiert, falls die anderen Kriterien nicht ausreichend waren. Kleinere numerische Werte weisen auf eine höhere Priorität hin.
  6. Eindeutiger Bezeichner – Die Auswahl auf der Grundlage der MAC-Adresse wird als Tiebreaker verwendet, wenn alle anderen Eigenschaften gleich sind.

IEEE 1588-2002 verwendet einen Auswahlalgorithmus basierend auf ähnlichen Eigenschaften.

Takteigenschaften werden in IEEE 1588-2002 Sync- Nachrichten und in IEEE 1588-2008 Announce- Nachrichten angekündigt . Der aktuelle Uhrenmaster sendet diese Informationen in regelmäßigen Abständen. Eine Uhr, die sich selbst als eine bessere Hauptuhr betrachtet, überträgt diese Informationen, um eine Änderung der Hauptuhr herbeizuführen. Sobald der aktuelle Master die bessere Uhr erkennt, stoppt der aktuelle Master das Senden von Sync- Nachrichten und zugehörigen Clock-Eigenschaften ( Announce- Nachrichten im Fall von IEEE 1588-2008) und die bessere Uhr übernimmt als Master. Der BMC-Algorithmus berücksichtigt nur die selbstdeklarierte Qualität von Takten und berücksichtigt nicht die Qualität der Netzwerkverbindung.

Synchronisation

Durch Verwendung des BMC-Algorithmus wählt PTP eine Master-Zeitquelle für eine IEEE 1588-Domäne und für jedes Netzwerksegment in der Domäne aus.

Uhren bestimmen den Versatz zwischen sich selbst und ihrem Master. Lassen Sie die Variable die physikalische Zeit darstellen. Für ein gegebenes Follower-Gerät wird der Versatz zum Zeitpunkt definiert durch:

wobei die von der Folgeuhr zur physikalischen Zeit gemessene Zeit und die von der Hauptuhr zur physikalischen Zeit gemessene Zeit dargestellt wird .

Der Master sendet periodisch die aktuelle Uhrzeit als Nachricht an die anderen Uhren. Unter IEEE 1588-2002 werden Broadcasts bis zu einmal pro Sekunde gesendet. Unter IEEE 1588-2008 sind bis zu 10 pro Sekunde erlaubt.

Synchronisationsmechanismus und Verzögerungsberechnung nach IEEE 1588

Jeder Broadcast beginnt zu einem bestimmten Zeitpunkt mit einer Sync- Nachricht, die vom Master an alle Uhren in der Domäne gesendet wird. Eine Uhr, die diese Nachricht empfängt, merkt sich die Ortszeit, wenn diese Nachricht empfangen wird.

Der Master kann anschließend ein Multicast- Follow_Up mit einem genauen Zeitstempel senden . Nicht alle Master können einen genauen Zeitstempel in der Sync- Nachricht präsentieren. Erst nachdem die Übertragung abgeschlossen ist, können sie einen genauen Zeitstempel für die Sync- Übertragung von ihrer Netzwerkhardware abrufen . Master mit dieser Einschränkung verwenden die Follow_Up- Nachricht, um zu übermitteln . Master mit in ihre Netzwerkhardware integrierten PTP-Fähigkeiten können einen genauen Zeitstempel in der Sync- Nachricht präsentieren und müssen keine Follow_Up-Nachrichten senden.

Um sich genau auf ihren Master zu synchronisieren, müssen Uhren die Netzwerklaufzeit der Sync- Nachrichten individuell bestimmen . Die Laufzeit wird indirekt bestimmt, indem die Umlaufzeit von jeder Uhr zu ihrem Master gemessen wird. Die Uhren initiieren einen Austausch mit ihrem Master, der die Laufzeit messen soll . Der Austausch beginnt damit, dass eine Uhr eine Delay_Req- Nachricht zum Zeitpunkt an den Master sendet . Der Master empfängt und stempelt die Delay_Req zur Zeit und antwortet mit einer Delay_Resp- Nachricht. Der Master fügt den Zeitstempel in die Delay_Resp- Nachricht ein.

Durch diesen Austausch lernt eine Uhr , , und .

Ist die Laufzeit für die Sync- Nachricht und der konstante Versatz zwischen Master- und Follower-Takt, dann

Wenn wir die obigen beiden Gleichungen kombinieren, finden wir, dass

Die Uhr kennt nun den Offset während dieser Transaktion und kann sich selbst um diesen Betrag korrigieren, um ihn mit ihrem Master in Einklang zu bringen.

Eine Annahme ist, dass dieser Nachrichtenaustausch über einen Zeitraum erfolgt, der so klein ist, dass dieser Offset über diesen Zeitraum sicher als konstant angesehen werden kann. Eine andere Annahme ist, dass die Transitzeit einer Nachricht vom Master zu einem Follower gleich der Transitzeit einer Nachricht ist, die vom Follower zum Master geht. Schließlich wird davon ausgegangen, dass sowohl der Master als auch der Follower die Zeit, zu der sie eine Nachricht senden oder empfangen, genau messen können. Der Grad, in dem diese Annahmen zutreffen, bestimmt die Genauigkeit der Uhr am Folgegerät.

Optionale Funktionen

Der Standard IEEE 1588-2008 listet die folgenden Funktionen auf, die von Implementierungen unterstützt werden können:

  • Alternative Zeitskala
  • Großmeistercluster
  • Unicast-Meister
  • Alternativer Meister
  • Pfadverfolgung

IEEE 1588-2019 fügt zusätzliche optionale und abwärtskompatible Funktionen hinzu:

  • Modulare transparente Uhren
  • Spezielle PTP-Ports zur Schnittstelle mit Transporten mit integrierter Zeitverteilung
  • Unicast Delay_Req- und Delay_Resp- Nachrichten
  • Manuelle Portkonfiguration überschreibt BMCA
  • Asymmetriekalibrierung
  • Fähigkeit, eine Frequenzreferenz der physikalischen Schicht zu verwenden (z. B. synchrones Ethernet )
  • Profilisolierung
  • Inter-Domain-Interaktionen
  • Sicherheits-TLV zur Integritätsprüfung
  • Standardmesswerte für Leistungsberichte
  • Überwachung des Slave-Ports

Verwandte Initiativen

  • Das International IEEE Symposium on Precision Clock Synchronization for Measurement, Control and Communication (ISPCS) ist eine vom IEEE organisierte jährliche Veranstaltung, die einen Plugtest und ein Konferenzprogramm mit Vortrags- und Posterpräsentationen, Tutorials und Diskussionen zu verschiedenen Aspekten von PTP umfasst
  • Das Institut für Eingebettete Systeme (InES) der Zürcher Hochschule für Angewandte Wissenschaften/ZHAW befasst sich mit der praktischen Umsetzung und Anwendung von PTP
  • IEEE 1588 ist eine Schlüsseltechnologie im LXI- Standard für Test- und Messkommunikation und -steuerung
  • IEEE 802.1AS-2011 ist Teil der IEEE Audio Video Bridging (AVB)-Standardgruppe, die durch die IEEE 802.1 Time-Sensitive Networking (TSN) Task Group erweitert wird. Es spezifiziert ein Profil zur Verwendung von IEEE 1588-2008 für die Zeitsynchronisation über ein virtuelles überbrücktes lokales Netzwerk (wie von IEEE 802.1Q definiert ). Insbesondere definiert 802.1AS, wie IEEE 802.3 ( Ethernet ), IEEE 802.11 ( Wi-Fi ) und MoCA alle Teile derselben PTP-Timing-Domain sein können.
  • SMPTE 2059 -2 ist ein PTP-Profil zur Verwendung bei der Synchronisation von Broadcast-Mediensystemen
  • Der AES67-Audionetzwerk- Interoperabilitätsstandard umfasst ein PTPv2-Profil, das mit SMPTE ST2059-2 kompatibel ist.
  • Dante verwendet PTPv1 zur Synchronisation.
  • Q-LAN und RAVENNA verwenden PTPv2 zur Zeitsynchronisation.
  • Das White Rabbit Project kombiniert Synchronous Ethernet und PTP
  • Precision Time Protocol Industry Profile PTP-Profile (L2P2P und L3E2E) für die industrielle Automatisierung in IEC 62439-3
  • IEC/IEEE 61850-9-3 PTP-Profil für die Stationsautomatisierung, übernommen von IEC 61850
  • Parallel Redundancy Protocol- Nutzung von PTP-Profilen (L2P2P und L3E2E) für die industrielle Automatisierung in parallelen Netzwerken
  • PTP wird als sicheres Zeitsynchronisationsprotokoll in der Weitverkehrsüberwachung von Stromsystemen untersucht

Siehe auch

Anmerkungen

Verweise

Externe Links