¿Qué es el NTP?
El Network Time Protocol (NTP) es uno de los protocolos de internet más antiguos que aún se usan ampliamente, diseñado para sincronizar relojes entre ordenadores en red. Especificado por primera vez por David Mills en 1985, el NTP puede mantener los relojes de los ordenadores con una precisión de unos pocos milisegundos en internet público, y precisión de submicrosegundos en redes locales.
El algoritmo central
El NTP funciona intercambiando marcas de tiempo entre un cliente y un servidor. El cliente envía una solicitud con su hora actual (T1), el servidor registra la recepción (T2) y envía una respuesta con T2 y su hora de envío (T3), y el cliente registra la recepción (T4). A partir de estas cuatro marcas de tiempo:
Round-trip delay = (T4 - T1) - (T3 - T2)
Clock offset = ((T2 - T1) + (T3 - T4)) / 2
El cliente usa el desfase para ajustar su reloj local, guiándolo gradualmente hacia la hora correcta en lugar de saltar de forma brusca (lo cual podría interrumpir las aplicaciones).
La jerarquía de estratos
El NTP organiza las fuentes de tiempo en una jerarquía llamada estratos:
- Estrato 0: relojes atómicos, receptores GPS, relojes de radio: las referencias horarias definitivas
- Estrato 1: servidores conectados directamente a dispositivos de estrato 0 (por ejemplo, time.google.com, time.cloudflare.com)
- Estrato 2: servidores que se sincronizan desde el estrato 1: lo que usa la mayoría de las organizaciones
- Estratos 3-15: en cascada hacia abajo, con precisión decreciente en cada salto
Servidores NTP públicos
time.google.com— NTP público de Google (con suavizado de segundos intercalares)time.cloudflare.com— NTP de Cloudflare (con soporte para Roughtime)pool.ntp.org— grupo NTP voluntario globaltime.windows.com— predeterminado de Microsoft Windows
Comprobar el estado del NTP
# Linux (systemd-timesyncd)
timedatectl status
timedatectl timesync-status
# Linux (ntpd)
ntpq -p
# macOS
sntp -sS time.apple.com
# Windows
w32tm /query /status
NTP frente a SNTP
El SNTP (NTP Simple) es una versión simplificada del NTP usada por dispositivos que no necesitan la precisión completa del NTP: teléfonos inteligentes, dispositivos embebidos y sensores IoT. Usa el mismo protocolo pero implementa solo un subconjunto de los algoritmos, logrando típicamente una precisión de decenas de milisegundos.
Consideraciones de seguridad
El NTP estándar no tiene autenticación, lo que lo hace vulnerable a ataques de intermediario que pueden desplazar maliciosamente el reloj de un sistema. NTPsec y Roughtime son alternativas modernas que añaden verificación criptográfica. Para infraestructuras críticas, usa siempre fuentes de tiempo autenticadas.