stringtranslate.com

Protocolo de tiempo de precisión

El protocolo de tiempo de precisión ( PTP ) es un protocolo para la sincronización de relojes en una red informática con una precisión relativamente alta y, por lo tanto, una exactitud potencialmente alta. En una red de área local (LAN), la precisión puede ser inferior a un microsegundo, lo que lo hace adecuado para sistemas de medición y control. [1] El PTP se utiliza para sincronizar transacciones financieras , transmisiones de torres de telefonía móvil , conjuntos acústicos submarinos y redes que requieren una sincronización precisa pero carecen de acceso a señales de navegación por satélite . [ cita requerida ]

La primera versión de PTP, IEEE 1588-2002 , se publicó en 2002. IEEE 1588-2008 , también conocida como PTP versión 2, no es compatible con versiones anteriores de la versión de 2002. IEEE 1588-2019 se publicó en noviembre de 2019 e incluye mejoras compatibles con versiones anteriores de la publicación de 2008. IEEE 1588-2008 incluye un concepto de perfil que define los parámetros y opciones de funcionamiento de PTP. Se han definido varios perfiles para aplicaciones que incluyen telecomunicaciones , distribución de energía eléctrica y usos audiovisuales .IEEE 802.1AS es una adaptación de PTP, llamada gPTP, para su uso conpuentes de audio y video(AVB) yredes sensibles al tiempo(TSN).

Historia

Según John Eidson, quien dirigió el esfuerzo de estandarización IEEE 1588-2002, "IEEE 1588 está diseñado para llenar un nicho que no está bien cubierto por ninguno de los dos protocolos dominantes, NTP y GPS . IEEE 1588 está diseñado para sistemas locales que requieren precisiones más allá de las que se pueden lograr usando NTP. También está diseñado para aplicaciones que no pueden soportar el costo de un receptor GPS en cada nodo, o para las cuales las señales GPS son inaccesibles". [2]

PTP se definió originalmente en el estándar IEEE 1588-2002, oficialmente titulado Estándar para un protocolo de sincronización de reloj de precisión para sistemas de control y medición en red , y publicado en 2002. En 2008, IEEE 1588-2008 se lanzó como un estándar revisado; también conocido como PTP versión 2 (PTPv2), mejora la precisión, la exactitud y la robustez, pero no es compatible con la versión original de 2002. [3] IEEE 1588-2019 se publicó en noviembre de 2019, [4] se conoce informalmente como PTPv2.1 e incluye mejoras compatibles con versiones anteriores de la publicación de 2008. [5]

Arquitectura

Los estándares IEEE 1588 describen una arquitectura jerárquica maestro-esclavo para la distribución de relojes que consta de uno o más segmentos de red y uno o más relojes. Un reloj ordinario es un dispositivo con una única conexión de red que es la fuente o el destino de una referencia de sincronización. Una fuente se denomina líder , también conocido como maestro, y un destino se denomina seguidor , también conocido como esclavo. Un reloj límite tiene múltiples conexiones de red y sincroniza un segmento de red con otro. Se selecciona un único líder de sincronización, también conocido como elegido, para cada segmento de red. La referencia de sincronización raíz se denomina gran maestro . [6]

Una arquitectura PTP relativamente simple consiste en relojes comunes en una red de un solo segmento sin relojes de límite. Se elige un maestro y todos los demás relojes se sincronizan con él.

La norma IEEE 1588-2008 introduce un reloj asociado con el equipo de red utilizado para transmitir mensajes PTP. El reloj transparente modifica los mensajes PTP a medida que pasan por el dispositivo. [7] Las marcas de tiempo de los mensajes se corrigen en función del tiempo empleado en atravesar el equipo de red. Este esquema mejora la precisión de la distribución al compensar la variabilidad de la entrega a través de la red.

El PTP normalmente utiliza la misma época que el tiempo Unix (inicio el 1 de enero de 1970). [a] Mientras que el tiempo Unix se basa en el Tiempo Universal Coordinado (UTC) y está sujeto a segundos intercalares , el PTP se basa en el Tiempo Atómico Internacional (TAI). El maestro del PTP comunica la diferencia actual entre UTC y TAI, de modo que el UTC se pueda calcular a partir del tiempo PTP recibido.

Detalles del protocolo

La sincronización y gestión de un sistema PTP se consigue mediante el intercambio de mensajes a través del medio de comunicación. Para ello, PTP utiliza los siguientes tipos de mensajes.

