Bodet-Time
  • Accueil
  • Ressources
  • Blog
  • Comparaison des protocoles de synchronisation : IRIG vs. NTP vs. PTP
Comparaison des protocoles de synchronisation : IRIG vs. NTP vs. PTP

La synchronisation temporelle est une nécessité dans de nombreux domaines de l'informatique et des réseaux, notamment dans les systèmes critiques où la précision, la fiabilité et la sécurité sont primordiales et passent par le maintien de la cohérence temporelle entre tous les objets en jeu.

C’est parce que toutes les machines d’un système complexe seront synchronisées que ce dernier pourra coordonner des actions, assurer la cohérence des transactions et maintenir l'intégrité des données alors même qu’il est composé de systèmes distribués.

Aujourd’hui, trois protocoles de synchronisation se démarquent par leur utilisation et leur importance : IRIG (Inter-Range Instrumentation Group), NTP (Network Time Protocol) et PTP (Precision Time Protocol). Chacun de ces protocoles a été développé avec des objectifs spécifiques et présentent des caractéristiques distinctes qui les rendent plus ou moins adaptés à différentes applications. On vous explique tout.

Le protocole IRIG en quelques mots

IRIG n’est pas tant un protocole qu’un ensemble de normes (un standard) permettant l’envoi de trames d’horodatage via un courant électrique. A l’origine la norme IRIG est un projet de l’armée américaine, qui par la suite a été plus largement utilisé dans l’aérospatiale et la télémétrie. L’objectif de cette norme est de garantir une très grande précision de la synchronisation des données dans les systèmes où différents instruments et appareils doivent être parfaitement synchronisés.

Les signaux IRIG (des trames d’horodatage) portent des informations temporelles codées sous forme d'impulsions de différentes durées, permettant ainsi une très haute précision. Par construction la norme permet un transfert rapide et une grande précision, mais fonctionne sur de courtes distances même s’il existe des manières de faire passer des trames d’horodatage IRIG sur de la fibre optique et donc potentiellement de grandes distances.

Cela reste cependant à éviter car cela introduit alors un délai inconnu entre l’émission et la réception d’une trame rendant potentiellement impossible la synchronisation des différents équipements.

De fait, la synchronisation entre les différents équipements IRIG passe principalement par des câbles coaxiaux. Les serveurs IRIG peuvent utiliser leur propre horloge interne pour générer les trames d’horodatage mais la plupart du temps ils sont reliés à une source fiable de temps comme un GPS ou une horloge atomique. Envoyer les horodatages avec un encodage sur du courant directement, sur de courtes distances, permet de connaître très précisément le temps de transmission ainsi que le temps de résolution des équipements qui lisent les trames, offrant ainsi une très grande robustesse et précision.

Pour savoir plus sur NTP

Les grands principes du protocole NTP

Le Network Time Protocol (NTP) est un protocole de synchronisation basé sur UDP et utilisant le port 123. Dans le protocole NTP les rôles sont asymétriques : un ordinateur synchronise son horloge sur celle d’un serveur de référence.

La première formalisation du protocole date de 1985 avec la RFC 958. NTP en est aujourd’hui à la version 4 (RFC 5905) même si cette dernière peine encore à s’imposer face à la version 3 (RFC 1305) qui est largement majoritaire en termes d’utilisation. Entre la sortie de la version 3 et de la version 4, une version simplifiée de NTP a été mise en place : SNTP (Simple NTP). Le principe de SNTP est similaire, mais avec moins de contraintes sur les algorithmes à utiliser et aussi sur le nombre de sources sur lesquelles se synchroniser aux niveaux 0/1.

Le protocole NTP définit à la fois l’architecture du réseau à mettre en place, les messages à envoyer entre clients et serveurs et tout un ensemble d’algorithmes à utiliser par les clients pour réussir au mieux la synchronisation.

L’architecture d’un réseau NTP est arborescente. Tout en haut au niveau 0, appelée strate 0 dans l’architecture NTP, se trouve les horloges de référence (GPS, horloge atomique, etc.). Elles sont reliées au serveur de la strate 1 via des interfaces de type port série. Ensuite la strate i est reliée à la strate i+1 pour diffuser l’horodatage et permettre à la synchronisation de se poursuivre.

Les serveurs d’une même strate (homologues) peuvent être reliés entre eux pour pallier des problèmes de connexion avec la strate du dessus ou simplement pour se synchroniser entre eux.

