• Inicio
  • Recursos
  • Blog
  • LOS ESTRATOS EN EL PROTOCOLO NTP: Entender la jerarquía de los servidores
LOS ESTRATOS EN EL PROTOCOLO NTP: Entender la jerarquía de los servidores

Para integrar mecanismos de sincronización dentro de una red local, lo primero es elegir el protocolo correcto. De hecho, existen numerosos protocolos que permiten sincronizar equipos dentro de una red (PTP, NTP, SNTP, etc.). Lo más evidente sería utilizar el protocolo NTP (Network Time Protocol).

No obstante, antes de optar por el NTP, hace falta entender cómo funciona y comprobar que esta solución es adecuada para los equipos que se van a sincronizar. Cabe recordar que el NTP sirve para sincronizar la hora mediante el estándar UTC, y no para gestionar la hora, lo que se lleva a cabo por el sistema operativo de las máquinas.

¿Cómo funciona el protocolo NTP?

El NTP fue desarrollado en 1985. Una descripción técnica de la versión de origen del protocolo está disponible en la RFC 958. La versión más utilizada es la tercera versión (RFC 1305), aunque existe una cuarta versión desde 2010 (RFC 5905).

NTP es un protocolo de sincronización horaria para equipos de red que presenta una estructura jerárquica. Cada nivel de la jerarquía recibe la denominación de estrato (del inglés «stratum»). La norma permite hasta 16 estratos. El principio consiste en que servidores de un mismo estrato comparten una referencia horaria común y la transmiten al estrato siguiente.

El estrato 0 está compuesto por relojes de referencia que pueden ser relojes atómicos, relojes GPS, etc. Son las máquinas raíz del protocolo, que deben garantizar una hora exacta. Mantienen lo que se llama la hora UTC (Coordinated Universal Time).

El estrato 0 está conectado al estrato 1 mediante puertos serie. El estrato 1 está compuesto por servidores NTP primarios. Son los que van a transmitir las marcas de tiempo de sincronización al resto de la red. Existen varios servidores públicos de estrato 1 en Francia y en el mundo. Sin embargo, no se recomienda conectar con ellos, por razones que explicaremos a continuación. Del estrato 1 al estrato 15, los servidores pueden conectarse a servidores del mismo estrato o a servidores del estrato inferior mediante enlaces de red tal como se presenta en el diagrama. Para conocer el estrato de un servidor, basta con calcular el camino más corto entre el servidor y el reloj de referencia.

Cómo funciona el protocolo NTP?

El protocolo funciona en modo cliente/servidor entre dos máquinas perteneciendo a diferentes estratos. El cliente solicita una marca de tiempo al servidor del estrato superior al que tiene acceso. El servidor responde con suficiente información para que el cliente pueda estimar el tiempo de transmisión y el desfase entre su reloj y el del servidor. En esta etapa, es posible que la estimación del tiempo y/o del desfase no sea correcta. Así, el cliente va a introducir un pequeño desfase entre su reloj y el del servidor. Sin embargo, si el cliente actúa como servidor para el estrato inferior, entonces este desfase se propagará más abajo en la red. Por consiguiente, aunque el protocolo NTP permite hasta 16 estratos, no se recomienda tener servidores que se encuentran demasiado lejos del estrato 0, por razones de precisión. En práctica, la mayoría de los clientes finales del protocolo NTP se sitúan entre los estratos 3 y 4.

Por ello, al integrar el protocolo NTP en una red local, es tentador conectarse al nivel más superior de la jerarquía para minimizar el desfase del reloj y así obtener una precisión óptima.

Puesto que es caro y bastante difícil acceder a un reloj atómico o GPS para estar en el estrato 1, la solución idónea parece ser una conexión directa a los servidores NTP públicos de estrato 1. Sin embargo, estos últimos sirven más bien para sincronizar los servidores públicos de estrato 2. De hecho, si cada uno conectara su máquina a estos servidores, éstos estarían completamente saturados de solicitudes y ya no podrían operar correctamente. Por consiguiente, más vale conectarse a un estrato inferior en la jerarquía, puesto que es poco probable que su red local necesite este nivel de precisión. Si este es el caso, puede que el NTP no sea el mejor protocolo para su red.

¿Cómo organizar los estratos dentro de una red NTP?

Primero, hace falta conectar la red a varias fuentes de tiempo NTP públicas. Se recomienda conectarse a 3 servidores como mínimo para obtener un sellado de tiempo fiable y preciso.

De hecho, si la red está conectada a una única fuente, esta fuente puede generar un desfase o dejar de responder. Utilizar solamente dos fuentes puede causar un conflicto en caso de que una de ellas genere un desfase. A partir de 3 fuentes, la red está protegida contra estos posibles fallos. Por la misma razón, se recomienda conectar varios servidores de la red externamente. De hecho, al utilizar un único servidor de sincronización, en caso de fallo, la red perderá su acceso a los servidores públicos.

Para organizar correctamente una red y sus estratos NTP, es importante entender las diferentes maneras en las que las máquinas dentro de una red NTP pueden sincronizarse. Las máquinas pueden recuperar una marca de tiempo de un servidor del estrato superior, pero las máquinas conectadas de un mismo estrato también pueden comunicar para sincronizarse entre sí. Los servidores utilizan el mismo protocolo que el modo cliente/servidor entre diferentes estratos, excepto que el cliente interpreta la respuesta de la máquina que actúa como servidor como una solicitud. Luego, cambian los papeles: la primera máquina responde a la segunda al enviarle suficiente información para que pueda estimar su desfase. La última manera que tienen los servidores NTP de comunicar de forma sencilla sus marcas de tiempo es difundir su reloj (difusión global en la red).

El NTP funciona de manera jerárquica. Una vez que una o varias máquinas de una red local se han conectado a uno o varios servidores NTP públicos, nos podemos enfocar en cómo organizar el resto de la red. Entonces, se deben observar varias recomendaciones:

  • Si la red entera debe sincronizarse, es importante reducir el número de estratos internos. De hecho, cuanto más profunda sea la red, mayor es el desfase entre las máquinas del primer y del último estrato.
  • Es importante que todas las máquinas con un papel idéntico en una red se sitúen en el mismo estrato (así se evita una desviación temporal entre máquinas con un mismo papel).
  • Se recomienda conectar las máquinas de un mismo estrato (homólogos) entre sí. Esto no tiene por qué ser una malla completa si hay un gran número de máquinas, pero debe ser lo suficientemente densa como para garantizar una sincronización precisa en toda la red.

Para terminar, es importante organizar correctamente la estructura de una red y elegir los equipos adecuados para que las aplicaciones críticas puedan contar con una sincronización horaria eficaz.

Con más de 150 años de experiencia en gestión del tiempo y presente en más de 140 países, Bodet Time es el líder francés en sincronización horaria y tiempo frecuencia. Nuestra gama de servidores de tiempo NTP Netsilon permite sincronizar de manera segura todos los equipos presentes en una red.

Contáctenos

Compartir el artículo