Los mensajes se clasifican como mensajes de evento y mensajes generales . Los mensajes de evento son críticos en cuanto al tiempo, ya que la precisión en la transmisión y la precisión de la marca de tiempo de recepción afectan directamente la precisión de la distribución del reloj. Sync , Delay_Req , Pdelay_Req y Pdelay_resp son mensajes de evento . Los mensajes generales son unidades de datos de protocolo más convencionales , ya que los datos en estos mensajes son importantes para PTP, pero sus marcas de tiempo de transmisión y recepción no lo son. Los mensajes Announce , Follow_Up , Delay_Resp , Pdelay_Resp_Follow_Up , Management y Signaling son miembros de la clase de mensajes generales . [8] : Cláusula 6.4 

Transporte de mensajes

Los mensajes PTP pueden utilizar el Protocolo de datagramas de usuario sobre protocolo de Internet (UDP/IP) para el transporte. IEEE 1588-2002 utiliza solo transportes IPv4 , [9] : Anexo D  pero esto se ha ampliado para incluir IPv6 en IEEE 1588-2008. [8] : Anexo F  En IEEE 1588-2002, todos los mensajes PTP se envían utilizando mensajería de multidifusión , mientras que IEEE 1588-2008 introdujo una opción para que los dispositivos negocien la transmisión de unidifusión puerto por puerto. [8] : Cláusula 16.1  Las transmisiones de multidifusión utilizan direccionamiento de multidifusión IP , para el cual se definen direcciones de grupo de multidifusión para IPv4 e IPv6 (consulte la tabla). [8] : Los mensajes de eventos críticos en el tiempo del Anexo D y E  (Sync, Delay_req, Pdelay_Req y Pdelay_Resp) se envían al puerto número 319. Los mensajes generales (Announce, Follow_Up, Delay_Resp, Pdelay_Resp_Follow_Up, administración y señalización) utilizan el puerto número 320. [8] : Cláusula 6.4 

En IEEE 1588-2008, la encapsulación también se define para DeviceNet , [8] : Anexo G  ControlNet [8] : Anexo H  y PROFINET . [8] : Anexo I 

Dominios

Un dominio [i] es un conjunto de relojes que interactúan y se sincronizan entre sí mediante PTP. Los relojes se asignan a un dominio en virtud del contenido de los campos Nombre de subdominio (IEEE 1588-2002) o Número de dominio (IEEE 1588-2008) en los mensajes PTP que reciben o generan. Los dominios permiten que varios sistemas de distribución de relojes compartan el mismo medio de comunicación.

El mejor algoritmo de reloj maestro

El mejor algoritmo de reloj maestro (BMCA) realiza una selección distribuida del mejor reloj para que actúe como líder en función de las siguientes propiedades del reloj:

IEEE 1588-2008 utiliza un algoritmo de selección jerárquico basado en las siguientes propiedades, en el orden indicado: [8] : Figura 27 

  1. Prioridad 1: el usuario puede asignar una prioridad estática específica a cada reloj, definiendo de forma preventiva una prioridad entre ellos. Los valores numéricos más pequeños indican una prioridad más alta.
  2. Clase: cada reloj es miembro de una clase determinada y cada clase tiene su propia prioridad.
  3. Precisión: precisión entre el reloj y la hora UTC, en nanosegundos (ns)
  4. Varianza – variabilidad del reloj
  5. Prioridad 2: prioridad definida final, que define el orden de respaldo en caso de que los otros criterios no sean suficientes. Los valores numéricos más pequeños indican una prioridad más alta.
  6. Identificador único: la selección basada en la dirección MAC se utiliza como criterio de desempate cuando todas las demás propiedades son iguales.

IEEE 1588-2002 utiliza un algoritmo de selección basado en propiedades similares.

Las propiedades del reloj se anuncian en los mensajes de sincronización IEEE 1588-2002 y en los mensajes de anuncio IEEE 1588-2008 . El líder actual transmite esta información a intervalos regulares. Un reloj que se considera un mejor líder transmitirá esta información para invocar un cambio de líder. Una vez que el líder actual reconoce el mejor reloj, el líder actual deja de transmitir mensajes de sincronización y propiedades de reloj asociadas ( mensajes de anuncio en el caso de IEEE 1588-2008) y el mejor reloj asume el papel de líder. [10] La BMCA solo considera la calidad autodeclarada de los relojes y no toma en consideración la calidad del enlace de red. [11]

Sincronización

A través de BMCA, PTP selecciona una fuente de tiempo para un dominio IEEE 1588 y para cada segmento de red en el dominio.

Los relojes determinan el desfase entre ellos y su líder. [12] Sea la variable la que representa el tiempo físico. Para un dispositivo seguidor dado, el desfase en el tiempo se define mediante:

