PTP (Precision Time Protocol) es un protocolo de sincronización horaria que permite asegurarse que todos los relojes de una misma red estén sincronizados correctamente con el menor retraso posible. Para ello, el protocolo PTP transmite la hora de un reloj de referencia, que suele ser un reloj atómico o un GPS.
El protocolo PTP ha sido estandarizado bajo el nombre IEEE-1588. Su primera versión ha sido publicada en 2002. Ha sido creado para ofrecer una mayor precisión que los protocolos existentes (NTP Network Time Protocol, en particular). PTP ofrece una precisión teórica de nanosegundos en las redes LAN.
A diferencia de NTP, el PTP se basa en marcas de tiempo de hardware, lo que requiere un equipo específico para funcionar, pero que permite alcanzar un nivel de precisión muy elevado. El estándar IEEE-1588 ha sido revisado varias veces, especialmente en 2008 para estandarizar la segunda versión del PTP (la versión más utilizada hoy en día).
Está segunda versión no es compatible con la primera versión del protocolo. La versión más reciente del estándar IEEE-1588 ha sido publicada en 2019. No se trata de una versión principal pero es compatible con la versión de 2008. Está versión introduce mejoras como la gestión de múltiples dominios.
Los diferentes tipos de relojes
En un dominio PTP, los diferentes relojes que deben sincronizarse entre sí no desempeñan el mismo papel. De hecho, el protocolo PTP funciona en modo maestro-esclavo. Los relojes no se sincronizarán con la hora de la red pero más bien con un reloj patrón. El reloj patrón (Master Clock o Grand Master Clock) transmite su sellado de tiempo a los relojes esclavos (Slave Clock). Los miembros de un dominio PTP empiezan por seleccionar un reloj patrón mediante el algoritmo BMCA (Best Master Clock Algorithm). Se puede elegir un reloj patrón periódicamente dentro de un dominio PTP, ya sea después del fallo del reloj patrón, o cuando un reloj esclavo considera que es más cualificado para desempeñar este papel.
Además de los relojes patrón y esclavos, una red PTP suele implementar routers, conmutadores o pasarelas que son de dos tipos. El primer tipo es el reloj transparente (Transparent Clock). Un reloj transparente suele ser un equipo de red situado entre un reloj patrón y un reloj esclavo. En vez de dejarse atravesar por los paquetes PTP, estos servidores de tiempo específicos calcularán el tiempo necesario para que los paquetes los atraviesen y ajustarán las marcas de tiempo para permitir un mejor cálculo de los retrasos y así una mejor precisión.
El segundo tipo es el reloj de frontera (Boundary Clock). Un reloj de frontera es un reloj que desempeña tanto el papel de reloj patrón como de reloj esclavo. Se sincroniza con otro reloj patrón y actúa después como reloj patrón para sincronizar un conjunto de relojes esclavos en la red. Esto permite reducir la distancia entre los relojes esclavos y el reloj patrón así como reducir el número de solicitudes por parte de los relojes esclavos. Al reducir la distancia entre los relojes esclavos y el reloj patrón, los relojes de frontera reducen los retrasos y mejoran la precisión de la sincronización horaria de la red.
Los diferentes tipos de funcionamiento
A partir de la segunda versión del protocolo PTP, existen dos tipos de funcionamiento para calcular los retrasos: End-to-End o Peer-to-Peer.
En modo End-to-End, los retrasos se calculan globalmente entre los relojes esclavos y los relojes patrón mientras que en modo Peer-to-Peer, los retrasos se calculan para cada enlace. El modo Peer-to-Peer permite evaluar los retrasos de forma más precisa, pero requiere hardware específico para funcionar. El modo End-to-End funciona independientemente del hardware utilizado en la red PTP, lo que le hace más robusto.
También existen otros dos modos: los modos one-step y two-step.
La diferencia depende del hardware utilizado para los relojes que necesitan marcar la hora de sus mensajes. Cuando el hardware puede modificar un mensaje que incluye la marca de tiempo del momento en que se envío, directamente en el mensaje, se refiere al modo one-step. Cuando no lo permite, los relojes están en el modo two-step. Es posible utilizar ambos modos dentro de una misma red PTP.
Los diferentes tipos de mensajes
Para obtener una sincronización horaria de alta precisión, los relojes transmiten diferentes tipos de mensajes de sincronización. A continuación se muestra la lista no exhaustiva de los principales mensajes que pueden intercambiar equipos de una red PTP para la sincronización horaria:
- Announce: Se trata de los mensajes intercambiados para elegir un reloj patrón. Los miembros de la red transmiten sus características entre sí y eligen el reloj patrón más adecuado.
- Sync: El reloj patrón envía estos mensajes a los relojes esclavos para que se sincronicen.
- Follow_Up: Puede enviarse justo después de un mensaje Sync si el reloj patrón no ha podido incluir la marca de tiempo del mensaje en el propio mensaje. En este caso, el mensaje Follow_Up contiene la marca de tiempo del mensaje de sincronización.
- Delay_Req: El reloj esclavo envía este mensaje para calcular el periodo de transmisión de ida y vuelta para poder sincronizarse con el reloj patrón. Este mensaje se utiliza en modo End-to-End.
- Delay_Resp: El reloj patrón responde al reloj esclavo para que pueda calcular el retraso de manera eficaz. Este mensaje se utiliza en modo End-to-End.
- PDelay_Req: Se envía este mensaje para calcular el retraso de un enlace. Se utiliza con el modo Peer-to-Peer.
- PDelay_Resp: Se envía este mensaje en respuesta a un mensaje PDelay_Req para calcular el retraso de un enlace. Se utiliza con el modo Peer-to-Peer.
Los dominios
Los dominios PTP son un conjunto de relojes sincronizados entre sí. Se excluyen a menudo de las presentaciones de PTP puesto que la mayoría de las organizaciones utilizan un sólo dominio. Los dominios no se excluyen entre sí. De hecho, un reloj puede pertenecer a varios dominios, y un reloj que pertenece a varios dominios no está obligado a desempeñar el mismo papel en cada dominio. Así, un reloj puede ser esclavo en un dominio y patrón en otro. La gestión de una red PTP con múltiples dominios resulta compleja pero permite tener una sincronización adecuada para cada uso.
PTP en el sector de la industria
PTP ofrece excelentes garantías de precisión para la sincronización horaria. Por tanto, se utiliza en industrias que necesitan una sincronización: redes audio/vídeo, transacciones financieras, redes móviles, etc.
Los sectores más susceptibles de utilizar el PTP han definido perfiles (configuraciones) con el fin de responder a sus necesidades específicas:
- Por ejemplo, el sector de las telecomunicaciones ha definido 3 estándares intitulados G.8265.1 (Perfil frecuencia), G.8275.1 y G.8275.2 (Perfil tiempo/fase). Cada perfil responde a una necesidad específica de estas redes.
- El sector de la energía ha especificado los 3 perfiles siguientes: C37.238: 2011 y C37.238: 2017 (Perfil Power) e IEC 61850 9-3 (Perfil Utility)
- El sector de la industria ha definido los perfiles IEEE 1588v2 (Perfil por defecto) e IEEE802.1AS (Perfil TSN: Time Sensitive Network)
- Los perfiles SMPTE ST2059-2 y Media AES67 se utilizan más bien en las redes profesionales de difusión. El perfil SMPTE cumple con el estándar ST 2110 y define los ajustes de la red PTP para alcanzar una precisión inferior a una trama, lo que permite protegerse al máximo contra los problemas de sincronización durante la difusión de contenidos de vídeo o de audio.
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 servidores de tiempo PTP Netsilon proporcionan una hora de referencia fiable, precisa y que responde a las necesidades de los sectores aéreos, ferroviarios, industriales, de la energía y de la difusión.