Este documento fornece informações sobre como resolver problemas comuns com o Network Time Protocol (NTP).
A Cisco recomenda que você tenha um bom entendimento de como o NTP funciona e um bom conhecimento do Network Time Protocol.
Este documento não se restringe a versões de software e hardware específicas.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
O Network Time Protocol (NTP) é amplamente usado para sincronizar um computador com servidores de horário da Internet ou outras fontes, como receptores de rádio ou satélite ou serviços de modem de telefone. Ele fornece precisões geralmente menores que um milissegundo em LANs e até alguns milissegundos em WANs. As configurações de NTP típicas utilizam vários servidores redundantes e caminhos de rede para obter uma alta precisão e confiabilidade.
O NTP usa o algoritmo de Marzullo para sincronizar o horário com a versão atual do NTP. Ele pode manter o tempo na Internet pública em até 10 milissegundos e pode ter um desempenho ainda melhor nas LANs. Os servidores de tempo NTP funcionam dentro do conjunto TCP/IP e dependem da porta 123 do Protocolo de Datagrama de Usuário (UDP - User Datagram Protocol).
Os servidores NTP são dispositivos NTP normalmente dedicados que usam uma única referência de tempo para a qual podem sincronizar uma rede. Essa referência de tempo é, na maioria das vezes, uma fonte de tempo universal coordenado (UTC). O UTC é uma escala de tempo global distribuída por relógios atômicos pela Internet, por transmissões de rádio de ondas longas especializadas ou pela rede Global Positioning System (GPS). Os servidores NTP dedicados são necessários para segurança, proteção, precisão, legalidade e controle.
O algoritmo NTP usa essa referência de tempo para determinar a quantidade de avanço ou recuo do relógio do sistema ou da rede. O NTP analisa os valores de timestamp e a frequência de erros e sua estabilidade. Um servidor NTP mantém uma estimativa da qualidade dos relógios de referência e do próprio relógio.
Esta seção lista alguns problemas comuns que podem ser encontrados com o NTP e fornece soluções para cada um.
Quando os roteadores Cisco são configurados para usar os servidores NTP colocados no Ative Diretory, os roteadores Cisco não recebem pacotes NTP do servidor NTP. Esse problema ocorre porque os roteadores Cisco usam o NTP e os domínios do Ative Diretory usam o serviço W32Time. O W32Time usa o SNTP (Simple Network Time Protocol), um subconjunto do NTP, para sincronização de horário. O SNTP e o NTP usam o mesmo formato de pacote de rede. A principal diferença entre o SNTP e o NTP é que o SNTP não fornece as funções de verificação de erros e filtragem que o NTP fornece. Os roteadores e switches da Cisco usam o NTP e permitem todas as funções de verificação de erros e filtragem fornecidas pelo NTP v3.
O Windows W32Time mostra que é uma implementação SNTP interna (em vez de declarar-se NTP). O Cisco IOS-NTP, que tenta sincronizar com o W32Time, obtém seu próprio valor de dispersão raiz que envia ao W32Time e isso é caro para o Cisco IOS-NTP sincronizar. Como o valor de dispersão de raiz do Cisco IOS-NTP vai além de 1000 ms, ele se dessincroniza (procedimento de seleção de relógio). Como os roteadores baseados no Cisco IOS executam a implementação completa de RFC do NTP, eles não são sincronizados com um servidor SNTP. Nesse caso, a saída do comando show ntp associations detail mostra que o servidor está sinalizado como insano, inválido. O valor de dispersão de raiz está acima de 1000 ms, o que faz com que a implementação do NTP do Cisco IOS rejeite a associação. Os roteadores que executam o Cisco IOS podem ser incapazes de sincronizar com um servidor NTP se for um sistema Windows que executa o serviço W32Time. Se o servidor não estiver sincronizado, os roteadores não poderão transmitir e receber pacotes do servidor.
Para contornar esse problema e sincronizar um roteador baseado no Cisco IOS, use um servidor NTP autorizado na Internet, uma caixa UNIX que execute NTPD ou um GPS em determinadas plataformas. Como alternativa, você pode optar por não executar o serviço W32Time no sistema Windows. Em vez disso, você pode usar o NTP 4.x. Todas as versões do Windows 2000 e versões posteriores podem servir como um servidor NTP. Outras máquinas na rede podem usar o servidor NTP para sincronizar seu tempo.
Estes são os possíveis motivos pelos quais os roteadores não podem sincronizar com os servidores de horário públicos:
Listas de controle de acesso que não permitem a passagem de pacotes da porta UDP 123
Configuração incorreta nos roteadores, como os comandos clock timezone e clock summer-time estão ausentes nos roteadores
O servidor de horário público está inoperante
O software do servidor NTP no NT ou UNIX está configurado incorretamente
Há mais tráfego no roteador e mais tráfego a caminho do servidor
O NTP mestre perdeu a sincronização e o roteador perde a sincronização periodicamente
Alto uso de CPU
Deslocamento alto e muito mais entre o servidor e o roteador (use o comando show ntp association detail para verificar isso)
Esta mensagem de erro aparece quando o sensor tenta sincronizar com um servidor que reporta seu estrato como 15. Isso ocorre porque um valor de estrato de servidor de 15 torna o valor de estrato do sensor 16, o que é ilegal. Como resultado, o sensor rejeita o servidor e exibe a mensagem de erro Strata too high - too many indirections from sensor to master NTP server.
O NTP usa o conceito de um stratum para descrever quantos saltos de NTP de distância uma máquina está de uma fonte de tempo autoritativa. Essa mensagem de erro indica que o estrato de NTP relatado pelo servidor NTP é muito alto. O stratum é um número entre um e 15 que indica a distância entre o servidor e um relógio de referência de precisão. Em geral, os sistemas que são sincronizados diretamente com um relógio atômico relatam seu estrato como um. Um host que é sincronizado com um servidor NTP de estrato um, mas também serve como um servidor NTP para outros hosts relata seu estrato como dois para esses hosts, com cada camada sucessiva de servidores tendo um estrato que é um mais alto que seu pai.
Se você usar um host Linux como um servidor NTP, codifique o estrato relatado em vez de deixá-lo calcular o estrato automaticamente. Se for uma caixa Linux ou UNIX, o servidor NTP é configurado pelo arquivo /etc/ntp.conf, e o comando fudge é usado para codificar o stratum. O servidor sempre relata a seus clientes um valor de estrato um maior que o valor de enganação.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
07-Oct-2008 |
Versão inicial |