„Precision Time Protocol“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
K →Sende-Betriebsarten: R |
K Diagramm ins Deutsche übersetzt |
||
(21 dazwischenliegende Versionen von 16 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
{| class="wikitable float-right" style="width:22em;" |
{| class="wikitable float-right" style="width:22em;" |
||
⚫ | |||
|- |
|||
⚫ | |||
|- |
|- |
||
! Familie: |
! Familie: |
||
Zeile 10: | Zeile 9: | ||
|- |
|- |
||
! Ports: |
! Ports: |
||
| 319/UDP, 320/UDP |
|||
| |
|||
|- |
|- |
||
|colspan="2" style="text-align:center"| |
|||
| align="center" colspan="2" | |
|||
{{Netzwerk-UDP-IP-Anwendungsprotokoll|PTP}} |
{{Netzwerk-UDP-IP-Anwendungsprotokoll|PTP}} |
||
|- |
|- |
||
! Standards: |
! Standards: |
||
| [[IEEE]] 1588 |
| [[Institute of Electrical and Electronics Engineers|IEEE]] 1588 |
||
|} |
|} |
||
[[Datei:Grundlegender PTP-Nachrichtenaustausch.png|alternativtext=PTP Synchronisationsablauf|mini|PTP Synchronisationsablauf]] |
|||
Das '''Precision Time Protocol''' ('''PTP''') ist ein [[Netzwerkprotokoll]], das die [[Synchronität]] der Uhrzeiteinstellungen mehrerer Geräte in einem [[Computernetzwerk]] bewirkt. |
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 [[Nanosekunde]]n und in Software-Ausführung im Bereich weniger [[Mikrosekunde]]n erzielen. PTP ist definiert in der [[IEEE]] 1588 und in [[International Electrotechnical Commission|IEC]] 61588 übernommen worden. |
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 [[Nanosekunde]]n und in Software-Ausführung im Bereich weniger [[Mikrosekunde]]n erzielen. PTP ist definiert in der [[Institute of Electrical and Electronics Engineers|IEEE]] 1588 und in [[International Electrotechnical Commission|IEC]] 61588 übernommen worden. |
||
== Standard == |
|||
Auf der Sitzung des IEEE-SA Standards Board im Dezember 2019 wurde die Veröffentlichung von IEEE 1588-2019 als vollumfänglicher Standard genehmigt. Im Juni 2021 wurde IEEE 1588-2019 von der International Electrotechnical Commission (IEC) als IEC 61588:2021-Standard übernommen. Daher ist es weltweit als ''IEEE/IEC 61588-2021 – IEC/IEEE International Standard – Precision Clock Synchronization Protocol for Networked Measurement and Control Systems'' – anerkannt.<ref>{{Internetquelle |url=https://standards.ieee.org/ |titel=IEC/IEEE International Standard - Precision Clock Synchronization Protocol for Networked Measurement and Control Systems |hrsg=IEEE Standards Association |datum=2021-06-08 |sprache=en |abruf=2024-01-30}}</ref> |
|||
== Funktionsweise == |
== Funktionsweise == |
||
=== Netzorganisation === |
=== Netzorganisation === |
||
Ein PTP-Netz besteht aus kommunizierenden [[Uhr]]en. Von diesen teilnehmenden Geräten wird über den Best Master Clock (BMC)-Algorithmus dasjenige ermittelt, das die exakteste Zeit angibt. |
Ein PTP-Netz besteht aus kommunizierenden [[Uhr]]en. 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 [[Topologie (Rechnernetz)|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. |
Dieses Gerät dient als Referenzuhr und wird als ''Grandmaster Clock'' bezeichnet. Bei Änderungen in der [[Topologie (Rechnernetz)|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 === |
=== Ablauf === |
||
Im Betrieb verteilt jeweils der [[Master/Slave|Master]] das Zeitsignal an seine [[Master/Slave| |
Im Betrieb verteilt jeweils der [[Master/Slave|Master]] das Zeitsignal an seine [[Master/Slave|Slaves]] zur Ermittlung der sogenannten [[Verzögerung (Telekommunikation)|Verzögerung]] ({{enS|delay}}). Dazu wird eine Zeitmarke in Form einer ''Sync Message'' von der Master-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 (Zahl)|Vorzeichen]] enthalten. Der Mittelwert der beiden Größen liefert somit den gerichteten [[Offset]] zum Master, welcher schließlich zur Synchronisation der Slave-Uhr benutzt 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 (Zahl)|Vorzeichen]] enthalten. Der Mittelwert der beiden Größen liefert somit den gerichteten [[Offset]] zum Master, welcher schließlich zur Synchronisation der Slave-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 des Slaves an die Referenzzeit des Master erfolgt kontinuierlich über ein [[ |
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 des Slaves an die Referenzzeit des Master erfolgt kontinuierlich über ein [[Regelung (Natur und Technik)|Regelverfahren]]. Insbesondere werden so Rücksprünge in der Slave-Zeit vermieden. |
||
== PTP-Profile == |
|||
Die ITU-T unterscheidet drei PTP-Profile für Telekomanwendungen: |
|||
* G.8265.1: Diese Lösung war das erste Profil, das eine präzise Frequenzsynchronisation ermöglichte – jedoch keine Zeitsynchronisation (syntonized). |
|||
* G.8275.1: Dieses Profil ist ausgelegt, um sowohl Frequenz-, Phasen- und Zeitsynchronität zu ermöglichen. Voraussetzung ist, dass alle Netzelemente PTP unterstützen. |
|||
* G.8275.2: Dieses Profil ist ausgelegt, um sowohl Frequenz-, Phasen- und Zeitsynchronität zu ermöglichen. Im Gegensatz zu 8275.1 werden jedoch auch Netztopologien mit nur teilweiser (partieller) Unterstützung durch die Netzelemente ermöglicht. In realen Netzen unterstützen nicht alle bestehenden Geräte PTP – dies nennt man Partial timing support (PTS). |
|||
== Uhrentypen == |
== Uhrentypen == |
||
Das '''Precision Time Protocol''' kennt verschiedene Uhrentypen: |
Das '''Precision Time Protocol''' kennt verschiedene Uhrentypen: |
||
* Eine gewöhnliche Uhr ( |
* Eine gewöhnliche Uhr ({{enS|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. Diese Uhren synchronisieren sich direkt. |
||
* Eine |
* 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 ( |
* Eine durchsichtige, auch transparente Uhr ({{enS|Transparent Clock}}, kurz TC) wurde 2008 nachträglich in die Spezifikation aufgenommen und verbessert innerhalb eines Netzwerks die Weiterleitung von Zeitinformationen, indem sie die PTP-Nachrichten empfängt und modifiziert (korrigiert) weiterleitet. |
||
== Sende-Betriebsarten == |
== Sende-Betriebsarten == |
||
Unterstützt der PTP-Master das Einfügen des Absendezeitpunkts [[on-the-fly]], d. |
Unterstützt der PTP-Master das Einfügen des Absendezeitpunkts [[on-the-fly]], d. h., er kann diese Information eigenständig in den zu sendenden Frame einfügen, so kann das Protokoll in der Betriebsart „One Step“ betrieben werden. Im Unterschied dazu sieht die Betriebsart „Two Step“ eine zusätzliche Nachricht (''Follow Up Message'') vor, die der Übermittlung des erst nachträglich bekannten Sendezeitpunktes an den Slave dient. |
||
== Umsetzungen == |
== Umsetzungen == |
||
Zeile 51: | Zeile 60: | ||
== Literatur == |
== Literatur == |
||
* {{Literatur |
|||
⚫ | |||
|Hrsg=The Institute of Electrical and Electronics Engineers, Inc. |
|||
⚫ | |||
⚫ | |||
⚫ | |||
|TitelErg=IEEE Std. 1588–2002 |
|||
|Ort=New York |
|||
|Datum=2002 |
|||
|ISBN=0-7381-3369-8}} |
|||
⚫ | |||
⚫ | |||
== Weblinks == |
== Weblinks == |
||
* [https://www.zhaw.ch/de/engineering/institute-zentren/ines/praezise-zeitsynchronisation-und-hochverfuegbare-netze/ Redundanzprotokolle werden verwendet, um die Verfügbarkeit von Netzwerken zu steigern.] |
* [https://www.zhaw.ch/de/engineering/institute-zentren/ines/praezise-zeitsynchronisation-und-hochverfuegbare-netze/ Redundanzprotokolle werden verwendet, um die Verfügbarkeit von Netzwerken zu steigern.] zhaw.ch |
||
* [https://github.com/ptpd/ptpd ptpd] – PTP [[Daemon]] als freie Implementierung von PTP für Linux auf [[ |
* [https://github.com/ptpd/ptpd ptpd] – PTP [[Daemon]] als freie Implementierung von PTP für Linux auf [[GitHub]] |
||
* [http://www.nist.gov/el/isd/ieee/ieee1588.cfm NIST IEEE1588] |
* [http://www.nist.gov/el/isd/ieee/ieee1588.cfm NIST IEEE1588] |
||
* [http://linuxptp.sourceforge.net/ The Linux PTP Project] – [[Open Source]] PTP (IEEE |
* [http://linuxptp.sourceforge.net/ The Linux PTP Project] – [[Open Source]] PTP (IEEE 1588–2008)-Implementierung mit Unterstützung für Hardware-Timestamping für Linux |
||
== Einzelnachweise == |
|||
[[Kategorie:IEEE-Norm]] |
|||
<references /> |
|||
[[Kategorie:Netzwerk-Zeitübertragung]] |
[[Kategorie:Netzwerk-Zeitübertragung]] |
||
[[Kategorie:Internet-Anwendungsprotokoll]] |
Aktuelle Version vom 24. März 2025, 09:26 Uhr
Familie: | Internetprotokollfamilie | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Einsatzgebiet: | Synchronisierung von Uhren in Computersystemen | ||||||||||||||||||||||||
Ports: | 319/UDP, 320/UDP | ||||||||||||||||||||||||
| |||||||||||||||||||||||||
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.
Standard
[Bearbeiten | Quelltext bearbeiten]Auf der Sitzung des IEEE-SA Standards Board im Dezember 2019 wurde die Veröffentlichung von IEEE 1588-2019 als vollumfänglicher Standard genehmigt. Im Juni 2021 wurde IEEE 1588-2019 von der International Electrotechnical Commission (IEC) als IEC 61588:2021-Standard übernommen. Daher ist es weltweit als IEEE/IEC 61588-2021 – IEC/IEEE International Standard – Precision Clock Synchronization Protocol for Networked Measurement and Control Systems – anerkannt.[1]
Funktionsweise
[Bearbeiten | Quelltext bearbeiten]Netzorganisation
[Bearbeiten | Quelltext 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 | Quelltext bearbeiten]Im Betrieb verteilt jeweils der Master das Zeitsignal an seine Slaves zur Ermittlung der sogenannten Verzögerung (englisch delay). Dazu wird eine Zeitmarke in Form einer Sync Message von der Master-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 Slave-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 des Slaves an die Referenzzeit des Master erfolgt kontinuierlich über ein Regelverfahren. Insbesondere werden so Rücksprünge in der Slave-Zeit vermieden.
PTP-Profile
[Bearbeiten | Quelltext bearbeiten]Die ITU-T unterscheidet drei PTP-Profile für Telekomanwendungen:
- G.8265.1: Diese Lösung war das erste Profil, das eine präzise Frequenzsynchronisation ermöglichte – jedoch keine Zeitsynchronisation (syntonized).
- G.8275.1: Dieses Profil ist ausgelegt, um sowohl Frequenz-, Phasen- und Zeitsynchronität zu ermöglichen. Voraussetzung ist, dass alle Netzelemente PTP unterstützen.
- G.8275.2: Dieses Profil ist ausgelegt, um sowohl Frequenz-, Phasen- und Zeitsynchronität zu ermöglichen. Im Gegensatz zu 8275.1 werden jedoch auch Netztopologien mit nur teilweiser (partieller) Unterstützung durch die Netzelemente ermöglicht. In realen Netzen unterstützen nicht alle bestehenden Geräte PTP – dies nennt man Partial timing support (PTS).
Uhrentypen
[Bearbeiten | Quelltext bearbeiten]Das Precision Time Protocol kennt verschiedene Uhrentypen:
- Eine gewöhnliche Uhr (englisch 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. Diese 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 (englisch Transparent Clock, kurz TC) wurde 2008 nachträglich in die Spezifikation aufgenommen und verbessert innerhalb eines Netzwerks die Weiterleitung von Zeitinformationen, indem sie die PTP-Nachrichten empfängt und modifiziert (korrigiert) weiterleitet.
Sende-Betriebsarten
[Bearbeiten | Quelltext bearbeiten]Unterstützt der PTP-Master das Einfügen des Absendezeitpunkts on-the-fly, d. h., er kann diese Information eigenständig in den zu sendenden Frame einfügen, so kann das Protokoll in der Betriebsart „One Step“ betrieben werden. Im Unterschied dazu sieht die Betriebsart „Two Step“ eine zusätzliche Nachricht (Follow Up Message) vor, die der Übermittlung des erst nachträglich bekannten Sendezeitpunktes an den Slave dient.
Umsetzungen
[Bearbeiten | Quelltext 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.
Literatur
[Bearbeiten | Quelltext 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 2002, ISBN 0-7381-3369-8.
- IEC 61588 ed2.0: Precision clock synchronization protocol for networked measurement and control systems (englisch).
- John C. Eidson: Measurement, Control and Communication Using IEEE 1588. Springer-Verlag, London 2006 (englisch).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Redundanzprotokolle werden verwendet, um die Verfügbarkeit von Netzwerken zu steigern. zhaw.ch
- ptpd – PTP Daemon als freie Implementierung von PTP für Linux auf GitHub
- NIST IEEE1588
- The Linux PTP Project – Open Source PTP (IEEE 1588–2008)-Implementierung mit Unterstützung für Hardware-Timestamping für Linux
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ IEC/IEEE International Standard - Precision Clock Synchronization Protocol for Networked Measurement and Control Systems. IEEE Standards Association, 8. Juni 2021, abgerufen am 30. Januar 2024 (englisch).