IEEE 1588 Synchronisationsprinzip
In Ethernet-Systemen können unvorhersagbare Kollisionen aufgrund des CSMA/CD-Verfahrens dazu führen, dass Zeitpakete sich verspäten oder ganz verschwinden. Aus diesem Grund definiert IEEE 1588 ein spezielles "Uhren-Synchronisations" Verfahren.

Ein Teilnehmer (IEEE 1588 Masteruhr) sendet hierbei ein erstes "Sync"-Telegramm auf den Bus, welches eine geschätzte Absendezeit beinhaltet. Die genaue Sendezeit wird von einer Uhr festgehalten und in einem zweiten "Follow up"-Telegramm nachgeschickt. Der Empfänger kann nun auf Basis des ersten und zweiten Telegramms und mittels seiner eigenen Uhr die Zeitdifferenz zwischen seiner Uhr und der Masteruhr berechnen. Um bestmögliche Resultate zu erzielen, sollten die IEEE 1588 Zeitstempel in Hardware oder möglichst nahe an der Hardware generiert werden.
Unter Berücksichtigung der Telegrammlaufzeit, welche in einem zweiten Übertragungsvorgang zwischen Slave und Master zyklisch bestimmt wird ("Delay"-Telegramme), kann nun der Slave seine Uhr korrigieren und der aktuellen Buslaufzeit anpassen.
Konfiguration eines IEEE 1588 Netzwerkes
Ein IEEE 1588 Netzwerk konfiguriert und segmentiert sich selbstständig. Jeder Teilnehmer benutzt dazu den "Best Master Clock"-Algorithmus (BMC), um die beste Uhr im Segment festzustellen. Jede PTP-Uhr speichert Ihre Eigenschaften in einem spezifizierten Datenset ab. Diese Eigenschaften teilt sie den anderen Busteilnehmern in ihren "Sync"-Telegrammen mit. Somit können alle Teilnehmer ihr Datenset mit dem aktuellen Master vergleichen und ihre Uhrenkonfiguration selbst einstellen. Durch die zyklische Ausführung des BMC lassen sich auch während der Laufzeit Teilnehmer zuschalten oder entfernen (hot plugging).
Es wird im IEEE 1588 Protokoll nicht zwischen einer Software-Uhr und einer Hardware-Uhr unterschieden. Um bei der Synchronität im Nanosekundenbereich arbeiten zu können, ist aber eine Hardware-Unterstützung nötig. Die Synchronisationsfehler – hervorgerufen durch Software-Jitter – lassen sich sonst prinzipiell nicht beseitigen. Der Fehler kann sich bei einer reinen Software-Lösung (z. B. Windows-Systeme) immerhin im Mikro- bis Millisekunden-Bereich bewegen.
