Manter o tempo com Network Time Protocol

Quando se trata de sincronização de tempo da rede, Network Time Protocol (NTP) é, de longe, o protocolo de software mais utilizado. Quer seja para manter uma rede de centenas ou milhares de máquinas sincronizadas, ou manter uma única máquina funcionando verdadeiramente, o NTP oferece a solução. Sem NTP, e o NTP servidor, muitas das tarefas que realizamos na internet, desde compras até bancos on-line, simplesmente não seriam possíveis.

A sincronização é vital para redes que operam pela internet. Sem sincronização, haveria caos. Imagine receber um e-mail de alguém cinco minutos antes de ser enviado ou transferir dinheiro para um usuário cuja máquina diz que o dinheiro deixado antes dele chegou.

Tempo Universal Coordenado

Para evitar todos esses problemas, uma escala de tempo única e universal é empregada na internet, o que é o mesmo sem importar o fuso horário que uma máquina reside. Tempo Universal Coordenado (UTC) é regido por relógios atômicos, por isso é altamente preciso e estável.

Para que as redes de computadores recebam UTC, elas usam servidores NTP, que recebem a fonte de tempo da rede GPS (Sistema de Posicionamento Global), transmissões de rádio, ou da própria internet. Uma vez recebido, cabe à NTP tomar fonte de tempo mestre e distribuí-la em torno de uma rede para garantir sincronia.

Protocolo de tempo de rede explicado

O NTP é um dos protocolos mais antigos da computação. Ele data de quando a Internet ainda estava em sua infância, mas foi modificado e adaptado para garantir que ainda é relevante. Em essência, o NTP é um algoritmo projetado para julgar o tempo em computadores individuais e compará-los com a fonte de tempo UTC. Se o NTP encontrar e discrepâncias, ele ajusta o relógio no dispositivo ofensivo para garantir que ele corresponda. O NTP faz isso com tanta precisão que uma rede de mil máquinas pode ser sincronizada em poucos milissegundos um do outro.

NTP adota um sistema hierárquico. Em vez de ter todos os dispositivos em uma rede verificados com o servidor NTP e a fonte de tempo UTC, o protocolo permite que as máquinas mais próximas do servidor, sejam usadas como referência para máquinas mais baixas. Isso evita um fluxo de tráfego para o servidor NTP e permite que um único dispositivo mantenha a sincronização em uma rede de centenas ou mesmo milhares de dispositivos.

Segundos bissextos

Um dos maiores desafios que o NTP enfrenta ao usar a UTC como fonte de tempo é que esse tempo universal é ocasionalmente ajustado para manter sua correlação com a rotação da Terra. Como o planeta está sempre ligeiramente abrandando, os relógios atômicos que governam a UTC são precisos para que o planeta em si, então um segundo ocasional é adicionado uma ou duas vezes por ano para garantir que não haja deriva do dia para a noite (embora tal processo levaria milhões de anos).

Essas mudanças incrementais são conhecidas como Salte segundos e são identificados nos sinais enviados para a maioria dos servidores NTP. Quando NTP descobre um segundo salto é adicionado, ele ajusta automaticamente todos os dispositivos em uma rede repetindo um segundo. A falta de ajuste para esses segundos de salto resultaria em que a rede se desviaria gradualmente da UTC e ficaria sem sincronia com o resto da comunidade da Internet.

Este post foi escrito por

Richard N Williams

Richard N Williams é um autor técnico e especialista em Server e Tempo indústria sincronização do NTP. Richard N Williams no Google+

Leitura relacionada