Protocole de temps de précision (PTP)

PTP (Precision Time Protocol) est un protocole utilisé pour synchroniser les horloges à travers un réseau basé sur des paquets. Il est utilisé pour fournir une heure très précise et fiable à travers les réseaux locaux ou étendus pour divers systèmes et applications. Le PTP est défini dans la norme IEEE 1588.

Liens rapides

1. Principe de synchronisation - PTP
1.2 Syntonisation - Ajuster la fréquence des esclaves au maître1.3 Synchronisation - Ajuster la fréquence des esclaves au maître1.4 Synchronisation d'un client PTP2. Possibilités de configuration
2.1 Mode de mesure des délais - End to End (E2E)
2.2 Mode de mesure des délais - Peer to Peer (P2P)
2.3 Configuration multicast et unicast
2.4 Couche 2 et couche 3
2.5 Configuration 1 étape et 2 étapes
2.6 Intervalles de messages et timeouts
3. Profils
4. FAQ sur le PTP

1. Principe de synchronisation - PTP

Pour adapter son heure à celle du maître, l'esclave doit corriger deux valeurs. L'esclave corrige d'abord la dérive de son horloge (Syntonisation) et adapte ensuite son heure en déterminant le décalage en fonction de la durée de la transmission (Synchronisation).

1.2 Syntonisation - Ajuster la fréquence des esclaves à celle du maître

Avant la synchronisation temporelle, l'esclave utilise les messages de synchronisation consécutifs pour se synchroniser avec le maître (aligner sa fréquence). La différence entre deux horodatages consécutifs t1 indique à l'esclave l'intervalle entre les messages de synchronisation du maître. Avec ses propres horodatages t2, il est maintenant en mesure de calculer et de compenser la déviation de son horloge. Cette procédure est répétée régulièrement pour compenser les variations de fréquence dues aux conditions environnementales ou à d'autres changements.

1.3 Synchronisation - Ajuster la fréquence des esclaves à celle du maître

Pour synchroniser l'heure d'un esclave PTP, le processus suivant est utilisé. Le maître commence par envoyer un message de synchronisation (et le suit en mode deux étapes). Ensuite, l'esclave envoie la demande de délai et reçoit la réponse de délai en retour. Grâce à ces messages, l'esclave recueille les quatre horodatages t1 à t4, qui lui permettent de calculer son décalage et d'adapter son heure à celle du maître. La clé de la précision du PTP est la précision de ces quatre horodatages, c'est pourquoi un horodatage matériel est nécessaire.

1.4 Synchronisation d'un client PTP

La norme ne définit pas comment l'esclave corrige son horloge interne. Il y a deux possibilités :

1. Transition en douceur : L'esclave accélère ou ralentit son horloge jusqu'à ce qu'elle soit alignée sur l'heure du maître.
2. Pas immédiat : L'esclave règle l'heure sur l'heure du maître (saut en avant ou en arrière).

Le comportement à adopter dépend de l'application. S'il n'est pas permis d'avoir des sauts temporels (par exemple pour des raisons de journalisation), une transition en douceur est nécessaire. D'autre part, si un alignement rapide est important, il est préférable d'avoir un saut et de retrouver immédiatement l'heure correcte.

2. Possibilités de configuration

2.1 Mode de mesure du délai - Fin à fin (E2E)

Ce mécanisme de retard exige que l'esclave mesure le retard entre lui-même et le maître (donc de bout en bout). Le maître et l'esclave envoient des messages IEEE 1588 appelés DELAY REQUEST et DELAY RESPONSE dans les deux sens, ce qui permet de mesurer le retard. Une fois le délai connu, l'esclave peut ajuster sa fréquence et son temps pour se synchroniser avec le maître.

Idéalement, le délai entre le maître et l'esclave est constant, par exemple lorsque vous utilisez un câble. Dans un réseau réel, il y a des dispositifs de la couche 2 et/ou de la couche 3 entre les deux, ce qui rend le délai variable. Si les appareils du réseau situés entre le maître et l'esclave fonctionnent comme une horloge transparente, ils ajoutent des valeurs de correction à certains messages PTP, ce qui aide l'esclave à supprimer ce délai variable.

