Introdução ao Network Time Protocol (NTP)
postado por Richard N Williams on Janeiro 29th, 2008
Network Time Protocol (NTP) é um dos protocolos mais antigos da Internet ainda utilizados hoje. Desenvolvido pelo Dr. David Mills da Universidade de Delaware, tem sido em uso constante e atualizado continuamente desde 1985. NTP é um protocolo projetado para sincronizar os relógios em computadores e redes em toda a Internet ou redes locais (LANs).
O NTP usa um algoritmo (algoritmo de Marzullo) para sincronizar o tempo em uma rede usando escalas de tempo como UTC (Tempo Universal Coordenado ou Temps Universel Coordonné) e pode suportar recursos como saltos segundos - adicionados para compensar a desaceleração da rotação da Terra.
O NTP (a versão 4 é a mais recente) pode manter o tempo através da Internet pública dentro dos milissegundos 10 (1 / 100th de um segundo) e pode ser ainda melhor em LAN com precisão de microseconds 200 (1 / 5000th de segundo) em condições ideais .
Os servidores de tempo NTP funcionam no conjunto TCP / IP e dependem do UDP (User Datagram Protocol). Uma forma menos complexa de NTP chamada Protocolo de Tempo de Rede Simples (SNTP) que não requer o armazenamento de informações sobre comunicações anteriores, necessárias para NTP, é usada em alguns dispositivos e aplicativos onde o tempo de precisão de alta precisão não é tão importante e também está incluído como padrão no software do Windows (embora as versões mais recentes do Microsoft Windows tenham o NTP completo instalado e o código-fonte seja gratuito e prontamente disponível na Internet).
A sincronização de tempo com NTP é relativamente simples, sincroniza o tempo com referência a uma fonte de relógio confiável. Esta fonte pode ser relativa (um relógio interno do computador ou o tempo no relógio de pulso) ou absoluto (uma fonte de relógio UTC, como um relógio atômico, que é preciso, como é humanamente possível).
Os relógios atômicos são os dispositivos de manutenção de tempo mais absolutos. Eles trabalham no princípio de que o átomo, césio-133, tem um número exato de ciclos de radiação a cada segundo (9,192,631,770). Esta revelou-se de modo preciso o Sistema Internacional de Unidades (SI) definiu agora a segunda como a duração dos ciclos 9,192,631,770 de radiação do átomo de césio-133.
No entanto, os relógios atômicos são extremamente caros e geralmente só podem ser encontrados em laboratórios de física em grande escala. No entanto, o NTP pode sincronizar as redes com um relógio atômico usando a rede do sistema de posicionamento global (GPS) ou a transmissão de rádio especializada.
O mais usado é o sistema GPS, que consiste de uma série de satélites que fornecem a informação de posicionamento e localização exata. Cada satélite GPS só pode fazer isso utilizando um relógio atômico que por sua vez pode ser pode ser usado como uma referência de tempo.
Um receptor GPS típico pode fornecer informações de tempo para dentro de alguns nanossegundos de UTC, desde que haja uma antena situada e com uma boa visão do céu.
Há também uma série de transmissões de rádio nacionais de tempo e frequência que podem ser usadas para sincronizar um servidor NTP. Na Grã-Bretanha, o sinal (chamado MSF) é transmitido pelo Laboratório Nacional de Física em Cumbria, que serve de referência nacional do Reino Unido, também existem sistemas semelhantes no Colorado, EUA (WWVB) e em Frankfurt, Alemanha (DCF-77). Estes sinais fornecem tempo UTC para uma precisão dos microseconds 100, no entanto, o sinal de rádio possui uma faixa finita e é vulnerável a interferências.
A distância do relógio de referência é conhecida como os níveis do estrato e eles existem para evitar ciclos no NTP e confirmar a precisão. Stratum 0 são dispositivos como relógios atômicos conectados diretamente a um computador. Stratum 1 são computadores conectados aos dispositivos 0 do stratum (como por meio de um receptor GPS), enquanto o Stratum 2 são computadores que enviam pedidos NTP para servidores Stratum 1. NTP pode suportar até os estratos 256.
Todas as versões do Microsoft Windows desde o 2000 incluem o Windows Time Service (w32time.exe) que tem a capacidade de sincronizar o relógio do computador com um servidor NTP. Deve notar-se que a Microsoft recomenda que as referências de tempo externo sejam usadas, em vez de baseadas na Internet, uma vez que estas não podem ser autenticadas. Estão disponíveis servidores NTP especializados que podem sincronizar o tempo em redes usando o sinal MSF (ou equivalente) ou GPS.