21Aug
Muitos de nós tiveram um problema ocasional com nossos computadores e outros dispositivos que possuem configurações de tempo precisas, mas uma sincronização rápida com um servidor NTP torna tudo bem novamente. Mas se nossos próprios dispositivos podem perder a precisão, como os servidores NTP conseguem permanecer tão precisos?
Today's Question &A sessão de atendimento chega a cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento comunitário de sites Q & A.
Foto cortesia de LEOL30( Flickr).
O questionário
SuperUser Frank Thornton quer saber como os servidores NTP podem permanecer tão precisos:
Tenho notado que, em meus servidores e outras máquinas, os relógios sempre se deslocam para que eles precisem se sincronizar para permanecerem precisos. Como os relógios do servidor NTP continuam a deriva e sempre permanecem tão precisos?
Como os servidores NTP conseguem permanecer tão precisos?
O respondente
SuperUser Michael Kjorling tem a resposta para nós: os servidores
NTP dependem de relógios altamente precisos para cronometrar precisão. Uma fonte de tempo comum para servidores NTP centrais são relógios atômicos ou receptores GPS( lembre-se de que os satélites GPS têm relógios atômicos a bordo).Esses relógios são definidos como precisos, pois fornecem uma referência de tempo altamente exata.
Não há nada mágico sobre GPS ou relógios atômicos que os façam dizer exatamente a que horas são. Por causa de como os relógios atômicos funcionam, eles são simplesmente muito bons, tendo uma vez sido informado de que horas são, mantendo o tempo preciso ( uma vez que o segundo é definido em termos de efeitos atômicos).Na verdade, vale a pena notar que o tempo do GPS é distinto do UTC que estamos mais acostumados a ver. Estes relógios atômicos são, por sua vez, sincronizados contra o tempo atômico internacional ou TAI, a fim de não apenas dizer com precisão a passagem do tempo, mas também o tempo .
Depois de ter um tempo exato em um sistema conectado a uma rede como a Internet, é uma questão de engenharia de protocolos que permite a transferência de tempos precisos entre os hosts em uma rede não confiável. Nesse sentido, um servidor NTP Stratum 2( ou mais longe da fonte de tempo real) não é diferente da sincronização do sistema de desktop contra um conjunto de servidores NTP.
No momento em que você tiver alguns tempos precisos( como obtidos dos servidores NTP ou em outros lugares) e conheça a taxa de avanço do seu relógio local( o que é fácil de determinar), você pode calcular a taxa de deriva do relógio local em relação ao "acreditado"preciso "passagem do tempo. Uma vez bloqueado, esse valor pode então ser usado para ajustar continuamente o relógio local para que ele relate valores muito próximos da passagem precisa do tempo, mesmo que o próprio relógio local em tempo real seja altamente impreciso. Enquanto seu relógio local não for altamente errático , isso deve permitir manter o tempo preciso por algum tempo, mesmo que sua fonte de tempo a montante não esteja disponível por qualquer motivo.
Algumas implementações do cliente NTP( provavelmente a maioria das implementações do ntpd daemon ou do sistema) fazem isso e outras( como ntpdate companheiro do ntpd que simplesmente define o relógio uma vez) não. Isso é comumente referido como um arquivo de deriva porque ele armazena persistentemente uma medida de deriva do relógio, mas, estritamente falando, não precisa ser armazenado como um arquivo específico no disco.
Em NTP, Stratum 0 é, por definição, uma fonte de tempo precisa. O Stratum 1 é um sistema que usa uma fonte de tempo Stratum 0 como fonte de tempo( e, portanto, é um pouco menos preciso do que a fonte de tempo Stratum 0).O Stratum 2 novamente é um pouco menos preciso do que Stratum 1 porque está sincronizando seu tempo contra a fonte Stratum 1 e assim por diante. Na prática, essa perda de precisão é tão pequena que é completamente desprezível em todos, exceto nos casos mais extremos.
Tem alguma coisa a adicionar à explicação? Som desligado nos comentários. Deseja ler mais respostas de outros usuários Tech-savvy Stack Exchange? Confira o tópico de discussão completo aqui.