El protocolo de tiempo de precisión ( PTP ) es un protocolo utilizado para sincronizar los relojes a través de una red informática . En una red de área local , alcanza una precisión de reloj en el rango de sub-microsegundos, lo que lo hace adecuado para sistemas de medición y control. [1] PTP se emplea actualmente para sincronizar las transacciones financieras , torre de telefonía móvil de transmisiones, submarinos arreglos acústicos y redes que requieren una sincronización precisa pero que carecen de acceso a la navegación por satélite señales.
La versión original de PTP, IEEE 1588-2002 , se publicó en 2002. IEEE 1588-2008 , también conocida como PTP Versión 2, no es compatible con la versión original 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 las opciones y los parámetros operativos de PTP. Se han definido varios perfiles para aplicaciones que incluyen telecomunicaciones , distribución de energía eléctrica y audiovisuales .IEEE 802.1AS es una adaptación de PTP para su uso conpuentes de audio y vídeoyredes sensibles al tiempo.
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 servido 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 alcanzable 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 se publicó en 2002. En 2008, IEEE 1588-2008 se lanzó como estándar revisado; También conocido como PTP versión 2 (PTPv2), mejora la exactitud, precisión y solidez, 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 maestro-esclavo jerárquica para la distribución del reloj. Bajo esta arquitectura, un sistema de distribución de tiempo consta de uno o más medios de comunicación (segmentos de red) y uno o más relojes. Un reloj ordinario es un dispositivo con una sola conexión de red y es el origen de (maestro) o el destino de (esclavo) una referencia de sincronización. Un reloj de límite tiene varias conexiones de red y puede sincronizar con precisión un segmento de red con otro. Se selecciona un maestro de sincronización para cada uno de los segmentos de red del sistema. La referencia de sincronización raíz se llama gran maestro . [6] El gran maestro transmite información de sincronización a los relojes que residen en su segmento de red. Los relojes de límite con presencia en ese segmento luego transmiten la hora exacta a los otros segmentos a los que también están conectados.
Un sistema PTP simplificado consta con frecuencia de relojes ordinarios conectados a una sola red y no se utilizan relojes de límite. Se elige un gran maestro y todos los demás relojes se sincronizan directamente con él.
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 en los mensajes se corrigen por el tiempo dedicado a atravesar el equipo de red. Este esquema mejora la precisión de la distribución al compensar la variabilidad de la entrega en la red.
PTP suele utilizar la misma época que la hora de Unix (a partir del 1 de enero de 1970). [a] Mientras que la hora Unix se basa en la hora universal coordinada (UTC) y está sujeta a segundos intercalares, la PTP se basa en la hora atómica internacional (TAI). El gran maestro de PTP comunica el desplazamiento actual entre UTC y TAI, de modo que UTC se puede calcular a partir de la hora de PTP recibida.
Detalles del protocolo
La sincronización y gestión de un sistema PTP se logra mediante el intercambio de mensajes a través del medio de comunicaciones. Con este fin, PTP utiliza los siguientes tipos de mensajes.
- Los mensajes Sync , Follow_Up , Delay_Req y Delay_Resp son utilizados por relojes ordinarios y de límite y comunican información relacionada con el tiempo que se utiliza para sincronizar relojes en la red.
- Pdelay_Req , Pdelay_Resp y Pdelay_Resp_Follow_Up son utilizados por relojes transparentes para medir retrasos en el medio de comunicación para que el sistema pueda compensarlos. Los relojes transparentes y estos mensajes asociados con ellos no están disponibles en IEEE 1588-2002.
- Los mensajes de anuncio son utilizados por el mejor algoritmo de reloj maestro en IEEE 1588-2008 para construir una jerarquía de reloj y seleccionar el gran maestro . [B]
- Los mensajes de administración son utilizados por la administración de la red para monitorear, configurar y mantener un sistema PTP.
- Los mensajes de señalización se utilizan para comunicaciones no críticas en el tiempo entre relojes. Los mensajes de señalización se introdujeron en IEEE 1588-2008.
Los mensajes se clasifican en eventos y mensajes generales . Los mensajes de eventos son críticos en cuanto a que la precisión en la transmisión y la precisión de la marca de tiempo de recepción afecta directamente la precisión de la distribución del reloj. Sync , Delay_Req , Pdelay_Req y Pdelay_resp son mensajes de eventos . Los mensajes generales son unidades de datos de protocolo más convencionales en el sentido de que los datos de 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 mensaje general . [8] : Cláusula 6.4
Transporte de mensajes
Los mensajes PTP pueden utilizar el Protocolo de datagramas de usuario sobre el Protocolo de Internet (UDP / IP) para su 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 mediante mensajería multicast , mientras que IEEE 1588-2008 introdujo una opción para que los dispositivos negocien la transmisión unicast puerto por puerto. [8] : Cláusula 16.1 Las transmisiones de multidifusión utilizan direcciones IP de multidifusión , para las cuales se definen direcciones de grupo de multidifusión para IPv4 e IPv6 (ver tabla). [8] : Anexo D y E Los mensajes de eventos de tiempo crítico (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, gestión y señalización) utilizan el puerto número 320. [ 8] : Cláusula 6.4
Mensajes | IPv4 | IPv6 | IEEE 802.3 Ethernet [8] : Anexo F [c] |
---|---|---|---|
Todos excepto los mensajes de retraso de pares | 224.0.1.129 [d] | FF0x :: 181 [e] | 01-1B-19-00-00-00 [f] |
Mensajes de retraso de pares: Pdelay_Req , Pdelay_Resp y Pdelay_Resp_Follow_Up [g] | 224.0.0.107 [h] | FF02 :: 6B | 01-80-C2-00-00-0E |
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 interactivos que 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 reloj compartan el mismo medio de comunicación.
Contenido del campo de nombre de subdominio ( IEEE 1588-2002 ) | Dirección de multidifusión IPv4 ( IEEE 1588-2002 ) [j] | domainNumber ( IEEE 1588-2008 ) | Notas |
---|---|---|---|
_DFLT | 224.0.1.129 | 0 | Dominio predeterminado |
_ALT1 | 224.0.1.130 | 1 | Dominio alternativo 1 |
_ALT2 | 224.0.1.131 | 2 | Dominio alternativo 2 |
_ALT3 | 224.0.1.132 | 3 | Dominio alternativo 3 |
Aplicación específica hasta 15 octetos [9] : Cláusula 6.2.5.1 | 224.0.1.130, 131 o 132 según la función hash en el nombre del subdominio [9] : Anexo C | 4 a 127 | Dominios definidos por el usuario |
Mejor algoritmo de reloj maestro
El algoritmo del mejor reloj maestro (BMC) realiza una selección distribuida del mejor reloj candidato en función de las siguientes propiedades del reloj:
- Identificador: un identificador numérico universalmente único para el reloj. Por lo general, se construye en función de la dirección MAC de un dispositivo .
- Calidad: ambas versiones de IEEE 1588 intentan cuantificar la calidad del reloj en función de la desviación de tiempo esperada, la tecnología utilizada para implementar el reloj o la ubicación en un esquema de estrato de reloj , aunque solo V1 (IEEE 1588-2002) conoce un estrato de campo de datos . PTP V2 (IEEE 1588-2008) define la calidad general de un reloj utilizando los campos de datos clockAccuracy y clockClass .
- Prioridad: una sugerencia de precedencia asignada administrativamente que utiliza BMC para ayudar a seleccionar un gran maestro para el dominio PTP. IEEE 1588-2002 utilizó una única variable booleana para indicar la precedencia. IEEE 1588-2008 presenta dos campos de prioridad de 8 bits.
- Varianza: la estimación de un reloj de su estabilidad basada en la observación de su rendimiento frente a la referencia PTP.
IEEE 1588-2008 utiliza un algoritmo de selección jerárquica basado en las siguientes propiedades, en el orden indicado: [8] : Figura 27
- Prioridad 1: el usuario puede asignar una prioridad específica de diseño estático 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.
- Clase: cada reloj es miembro de una clase determinada, y cada clase tiene su propia prioridad.
- Precisión: precisión entre reloj y UTC, en nanosegundos (ns)
- Varianza - variabilidad del reloj
- Prioridad 2: prioridad definida final, que define el orden de respaldo en caso de que los otros criterios no fueran suficientes. Los valores numéricos más pequeños indican una prioridad más alta.
- Identificador único: la selección basada en la dirección MAC se utiliza como 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 IEEE 1588-2002 Sync messages y en IEEE 1588-2008 Announce messages. El reloj maestro actual transmite esta información a intervalos regulares. Un reloj que se considere mejor reloj maestro transmitirá esta información para invocar un cambio de reloj maestro. Una vez que el maestro actual reconoce el mejor reloj, el maestro actual deja de transmitir mensajes de sincronización y las propiedades de reloj asociadas ( Anunciar mensajes en el caso de IEEE 1588-2008) y el reloj mejor toma el control como maestro. [10] El algoritmo BMC solo considera la calidad autodeclarada de los relojes y no tiene en cuenta la calidad del enlace de red. [11]
Sincronización
Mediante el uso del algoritmo BMC, PTP selecciona una fuente de tiempo maestra para un dominio IEEE 1588 y para cada segmento de red en el dominio.
Los relojes determinan el desplazamiento entre ellos y su maestro. [12] Deje que la variablerepresentan el tiempo físico. Para un dispositivo esclavo dado, el desplazamiento en el momento es definido por:
dónde representa el tiempo medido por el reloj esclavo en el tiempo físico , y representa el tiempo medido por el reloj maestro en el tiempo físico .
El maestro transmite periódicamente la hora actual como un mensaje a los demás relojes. Según IEEE 1588-2002, las transmisiones son de hasta una vez por segundo. Según IEEE 1588-2008, se permiten hasta 10 por segundo.
Cada transmisión comienza a la hora con un mensaje Sync enviado por el maestro a todos los relojes del dominio. Un reloj que recibe este mensaje toma nota de la hora local. cuando se recibe este mensaje.
Posteriormente, el maestro puede enviar un seguimiento de multidifusión con precisiónmarca de tiempo. No todos los maestros tienen la capacidad de presentar una marca de tiempo precisa en el mensaje de sincronización . Es solo después de que se completa la transmisión que pueden recuperar una marca de tiempo precisa para la transmisión de sincronización desde su hardware de red. Los maestros con esta limitación utilizan el mensaje de seguimiento para transmitir. Los maestros con capacidades PTP integradas en su hardware de red pueden presentar una marca de tiempo precisa en el mensaje de sincronización y no necesitan enviar mensajes de seguimiento.
Para sincronizar con precisión con su maestro, 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 maestro. Los relojes inician un intercambio con su maestro diseñado para medir el tiempo de tránsito. El intercambio comienza con un reloj que envía un mensaje Delay_Req a la horaal maestro. El maestro recibe y marca de tiempo el Delay_Req en el momentoy responde con un mensaje Delay_Resp . El maestro incluye la marca de tiempoen 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 desplazamiento constante entre los relojes maestro y esclavo, entonces
Combinando las dos ecuaciones anteriores, encontramos que
El reloj ahora conoce la compensación durante esta transacción y puede corregirse por esta cantidad para ponerlo de acuerdo con su maestro.
Una suposición es que este intercambio de mensajes ocurre durante un período de tiempo tan pequeño que este desplazamiento puede considerarse constante de manera segura durante ese período. Otro supuesto es que el tiempo de tránsito de un mensaje que va del maestro a un esclavo es igual al tiempo de tránsito de un mensaje que va del esclavo al maestro. Finalmente, se supone que tanto el maestro como el esclavo pueden medir con precisión el tiempo que envían o reciben un mensaje. El grado en que estas suposiciones sean ciertas determina la precisión del reloj en el dispositivo esclavo. [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:
- Escala de tiempo alternativa
- Clúster de gran maestro
- Maestros de unidifusión
- Maestro alterno
- Trazo de ruta
Iniciativas relacionadas
- El Simposio Internacional IEEE sobre Sincronización de Reloj de Precisión para Medición, Control y Comunicación (ISPCS) es un evento anual organizado por IEEE que incluye un plugtest y un programa de conferencias con presentaciones en papel y póster, tutoriales y discusiones que cubren varios aspectos de PTP [13]
- El Instituto de Sistemas Integrados (InES) de la Universidad de Ciencias Aplicadas de Zurich / ZHAW está abordando la implementación práctica y la aplicación de PTP
- IEEE 1588 es una tecnología clave en el estándar LXI para comunicación y control de pruebas y mediciones
- IEEE 802.1AS-2011 es parte del grupo de estándares IEEE Audio Video Bridging (AVB), ampliado por el grupo de tareas IEEE 802.1 Time-Sensitive Networking (TSN). Especifica un perfil para el uso de IEEE 1588-2008 para la sincronización de la hora a través de una red de área local virtual con puente (como se define en IEEE 802.1Q ). En particular, 802.1AS define cómo IEEE 802.3 ( Ethernet ), IEEE 802.11 ( Wi-Fi ) y MoCA pueden formar parte del mismo dominio de temporización PTP. [14]
- SMPTE 2059-2 es un perfil PTP para su uso en la sincronización de sistemas de medios de difusión [15]
- El estándar de interoperabilidad de redes de audio AES67 incluye un perfil PTPv2 compatible con SMPTE ST2059-2. [dieciséis]
- Dante usa PTPv1 para la sincronización. [17]
- Q-LAN [18] y RAVENNA [17] utilizan PTPv2 para la sincronización horaria.
- El Proyecto White Rabbit combina Synchronous Ethernet y PTP
- Precision Time Protocol Industry Profile Perfiles PTP (L2P2P y L3E2E) para automatización industrial en IEC 62439-3
- Perfil PTP IEC / IEEE 61850-9-3 para automatización de subestaciones adoptado por IEC 61850
- Uso del protocolo de redundancia en paralelo de perfiles PTP (L2P2P y L3E2E) para la automatización industrial en redes paralelas
- Se está estudiando el PTP para su aplicación como protocolo seguro de sincronización de tiempo en sistemas de monitorización de área amplia [19].
Ver también
- Lista de implementaciones de PTP
Notas
- ^ La capacidad de perfil según IEEE 1588-2008 permite el uso de épocas específicas de la aplicación. [8] : Anexo B
- ^ En IEEE 1588-2002, la información transportada por losmensajes de anuncio se transporta en losmensajes de sincronización . En IEEE 1588-2008, elmensaje de sincronización se ha optimizado y esta información ya no se lleva aquí.
- ^ PTP a través de IEEE 802.3 Ethernet utiliza Ethertype 0x88F7
- ^ Los dominios no predeterminados IEEE 1588-2002 utilizan direcciones de destino 224.0.1.130 a 224.0.1.132 (consulte #Domains ).
- ^ Donde x es el alcance de la dirección (2 para enlace local) según RFC 2373 (consulte la dirección de multidifusión IPv6 )
- ^ En algunas aplicaciones PTP está permitido enviar todos los mensajes PTP al 01-1B-19-00-00-00
- ^ Los mensajes de retardo de pares están destinados a propagarse al vecino conectado inmediatamente. Las direcciones de multidifusión para estos mensajes están diseñadas para tener un alcance de enlace local y no se 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 salto en 0 (IPv6) como una garantía adicional de que los mensajes no se enrutarán.
- ^ La mensajería de retraso de pares no está presente en IEEE 1588-2002
- ^ IEEE 1588-2002 define un dominio como cualquier conjunto de relojes interconectados (independientemente de si se sincronizaron entre sí) y usa subdominio para referirse a lo que se conoce como dominio en IEEE 1588-2008.
- ^ IEEE 1588-2008 usa 224.0.1.129 como dirección para todos los mensajes de multidifusión.
Referencias
- ^ Eidson, John (10 de octubre de 2005). "Estándar IEEE-1588 para un protocolo de sincronización de reloj de precisión para sistemas de control y medición en red, un tutorial" (PDF) . Instituto Nacional de Estándares y Tecnología (NIST).
- ^ Eidson, John C. (abril de 2006). Medición, control y comunicación mediante IEEE 1588 . Springer . ISBN 978-1-84628-250-8.
- ^ Eidson, John (2 de octubre de 2006). "IEEE 1588 Standard Version 2 - Tutorial" (PDF) . Archivado desde el original (PDF) el 31 de marzo de 2010 . Consultado el 12 de junio de 2008 .
- ^ "1588-2019 - Borrador de estándar aprobado por IEEE para un protocolo de sincronización de reloj de precisión para sistemas de control y medición en red" . IEEE . Consultado el 15 de febrero de 2020 .
- ^ 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 .
- ^ "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 .
- ^ "AN-1838 IEEE 1588 Implementación de reloj de límite y reloj transparente usando el DP83640" (PDF) . ti.com . Texas Instruments . Consultado el 17 de julio de 2019 .
- ^ a b c d e f g h yo j k l IEEE 1588-2008 , IEEE , 24 de julio de 2008, doi : 10.1109 / IEEESTD.2008.4579760 , ISBN 978-0-7381-5400-8
- ^ a b c IEEE 1588-2002 , IEEE , 8 de noviembre de 2002, doi : 10.1109 / IEEESTD.2002.94144 , ISBN 978-0-7381-3369-0
- ^ 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
- ^ Personal técnico de FSMLabs (septiembre de 2015), Smart and Dumb PTP Client y el "llamado" Mejor algoritmo de reloj maestro , consultado el 17 de mayo de 2018
- ^ Norma internacional IEC 61588: Protocolo de sincronización de reloj de precisión para sistemas de control y medición en red. 2004.
- ^ Sitio web de ISPCS
- ^ Geoffrey M. Garner (28 de mayo de 2010), IEEE 802.1AS e IEEE 1588 (PDF)
- ^ SMPTE publica las dos primeras partes de la implementación estándar de habilitación de equipos temporizados por PTP en plantas SDI existentes , Society of Motion Picture and Television Engineers , 13 de abril de 2015 , consultado el 21 de mayo de 2015
- ^ AES-R16-2016: Informe de normas AES: parámetros PTP para la interoperabilidad AES67 y SMPTE ST 2059-2 , Audio Engineering Society , 2 de mayo de 2016
- ^ a b https://www.smpte.org/sites/default/files/users/user27446/AES67%20for%20Audio%20Production-Background%20Applications%20and%20Challenges.pdf
- ^ "Protocolo de temporización PTPv2 en redes AV" . Luminex. 6 de junio de 2017.
Q-LAN se actualizó a PTPv2 hace aproximadamente dos años.
- ^ 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 de la AEIT de 2018 , IEEE , págs. 1–5, doi : 10.23919 / AEIT.2018.8577414 , ISBN 978-8-8872-3740-5, S2CID 58819556
enlaces externos
- Sitio de NIST IEEE 1588
- Documentación PTP en InES
- PTP y Sincronización de redes móviles LTE
- PTP explicado bajo el punto de vista de instalación / mantenimiento
- Informe técnico de Hirschmann PTP
- Descripción general de PTP en la Guía de configuración del software del switch Cisco CGS 2520
- Perspectivas y prioridades de las tecnologías IEC 61850 de investigación sobre redes inteligentes de RuggedCom
- Proyectos con solución de subestación inteligente
- McGhee, Jim; Goraj, Maciej (2010), "Smart High Voltage Substation Based on IEC 61850 Process Bus and IEEE 1588 Time Synchronization", Primera Conferencia Internacional IEEE sobre Comunicaciones Smart Grid de 2010 , págs. 489–494, doi : 10.1109 / SMARTGRID.2010.5622092 , ISBN 978-1-4244-6510-1, S2CID 30638718
- Ingram, DME; Campbell, DA; Schaub, P .; Ledwich, GF (2011). "Sistema de prueba y evaluación para esquemas de protección de valor muestreado multiprotocolo" . Actas del IEEE PES Trondheim PowerTech 2011 . Trondheim, Noruega: IEEE: 1–7. doi : 10.1109 / PTC.2011.6019243 . ISBN 978-1-4244-8419-5. S2CID 42991214 .
- El Proyecto Conejo Blanco PTP
- Protocolo de tiempo de precisión IEC e IEEE , Pacworld, septiembre de 2016]
- Tutorial sobre los perfiles de protocolo de tiempo de precisión tolerantes a fallos en IEC 62439-3 [ enlace muerto ]
- IEC 62439-3 Anexos AE Conexión redundante de relojes y gestión de red
- Protocolo de temporización PTPv2 en redes AV
- FSMLabs: IEEE PTP 1588 de fuente única no puede cumplir con los estándares regulatorios financieros