Precision Time Protocol
Precision Time Protocol (PTP) est un protocole Ethernet de synchronisation d'horloge, normalisé sous le nom IEEE 1588 en 2001 et en pour la version 2. En 2005 il a aussi été standardisé sous le nom IEC 61588. Il est également appelé « horloges distribuées » ou Distributed Clocks (DCs).
Ce protocole est destiné aux réseaux supportant le multicast et l'unicast. Son utilisation est destinée à des applications de type mesures, militaire, industriel (robotique, motion control, papeterie, etc.) ainsi que les réseaux de télécommunication depuis la sortie de la seconde version.
Il est complémentaire de la norme d'encodage IRIG, et constitue une évolution du Network Time Protocol (ou NTP).
Enfin PTP n'a pas vocation à déterminer un horodatage, mais à le transmettre; tout système PTP doit donc intégrer ou se baser sur une source de temps, telle qu'une horloge GPS, et s'y recaler régulièrement.
Principe du protocole
Ce protocole est établi selon le principe d'horloge maître et d'horloges esclaves. L'horloge maître servant de référence temporelle est appelée « horloge de référence ». Son heure est synchronisée (via GPS, NTP, etc) sur une horloge appelée horloge globale. Dans le cas d'une communication par bus, c'est l'horloge du premier esclave sur le bus qui est considérée comme horloge de référence.
Afin que toutes les horloges aient la même heure, il faut corriger
- la dérive d'horloge
- le délai (de transmission).
Légende des abréviations :
- m = maître
- s = esclave
- d = délai
Par exemple dm2s = délai maître à esclave
Mécanismes de correction
Correction de la dérive (ou offset)
Cela se passe en deux temps :
a) SYNC
L'horloge maître envoie à l'esclave un message de synchronisation (SYNC) contenant :
- une estimation de l'heure d'émission
- les propriétés de l'horloge
Son heure de réception est notée par l'esclave (t2)
b) FOLLOW_UP
Immédiatement après le maître envoie un message de suivi (FOLLOW_UP) contenant :
- l'heure exacte d'émission (t1)
Ainsi l'esclave détermine l'offset en soustrayant l'heure de réception à l'heure exacte d'émission : dm2s = t2 - t1
Un message SYNC est émis à chaque période de synchronisation, généralement égale à 2 secondes.
Le message FOLLOW_UP n'est pas présent en « 1-step mode » mais uniquement en « 2-step mode ».
Correction du délai
Cela se passe en deux temps :
c) DELAY_REQ
L'esclave envoie au maître une demande de délai (DELAY_REQ). A l'émission de ce message, l'esclave note l'heure d'émission (t3) tandis que le maître note l'heure de réception (t4).
d) DELAY_RESP
Le maître envoie à l'esclave une réponse de délai (DELAY_RESP) contenant l'heure à laquelle il a reçu la requête de délai (t4).
Ainsi l'esclave peut calculer le délai moyen : ds2m = t4 - t3
On part du principe que le délai est symétrique (dm2s = ds2m) Cette opération est répétée aléatoirement entre 2 et 30 périodes de synchronisation. On peut également fixer un multiple de cette période à ne pas dépasser pour répéter l'opération plus souvent.
Délai aller
d = (dm2s + ds2m) / 2
offset
Δt = dm2s - d
Horloges IEEE 1588
Grand Master Clock
Le Grand Master Clock est l'horloge qui fournit l'horodatage dans le réseau.
Ordinary Clock
Une Ordinary Clock est une horloge en fin ou en début de chaîne 1588. Cette horloge peut devenir Grand Master Clock (si une source de temps lui est raccordée).
Boundary Clock
La Boundary Clock est une horloge de cœur de réseaux qui permet de faire la liaison entre deux mondes PTP.
Transparent Clock
Une transparent Clock permet de corriger des délais de propagation de la trame et ainsi d'avoir une meilleure précision dans l'horodatage.
Voir aussi
Articles connexes
- Temps réel
- Bus TTP
- Network Time Protocol
- Sercos (Serial Real-Time Communications System)
Liens externes
- (fr) Des “Big Ben” pour le protocole IEEE 1588
- (en) site du NIST
- (en) site de l'IEEE
- (en) Note d'application sur PTP
- Portail de l’informatique
- Portail des télécommunications
- Portail du temps