ntpd ( demonio de protocolo de tiempo de red ) es un demonio que establece y mantiene la hora del sistema y se utiliza para sincronizar servidores de tiempo precisos.
El programa ntpd es un demonio del sistema operativo que establece y mantiene la hora del sistema sincronizada con los servidores de hora. Es una implementación completa de la versión 4 de NTP , pero también mantiene la compatibilidad con la versión 3 como se define en RFC-1305 [1] y las versiones 1 y 2 como se define en RFC-1059 [2] y RFC-1119 [3] , respectivamente. ntpd realiza la mayoría de los cálculos utilizando aritmética de punto flotante de 64 bits y funciona relativamente bien en operaciones de punto fijo de 64 bits solo cuando se necesita una alta precisión de unos 232 picosegundos. Si bien una precisión tan alta es inalcanzable en las computadoras y redes convencionales en la actualidad, puede ser necesaria para futuras CPU de gigahercios y redes de gigabits.
xntpd es un demonio NTP versión 3. La "x" se agregó al nombre porque la rama de código que eventualmente se convertiría en NTPDv3 era "experimental". El nombre del daemon se cambió a "ntpd" inicial en la cuarta versión, ya que el creador de NTP, David Mills, decidió que probablemente no era posible que algo fuera "experimental" durante veinte años sin sufrir cambios significativos en ese tiempo.
ntpd tiene dos opciones para almacenar archivos de configuración:
Otro archivo importante es el archivo de deriva , que ntpd utiliza para corregir el reloj del hardware cuando no está conectado a un servidor de tiempo más preciso, y generalmente se encuentra en /var/db/ntp.drift.
La hora exacta se puede obtener utilizando equipos especiales basados en relojes atómicos . También existe un método basado en GPS (Global Positioning System, sistema de posicionamiento global). Ambos métodos requieren hardware especializado y costoso, pero sus propietarios (generalmente universidades y laboratorios de investigación) conectan este hardware a computadoras que ejecutan el demonio NTP. A menudo, estas mismas máquinas están conectadas a Internet, lo que en última instancia brinda a las personas la oportunidad de averiguar la hora exacta de forma gratuita.
ntpd se comunica con uno o más servidores configurados a intervalos regulares. En el inicio, la primera vez o las subsiguientes, el programa necesita intercambiar mensajes con la mayoría de estos servidores varias veces para que los algoritmos de optimización y procesamiento de señales puedan recopilar y preparar datos y establecer la hora. De forma predeterminada, el intervalo es de 64 segundos, por lo que puede llevar varios minutos configurar la hora. El retraso inicial en la configuración del reloj se puede reducir usando la palabra clave iburst con el comando de configuración del servidor , como se describe en la página Opciones de configuración [4] .
La mayoría de los sistemas operativos y el hardware de hoy en día usan un chip TOY (época del año) incorporado para mantener la hora cuando no hay energía. Cuando se enciende la máquina, el chip se utiliza para inicializar el reloj del sistema operativo. Después de que la máquina haya sincronizado su reloj con el servidor NTP, el sistema operativo ajusta el reloj del chip de vez en cuando. En el caso de que falte el chip TOY o, por alguna razón, la hora en él difiera de la hora del servidor en más de 1000 segundos, ntpd considera que algo salió mal y la única acción correcta en tal situación es la intervención del operador. y poner el reloj a mano. En este caso, ntpd sale con un mensaje de error en el registro del sistema. La opción -g le permite ignorar esta verificación y configurar la hora del servidor independientemente de la hora en el chip.
Una vez configurado, NTP mantendrá la precisión del tiempo haciendo ajustes muy pequeños en el reloj, tan pequeños que no afectarán las aplicaciones en ejecución de ninguna manera.
De forma predeterminada, ntpd se ejecuta en modo continuo, en el que cada uno de varios servidores externos se sondea a intervalos determinados por un complejo algoritmo heurístico que tiene en cuenta la fluctuación de latencia y el error de frecuencia. Por lo general, en la mayoría de los sistemas operativos, el intervalo inicial es de 64 segundos y aumenta en incrementos hasta 1024 segundos.
En algunos casos, puede que no sea práctico utilizar ntpd en modo continuo. Una solución típica es ejecutar ntpdate desde cron a la hora programada. Sin embargo, ntpdate no tiene algoritmos integrados de comprobación de errores y optimización. La opción -q es para este caso . Comenzado con él, ntpd configurará la hora solo una vez y saldrá después de eso.
-cuatro
Usar espacio de direcciones IPv4
-6
Usar espacio de direcciones IPv6
-a
Solicitar autenticación criptográfica. Usado por defecto.
-A
No requiere autenticación criptográfica. No recomendado.
-b
Permite que el cliente se sincronice con los servidores de difusión.
-c confifile
Especifica el nombre y la ruta al archivo de configuración, por defecto /etc/ntp.conf
-d
Especifica el modo de depuración.
-D nivel
Especifica el nivel del modo de depuración directamente.
-f archivo de deriva
Especifica el nombre y la ruta al archivo de frecuencia.
-gramo
Elimina la restricción sobre la diferencia entre el servidor y la hora local.
-l archivo de registro
Especifica el nombre y la ruta del archivo de registro.
-q
Copia la acción del programa ntpdate : realiza la sincronización del reloj una vez.
El programa ntpd apareció por primera vez en OpenBSD 3.6