Como funciona um servidor NTP
postado por Richard N Williams on Janeiro 30th, 2008
Network Time Protocol (NTP) é um dos protocolos mais antigos da Internet ainda em uso. Inventado pelo Dr. David Mills, da Universidade de Delaware, tem sido utilizado desde 1985. O NTP foi projetado para sincronizar os relógios em computadores e redes pela Internet ou Redes de Área Local (LANs).
NTP (versão atual 4) é na verdade três coisas em um; um programa de software que é executado no fundo do Windows ou UNIX; um protocolo que troca valores de tempo entre servidores e clientes; e um conjunto de algoritmos que processam os valores de tempo para avançar ou recuar o relógio do sistema.
NTP usa um algoritmo (algoritmo de Marzullo) para sincronizar o tempo em uma rede usando uma referência de tempo. Embora as redes possam ser sincronizadas com relógios internos ou referências de temporização baseadas na Internet, é altamente recomendado pela Microsoft e outros que uma referência de temporização externa deve ser usada para garantir a autenticação. Uma referência de cronograma absoluto deve usar UTC (Tempo Universal Coordenado ou Temps Universel Coordonné), que suporta características como saltos - adicionados para compensar a desaceleração da rotação da Terra.
NTP funciona dentro da suíte TCP / IP e se baseia em UDP, uma forma menos complexa do NTP existe chamado Simple Network Time Protocol (SNTP) que não requer o armazenamento de informações sobre comunicações anteriores, necessários pelo NTP. É utilizado em alguns dispositivos e aplicações onde a alta precisão de tempo não é tão importante, ele também está incluído na maioria dos sistemas operacionais Windows, mas versões mais recentes têm a NTP completo já instalado, que também é gratuito para download através da Internet.
Sincronização com NTP é relativamente simples, ele sincroniza tempo com referência a uma fonte de relógio confiável, como um relógio atômico, embora estes são extremamente caros e são geralmente só pode ser encontrada em laboratórios de física em grande escala, no entanto NTP pode usar tanto o de Posicionamento Global sistema de rede (GPS) ou transmissão de rádio especialista para receber hora UTC a partir desses relógios.
NTP utiliza timestamps para representar a hora atual do dia cada um timestamp é efêmera, em outras palavras, é sempre maior do que o timestamp anterior como tempo nunca corre para trás. NTP analisa os valores de timestamp incluindo a frequência de erros e a estabilidade. Um servidor NTP manterá uma estimativa da qualidade dos seus relógios de referência e de si mesmo.
A distância a partir do relógio de referência é conhecida como os níveis de estrato e em que existem para evitar ciclos no NTP. Estrato 0 são os dispositivos tais como relógios de referência ligados directamente a um computador. Estrato 1 são computadores conectados ao estrato dispositivos 0, enquanto estrato 2 são computadores que enviam solicitações de NTP para servidores estrato 1. NTP pode suportar até 256 estratos.
NTP timestamps estão em dois formatos, mas eles transmitem os segundos a partir de um ponto definido no tempo (conhecido como a época privilegiada, fixado em 00: 00 1 janeiro 1900) O algoritmo NTP usa esse timestamp para determinar a quantidade para avançar ou recuar o sistema ou um relógio de rede.
O programa NTP (conhecido como um daemon no UNIX e um serviço no Windows) é executado no plano de fundo do sistema. NTP se recusa a acreditar no tempo que é dito até que várias trocas de pacotes tenham ocorrido, cada uma passando um conjunto de testes. Somente se as respostas de um servidor satisfizerem o teste, conhecido como especificações do protocolo, o servidor é considerado. Geralmente, leva cerca de cinco minutos (cinco boas amostras) até que um servidor NTP seja aceito como uma fonte de sincronização.
Um servidor de tempo de GPS típico pode fornecer informações de temporização dentro de alguns nanosegundos de UTC, desde que haja uma antena 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.