2.2 Peer to Peer (P2P)

Ce mécanisme de retard exige que chaque élément du réseau mesure le retard entre son port d'entrée et l'appareil connecté à l'autre extrémité du câble de ce port d'entrée (l'appareil homologue). Lorsque le maître envoie sa vision du temps (à l'aide de messages SYNC) à l'esclave ou aux esclaves, chaque élément du réseau reçoit le message SYNC et y ajoute une correction. La correction inclut le retard mesuré du port d'entrée sur lequel le message SYNC a été reçu. Pour les horloges transparentes, la correction inclut également le retard à travers le pont. Cette correction est cumulative au fur et à mesure qu'elle traverse les nœuds, saut par saut. Lorsque le message SYNC arrive finalement à un esclave, la correction accumulée dans le message SYNC contient le retard total entre le maître et l'esclave. Cela évite à l'esclave d'avoir à envoyer des messages au maître dans les deux sens. Peer-to-Peer est une technologie IEEE 1588 plus récente, et tous les appareils déployés aujourd'hui ne prennent pas en charge le Peer-to-Peer.

2.3 Configuration de la multidiffusion et de la monodiffusion

À l'origine, le PTP est défini comme une diffusion multicast. Le BMCA utilise des messages multicast pour trouver le Grand Maître et ce n'est qu'avec le multicast que l'esclave est capable de trouver le maître par lui-même sans configuration de l'utilisateur.

Multidiffusion

✅ Auto-configuration avec BMCA
❌ Certains réseaux bloquent le multicast

Monodiffusion

✅ moins de trafic sur le réseau
❌ configuration préalable des maîtres nécessaire

2.4 Couche 2 et couche 3

La couche 2 définit le protocole permettant d'établir et de terminer une connexion physique entre deux appareils. Selon la norme IEEE 802, la couche 2 peut être divisée en deux sous-couches. La couche MAC autorise les appareils à accéder aux médias et à les transmettre, tandis que la couche de liaison logique (LLC) identifie d'abord les protocoles sur la couche réseau, puis vérifie les erreurs et la synchronisation des trames.

