Protocole de temps de précision - Precision Time Protocol

Le Precision Time Protocol ( PTP ) est un protocole utilisé pour synchroniser les horloges d' un réseau informatique . Sur un réseau local , il atteint une précision d'horloge de l'ordre de la microseconde, ce qui le rend adapté aux systèmes de mesure et de contrôle. Le PTP est actuellement utilisé pour synchroniser les transactions financières , les transmissions des tours de téléphonie mobile , les réseaux acoustiques sous-marins et les réseaux qui nécessitent une synchronisation précise mais n'ont pas accès aux signaux de navigation par satellite .

La version originale de PTP, IEEE 1588-2002 , a été publiée en 2002. IEEE 1588-2008 , également connue sous le nom de PTP Version 2, n'est pas rétrocompatible avec la version originale de 2002. IEEE 1588-2019 a été publié en novembre 2019 et inclut des améliorations rétrocompatibles par rapport à la publication de 2008. IEEE 1588-2008 inclut un concept de profil définissant les paramètres et options de fonctionnement du PTP. Plusieurs profils ont été définis pour des applications telles que les télécommunications , la distribution d'énergie électrique et l' audiovisuel . IEEE 802.1AS est une adaptation de PTP pour une utilisation avec lepontage audio-vidéoetla mise en réseau sensible au temps.

Histoire

Selon John Eidson, qui a dirigé l'effort de normalisation IEEE 1588-2002, « IEEE 1588 est conçu pour combler un créneau qui n'est pas bien desservi par l'un des deux protocoles dominants, NTP et GPS . IEEE 1588 est conçu pour les systèmes locaux nécessitant des précisions supérieures à celles atteignable en utilisant NTP. Il est également conçu pour les applications qui ne peuvent pas supporter le coût d'un récepteur GPS à chaque nœud, ou pour lesquelles les signaux GPS sont inaccessibles.

PTP a été initialement défini dans la norme IEEE 1588-2002, officiellement intitulée « Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems » et publiée en 2002. En 2008, IEEE 1588-2008 a été publiée en tant que norme révisée ; également connu sous le nom de PTP version 2 (PTPv2), il améliore l'exactitude, la précision et la robustesse mais n'est pas rétrocompatible avec la version 2002 d'origine. IEEE 1588-2019 a été publié en novembre 2019, est officieusement connu sous le nom de PTPv2.1 et inclut des améliorations rétrocompatibles par rapport à la publication de 2008.

Architecture

Les normes IEEE 1588 décrivent une architecture maître-esclave hiérarchique pour la distribution d'horloge. Dans cette architecture, un système de distribution temporelle est constitué d'un ou plusieurs supports de communication (segments de réseau), et d'une ou plusieurs horloges. Une horloge ordinaire est un appareil avec une seule connexion réseau et est soit la source (maître ou leader) soit la destination (esclave ou suiveur) d'une référence de synchronisation. Une horloge périphérique a plusieurs connexions réseau et peut synchroniser avec précision un segment de réseau à un autre. Un maître de synchronisation est sélectionné pour chacun des segments de réseau du système. La référence de synchronisation racine est appelée le grand maître . Le grand maître transmet les informations de synchronisation aux horloges résidant sur son segment de réseau. Les horloges périphériques présentes sur ce segment transmettent ensuite l'heure précise aux autres segments auxquels elles sont également connectées.

Un système PTP simplifié se compose fréquemment d'horloges ordinaires connectées à un seul réseau, et aucune horloge périphérique n'est utilisée. Un grand maître est élu et toutes les autres horloges se synchronisent directement avec lui.

IEEE 1588-2008 introduit une horloge associée à un équipement réseau utilisé pour véhiculer des messages PTP. L' horloge transparente modifie les messages PTP lorsqu'ils transitent par l'appareil. Les horodatages dans les messages sont corrigés du temps passé à traverser l'équipement du réseau. Ce schéma améliore la précision de la distribution en compensant la variabilité de la distribution à travers le réseau.

PTP utilise généralement la même époque que le temps Unix (début du 1er janvier 1970). Alors que l'heure Unix est basée sur le temps universel coordonné (UTC) et est sujette aux secondes intercalaires, le PTP est basé sur le temps atomique international (TAI). Le grand maître PTP communique le décalage actuel entre UTC et TAI, de sorte que l'UTC puisse être calculé à partir de l'heure PTP reçue.

Détails du protocole

