Este documento fornece informações sobre como resolver problemas comuns com o Network Time Protocol (NTP).
A Cisco recomenda que você tenha uma boa compreensão 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 a servidores de horário da Internet ou outras fontes, como receptores de rádio ou satélite ou serviços de modem de telefone. Geralmente, ele fornece precisão menor 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 tempo 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 horário NTP funcionam no conjunto TCP/IP e dependem da porta 123 do Protocolo de Datagrama do Usuário (UDP - User Datagram Protocol).
Os servidores NTP são normalmente dispositivos NTP dedicados que usam uma única referência de tempo para a qual podem sincronizar uma rede. Essa referência de tempo é geralmente 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). 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 para adiantar ou retardar o relógio do sistema ou da rede. O NTP analisa os valores de timestamp e a frequência dos erros e sua estabilidade. Um servidor NTP mantém uma estimativa da qualidade dos relógios de referência e de si mesmo.
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 nenhum pacote NTP do servidor NTP. Esse problema ocorre porque os roteadores Cisco usam os domínios NTP e Ative Diretory usam o serviço W32Time. A W32Time usa o Simple Network Time Protocol (SNTP), um subconjunto do NTP, para sincronização de tempo. 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 fornecidas pelo NTP. 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 de SNTP interna (em vez de se afirmar como NTP). O Cisco IOS-NTP, que tenta sincronizar com o W32Time, obtém seu próprio valor de dispersão de raiz que envia ao W32Time e isso se revela caro para que o Cisco IOS-NTP sincronize. Como o valor de dispersão raiz do Cisco IOS-NTP vai além de 1000 ms, ele se dessincroniza (procedimento de seleção de tempo). Como os roteadores baseados no Cisco IOS executam a implementação RFC completa 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 raiz está acima de 1000 ms, o que faz com que a implementação do Cisco IOS NTP rejeite a associação. Os roteadores que executam o Cisco IOS podem não ser capazes 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 autoritativo 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 posteriores podem servir como um servidor NTP. Outras máquinas na rede podem usar o servidor NTP para sincronizar seu tempo.
Estas são as possíveis razões pelas quais os roteadores não podem sincronizar com os servidores de horário público:
Listas de controle de acesso que não permitem a passagem de pacotes da porta 123 UDP
Configuração incorreta nos roteadores, como os comandos clock timezone e clock Summer-time estão ausentes nos roteadores
O servidor de tempo público está inoperante
O software do servidor NTP em NT ou UNIX está mal configurado
Mais tráfego está no roteador e mais tráfego no caminho para o servidor
O mestre NTP perdeu a sincronização e o roteador perde a sincronização periodicamente
Alto uso de CPU
Deslocamento alto e mais entre o servidor e o roteador (use o comando show ntp association detail para verificar isso)
Essa mensagem de erro é exibida quando o sensor tenta sincronizar com um servidor que relata seu estrato como 15. Isso ocorre porque um valor de stratum de servidor 15 torna o stratum do sensor 16, que é ilegal. Como resultado, o sensor rejeita o servidor e exibe a mensagem de erro Strata muito alta - demasiadas indireções do sensor para o servidor NTP mestre.
O NTP usa o conceito de um stratum para descrever quantos saltos de NTP distantes uma máquina de uma fonte de tempo autoritativa. Essa mensagem de erro indica que o estrato NTP relatado pelo servidor NTP está muito alto. O stratum é um número entre um e 15 que indica a distância que o servidor está removido de um relógio de referência de precisão. Geralmente, os sistemas que são diretamente sincronizados com um relógio atômico relatam seu stratum 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 com um estrato que é um maior que seu pai.
Se você usar um host Linux como um servidor NTP, codifice o stratum que ele relata em vez de permitir que ele calcule o stratum 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 um valor de stratum um maior que o valor de fudge para seus clientes.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
05-Nov-2008 |
Versão inicial |