Alors que la couche 3 travaille avec les adresses IP, la couche 2 travaille avec les adresses MAC. Les adresses MAC sont des identifiants uniques pour l'adaptateur réseau présent dans chaque appareil. Les adresses IP étant une couche d'abstraction supérieure aux adresses MAC, elles sont nécessairement plus "lentes" (théoriquement - pour notre expérience humaine, c'est théorique). Les adresses IP sont également "louées" ou "attribuées" généralement par un serveur DHCP. Une adresse MAC est une adresse fixe pour l'adaptateur réseau et ne peut être modifiée sur un appareil sans changer l'adaptateur matériel.

PTPv2 offre la possibilité de fonctionner avec UDP (ISO/OSI Layer 3, Ethertype : UDP x0800) ou directement sur ethernet (Layer 2, Ethertype x88F7).

2.5 Configuration en 1 et 2 étapes

La clé de la précision de l'IEEE 1588 est la capacité d'horodater les messages PTP au plus près de l'entrée et de la sortie de l'interface physique. Une grande précision n'est possible que si l'on utilise du matériel pour capturer les horodatages. Il existe deux types de modes d'horodatage : en une étape et en deux étapes :

Mode 1 étape :
L'horodatage est capturé en temps réel lorsque le message commence à être transmis par le port physique et, au fur et à mesure que le message est transmis, l'horodatage est ajouté à la volée.

Mode 2 étapes :
L'horodatage est capturé en temps réel lorsque le message commence à être transmis par le port physique, mais l'horodatage n'est pas ajouté à la volée à ce message. Un message secondaire est utilisé à la place pour transporter l'horodatage capturé. Les anciennes implémentations de l'IEEE 1588v2 utilisaient le mode d'horodatage en deux étapes, car le matériel n'était pas en mesure d'ajouter l'horodatage à la volée. La plupart des implémentations modernes supportent le mode d'horodatage en 1 étape.

3-Algorithme de la meilleure horloge maîtresse :
Dans un domaine PTP, tous les nœuds écoutent les messages dits "d'annonce" :
Un message d'annonce contient des informations sur la qualité et la priorité de l'horloge qui l'envoie.

  • Lorsqu'aucun message d'annonce n'a été reçu pendant un intervalle défini, les nœuds deviennent maîtres et commencent à envoyer leurs propres messages d'annonce.
  • Si un nœud reçoit un message "Annonce" de meilleure qualité, il cesse d'envoyer des messages "Annonce" et devient esclave.
  • Si un nœud reçoit un message d'annonce dont la qualité est moins bonne, il reste maître et continue d'envoyer des messages d'annonce dans un intervalle défini.

    • Lorsque le réseau a déterminé le meilleur nœud du réseau, celui-ci est le seul à envoyer des messages d'annonce => 1 maître, N esclaves
    • Cet algorithme fonctionne en permanence, ce qui signifie que si un autre nœud devient meilleur ou si le maître actuel devient moins bon qu'un autre nœud, la topologie change.

  • Cet algorithme est appelé Best Master Clock Algorithm (BMCA).

2.6 Intervalles de messages et délais d'attente

Le protocole PTP définit trois intervalles différents, qui peuvent être configurés pour les différents types de messages (décrits au chapitre 1) :

Intervalle d'annonce :
L'intervalle pour le message d'annonce est configurable de 2-7 à27 secondes.
Avec cette plage, le message d'annonce peut être envoyé de 128 fois par seconde à une fois toutes les 128 secondes.
Si rien d'autre n'est défini, le réglage 1 est utilisé, où des messages d'annonce sont envoyés toutes les 2 secondes.

Sync interval
Pour l'intervalle de synchronisation, la même plage que pour le message d'annonce est configurable.
Le paramètre par défaut 0 est utilisé, ce qui signifie que des messages de synchronisation sont envoyés toutes les secondes.

Delay Request interval
Pour l'intervalle de demande de délai, la même plage que pour le message d'annonce est configurable.
Le paramètre par défaut 0 est utilisé, ce qui signifie que des messages de demande de délai sont envoyés toutes les secondes.

3. Profils

Un profil PTP est une sélection de caractéristiques optionnelles et de valeurs d'attributs. L'objectif d'un profil est d'établir des restrictions sur les attributs PTP possibles afin de simplifier l'interopérabilité entre différents dispositifs PTP dans une certaine application.

L'IEEE 1588 a défini deux profils PTP par défaut :

  1. Défaut E2E:
    Synchronisation de bout en bout sur la couche 3 (voir chapitre 2.3)
  2. P2P par défaut:
    Synchronisation Peer-to-Peer sur la couche 2 (voir chapitre 2.4)

D'autres profils sont définis par les différentes industries pour leurs applications spécifiques.

Industries électriques :
IEEE 61850-9-3 (profil d'utilité électrique), EEE C37.238 (profil d'utilité électrique)

Profil télécom :
Profil de fréquence défini dans ITU-T G.8265.1, profil de phase défini dans ITU-T G.8275.1 & G.8275.2

Diffusion:
SMPTE ST 2059-2 2015

TSN (diffusion, automatisation):
IEEE 802.1AS

4. FAQ sur le PTP

La principale différence réside dans la précision de la synchronisation. Lorsque vous utilisez des horodatages logiciels, comme c'est généralement le cas en mode logiciel seul, vous pouvez obtenir une précision de synchronisation pour les dispositifs esclaves de l'ordre de 10 à 100 microsecondes. Cette précision peut être atteinte avec des dispositifs de réseau standard tels que des commutateurs conventionnels et des ordinateurs agissant en tant qu'esclaves PTP logiciels.