Protocolo de tempo de rede para quando importa o tempo
postado por Stuart on Dezembro 14th, 2009
Há uma certa ironia de que o computador que se senta em sua área de trabalho e pode custar tanto quanto o salário do mês terá um relógio a bordo que é menos preciso do que um relógio de pulso barato comprado em um posto de gasolina ou de gás.
O problema não é que os computadores são feitos especialmente com componentes de temporização baratos, mas que qualquer timekeeping sério em um PC pode ser alcançado sem os osciladores caros ou avançados.
Os osciladores de tempo de bordo na maioria das PCs são, de fato, apenas uma cópia de segurança para manter o relógio do computador sincronizado quando o PC está desligado ou quando as informações de temporização da rede não estão disponíveis.
Apesar desses relógios de bordo inadequados, o tempo em uma rede de PCs pode ser alcançado com uma precisão de milissegundos e uma rede sincronizada com o cronograma global UTC (Tempo Universal Coordenado) não deve derivar em absoluto.
A razão pela qual esse alto nível de precisão e sincronia pode ser alcançada sem osciladores caros é que os computadores podem usar Network Timing Protocol (NTP) para encontrar e manter a hora exata.
NTP é um algoritmo que distribui uma única fonte de tempo; isso pode ser gerado pelo relógio onboard de um PC - embora isso possa fazer com que todas as máquinas da rede se desviem à medida que o próprio relógio deriva - Uma solução muito melhor é usar o NTP para distribuir uma fonte precisa e estável de tempo e, mais preferencialmente, para redes que realizam negócios em toda a Internet, uma fonte da UTC.
O método mais simples de receber UTC - que é mantido verdadeiro por uma constelação de relógios atômicos em todo o mundo - é usar um servidor dedicado tempo NTP. Os servidores NTP usam sinais de satélite GPS (Sistema de Posicionamento Global) ou transmissões de rádio de ondas longas (geralmente transmitidos por laboratórios nacionais de física como NPL ou NIST).
Uma vez recebido o NTP servidor distribui a fonte de sincronização em toda a rede e verifica constantemente cada máquina para drift (essencialmente, a máquina em rede entra em contato com o servidor como cliente e as informações são trocadas via TCP / IP.
Isso torna os relógios de bordo dos computadores em si obsoletos, embora quando as máquinas sejam inicialmente inicializadas, ou se houver uma demora em entrar em contato com o NTP servidor (se está para baixo ou há uma falha temporária), o relógio de bordo é usado para manter o tempo até que a sincronização completa seja novamente alcançável.