Les serveurs NTP prennent donc alternativement les rôles de client et serveur en fonction de la strate avec laquelle ils discutent. La norme limite l’architecture à 16 strates mais en pratique la majorité des clients finaux sont situés entre les states 3 et 4.

NTP est prévu pour avoir une précision inférieure à la seconde. Cependant plus le numéro de strate grandit, donc plus on s’éloigne d’une horloge de référence, plus la précision faiblit, chaque strate pouvant générer un léger décalage. La version 4 est plus précise que les versions précédentes puisqu’elle permet de maintenir un décalage d’une machine connectée à travers internet sous les 10 ms et même maintenir un décalage inférieur à 200s entre machines d’un même réseau local.

Étant donné qu’il existe des serveurs NTP publics, il n’est pas indispensable de disposer d’un accès direct à une horloge de référence pour synchroniser son réseau grâce au protocole NTP. Cela reste cependant à éviter si en plus de la précision de la synchronisation on vise à obtenir la sécurité et fiabilité maximale.

Pour savoir plus sur NTP

Le protocole PTP en bref

Precision Time Protocol (PTP) est un protocole de synchronisation asymétrique (maître-esclave) qui diffuse un horodatage à travers un réseau pour assurer la synchronisation des équipements.

Sa précision théorique est de l’ordre de la nanoseconde, mais en pratique la précision obtenue est plutôt de l’ordre de la microseconde, ce qui en fait tout de même un protocole bien plus précis que NTP.

PTP est très récent puisque sa première version a été normalisée en 2002 (norme IEEE 1588-2002 de l’IETF), la deuxième en 2008 (IEEE 1588-2008) et la troisième (et actuelle) version en 2019. Son objectif est de remplacer NTP pour les cas où celui-ci n’est pas assez précis. A noter que la norme IEEE de 2002 n’est pas compatible avec les suivants de 2008 et 2019.

Techniquement, PTP est un protocole hiérarchique maître-esclave. Les serveurs PTP du milieu de la hiérarchie alternent entre les deux rôles. L’horloge maître au sommet de la hiérarchie est appelée grandmaster. Elle est traditionnellement connectée à une horloge de référence (horloge atomique ou GPS par exemple) et se charge de diffuser un message d’horodatage à l’ensemble du réseau. Toutefois, le protocole PTP ne force pas la connexion à une horloge de référence et le grandmaster peut simplement utiliser son horloge interne pour synchroniser tout le monde. Le grandmaster d’un réseau est sélectionné à l’aide d’un algorithme appelé le best master clock algorithm (BMCA).

Pour savoir plus sur PTP

Comparaison des différents protocoles

Comprendre les spécificités de chaque protocole permet de savoir quand utiliser le bon protocole pour la synchronisation temporelle de ses équipements.

NTP offre la précision la plus limitée mais ne requiert pas de matériel spécifique ou trop complexe pour fonctionner. En effet, même si cela est fortement déconseillé pour des raisons de sécurité, ce dernier peut se synchroniser, via internet, à des serveurs accessibles publiquement.

NTP s’avère donc être le bon choix si la précision n’est pas critique et si l’information horaire est transmise de façon sécurisée par un serveur de temps NTP local.

PTP ou IRIG quant à eux offre des niveaux de précision et de robustesse bien supérieurs mais requièrent pour fonctionner du matériel spécifique. En effet IRIG est basé sur de la modulation électrique : il est donc nécessaire d’avoir le matériel approprié pour encoder et réceptionner l’information temporelle. IRIG est le plus souvent utilisé dans des secteurs où la synchronisation temporelle est critique comme les applications militaires, l’aérospatiale ou encore les centrales électriques. Le protocole PTP quant à lui bénéficie également de matériel spécifique, notamment de cartes pour générer les horodatages et ainsi avoir une plus grande précision. Il est à privilégier dans les cas où la précision de la synchronisation est importante mais où l’on souhaite implémenter cette dernière sur du matériel réseau.

En effet IRIG se cantonne plus souvent à la synchronisation de réseau locaux. PTP est ainsi à privilégier pour les cas, comme la transmission de voix ou d’image ou le trading haute fréquence, où la synchronisation temporelle est très importante.

En conclusion, le choix du processus de synchronisation temporelle dépend des applications attendues.

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 horaire et du temps fréquence. La conception modulaire de nos serveurs de temps Netsilon s’adapte et évolue en fonction des besoins et applications et propose au choix, une synchronisation horaire IRIG, PTP et NTP.

Contactez-nous

Partagez l'article