La synchronisation et la gestion d'un système PTP sont réalisées grâce à l'échange de messages sur le support de communication. À cette fin, PTP utilise les types de messages suivants.

  • Les messages Sync , Follow_Up , Delay_Req et Delay_Resp sont utilisés par les horloges ordinaires et limites et communiquent des informations temporelles utilisées pour synchroniser les horloges sur le réseau.
  • Pdelay_Req , Pdelay_Resp et Pdelay_Resp_Follow_Up sont utilisés par des horloges transparentes pour mesurer les retards sur le support de communication afin qu'ils puissent être compensés par le système. Les horloges transparentes et les messages qui leur sont associés ne sont pas disponibles dans la norme IEEE 1588-2002 PTPv1 originale et ont été ajoutées dans PTPv2.
  • Les messages d' annonce sont utilisés par le meilleur algorithme d'horloge maître dans IEEE 1588-2008 pour construire une hiérarchie d'horloge et sélectionner le grand maître .
  • Les messages de gestion sont utilisés par la gestion du réseau pour surveiller, configurer et maintenir un système PTP.
  • Les messages de signalisation sont utilisés pour les communications non urgentes entre les horloges. Les messages de signalisation ont été introduits dans IEEE 1588-2008.

Les messages sont classés en messages d' événement et messages généraux . Les messages d' événement sont d'une importance critique dans la mesure où la précision de l'horodatage de la transmission et de la réception affecte directement la précision de la distribution de l'horloge. Sync , Delay_Req , Pdelay_Req et Pdelay_resp sont des messages d' événement . Les messages généraux sont des unités de données de protocole plus conventionnelles dans la mesure où les données de ces messages sont importantes pour PTP, mais leurs horodatages de transmission et de réception ne le sont pas. Les messages Announce , Follow_Up , Delay_Resp , Pdelay_Resp_Follow_Up , Management et Signaling font partie de la classe de message générale .

Transport de messages

Les messages PTP peuvent utiliser le protocole de datagramme utilisateur sur protocole Internet (UDP/IP) pour le transport. IEEE 1588-2002 utilise uniquement les transports IPv4 , mais cela a été étendu pour inclure IPv6 dans IEEE 1588-2008. Dans IEEE 1588-2002, tous les messages PTP sont envoyés à l'aide de la messagerie multidiffusion , tandis que IEEE 1588-2008 a introduit une option permettant aux périphériques de négocier la transmission en monodiffusion port par port. Les transmissions multicast utilisent l' adressage multicast IP , pour lequel des adresses de groupe multicast sont définies pour IPv4 et IPv6 (voir tableau). Les messages d' événements critiques (Sync, Delay_req, Pdelay_Req et Pdelay_Resp) sont envoyés au numéro de port 319. Les messages généraux (Announce, Follow_Up, Delay_Resp, Pdelay_Resp_Follow_Up, gestion et signalisation) utilisent le numéro de port 320.

Adresses de groupe de multidiffusion
messages IPv4 IPv6 IEEE 802.3 Ethernet
Tous sauf les messages de retard par les pairs 224.0.1.129 FF0x::181 01-1B-19-00-00-00
Messages de retard des pairs : Pdelay_Req , Pdelay_Resp et Pdelay_Resp_Follow_Up 224.0.0.107 FF02::6B 01-80-C2-00-00-0E

Dans IEEE 1588-2008, l'encapsulation est également définie pour DeviceNet , ControlNet et PROFINET .

Domaines

Un domaine est un ensemble d'horloges interactives qui se synchronisent les unes aux autres à l'aide de PTP. Les horloges sont attribuées à un domaine en vertu du contenu des champs Nom de sous-domaine (IEEE 1588-2002) ou Numéro de domaine (IEEE 1588-2008) dans les messages PTP qu'elles reçoivent ou génèrent. Les domaines permettent à plusieurs systèmes de distribution d'horloge de partager le même support de communication.

Contenu du champ de nom de sous- domaine ( IEEE 1588-2002 ) Adresse de multidiffusion IPv4
( IEEE 1588-2002 )
numéro de domaine
( IEEE 1588-2008 )
Remarques
_DFLT 224.0.1.129 0 Domaine par défaut
_ALT1 224.0.1.130 1 Domaine alternatif 1
_ALT2 224.0.1.131 2 Domaine alternatif 2
_ALT3 224.0.1.132 3 Domaine alternatif 3
Spécifique à l'application jusqu'à 15 octets 224.0.1.130, 131 ou 132 selon la fonction de hachage sur le nom de sous-domaine 4 à 127 Domaines définis par l'utilisateur

Meilleur algorithme d'horloge maître

