7.8.1.- Conocer los fundamentos de NTP

Una de las herramientas más populares para configurar la hora de la red es NTP. Este protocolo crea una jerarquía por capas de fuentes horarias, como vemos en la imagen de abajo.

figura_estratos

Veamos el desglose:

estrato_0

Al estrato 0 no se puede acceder directamente a ellas, solo pueden acceder los ordenadores del estrato 1.

figura_estrato_1

tux_maestro_derOtros protocolos de definición de tiempo son el integrado en SMB/CIFS e implementado en Linux por Samba y un protocolo empleado por la utilidad rdate en Linux.

Por ejemplo, si un servidor estrato 1 tiene 1000 clientes, cada uno de éstos tiene 1000 y así sucesivamente, el estrato 3 constará de 1.ooo.ooo de sistemas y el estrato 457-100-713 contendrá 1.000.000.000 de sistemas. Cada incremento en el número del estrato reducirá ligeramente la precisión de la señal horaria, pero no demasiado; incluso un reloj de un sistema de un estrato 4 tendría una precisión con una desviación de menos de un segundo, algo suficientemente preciso para la mayoría de usos. Sobre todo, si disponemos de una red, podemos emplear un ordenador como servidor NTP y configurar los relojes de los demás  ordenadores desde dicho servidor.

Si el reloj de nuestro servidor NTP primario tuviera una desviación de un segundo, todos los relojes de su red deberían encontrarse a una mínima fracción los unos de los otros, que es el aspecto más importante a tener en cuenta en los protocolos de red que dependen del tiempo como Kerberos.

NTP funciona midiendo el tiempo round-trip (de ida y vuelta) de los paquetes de información que se transmiten entre el servidor y el cliente, para ello utiliza el intercambio de paquetes con marcas temporales embebidas. Cuando el cliente recibe dicho paquete, ajusta su hora con la marca temporal de la fuente al añadir una pequeña cantidad de tiempo para tener en cuenta el retardo del round-trip. Por este motivo, siempre se deben seleccionar las fuentes NTP con el menor tiempo de retardo de red posible.

El principal programa servidor NTP de Linux funciona como servidor y como cliente. Incluso los puntos finales de la jerarquía NTP (estrato 4 y algunos servidores del estrato 3) ejecutan, con frecuencia, el paquete del servidor NTP completo, esto sucede por que este software se ejecuta constantemente, pudiendo monitorizar y ajustar e habitual desplazamiento del reloj del sistema y los relojes de otros ordenadores. Todo ello deriva en una mayor consistencia en el mantenimiento de la hora. NTP no inicializa simplemente el reloj del sistema de manera periódica, sino que mejora la precisión de éste. En parte, a través del fichero ntp.drift, que suele estar en /var/lib/ntp o en /etc.

ntp_ejemplo_1

Este fichero alberga información sobre las imprecisiones del reloj del software y se utiliza para corregirlas. Un servidor NTP, aunque se utilice sólo como cliente, consulta periódicamente sus sistemas fuente para mantener correctamente configurada la hora del sistema y actualizar el fichero ntp.drift.

ntp_ejemplo_2