donde representa el tiempo medido por el reloj seguidor en tiempo físico , y representa el tiempo medido por el reloj líder en tiempo físico .

El líder transmite periódicamente la hora actual como mensaje a los demás relojes. Según la norma IEEE 1588-2002, las transmisiones se realizan una vez por segundo como máximo. Según la norma IEEE 1588-2008, se permiten hasta 10 transmisiones por segundo.

Mecanismo de sincronización y cálculo de retardo según IEEE 1588

Cada transmisión comienza a la hora indicada con un mensaje de sincronización enviado por el líder a todos los relojes del dominio. El reloj que recibe este mensaje toma nota de la hora local en la que se recibe el mensaje.

El líder puede enviar posteriormente un mensaje Follow_Up de multidifusión con una marca de tiempo precisa. No todos los líderes tienen la capacidad de presentar una marca de tiempo precisa en el mensaje Sync . Solo después de que se completa la transmisión pueden recuperar una marca de tiempo precisa para la transmisión Sync desde su hardware de red. Los líderes con esta limitación usan el mensaje Follow_Up para transmitir . Los líderes con capacidades PTP integradas en su hardware de red pueden presentar una marca de tiempo precisa en el mensaje Sync y no necesitan enviar mensajes Follow_Up.

Para sincronizarse con precisión con su líder, los relojes deben determinar individualmente el tiempo de tránsito de la red de los mensajes de sincronización . El tiempo de tránsito se determina indirectamente midiendo el tiempo de ida y vuelta desde cada reloj hasta su líder. Los relojes inician un intercambio con su líder diseñado para medir el tiempo de tránsito . El intercambio comienza con un reloj que envía un mensaje Delay_Req a las time al líder. El líder recibe y marca con la fecha y hora el mensaje Delay_Req a las time y responde con un mensaje Delay_Resp . El líder incluye la marca de fecha y hora en el mensaje Delay_Resp .

A través de estos intercambios un reloj aprende , , y .

Si es el tiempo de tránsito del mensaje de sincronización y es el desfase constante entre los relojes del líder y del seguidor, entonces

Combinando las dos ecuaciones anteriores, encontramos que

El reloj ahora conoce el desfase durante esta transacción y puede corregirse por esa cantidad para que coincida con su líder.

Una de las hipótesis es que este intercambio de mensajes se produce en un período de tiempo tan pequeño que este desfase puede considerarse constante a lo largo de ese período. Otra hipótesis es que el tiempo de tránsito de un mensaje que va del líder al seguidor es igual al tiempo de tránsito de un mensaje que va del seguidor al líder. Por último, se supone que tanto el líder como el seguidor pueden medir con precisión el tiempo en que envían o reciben un mensaje. El grado en que se cumplan estas hipótesis determina la precisión del reloj en el dispositivo seguidor. [8] : Cláusula 6.2 

Características opcionales

El estándar IEEE 1588-2008 enumera el siguiente conjunto de características que las implementaciones pueden optar por admitir:

IEEE 1588-2019 agrega características adicionales opcionales y compatibles con versiones anteriores: [5]

Iniciativas relacionadas

Véase también