L' algorithme de la meilleure horloge maître (BMC) effectue une sélection distribuée de la meilleure horloge candidate en fonction des propriétés d'horloge suivantes :

  • Identifiant – Un identifiant numérique universellement unique pour l'horloge. Ceci est généralement construit en fonction de l'adresse MAC d' un périphérique .
  • Qualité - Les deux versions d'IEEE 1588 tentent de quantifier la qualité de l'horloge en fonction de l'écart de synchronisation attendu, technologie utilisée pour implémenter l'horloge ou l'emplacement dans un schéma de strate d'horloge , bien que seul V1 (IEEE 1588-2002) connaisse une strate de champ de données . PTP V2 (IEEE 1588-2008) définit la qualité globale d'une horloge en utilisant les champs de données clockAccuracy et clockClass .
  • Priorité - Un indice de priorité attribué par l'administration utilisé par le BMC pour aider à sélectionner un grand maître pour le domaine PTP. IEEE 1588-2002 a utilisé une seule variable booléenne pour indiquer la priorité. IEEE 1588-2008 comporte deux champs prioritaires de 8 bits.
  • Variance - Estimation d'une horloge de sa stabilité basée sur l'observation de ses performances par rapport à la référence PTP.

IEEE 1588-2008 utilise un algorithme de sélection hiérarchique basé sur les propriétés suivantes, dans l'ordre indiqué :

  1. Priorité 1 - l'utilisateur peut attribuer une priorité statique spécifique à chaque horloge, définissant de manière préventive une priorité parmi elles. Des valeurs numériques plus petites indiquent une priorité plus élevée.
  2. Classe - chaque horloge est membre d'une classe donnée, chaque classe ayant sa propre priorité.
  3. Précision – précision entre l'horloge et l'UTC, en nanosecondes (ns)
  4. Variance – variabilité de l'horloge
  5. Priorité 2 - priorité finale définie, définissant l'ordre de sauvegarde au cas où les autres critères ne seraient pas suffisants. Des valeurs numériques plus petites indiquent une priorité plus élevée.
  6. Identificateur unique – La sélection basée sur l'adresse MAC est utilisée comme condition de départage lorsque toutes les autres propriétés sont égales.

IEEE 1588-2002 utilise un algorithme de sélection basé sur des propriétés similaires.

Les propriétés d'horloge sont publiées dans les messages de synchronisation IEEE 1588-2002 et dans les messages d' annonce IEEE 1588-2008 . L'horloge maître actuelle transmet ces informations à intervalles réguliers. Une horloge qui se considère comme une meilleure horloge mère transmettra cette information afin d'invoquer un changement d'horloge mère. Une fois que le maître actuel reconnaît la meilleure horloge, le maître actuel arrête de transmettre les messages Sync et les propriétés d'horloge associées ( messages d' annonce dans le cas d'IEEE 1588-2008) et la meilleure horloge prend le relais en tant que maître. L'algorithme BMC ne considère que la qualité auto-déclarée des horloges et ne prend pas en considération la qualité de la liaison réseau.

Synchronisation

Grâce à l'utilisation de l'algorithme BMC, PTP sélectionne une source de temps maître pour un domaine IEEE 1588 et pour chaque segment de réseau du domaine.

Les horloges déterminent le décalage entre elles et leur maître. Laissez la variable représenter le temps physique. Pour un dispositif suiveur donné, le décalage au temps est défini par :

où représente l'heure mesurée par l'horloge suiveuse à l'heure physique , et représente l'heure mesurée par l'horloge maître à l'heure physique .

Le maître diffuse périodiquement l'heure actuelle sous forme de message aux autres horloges. Sous IEEE 1588-2002, les diffusions sont jusqu'à une fois par seconde. Selon IEEE 1588-2008, jusqu'à 10 par seconde sont autorisés.

Mécanisme de synchronisation IEEE 1588 et calcul du délai

Chaque diffusion commence à l'heure par un message Sync envoyé par le maître à toutes les horloges du domaine. Une horloge recevant ce message prend note de l'heure locale lorsque ce message est reçu.

Le maître peut ensuite envoyer un Follow_Up de multidiffusion avec un horodatage précis . Tous les maîtres n'ont pas la possibilité de présenter un horodatage précis dans le message de synchronisation . Ce n'est qu'une fois la transmission terminée qu'ils sont en mesure de récupérer un horodatage précis pour la transmission de synchronisation à partir de leur matériel réseau. Les maîtres avec cette limitation utilisent le message Follow_Up pour transmettre . Les maîtres dotés de capacités PTP intégrées à leur matériel réseau sont capables de présenter un horodatage précis dans le message de synchronisation et n'ont pas besoin d'envoyer de messages Follow_Up.

