blog - Precision time protocol

¿Qué es el protocolo PTP (Precision Time Protocol)?

El protocolo PTP (Precision Time Protocol), tal como definido en la norma IEEE-1588, ofrece la posibilidad de sincronizar dispositivos de manera precisa en una red local (LAN). Un servidor de tiempo de red utilizando el PTP se suele llamar «IEEE-1588 Grandmaster» o «PTP Grandmaster».

Necesidades & aplicaciones

Para sincronizar relojes distribuidas a través de una red local (LAN), los protocolos NTP (Network Time Protocol) y SNTP (Simple Network Time Protocol) constituyen los métodos más conocidos para alcanzar un nivel de precisión de milisegundos. Sin embargo, en el caso de varias redes como en el sector de la industria, sanitario y del transporte, la sincronización horaria de los equipos necesita un nivel de precisión aún más importante. Así, se requiere utilizar el protocolo PTP para todos los procesos requiriendo una sincronización precisa, tales como los sistemas automatizados y de control, los sistemas de medición y de pruebas automáticas, los centros de producción, de transmisión y de distribución de energía, así como las telecomunicaciones.

¿Cómo funciona el protocolo PTP?

Una solución sencilla para sincronizar los relojes presentes en una red Ethernet podría consistir en enviar una trama (un mensaje) que contiene la información horaria del reloj principal hacia los relojes secundarios. Una vez recibida la trama, los relojes secundarios se ajustarían al valor transmitido por el reloj principal. Sin embargo, el tiempo necesario para el tránsito de una trama puede verse afectado por retrasos de propagación en la red, por retrasos provocados por la puesta en cola de los procesos, la creación de mensajes IP y la latencia. Esto significa que, en el momento en el que los relojes secundarios reciben finalmente la trama, el valor transmitido en esta trama ya no es representativa de la información horaria exacta que se ha proporcionado inicialmente por el reloj principal. El protocolo PTP resuelve estos problemas al utilizar intercambios de mensajes con marca de tiempo entre los diferentes nodos PTP para determinar los desfases de reloj y los retrasos inherentes al funcionamiento de una red.

El protocolo PTP define dos tipos de relojes: los relojes principales y secundarios. Un reloj en un dispositivo terminal se denomina secundario. Un reloj principal se controla por un reloj radio externo o un receptor GPS. Sincroniza los relojes secundarios a los que está conectado. La red también incluye componentes de transmisión, como un conmutador Ethernet con la función de «Boundary Clock». El «Boundary Clock» es un equipo secundario del reloj principal, que sin embargo desempeña el papel de reloj principal para los relojes secundarios (dispositivos terminales) a los que sirve como transmisor en la red. Cada dispositivo secundario se sincroniza en tiempo, frecuencia y fase con el reloj principal, y también se sincroniza con todos los otros nodos secundarios.

¿Cuáles son los principios de la sincronización PTP?

El protocolo PTP define los mensajes de sincronización utilizados entre un reloj principal y un reloj secundario, de manera similar al modo cliente-servidor que se utiliza en el protocolo NTP. (antes se hablaba más bien de modo maestro-esclavo). El reloj principal proporciona la información horaria y el reloj secundario se sincroniza con él. Un reloj principal denominado «Grandmaster» se sincroniza por un fuente horaria de referencia como el GPS.

Los mensajes del protocolo incluyen el mensaje de sincronización del reloj principal (sync message), el mensaje de seguimiento (sync follow up message) en modo Two Step, el mensaje de solicitud de retraso del reloj secundario (delay request message) y el mensaje de respuesta al retraso del reloj principal (delay response message).

La sincronización de un reloj mediante LAN requiere al menos un dispositivo principal y otro secundario. Se pueden sincronizar varios relojes secundarios con un único reloj principal. El reloj principal proporciona los mensajes de sincronización horaria que los dispositivos secundarios utilizan para corregir sus relojes locales.

Marcas de tiempo precisas son efectivas entre el reloj principal y los relojes secundarios. Estas marcas de tiempo se utilizan para determinar la latencia de red necesaria para sincronizar correctamente el dispositivo secundario con el reloj principal. Un mensaje de sincronización (sync message) se suele transmitir cada dos segundos por el reloj principal, mientras que un mensaje de solicitud de retraso se emite con menos frecuencia por el reloj secundario (aproximadamente una solicitud por minuto).

Cuatro relojes son efectivos entre el reloj principal y los relojes secundarios. Estas marcas de tiempo son necesarias para calcular el desfase del reloj secundario. Estos últimos se suelen denominar T1, T2, T3 y T4 (véase el esquema a continuación).

The different types of messages

Se deben determinar dos causas de desfase: la primera es el desfase inicial entre el reloj principal y el reloj secundario. La segunda es el tiempo de transmisión de los mensajes entre el reloj principal y el reloj secundario.

Primero, se determina el desfase inicial: 
Para determinar el desfase inicial, el reloj principal envía un mensaje de sincronización al momento T1. El reloj secundario recibe este mensaje al momento T2 (valor conservado en la memoria del reloj secundario). En modo Two Step, el reloj principal envía un segundo mensaje (sync follow up) que contiene la marca de tiempo del T1.

Entonces, el reloj secundario corrige su reloj local del valor: T2 – T1. Tras está corrección, ambos relojes sólo sufren un desfase por el tiempo que necesita el mensaje de sincronización para alcanzar el reloj secundario. Esta duración se denomina el tiempo de transmisión

Para determinarlo, el reloj secundario envía una solicitud (delay request) al reloj principal al momento T3. Entonces, el reloj principal transmite al reloj secundario la hora de llegada (T4) de su mensaje de solicitud.

El desfase entre T3 y T4 se debe al tiempo de transmisión del mensaje de solicitud, al que se añade el tiempo de transmisión del mensaje de sincronización previo que había creado un desfase antes de que se enviará el mensaje de solicitud. El valor de T4 - T3 representa entonces 2 veces el tiempo de transmisión.

El reloj secundario corrige su reloj local con el valor del tiempo de transmisión: (T4 – T3) / 2. El reloj principal y el reloj secundario ya están sincronizados.

Blogs similares

¿Cuáles son las buenas prácticas para proteger un servidor de tiempo Netsilon?

Los servidores de tiempo no son equipos o servidores con múltiples aplicaciones tradicionales. Al contrario, los servidores de tiempo tienen una función única y muy específica: distribuir una hora fiable y precisa.

A continuación se presentan las etapas recomendadas para mejor proteger un servidor de tiempo Netsilon en una red privada, instalada detrás de un cortafuegos.

El protocolo NTP y las soluciones Bodet

El protocolo NTP (Network Time Protocol) se suele utilizar en mayoría en las redes locales (LAN) y extendidas (WAN) para sincronizar los relojes de los ordenadores a la hora de referencia. El NTP identifica un servidor de tiempo de referencia en la red informática para transmitir una hora exacta, fiable y precisa a todos los clientes NTP que lo necesitan.

Bodet proporciona soluciones completas y dispositivos que pueden sincronizarse con NTP: servidores de tiempo NTP, relojes analógicos y digitales NTP.

Conocer los distintos sistemas de satélites

Para la mayoría de nosotros, los satélites GNSS (Global Navigation Satellite System) son equipos que se desplazan alrededor de la Tierra. Mientras funcionan correctamente, nadie se pregunta qué satélite le proporciona la hora o su ubicación.

Sin embargo, ninguno de estos sistemas de satélites son idénticos y en el marco de un uso profesional, es importante conocer sus diferencias.