Manter o tempo preciso em seus computadores
postado por Richard N Williams on Janeiro 15th, 2008
Todos os PCs e dispositivos de rede usam relógios para manter um tempo interno do sistema. Esses relógios, denominados Relógio de Relógio em Tempo Real (RTC), fornecem informações sobre horários e datas. Os chips são suportados por bateria, de modo que mesmo durante as interrupções de energia, eles podem manter o tempo. No entanto, os computadores pessoais não são projetados para ser relógios perfeitos, seu design foi otimizado para produção em massa e de baixo custo em vez de manter um tempo preciso.
Estes relógios internos são propensos a deriva e, embora para muitas aplicações, isso pode ser bastante adequado, muitas vezes as máquinas precisam trabalhar juntas em uma rede e se os computadores deriva de taxas diferentes, os computadores ficarão sem sincronia uns com os outros e os problemas podem surgir particularmente com transações sensíveis ao tempo.
O Network Time Protocol (NTP) é um dos protocolos mais antigos da Internet ainda utilizados, inventado pelo Dr. David Mills da Universidade de Delaware, já utilizou desde 1985. NTP é um protocolo projetado para sincronizar os relógios em computadores e redes em toda a Internet ou redes locais (LANs).
NTP (versão 4) pode manter o tempo através da Internet pública para dentro de milissegundos 10 (1 / 100th de um segundo) e pode executar ainda melhor sobre LANs, com erros de 200 microssegundos (1 / 5000th de segundo) em condições ideais.
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. Ele é utilizado em alguns dispositivos e aplicações onde a elevada precisão de temporização não é tão importante.
Muitos sistemas operacionais, incluindo Windows, UNIX e LINUX, podem utilizar NTP e SNTP e sincronização de tempo com o NTP é relativamente simples, sincroniza o tempo com referência a uma fonte de clock confiável. Esta fonte pode ser relativa (o relógio interno de um computador ou o tempo em um relógio de pulso) ou absoluto (Uma fonte de relógio UTC - Universal Coordinated Time-Time que é precisa, como é humanamente possível).
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.
Há uma grande quantidade de servidores NTP alojados na Internet que se sincronizam com referências externas da UTC, como time.nist.gov ou ntp.my-inbox.co.uk, mas deve-se notar que a Microsoft e outros recomendam que uma fonte externa seja usada para sincronize suas máquinas, pois as referências baseadas na Internet não podem ser autenticadas. Estão disponíveis servidores de tempo NTP especializados que podem sincronizar o tempo em redes usando o sinal MSF (ou equivalente) ou GPS.
Os mais utilizados são os servidores de horário GPS que usam o sistema GPS para transmitir o tempo preciso. O sistema GPS consiste em uma série de satélites que fornecem informações precisas de posicionamento e localização. Cada satélite GPS só pode fazer isso utilizando um relógio atômico que, por sua vez, pode ser usado como referência de temporização.
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.
Existem várias 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.