Protocolo de tiempo de precisión (PTP)
PTP (Protocolo de Tiempo de Precisión) es un protocolo utilizado para sincronizar relojes a través de una red basada en paquetes. Se utiliza para proporcionar una hora altamente precisa y fiable a través de redes de área local o amplia para diversos sistemas y aplicaciones. El PTP se define en la norma IEEE 1588.
Enlaces rápidos
1. 1. Principio de sincronización - PTP
1.2 Sincronización - Ajuste de la frecuencia de los esclavos al maestro
1.3 Sincronización - Ajuste de la frecuencia de los esclavos al maestro
1.4 Sincronización de un cliente PTP
2. Posibilidades de configuración
2.3 Configuración de multidifusión y unidifusión
2.4 Capa 2 y capa 3
2.5 Configuración de 1 paso y 2 pasos
2.6 Intervalos y tiempos de espera de los mensajes
3. Perfiles Perfiles
4. Preguntas frecuentes sobre PTP
1. Principio de sincronización - PTP
Para adaptar su hora a la del maestro, el esclavo necesita corregir a valores. Primero el esclavo corrige su desviación de reloj (Sintonización) y después adapta su hora determinando el desfase en función de la duración de la transmisión (Sincronización)
1.2 Sintonización - Ajuste de la frecuencia de los esclavos al maestro
Antes de la sincronización horaria, el esclavo utiliza los mensajes de sincronización consecutivos para sintonizarse con el maestro (alinear su frecuencia). La diferencia entre dos marcas de tiempo consecutivas t1 le está indicando al esclavo el intervalo de mensajes de sincronización del maestro. Con sus propias marcas de tiempo t2 es ahora capaz de calcular y compensar su desviación de reloj. Este procedimiento se repite regularmente para compensar las variaciones de frecuencia a lo largo del tiempo debidas a las condiciones ambientales u otros cambios.
1.3 Sincronización - Ajuste la frecuencia de los esclavos a la del maestro
Para sincronizar la hora de un esclavo PTP se utiliza el proceso aquí mostrado. El maestro lo inicia enviando un mensaje de sincronización (y lo sigue en modo de dos pasos). A continuación, el esclavo envía la solicitud de retardo y recibe de vuelta la respuesta de retardo. Con estos mensajes, el esclavo recoge las cuatro marcas de tiempo t1 a t4, que le permiten calcular su desfase y adaptar su hora a la del maestro. La clave de la exactitud del PTP es la precisión de esas cuatro marcas de tiempo, para lo que se requiere un sellado de tiempo por hardware.
1.4 Sincronización de un cliente PTP
La norma no define cómo corrige el esclavo su reloj interno. Existen dos opciones:
1. Transición suave: El esclavo acelera o ralentiza su reloj hasta que se alinea con el tiempo del maestro.
2. Paso inmediato: El esclavo ajusta la hora a la del maestro (salto hacia delante o hacia atrás).
Depende de la aplicación, qué comportamiento se utilice. Si no está permitido tener saltos temporales (por ejemplo, por razones de registro), se requiere una transición suave. Por otro lado, si la alineación rápida es importante, es mejor tener un salto y luego inmediatamente el tiempo correcto.
2. Posibilidades de configuración
2.1 Modo de medición del retardo - De extremo a extremo (E2E)
Este mecanismo de retardo requiere que el Esclavo mida el retardo entre él mismo y el Maestro (por tanto, de extremo a extremo). El Maestro y el Esclavo envían mensajes IEEE 1588 llamados DELAY REQUEST y DELAY RESPONSE de ida y vuelta entre ambos, lo que permite medir el retardo. Una vez conocido el retardo, el Esclavo puede ajustar su frecuencia y tiempo para sincronizarse con el Maestro.
Idealmente, el retardo entre el maestro y el esclavo es constante, por ejemplo cuando se utiliza un cable. En una red del mundo real, hay dispositivos de Capa 2 y/o Capa 3 entre ambos que hacen que el retardo sea variable. Si los dispositivos de red situados entre el maestro y el esclavo funcionan como un reloj transparente, añaden valores de corrección a determinados mensajes PTP, lo que ayuda al esclavo a eliminar este retardo variable.
2.2 Entre iguales (P2P)
Este mecanismo de retardo requiere que cada elemento de la red mida el retardo entre su puerto de entrada y el dispositivo conectado en el otro extremo del cable de este puerto de entrada (el dispositivo homólogo). A medida que el Maestro envía su visión del tiempo (mediante mensajes SYNC) hacia el/los Esclavo(s), cada elemento de red a lo largo del camino recibe el mensaje SYNC y añade una corrección al mensaje SYNC. La corrección incluye el retardo de cable medido del puerto de entrada en el que se recibió el mensaje SYNC. Para los relojes transparentes, la corrección también incluye el retardo a través del puente. Esta corrección es acumulativa a medida que atraviesa los nodos salto a salto. Cuando el mensaje SYNC llega finalmente a un Esclavo, la corrección acumulativa en el mensaje SYNC contendrá el retardo total desde el Maestro al Esclavo. Esto evita que el Esclavo tenga que enviar mensajes de ida y vuelta con el Maestro. Peer-to-Peer es una tecnología IEEE 1588 más reciente, y no todos los dispositivos desplegados hoy en día soportan Peer-to-Peer.
2.3 Configuración de multidifusión y unidifusión
Originalmente, el PTP se define como multidifusión. El BMCA utiliza mensajes multicast para encontrar al Gran Maestro y sólo con multicast, el esclavo es capaz de encontrar al maestro por sí mismo sin necesidad de configuración por parte del usuario.
Multidifusión
✅ Autoconfiguración con BMCA
❌ Algunas redes bloquean la multidifusión
Unicast
✅ menos tráfico de red
❌ se necesita una configuración previa de los maestros
2.4 Capa 2 y capa 3
2.5 Configuración en 1 y 2 pasos
La clave de la precisión de IEEE 1588 es la capacidad de estampar la hora de los mensajes PTP lo más cerca posible de la entrada y salida de la interfaz física. La alta precisión sólo es posible si se utiliza hardware para capturar las marcas de tiempo. Se utilizan dos tipos de modos de sellado de tiempo, de 1 paso y de 2 pasos:
Modo de 1 paso:
La marca de tiempo se captura en tiempo real cuando el mensaje empieza a transmitirse por el puerto físico y a medida que el mensaje se transmite la marca de tiempo se añade sobre la marcha.
Modo de 2 pasos:
La marca de tiempo se captura en tiempo real cuando el mensaje empieza a transmitir por el puerto físico, pero la marca de tiempo no se añade sobre la marcha a este mensaje. En su lugar, se utiliza un mensaje secundario para llevar la marca de tiempo capturada. Las implementaciones más antiguas de IEEE 1588v2 utilizaban el modo de sellado de tiempo en 2 pasos, ya que el hardware era incapaz de añadir la marca de tiempo sobre la marcha. La mayoría de las implementaciones modernas admiten el modo de sellado de tiempo de 1 paso.
3-Mejor Algoritmo de Reloj Maestro:
En un dominio PTP todos los nodos escuchan el llamado mensaje de "Anuncio":
Un mensaje de Anuncio contiene información de calidad y prioridad del Reloj que lo envía
- Cuando no se recibe ningún mensaje de " Anuncio " durante un intervalo definido, los nodos se convierten en Maestros y comienzan a enviar sus propios mensajes de "Anuncio".
- Si un nodo recibe un mensaje "Anunciar" que es mejor por su calidad, el nodo deja de enviar mensajes "Anunciar" y se convierte en Esclavo
- Si un nodo recibe un mensaje "Anunciar" que es peor por su calidad, el nodo permanece en Maestro y continúa enviando mensajes "Anunciar" en un intervalo definido
- Cuando la red ha determinado cuál es el mejor nodo de la red, éste es el único que envía mensajes de Anuncio => 1 Maestro, N Esclavos
- Este algoritmo se ejecuta todo el tiempo, lo que significa que si otro nodo se vuelve mejor o el Maestro actual se vuelve peor que otro nodo la topología cambia
- Este algoritmo se denomina Algoritmo del Mejor Reloj Maestro (BMCA)
2.6 Intervalos y tiempos de espera de los mensajes
PTP define tres intervalos diferentes, que pueden configurarse para los distintos tipos de mensajes (descritos en el capítulo 1):
Intervalo de anuncio:
El intervalo para el mensaje de anuncio es configurable desde 2-7 hasta27 segundos.
Con este intervalo, el mensaje de anuncio puede enviarse desde 128 veces por segundo hasta una vez cada 128 segundos.
Si no se define de otro modo, se utiliza el ajuste 1, en el que se envían mensajes de anuncio cada 2 segundos.
Intervalo de sincronización
Para el intervalo de sincronización se puede configurar el mismo rango que para el mensaje de anuncio.
Se utiliza el ajuste por defecto 0, en el que se envían mensajes de sincronización cada segundo.
Intervalode solicitud de retardo
Para el intervalo de solicitud de retardo se puede configurar el mismo rango que para el mensaje de anuncio.
Se utiliza el ajuste predeterminado 0, en el que se envían mensajes de solicitud de retardo cada segundo.
3. Perfiles
Un perfil PTP es una selección de características y valores de atributos opcionales. El propósito de un perfil es establecer restricciones sobre los posibles atributos PTP para simplificar la interoperabilidad entre diferentes dispositivos PTP en una determinada aplicación.
IEEE 1588 ha definido dos perfiles PTP por defecto:
- Por defecto E2E:
Sincronización de extremo a extremo en la capa 3 (véase el capítulo 2.3) - P2P por defecto:
Sincronización Peer-to-Peer en Capa 2 (véase el capítulo 2.4)
Las diferentes industrias definen otros perfiles para sus aplicaciones específicas.
Industrias eléctricas:
IEEE 61850-9-3(Perfil de utilidad eléctrica), EEE C37.238 (perfil de potencia)
Perfil Telecom:
Perfil de frecuencia definido en ITU-T G.8265.1, Perfil de fase definido en ITU-T G.8275.1 & G.8275.2
Emisión:
SMPTE ST 2059-2 2015
TSN (difusión, automatización):
IEEE 802.1AS
4. Preguntas frecuentes sobre PTP
La principal diferencia radica en la precisión alcanzable de la sincronización. Cuando se utilizan marcas de tiempo por software, como suele ocurrir en el modo sólo software, se puede lograr una precisión de sincronización para los dispositivos esclavos del orden de 10 a 100 microsegundos. Esta precisión es alcanzable con dispositivos de red estándar como conmutadores convencionales y ordenadores que actúan como esclavos PTP por software.