Existen numerosos protocolos para sincronizar relojes dentro de una infraestructura de red. Los más comunes son los protocolos NTP y SNTP, pero cuando se necesita el nivel de precisión más elevado, se utiliza más bien el protocolo PTP (Precision Time Protocol).
El protocolo PTP fue introducido en 2002 en el estándar IEEE 1588 que ha conocido varias evoluciones desde entonces (la última versión del estándar data de 2019).
Uno de los componentes algorítmicos más importantes del protocolo PTP es el algoritmo BMCA (Best Master Clock Algorithm). BMCA permite determinar qué reloj, entre los disponibles dentro de la red, proporcionará el tiempo de referencia para toda la infraestructura.
¿Cómo funciona el algoritmo BMCA?
BMCA es un algoritmo distribuido de selección de líderes. Tiene como objetivo seleccionar un «Grandmaster Clock» es decir un reloj específico que servirá de referencia horaria para todos los demás.
Para ello, todos los relojes participan en un proceso de selección para identificar el reloj con la referencia horaria de mejor calidad. Esta calidad se evalúa según varios criterios, incluyendo:
- Un nivel de prioridad definido por el usuario, que puede así saltarse el algoritmo al elegir manualmente el Grandmaster Clock.
- La clase del reloj. Se trata de un criterio digital que permite caracterizar el nivel de calidad y de precisión del reloj. Por ejemplo, un servidor directamente conectado a un reloj de referencia (reloj atómico o GPS) se sitúa en la clase 6. Cuanto menor sea el valor de la clase, mayor será la prioridad del reloj en la selección del reloj de referencia. Los valores van de 6 a 255, siendo 248 el valor por defecto.
- La precisión del reloj (en nanosegundos).
- La estabilidad del reloj. Este indicador caracteriza la capacidad para mantener una hora precisa en un periodo de tiempo determinado.
- Un identificador único, como la dirección MAC de la tarjeta de red. Se utiliza para elegir entre relojes que tienen las mismas características.
El reloj definido como reloj de referencia será el que tendrá la mejor calidad, es decir, el que tiene los mejores criterios según el mecanismo que se ilustra a continuación:
Una vez seleccionado el reloj de referencia, su información se difunde por la red, para que todos los relojes se sincronicen con este reloj de referencia.
¿Cuándo está activo el algoritmo BMCA?
El algoritmo de selección se activa al iniciarse la red. Sin embargo, no se trata del único momento en el que se utiliza el algoritmo BMCA.
BMCA también está activo cuando el reloj de referencia presenta un fallo (corte, pérdida de sincronización con su fuente de tiempo, etc).
Además, la red revalúa continuamente el estado del reloj de referencia usando el BMCA, lo que le permite garantizar que sigue siendo la mejor referencia horaria. En práctica, es el reloj de referencia el que desempeña este papel al transmitir constantemente mensajes que contienen sus propias características. Cuando un reloj tiene mejores características, empieza a transmitirlas para «desafiar» al reloj de referencia y convertirse en el nuevo reloj de referencia.
¿Qué papel desempeñan los algoritmos BMCA alternativos?
El algoritmo BMCA estandarizado en la norma IEEE 1588 puede adaptarse para definir características diferentes con el fin de elegir el reloj de referencia.
Por ejemplo, es posible crear un algoritmo BMCA que favorezca la estabilidad en el tiempo en vez de una precisión inmediata, o una variante que ofrezca una mejor resistencia contra los fallos (especialmente para las redes sujetas a numerosas averías).
Se utiliza el protocolo PTP junto con el algoritmo BMCA en diversas aplicaciones en las que la sincronización es esencial. Para responder a las necesidades específicas y asegurar la interoperabilidad de los sistemas, un perfil define un conjunto de parámetros y de opciones adecuados para la precisión y la estabilidad que se requieren.
Las aplicaciones
BMCA se usa en varios sectores de actividad que requieren una hora precisa y sincronizada, tales como:
El transporte: para asegurar la seguridad y la eficiencia continua de las operaciones, los sistemas de señalización y de gestión del tráfico deben implementar los perfiles siguientes:
- IEEE 1588v2 Perfil por defecto
- IEEE 1588v1 Perfil por defecto
Las telecomunicaciones: para asegurar una transmisión de información coherente, minimizar la latencia y optimizar la calidad de servicio, las comisiones de estudio UIT han definido los siguientes perfiles Telecom:
- ITU-T G.8265.1 Perfil frecuencia
- ITU-T G.8275.1 Perfil tiempo/fase
- ITU-T G.8275.2 Perfil tiempo/fase
La energía: para coordinar y supervisar la producción, la distribución y el consumo de energía de manera eficaz, las instituciones normativas IEEE e IEC han definido los siguientes perfiles:
- C37.238 :2011 Perfil Power
- C37.238 :2017 Perfil Power
- IEC 61850 9-3 Perfil Utility
Broadcast: para garantizar la exactitud de las señales de audio y vídeo, las industrias de radiodifusión y de difusión en directo dependen de la sincronización directa de los equipos. En este caso, se recomienda usar el siguiente perfil:
- ST 2059-2:2021 Perfil SMPTE
- AES67 Perfil Media
La industria: Se necesita una sincronización horaria para lograr una fabricación automatizada de alta velocidad y una gestión coherente de los datos de producción. Por ello, se utiliza el siguiente perfil:
- IEEE802.1AS Perfil TSN (Time Sensitive Network)
Con más de 150 años de experiencia en gestión del tiempo y presente en más de 140 países, Bodet Time es un líder francés en sincronización horaria y en tiempo frecuencia. Los relojes PTP Netsilon proporcionan una hora de referencia segura y reconocida en el sector del transporte aéreo y ferroviario, en el sector sanitario y de la industria.