Bodet-Time
  • Accueil
  • Ressources
  • Blog
  • Qu’est-ce que l’algorithme BMCA dans PTP ?
Qu’est-ce que l’algorithme BMCA dans PTP ?

Il existe de nombreux protocoles pour synchroniser des horloges au sein d’une infrastructure réseau. Les plus répandus sont NTP et SNTP, mais lorsqu’il est nécessaire d’avoir le plus grand niveau de précision possible, c’est le protocole PTP (Precision Time Protocol) qui est choisi.

PTP a été présenté en 2002 via la norme IEEE 1588 qui a connu de nombreuses évolutions depuis (la dernière version de la norme date de 2019).

L’une des briques algorithmiques les plus importantes de PTP est l'algorithme BMCA (Best Master Clock Algorithm). BMCA permet de déterminer quelle horloge, parmi celles disponibles au sein du réseau, fournira le temps de référence pour toute l’infrastructure.

Comment fonctionne l’algorithme BMCA ?

BMCA est un algorithme distribué de sélection de leader. Il vise à faire émerger une Grandmaster Clock, c’est-à-dire une horloge spécifique, qui servira de référence temps pour toutes les autres.

Pour cela, toutes les horloges vont participer à un processus de sélection pour identifier celle qui a la meilleure qualité de temps. Cette qualité est évaluée selon plusieurs critères, parmi lesquels :

  • Un niveau de priorité défini par l’utilisateur, qui peut ainsi contourner l’algorithme en fixant manuellement le Grandmaster Clock.
  • La classe de l’horloge. Il s’agit d’un critère numérique qui permet de caractériser le niveau de qualité et de précision de l’horloge. Par exemple, un serveur directement relié à une horloge de référence (horloge atomique ou GPS) sera dans la classe 6. Plus la valeur de la classe est petite plus l’horloge est prioritaire dans la sélection de l’horloge de référence. Les valeurs possibles vont de 6 à 255, 248 étant la valeur par défaut.
  • La précision de l’horloge (en nanosecondes).
  • La stabilité de l’horloge. Cet indicateur caractérise la capacité à maintenir un temps précis sur une période de temps donnée.
  • Un identifiant unique, comme l’adresse MAC de la carte réseau. Il est utilisé pour départager des horloges qui ont les mêmes caractéristiques par ailleurs.

L’horloge définie comme horloge de référence sera celle avec la meilleure qualité, c’est-à-dire, celle ayant les meilleurs critères comparés selon le mécanisme illustré ci-dessous :

Comparaison des attributs dans l'ordre croissant

Une fois l'horloge de référence sélectionnée, les informations la concernant sont diffusées à travers le réseau, permettant à chaque horloge de se synchroniser précisément avec elle.

A quel moment le BMCA est-il actif ?

L’algorithme de sélection est actif au démarrage du réseau. Mais ce n’est pas l’unique moment où l’algorithme BMCA est utilisé.

BMCA est également actif lorsque l’horloge de référence rencontre une défaillance (coupure, perte de synchronisation avec sa source de temps, etc.).

Par ailleurs, le réseau réévalue continuellement l'état de l'horloge de référence avec le BMCA. Ce qui permet de s'assurer qu’elle reste la meilleure source de temps. Dans la pratique, c’est l’horloge de référence qui assure ce rôle en diffusant en permanence des messages contenant ses propres caractéristiques. Lorsqu’une horloge a de meilleures caractéristiques, elle se met à les diffuser pour « challenger » l’horloge de référence et devenir, à son tour, horloge de référence.

Quel est le rôle des BMCA alternatifs ?

L’algorithme BMCA standardisé dans la norme IEEE 1588 peut être adapté pour définir des caractéristiques différentes dans le choix de l’horloge de référence.

On peut, par exemple, créer un BMCA favorisant la stabilité dans le temps plutôt que la précision immédiate, ou encore une variante permettant une meilleure robustesse aux défaillances (notamment pour les réseaux sujets à de nombreuses pannes).

Le protocole PTP avec l’algorithme BMCA est utilisé dans diverses applications où la synchronisation est cruciale. Pour répondre aux besoins spécifiques métier et permettre l’interopérabilité des systèmes, un profil définit le jeu de paramètres et d’options adaptés à la précision et stabilité exigées.

Les applications

BMCA est utilisé dans de nombreux secteurs d’activités ayant recours à un temps précis et synchronisé, dont notamment :

Transport : pour maintenir la sécurité et l’efficacité des opérations, les systèmes de signalisation, et de gestion du trafic requièrent la mise en œuvre des profils suivants :

  • IEEE 1588v2 Profil par défaut
  • IEEE 1588v1 Profil par défaut

Télécommunications : pour assurer une transmission d’informations cohérente, minimiser la latence, et optimiser la qualité des services, les commissions d’études UIT ont défini les profils Telecom suivants :

  • ITU-T G.8265.1 Profil fréquence
  • ITU-T G.8275.1 Profil temps/phase
  • ITU-T G.8275.2 Profil temps/phase

Energie : pour coordonner et surveiller efficacement la production, la distribution et la consommation d’énergie, les institutions normatives IEEE & IEC ont défini les profils suivants :

  • C37.238 :2011 Profil Power
  • C37.238 :2017 Profil Power
  • IEC 61850 9-3 Profil Utility

Broadcast : pour garantir l’exactitude des signaux audio et vidéo, les industries de la radiodiffusion et de la diffusion en direct dépendent de la synchronisation précise des équipements. Dans ce cadre, le profil suivant est recommandé :

  • ST 2059-2:2021 Profil SMPTE
  • AES67 Profil Media

Industrie : pour atteindre une fabrication automatisée de haute cadence et une gestion cohérente des données de production, la synchronisation temporelle est indispensable. Elle se décline sous la forme du profil ci-dessous :

  • IEEE802.1AS Profil TSN (Time Sensitive Network)

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. Les horloges PTP Netsilon fournissent un temps de référence sécurisé reconnu dans les domaines du transport aérien et ferroviaire, de la santé et de l’industrie.

Contactez-nous

Partagez l'article