Network Time Protocol (NTP), Compreendendo a Sincronização.
postado por Richard N Williams on Outubro 7th, 2008
Network Time Protocol parece ter sido em torno de sempre. Na verdade, é mesmo um dos protocolos mais antigos da Internet que foi desenvolvido no 1980 pelo professor David Mills e seu time da Universidade de Delaware.
Em um mundo descontraído, talvez não seja importante se as redes de computadores não estiverem sincronizadas. As únicas conseqüências dos erros de temporização podem ser que um e-mail chega antes de ser enviado, mas em indústrias como reserva de lugares de avião, a bolsa de valores ou a comunicação por satélite, as frações de um segundo podem causar sérios erros, como a venda de assentos mais de uma vez, a perda de milhões de dólares ou mesmo de fraude.
Os computadores são máquinas lógicas e, como o tempo é linear para um computador, qualquer evento que ocorra em uma máquina deve acontecer antes que a notícia desse evento atinja outro. Quando as redes não são sincronizadas, os computadores lutam para lidar com eventos que, obviamente, ocorreram (como um e-mail sendo enviado), mas de acordo com o seu relógio e marca de tempo ainda não, basta pensar no erro do milênio onde temia os relógios Volte para o 1900!
Por essa razão, o NTP foi desenvolvido. O NTP usa um algoritmo (algoritmo da Marzullo) para sincronizar o tempo com a versão atual do NTP pode manter o tempo na Internet pública dentro dos milissegundos do 10 e pode ser ainda melhor em LANs. Os servidores de tempo NTP funcionam no conjunto TCP / IP e dependem do UDP (User Datagram Protocol).
Servidores NTP são normalmente dispositivos NTP dedicados que usam uma única referência de tempo para sincronizar uma rede. Esta referência de tempo é mais frequentemente uma fonte UTC (Tempo Universal Coordenado). A UTC é uma escala de tempo global distribuída por relógios atômicos através da Internet, transmissões de rádio de ondas longas especializadas ou através da rede GPS (Sistema de Posicionamento Global).
O algoritmo NTP usa essa referência de tempo para determinar a quantidade para avançar ou recuar o sistema ou relógio de rede. O NTP analisa os valores do timestamp, incluindo a freqüência de erros e sua estabilidade. Um servidor NTP manterá uma estimativa da qualidade dos relógios de referência e de si mesmo.
NTP é hierárquico. A distância da referência de temporização é dividida em estratos. Stratum 0 é a referência do relógio atômico; Stratum 1 é o servidor NTP, enquanto o Stratum 2 é um servidor que recebe informações de temporização do servidor NTP. O NTP pode suportar camadas quase ilimitadas, embora seja mais longe da referência de tempo, menos precisa será.
Como cada nível de estrato pode receber e enviar sinais de temporização, a vantagem desse sistema hierárquico é que milhares de máquinas podem ser sincronizadas com apenas a necessidade de um servidor NTP.
O NTP contém uma medida de segurança chamada autenticação. A autenticação verifica se cada marca de tempo veio da referência de tempo pretendida, analisando um conjunto de chaves de criptografia que são enviadas com a referência de tempo. O NTP analisa e confirma se veio da fonte do tempo, verificando-o contra um conjunto de chaves confiáveis em seus arquivos de configuração.
No entanto, a autenticação não está disponível a partir de fontes de tempo de toda a Internet, e é por isso que a Microsoft e a Novell, entre outras, recomendam fortemente apenas referências de tempo externas, como um dedicado GPS NTP servidor ou aquele que recebe a transmissão de ondas longas de tempo e frequência nacional.