Este documento proporciona información sobre cómo resolver problemas comunes con el protocolo de tiempo de red (NTP).
Cisco recomienda que tenga un buen entendimiento de cómo funciona NTP y un buen conocimiento del protocolo de tiempo de red.
Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.
El protocolo de tiempo de red (NTP) se utiliza ampliamente para sincronizar un ordenador con servidores de hora de Internet u otras fuentes, como receptores de radio o satélite o servicios de módem telefónico. Proporciona precisión normalmente inferior a un milisegundo en las LAN y hasta unos milisegundos en las WAN. Las configuraciones NTP típicas utilizan servidores redundantes múltiples y diversos trayectos de red para alcanzar una elevada precisión y confiabilidad.
NTP utiliza el algoritmo de Marzullo para sincronizar la hora con la versión actual de NTP. Puede mantener el tiempo en la Internet pública en 10 milisegundos y puede funcionar aún mejor en las LAN. Los servidores de hora NTP funcionan dentro del conjunto de aplicaciones TCP/IP y dependen del puerto 123 del protocolo de datagramas de usuario (UDP).
Los servidores NTP son normalmente dispositivos NTP dedicados que utilizan una única referencia de tiempo a la que pueden sincronizar una red. Esta referencia de tiempo suele ser una fuente de hora universal coordinada (UTC). UTC es una escala de tiempo global distribuida por relojes atómicos a través de Internet, a través de transmisiones de radio de onda larga especializadas o con la red Global Positioning System (GPS). Se necesitan servidores NTP dedicados para la seguridad, la protección, la precisión, la legalidad y el control.
El algoritmo NTP utiliza esta referencia de tiempo para determinar la cantidad que se debe avanzar o retirar el reloj del sistema o de la red. NTP analiza los valores de marca de tiempo y la frecuencia de los errores y su estabilidad. Un servidor NTP mantiene una estimación de la calidad tanto de los relojes de referencia como de sí mismo.
Esta sección enumera algunos problemas comunes que se pueden encontrar con NTP y proporciona soluciones para cada uno.
Cuando los routers Cisco se configuran para utilizar los servidores NTP ubicados en Active Directory, los routers Cisco no reciben ningún paquete NTP del servidor NTP. Este problema ocurre porque los routers Cisco utilizan dominios NTP y Active Directory utilizan el servicio W32Time. W32Time utiliza el protocolo simple de tiempo de red (SNTP), un subconjunto de NTP, para la sincronización horaria. SNTP y NTP utilizan el mismo formato de paquete de red. La diferencia principal entre SNTP y NTP es que SNTP no proporciona las funciones de verificación de errores y filtrado que NTP proporciona. Los routers y switches de Cisco utilizan NTP y permiten todas las funciones de verificación de errores y filtrado proporcionadas por NTP v3.
Windows W32Time muestra que se trata de una implementación SNTP interna (en lugar de reclamarse a sí misma NTP). Cisco IOS-NTP, que intenta sincronizar con W32Time, obtiene su propio valor de dispersión raíz que envía a W32Time y esto resulta costoso para Cisco IOS-NTP sincronizarse. Debido a que el valor de dispersión raíz de Cisco IOS-NTP es superior a 1000 ms, se dessincroniza (procedimiento de selección de reloj). Dado que los routers basados en Cisco IOS ejecutan la implementación RFC completa de NTP, no se sincronizan con un servidor SNTP. En este caso, el resultado del comando show ntp associations detail muestra que el servidor está marcado como demente, inválido. El valor de dispersión de raíz es superior a 1000 ms, lo que hace que la implementación de Cisco IOS NTP rechace la asociación. Los routers que ejecutan Cisco IOS no pueden sincronizarse con un servidor NTP si es un sistema Windows que ejecuta el servicio W32Time. Si el servidor no está sincronizado, los routers no pueden transmitir y recibir paquetes del servidor.
Para solucionar este problema y sincronizar un router basado en Cisco IOS, utilice un servidor NTP autorizado en Internet, un equipo UNIX que ejecute NTPD o un GPS en ciertas plataformas. Como alternativa, puede elegir no ejecutar el servicio W32Time en el sistema Windows. En su lugar, puede utilizar NTP 4.x. Todas las versiones de Windows 2000 y posteriores pueden servir como servidor NTP. Otras máquinas de la red pueden entonces utilizar el servidor NTP para sincronizar su tiempo.
Estas son las posibles razones por las que los routers no pueden sincronizarse con los servidores de hora públicos:
Listas de control de acceso que no permiten que los paquetes del puerto UDP 123 pasen
La configuración incorrecta en los routers, como los comandos clock timezone y clock Summer-time están ausentes en los routers
El servidor de hora pública está inactivo
El software de servidor NTP en NT o UNIX está mal configurado
Hay más tráfico en el router y más tráfico de camino al servidor
NTP master perdió la sincronización y el router pierde la sincronización periódicamente
Utilización alta de la CPU
Desplazamiento alto y más entre el servidor y el router (utilice el comando show ntp association detail para verificar esto)
Este mensaje de error aparece cuando el sensor intenta sincronizar con un servidor que informa su estrato como 15. Esto se debe a que un valor de estrato de servidor de 15 hace que el estrato de sensor sea 16, lo que es ilegal. Como resultado, el sensor rechaza el servidor y muestra el mensaje de error Strata demasiado alto - demasiadas indirecciones desde el sensor al servidor NTP maestro.
NTP utiliza el concepto de un estrato para describir cuántos saltos NTP una máquina se encuentra a una fuente de tiempo autorizada. Ese mensaje de error indica que el estrato NTP informado por el servidor NTP es demasiado alto. El estrato es un número entre uno y 15 que indica cuán alejado está el servidor de un reloj de referencia de precisión. Generalmente, los sistemas que se sincronizan directamente con un reloj atómico informan de su estrato como uno solo. Un host que se sincroniza a un estrato de un servidor NTP pero que también sirve como servidor NTP para otros hosts informa su estrato como dos a esos hosts, y cada capa sucesiva de servidores tiene un estrato que es uno más alto que su primario.
Si utiliza un host Linux como servidor NTP, codifice el estrato que informa en lugar de dejar que calcule automáticamente el estrato. Si se trata de un cuadro Linux o UNIX, el servidor NTP es configurado por el archivo /etc/ntp.conf, y el comando fudge se utiliza para codificar el estrato. El servidor siempre informa a sus clientes un valor de estrato superior al valor de fudge.