Le protocole PTP (Precision Time Protocol) est conçu pour offrir une synchronisation horaire plus précise que les autres protocoles, pour des applications critiques.
Là où NTP vise une précision de l’ordre de la milliseconde, PTP vise la microseconde. Obtenir cette précision se fait avec des mécanismes qui dépendent de la capacité du réseau à transporter les messages de synchronisation sans introduire de délais imprévisibles. Or, les équipements réseau (switches et routeurs) introduisent justement ce type de délais. L’horloge transparente (Transparent Clock) est le mécanisme prévu par la norme IEEE 1588 pour résoudre ce problème.
Pourquoi un switch dégrade la précision de PTP ?
Pour comprendre l’utilité de l’horloge transparente, il faut d’abord comprendre comment fonctionne la synchronisation PTP. Un client PTP échange des messages horodatés avec un serveur de référence appelé Grandmaster. À partir des horodatages de ces messages, il calcule le délai de propagation sur le réseau et en déduit l’écart entre son horloge et celle du Grandmaster. Ce calcul repose sur une hypothèse : le délai de propagation est stable dans le temps.
Le problème apparaît dès qu’un switch Ethernet se trouve sur le chemin entre le Grandmaster et le client. Chaque message de synchronisation est traité par le switch comme n’importe quel autre paquet réseau : il est reçu sur un port d’entrée, placé dans une file d’attente, puis renvoyé par le port de sortie. Le temps passé dans cette file d’attente dépend du volume de trafic. Quand le réseau est saturé, le traitement du paquet peut être retardé et prendre plusieurs microsecondes supplémentaires, sans que cela ne soit mesuré.
Cette variation du délai de traversée, appelée PDV (Packet Delay Variation), va fausser le calcul de délai de propagation effectué par le client PTP. Pire encore, l’erreur peut s’amplifier s’il y a plusieurs switches entre le Grandmaster et le client.
Dans certains cas, la précision de PTP va se dégrader au point de se rapprocher de celle obtenue avec NTP. En d’autres termes, sans mécanisme de compensation, déployer PTP sur un réseau standard n’apporte pas grand-chose.
Comment fonctionne une horloge transparente ?
L’horloge transparente est un mécanisme correctif de PTP qui est défini dans la version 2 de la norme IEEE 1588, publiée en 2008. Elle est utilisée pour gérer les équipements réseau situés entre le Grandmaster et les clients qui se synchronisent. L’idée est de compenser la variation du délai de traversée des équipements réseau en mesurant sa valeur. Cette mesure est alors communiquée au client pour qu’il puisse le prendre en compte lors de sa synchronisation.
Le principe est en réalité très simple.
Quand un message PTP arrive sur le port d’entrée du switch, l’équipement note l’heure exacte d’arrivée. Quand ce même message repart par le port de sortie, il note l’heure de départ. La différence entre les deux correspond au temps passé dans l’équipement, c’est-à-dire le délai variable que l’on cherche à compenser. L’horloge transparente inscrit cette durée dans un champ spécifique du message PTP, appelé champ de correction.
Le mécanisme est cumulatif. Si le message traverse plusieurs horloges transparentes successives, chacune rajoute la durée de traversée du message en son sein au champ de correction. Le client, quand il reçoit le message, dispose donc de la somme de tous les délais introduits par les équipements intermédiaires. Il lui suffit de soustraire cette valeur de son calcul de délai pour obtenir une mesure précise.
On parle d’horloge transparente car grâce au champ de correction, les équipements réseau sont devenus invisibles pour la synchronisation.
D’une certaine façon, l’horloge transparente porte mal son nom. En effet, elle ne se synchronise pas elle-même avec le Grandmaster, elle se contente juste de mesurer un délai et d’annoter les messages.
Une horaire fiable pour vos environnements critiques
Assurez une synchronisation horaire précise et cohérente sur l'ensemble de vos équipements, sans dérive.
Deux variantes : End-to-End et Peer-to-Peer
La norme PTP définit deux méthodes pour mesurer le délai entre deux équipements : la méthode End-to-End et la méthode Peer-to-Peer. L’horloge transparente gère les deux méthodes.
L’horloge transparente End-to-End (E2E) est la plus courante. Elle mesure uniquement le temps de traversée du switch ou du routeur et l’inscrit dans le champ de correction. Le calcul du délai total entre le Grandmaster et le client reste entièrement à la charge du client, qui continue d’échanger des messages de mesure de délai avec le Grandmaster, comme dans un réseau PTP classique. Cette horloge, qui est une fonction d’un type d’équipement, est transparente et « passive » car elle ne modifie pas le fonctionnement de la synchronisation, ce qui la rend facile à déployer.
L’horloge transparente Peer-to-Peer (P2P) fait plus, mais nécessite des équipements plus évolués. En effet, en plus du temps de traversée de l’équipement, l’horloge transparente P2P mesure aussi le délai de propagation sur le câble qui la relie à l’équipement précédent. Pour cela, elle échange des messages de mesure spécifiques avec les équipements voisins, en mode pair à pair.
Le champ de correction prend donc en compte à la fois le temps de traversée de l’équipement, mais aussi le temps de transmission de l’information entre les équipements. Le point fort de cette approche est que lorsque le client reçoit un message, il n’a même plus besoin d’échanger avec le Grandmaster pour connaître le délai puisque le champ de correction porte toute l’information. Le résultat est donc potentiellement plus précis.
Transparent Clock ou Boundary Clock ?
C’est la question que tout le monde se pose lors de la conception d’une architecture PTP. Les deux mécanismes répondent au même problème, avec une solution différente pour chacun.
L’horloge transparente laisse passer les messages PTP en les annotant. La Boundary Clock, elle, interrompt la chaîne PTP. Elle se synchronise d’abord avec le Grandmaster comme n’importe quel client et ensuite redistribue le temps aux équipements en aval comme si elle était le Grandmaster. Elle découpe ainsi le réseau PTP en segments indépendants.
La Boundary Clock présente un avantage important pour les réseaux de grande taille. Avec des horloges transparentes, chaque client échange ses messages de synchronisation directement avec le Grandmaster. Quand le nombre de clients augmente, le Grandmaster devient alors un noeud d’engorgement et peut mettre le système de synchronisation en défaillance. Avec des Boundary Clocks, chaque switch PTP prend en charge un sous-ensemble de clients, ce qui répartit la charge. L’algorithme BMCA (Best Master Clock Algorithm) assure la sélection automatique du meilleur serveur de référence en cas de défaillance.
L’horloge transparente, de son côté, présente l’avantage de ne pas introduire d’horloge supplémentaire dans la chaîne de synchronisation. Une Boundary Clock est une horloge à part entière : elle se synchronise avec le Grandmaster, mais comme toute horloge, elle a sa propre dérive.
L’horloge transparente évite cette dérive. Pour un réseau de taille modérée, c’est souvent l’approche la plus adaptée. En pratique, les deux approches ne s’excluent pas. On peut par exemple utiliser des Boundary Clocks aux points structurants du réseau et des horloges transparentes dans les switches d’accès.
A savoir pour un déploiement correct
Un réseau PTP n’atteint sa précision théorique que si chaque équipement sur le chemin entre le Grandmaster et les clients est compatible PTP. Cela signifie que chaque switch doit fonctionner soit comme horloge transparente, soit comme Boundary Clock. Un switch qui traiterait les messages PTP comme du trafic ordinaire introduirait une variation de délai. Un seul équipement non compatible suffit donc à dégrader la précision de l’ensemble du système.
Le deuxième point concerne la qualité de l’horodatage dans le switch. Pour que la mesure du délai de traversée soit fiable, l’horodatage doit être réalisé au niveau matériel. Un horodatage réalisé au niveau logiciel introduit lui-même de la variation, ce qui réduit le bénéfice de l’horloge transparente. Lors du choix d’un switch pour un déploiement PTP, il faut donc bien vérifier que l’horodatage est intégré au matériel.
Enfin, l’horloge transparente résout le problème de la variation de délai dans les équipements, mais pas celui de l’asymétrie réseau. L’asymétrie, c’est le fait que le délai pour un message aller ne soit pas le même que pour un message retour, par exemple parce que les chemins physiques sont différents. Ce problème se traite au niveau de la conception du réseau et pas au niveau du protocole de synchronisation.