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

¿Cómo optimizar el funcionamiento y la seguridad de un sitio industrial?

En una línea de producción, los diferentes puestos de trabajo se vuelven cada vez más automatizados para mejorar la rentabilidad y la productividad de una empresa. Los empleados tienen que seguir una secuencia de etapas precisa, a la vez de seguir y respetar sus horarios de trabajo, en completa seguridad.

Análisis comparativo de los osciladores: MEMS vs TCXO vs OCXO vs RUBIDIO

Los osciladores son componentes imprescindibles para los mecanismos de sincronización horaria. Marcan el paso del tiempo y aseguran la calidad de los relojes de un sistema. Cuanto más preciso es un oscilador, menos desfase sufrirá el reloj en el tiempo. Sin embargo, no existe un tipo de oscilador idóneo para todos los casos.

Los principios esenciales de una sincronización horaria en la red

Hoy en día, es poco frecuente encontrar una aplicación en la que sólo intervenga una sola máquina. La mayoría de las tareas llevadas a cabo implican la comunicación entre diferentes equipos. A partir del momento en el que máquinas deben comunicar entre sí, es importante que sus relojes estén sincronizados para que puedan ponerse de acuerdo sobre el orden y la duración de los eventos.