Notas

  1. ^ La capacidad del perfil según IEEE 1588-2008 permite el uso de épocas específicas de la aplicación. [8] : Anexo B 
  2. ^ En IEEE 1588-2002, la información que se transmite mediante los mensajes Announce se transmite en los mensajes Sync . En IEEE 1588-2008, se ha optimizado el mensaje Sync y esta información ya no se transmite aquí.
  3. ^ PTP sobre Ethernet IEEE 802.3 simple utilizando Ethertype 0x88F7
  4. ^ Los dominios no predeterminados IEEE 1588-2002 utilizan las direcciones de destino 224.0.1.130 a 224.0.1.132 (ver #Dominios).
  5. ^ Donde x es el alcance de la dirección (2 para enlace local) según RFC 2373 (ver dirección de multidifusión IPv6 )
  6. ^ En algunas aplicaciones PTP está permitido enviar todos los mensajes PTP a 01-1B-19-00-00-00
  7. ^ Los mensajes de retardo de pares tienen como objetivo propagarse al vecino conectado inmediatamente. Las direcciones de multidifusión para estos mensajes están diseñadas para tener un alcance local de enlace y no pasan a través de un enrutador . IEEE 1588-2008 también recomienda establecer el tiempo de vida en 1 (IPv4) o el límite de saltos en 0 (IPv6) como garantía adicional de que los mensajes no se enrutarán.
  8. ^ La mensajería de retardo entre pares no está presente en IEEE 1588-2002
  9. ^ IEEE 1588-2002 define un dominio como cualquier conjunto de relojes interconectados (independientemente de si están sincronizados entre sí) y utiliza subdominio para referirse a lo que se conoce como un dominio en IEEE 1588-2008.
  10. ^ IEEE 1588-2008 utiliza 224.0.1.129 como la dirección para todos los mensajes de multidifusión.
  11. ^ AVB se amplía aún más por el Grupo de trabajo sobre redes sensibles al tiempo (TSN) IEEE 802.1.

Referencias

  1. ^ Eidson, John (10 de octubre de 2005). "Norma IEEE-1588 para un protocolo de sincronización de reloj de precisión para sistemas de medición y control en red, un tutorial". Instituto Nacional de Estándares y Tecnología (NIST).
  2. ^ Eidson, John C. ( abril de 2006). Medición, control y comunicación utilizando IEEE 1588. Springer . ISBN 978-1-84628-250-8.
  3. ^ Eidson, John (2 de octubre de 2006). "IEEE 1588 Standard Version 2 - A Tutorial" (PDF) . Archivado desde el original (PDF) el 31 de marzo de 2010. Consultado el 12 de junio de 2008 .
  4. ^ "1588-2019 - Proyecto de norma aprobado por el IEEE para un protocolo de sincronización de relojes de precisión para sistemas de control y medición en red". IEEE . Consultado el 15 de febrero de 2020 .
  5. ^ de Douglas Arnold (24 de septiembre de 2017). "¿Qué viene en la próxima edición de IEEE 1588?" . Consultado el 15 de febrero de 2020 .
  6. ^ "Significados de términos comunes utilizados en IEEE 1588". Instituto Nacional de Estándares y Tecnología. Archivado desde el original el 27 de mayo de 2010. Consultado el 19 de mayo de 2006 .
  7. ^ "Implementación de reloj transparente y reloj de contorno AN-1838 IEEE 1588 con DP83640" (PDF) . ti.com . Texas Instruments . Consultado el 17 de julio de 2019 .
  8. ^ abcdefghijkl Estándar IEEE para un protocolo de sincronización de reloj de precisión para sistemas de control y medición en red , IEEE , 24 de julio de 2008, doi :10.1109/IEEESTD.2008.4579760, ISBN 978-0-7381-5400-8
  9. ^ abc Estándar IEEE para un protocolo de sincronización de reloj de precisión para sistemas de control y medición en red , IEEE , 8 de noviembre de 2002, doi :10.1109/IEEESTD.2002.94144, ISBN 978-0-7381-3369-0
  10. ^ Watt, Steve T.; Achanta, Shankar; Abubakari, Hamza; Sagen, Eric (marzo de 2014), Understanding and Applying Precision Time Protocol (PDF) , consultado el 9 de septiembre de 2017
  11. ^ Personal técnico de FSMLabs (septiembre de 2015), Cliente PTP inteligente y tonto y el "llamado" mejor algoritmo de reloj maestro , consultado el 17 de mayo de 2018
  12. ^ Norma internacional IEC 61588: Protocolo de sincronización de reloj de precisión para sistemas de medición y control en red. 2004.
  13. ^ Sitio web del ISPCS
  14. ^ Geoffrey M. Garner (28 de mayo de 2010), IEEE 802.1AS e IEEE 1588 (PDF)
  15. ^ SMPTE publica las dos primeras partes de la norma que permite la implementación de equipos temporizados PTP en plantas SDI existentes, Society of Motion Picture and Television Engineers , 13 de abril de 2015 , consultado el 21 de mayo de 2015
  16. ^ AES-R16-2016: Informe de estándares AES: parámetros PTP para la interoperabilidad entre AES67 y SMPTE ST 2059-2, Audio Engineering Society , 2 de mayo de 2016
  17. ^ desde https://www.smpte.org/sites/default/files/users/user27446/AES67%20for%20Audio%20Production-Background%20Applications%20and%20Challenges.pdf [ enlace roto ]
  18. ^ "Protocolo de sincronización PTPv2 en redes AV". Luminex. 6 de junio de 2017. Q-LAN se actualizó a PTPv2 hace aproximadamente dos años.
  19. ^ Pepiciello, Antonio; Vaccaro, Alfredo (17 de diciembre de 2018), "Una arquitectura confiable basada en el Protocolo de Tiempo de Precisión para la sincronización WAMPAC", Conferencia Anual Internacional AEIT 2018 , IEEE , pp. 1–5, doi :10.23919/AEIT.2018.8577414, ISBN 978-8-8872-3740-5, Número de identificación del sujeto  58819556

Enlaces externos