Afin de se synchroniser avec précision avec leur maître, les horloges doivent déterminer individuellement le temps de transit réseau des messages Sync . Le temps de transit est déterminé indirectement en mesurant le temps aller-retour de chaque horloge à son maître. Les horloges initient un échange avec leur maître destiné à mesurer le temps de transit . L'échange commence par une horloge envoyant un message Delay_Req à l'heure au maître. Le maître reçoit et horodatage le Delay_Req à temps et répond avec un message Delay_Resp . Le maître inclut l'horodatage dans le message Delay_Resp .

Grâce à ces échanges, une horloge apprend , , et .

Si est le temps de transit pour le message Sync , et est le décalage constant entre les horloges maître et suiveuse, alors

En combinant les deux équations ci-dessus, nous trouvons que

L'horloge connaît maintenant l'offset lors de cette transaction et peut se corriger de ce montant pour le mettre en accord avec son maître.

Une hypothèse est que cet échange de messages se produit sur une période de temps si petite que ce décalage peut être considéré en toute sécurité comme constant sur cette période. Une autre hypothèse est que le temps de transit d'un message allant du maître à un suiveur est égal au temps de transit d'un message allant du suiveur au maître. Enfin, on suppose que le maître et le suiveur peuvent mesurer avec précision le temps qu'ils envoient ou reçoivent un message. Le degré auquel ces hypothèses se vérifient détermine la précision de l'horloge au niveau du dispositif suiveur.

Caractéristiques optionnelles

La norme IEEE 1588-2008 répertorie l'ensemble de fonctionnalités suivant que les implémentations peuvent choisir de prendre en charge :

  • Échelle de temps alternative
  • Amas de Grand Maître
  • Maîtres monodiffusion
  • Maître suppléant
  • Trace de chemin

IEEE 1588-2019 ajoute des fonctionnalités supplémentaires en option et rétrocompatibles :

  • Horloges transparentes modulaires
  • Ports PTP spéciaux pour interfacer avec les transports avec distribution de temps intégrée
  • Unicast Delay_Req et Delay_Resp messages
  • Configuration manuelle des ports remplaçant BMCA
  • Étalonnage de l'asymétrie
  • Possibilité d'utiliser une référence de fréquence de couche physique (par exemple, Ethernet synchrone )
  • Isolation du profil
  • Interactions inter-domaines
  • TLV de sécurité pour le contrôle d'intégrité
  • Indicateurs de rapport de performance standard
  • Surveillance du port esclave

Initiatives connexes

  • Le Symposium international IEEE sur la synchronisation d'horloge de précision pour la mesure, le contrôle et la communication (ISPCS) est un événement annuel organisé par l'IEEE qui comprend un test de connexion et un programme de conférence avec des présentations sur papier et par affiche, des tutoriels et des discussions couvrant plusieurs aspects du PTP.
  • L'Institut des systèmes embarqués (InES) de l' Université des sciences appliquées de Zurich/ZHAW se penche sur la mise en œuvre et l'application pratiques du PTP
  • IEEE 1588 est une technologie clé dans la norme LXI pour la communication et le contrôle de test et de mesure
  • IEEE 802.1AS-2011 fait partie du groupe de normes IEEE Audio Video Bridging (AVB), élargi par le groupe de travail IEEE 802.1 Time-Sensitive Networking (TSN). Il spécifie un profil d'utilisation de IEEE 1588-2008 pour la synchronisation de l'heure sur un réseau local virtuel ponté (tel que défini par IEEE 802.1Q ). En particulier, 802.1AS définit comment IEEE 802.3 ( Ethernet ), IEEE 802.11 ( Wi-Fi ) et MoCA peuvent tous faire partie du même domaine de synchronisation PTP.
  • SMPTE 2059 -2 est un profil PTP à utiliser pour la synchronisation des systèmes multimédias de diffusion
  • La norme d'interopérabilité des réseaux audio AES67 comprend un profil PTPv2 compatible avec SMPTE ST2059-2.
  • Dante utilise PTPv1 pour la synchronisation.
  • Q-LAN et RAVENNA utilisent PTPv2 pour la synchronisation de l'heure.
  • Le projet White Rabbit combine Ethernet synchrone et PTP
  • Precision Time Protocol Industry Profile Profils PTP (L2P2P et L3E2E) pour l'automatisation industrielle dans la norme IEC 62439-3
  • Profil PTP IEC/IEEE 61850-9-3 pour l'automatisation de sous-stations adopté par IEC 61850
  • Utilisation du protocole de redondance parallèle des profils PTP (L2P2P et L3E2E) pour l'automatisation industrielle dans les réseaux parallèles
  • PTP est à l'étude pour être appliqué en tant que protocole de synchronisation de temps sécurisé dans la surveillance étendue des systèmes électriques

Voir également

Remarques

Les références

Liens externes