Precision Time Protocol (PTP) est un protocole de synchronisation temporelle qui permet de s’assurer que toutes les horloges d’un même réseau sont synchronisées avec le minimum de décalage possible. Pour cela, le protocole PTP va diffuser l’heure d’une horloge de référence, qui est la plupart du temps une horloge atomique ou un GPS.
Le protocole PTP est normalisé sous le nom IEEE-1588. Sa première version date de 2002. Il a été créé pour fournir une plus grande précision que les protocoles existants (NTP Network Time Protocol, en particulier). PTP offre une précision théorique de l’ordre de la nanoseconde sur les réseaux LAN.
Contrairement à NTP, il se base sur des horodatages matériels, ce qui nécessite un équipement spécifique pour le mettre en place, mais qui permet d’atteindre un très grand niveau de précision. Le standard IEEE-1588 a été révisé plusieurs fois, notamment en 2008, pour standardiser la version 2 du Precision Time Protocol (la plus répandue aujourd’hui).
Cette version 2 n’est pas compatible avec la première version du protocole. La version la plus récente du standard IEEE-1588 date de 2019, il ne s’agit pas d’une version majeure et est compatible avec la version de 2008. Cette version apporte des améliorations telles que la gestion du multi-domaine.
Les différents types d’horloges
Au sein d’un domaine PTP, les différentes horloges qui doivent se synchroniser entre-elles n’ont pas toutes le même rôle. En effet, le protocole PTP fonctionne sur un principe maître-esclave. Les horloges ne vont pas s’accorder sur le temps du réseau mais plutôt sur l’identification d’une horloge maître. L’horloge maître (Master Clock ou Grand Master Clock) va alors diffuser son horodatage aux horloges esclaves (Slave Clock). Les participants à un domaine PTP vont donc commencer par sélectionner une horloge maître. Cette sélection est réalisée avec l’algorithme BMCA (Best Master Clock Algorithm). La désignation d’une horloge maître peut se produire périodiquement au sein d’un domaine PTP, soit à la suite d’une défaillance de l’horloge maître, soit lorsque qu’une horloge esclave pense être plus qualifiée pour remplir ce rôle.
En plus de ces deux rôles, maître et esclave, un réseau PTP demande généralement la mise en œuvre de routeurs, commutateurs ou passerelles qui existent sous 2 types. Le premier type est l’horloge transparente (Transparent Clock). Une horloge transparente est généralement un équipement réseau situé entre une horloge maître et une horloge esclave. Plutôt que se laisser traverser par les paquets PTP, ces serveurs de temps spécifiques vont calculer le temps nécessaire aux paquets pour les traverser et ajuster les horodatages pour permettre un meilleur calcul des délais et donc une meilleure précision.
Le second type est celui d’horloge de frontière (Boundary Clock). Une horloge de frontière est une horloge qui va tenir les rôles de maître et d’esclave en même temps. Elle va se synchroniser sur une autre horloge maître et servira de maître à son tour pour synchroniser un ensemble d’horloges esclaves sur le réseau. Cela permet de réduire la distance entre les horloges esclaves et l’horloge maître ainsi que de diminuer le nombre de requêtes faites par les horloges esclaves. En réduisant la distance entre les esclaves et le maître, les horloges de frontière permettent de diminuer les délais et donc d’améliorer la précision de la synchronisation temporelle du réseau.
Les différents types de fonctionnement
Depuis la version 2 du protocole PTP, il existe deux types de fonctionnement pour calculer les délais : End-to-End ou Peer-to-Peer.
En mode End-to-End, les délais sont calculés de manière globale entre les esclaves et les maîtres alors qu’en mode Peer-to-Peer les délais sont calculés pour chaque liaison. Le mode Peer-to-Peer permet une évaluation plus fine et plus précise des délais mais nécessite d’avoir du matériel spécifique. Le mode End-to-End quant à lui fonctionne indépendamment du matériel utilisé dans le réseau PTP. Il est donc plus robuste.
Une autre distinction existe : les modes one-step et two-step.
Cette distinction dépend du matériel utilisé pour les horloges qui ont besoin d’horodater leurs messages. Soit le matériel permet d’éditer au fur et à mesure un message incluant l’horodatage du moment de son envoi, directement dans le message, on parle alors de mode one-step. Soit, il ne le permet pas, dans ce cas, les horloges sont dans le mode two-step. Il est possible de mélanger un fonctionnement one-step et two-step à l’intérieur d’un même réseau PTP.
Les différents types de messages
Pour obtenir une synchronisation temporelle de haute précision, les horloges transmettent différents types de messages de synchronisation. Ci-dessous, la liste non exhaustive, des principaux messages que peuvent échanger des équipements d’un réseau PTP servant à la synchronisation temporelle :
- Announce : Il s’agit des messages échangés pour élire une horloge maître. Les participants aux réseaux diffusent leurs caractéristiques à leurs voisins et choisissent la meilleure horloge en tant que maître.
- Sync : Ces messages sont envoyés par l’horloge maître aux horloges esclaves pour qu’elles se synchronisent.
- Follow_Up : Il peut faire suite à un message Sync si l’horloge maître n’est pas capable d’inclure l’horodatage du message dans le message lui-même. Dans ce cas le message Follow_Up contient l’horodatage du message de synchronisation.
- Delay_Req : Il est envoyé par une horloge esclave pour lui permettre de calculer le délai de communication aller-retour pour pouvoir se synchroniser sur l’horloge maître. Ce message est utilisé en mode End-to-End.
- Delay_Resp : Réponse de l’horloge maître à l’horloge esclave pour que celle-ci puisse calculer effectivement le délai. Ce message est utilisé en mode End-to-End.
- PDelay_Req : Message envoyé pour calculer le délai d’un lien. Utilisé avec le mode Peer-to-Peer.
- PDelay_Resp : Message envoyé en réponse à un message PDelay_Req pour calculer le délai d’un lien. Utilisé avec le mode Peer-to-Peer.
Les domaines
Les domaines PTP sont un ensemble d’horloges synchronisées entre elles. Ils sont souvent exclus des présentations de PTP car la plupart des organisations n’utilisent qu’un seul domaine. Les domaines ne sont pas nécessairement exclusifs les uns des autres. Une horloge peut appartenir à plusieurs domaines, et une horloge appartenant à plusieurs domaines n’est pas contrainte d’avoir le même rôle dans chaque domaine. Ainsi, une horloge peut être esclave dans un domaine et maître ailleurs. La gestion d’un réseau PTP multi-domaine reste complexe mais permet d’avoir une synchronisation temporelle adaptée à chaque usage.
PTP dans l’industrie
PTP offre d’excellentes garanties de précision pour la synchronisation temporelle, il est donc utilisé dans les industries avec de forts besoins de synchronisation : réseaux audio/vidéo, transactions financières, réseaux mobiles, etc.
Les secteurs les plus à même d’utiliser PTP ont défini des profils (configurations) pour répondre à leurs besoins spécifiques :
- Le secteur des télécommunications a par exemple défini 3 standards nommés G.8265.1 (Profil fréquence), G.8275.1 et G.8275.2 (Profil temps/phase). Chaque profil adresse un besoin spécifique de ces réseaux.
- Le secteur de l’énergie a spécifié les 3 profils suivants : C37.238 : 2011 et C37.238 : 2017 (Profil Power) et IEC 61850 9-3 (Profil Utility)
- L’industrie quant à elle a défini les profils IEEE 1588v2 (Profil par défaut) et IEEE802.1AS (Profil TSN : Time Sensitive Network)
- Les profils SMPTE ST2059-2 et Media AES67 sont eux, utilisés dans les réseaux professionnels de broadcast. Le profil SMPTE conforme au standard ST 2110 définit les réglages du réseau PTP de manière à atteindre une précision inférieure à une frame ce qui permet de se prémunir au maximum contre les problèmes de synchronisation lors de la diffusion de contenus vidéo ou audio.
Avec plus de 150 ans d’expertise en gestion des temps et présent dans plus de 140 pays, Bodet Time est un acteur français majeur de la synchronisation temporelle et du temps fréquence. Les serveurs de temps PTP Netsilon fournissent un temps de référence fiable, précis et adapté aux besoins des secteurs aériens, ferroviaires, industriels, de l’énergie et du broadcast.