Alto NTP

EnglishSpanishChinese (Simplified)ItalianPortuguese

“Um homem com um relógio sabe que horas são. Um homem com dois relógios nunca tem certeza.”

Lei de Segal

Antes de mais nada, o servidor de hora do blog é esse:

time.alto.win

NT-o quê?

A sigla NTP significa Network Time Protocol e permite que computadores em uma rede, mesmo que ela seja tão grande quanto a internet, mantenham seus relógios sincronizados e ajustados para que tudo funcione corretamente.

Tudo funciona de forma tão azeitada graças a um exército de servidores NTP atuando nos bastidores para que um exército ainda maior de dispositivos possa saber a hora certa.

Assim você consegue desde acessar seus sites favoritos no seu computador ou celular até fazer compras tanto online quanto em maquininhas de cartão de crédito e nada disso funcionaria direito se a hora estivesse errada.

Agora você pode contar com um servidor de hora super preciso baseado em relógios atômicos embutidos em satélites em órbita ao redor do planeta Terra. Saiba mais a seguir.

Dispensa terceiros

Assim como o Alto DNS, o Alto NTP é um serviço independente e por isso é classificado como servidor de Estrato 1. Isso significa que ele possui sua própria fonte referencial de hora, na qual só ele pode se conectar.

O Alto NTP utiliza um receptor de GPS para determinar qual a hora certa. Isso funciona pois existem relógios atômicos super precisos embutidos nos satélites que estão em órbita ao redor da Terra.

Quando esses satélites GPS se comunicam com receptores em solo, enviam junto uma marcação de tempo com o horário determinado pelos relógios deles. Assim temos uma fonte de hora de referência com enorme precisão.

Esse horário é comparado com as estampas de tempo enviadas por múltiplos satélites e com outros servidores NTP para confirmar que ela está correta mesmo.

No momento, o receptor do Alto NTP está conversando com cerca de 12 satélites. O servidor de hora do blog conta com uma precisão de milésimos de segundos.

  .-- Modo  '^' = servidor, '=' = peer, '#' = relógio local.
 / .- Estado '*' = melhor atual, '+' = combinado, '-' = não combinado,
| /             'x' = pode estar errado, '~' = instável, '?' = inutilizável.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||    Registra se é alcançável (octal) -.          |  xxxx = desloc. ajustado,
|| Log2(intervalo de consulta) --.      |          |  yyyy = desloc. medido,
||                                \     |          |  zzzz = erro estimado.
||                                 |    |           \
MS Nome/Endereço IP        Estrato Poll Reach LastRx Última amostra
===============================================================================
#* GPS                           0   3   377     6    -76us[ -112us] +/-  534us
^- 168.96.251.197                1  10   127  1161    -19ms[-5250us] +/-  107ms
^- 200.160.7.186                 1  10   377   32m    -28ms[-7783us] +/-   28ms
^- 200.160.7.197                 1  10   377   781    -13ms[-3340us] +/-   29ms

Em caso de qualquer eventual problema com o módulo de GPS, o Alto NTP automaticamente passa a operar como servidor de Estrato 2 a partir das informações de hora obtidas de uma série de servidores de terceiros.

Todos eles são servidores de Estrato 1 e operados por instituições como a UFRJ, NTP.br, Rede Nacional de Pesquisa (RNP) e Observatório Nacional. Isso garante disponibilidade e que a hora estará sempre a mais precisa possível.

Níveis de precisão

A hierarquia de servidores de hora começa no chamado Estrato 0 e vai até o Estrato 16. O Estrato 0 é a fonte de referência da hora, como a constelação GPS que utilizo. Somente um servidor pode usar a hora provida pelo Estrato 0.

A esses servidores damos o nome de Estrato 1 e eles não utilizam uma conexão de rede para chegar até a hora referencial, como no caso do módulo de GPS que funciona através de uma porta USB.

Outros servidores de hora podem se conectar a um servidor de Estrato 1 através de uma conexão de rede como a Internet para sincronizar a hora que reportam. Um servidor de Estrato 2 obtém a hora de um servidor de Estrato 1.

Um servidor de Estrato 3 obtém a hora de um servidor de Estrato 2 e assim em diante. Chegando no Estrato 16, o servidor de hora é considerado fora de sincronia e não serve para que seja obtido um horário confiável dele.

Como utilizar

Basta configurar seu sistema operacional para usar este endereço como servidor de hora ou serviço de hora da internet:

time.alto.win
Windows

Há muitos caminhos para a tela de configuração e variam conforme a versão do sistema. Mas há um atalho para o lugar certo e que fica acessível apertando a tecla Windows + R e colando o seguinte comando:

%SystemRoot%\explorer.exe shell:::{E2E7934B-DCE5-43C4-9576-7FE4F75E7480}

Na janela que surge, na aba Hora da Internet clique em Alterar Configurações. Lá, digite o endereço time.alto.win e sincronize seu relógio clicando no botão Atualizar Agora.

Se quer algo mais direto, mas recorrendo a uma linha de comando, execute o seguinte numa janela do Prompt de Comando do Windows com privilégios de Administrador:

w32tm /config /manualpeerlist:"time.alto.win" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync
w32tm /query /status

Com os comandos acima, seu computador permanecerá com o relógio sincronizado com o Alto NTP.

Mac OS

Na página de suporte do sistema operacional da Apple você encontra como definir um servidor de hora como o Alto NTP.

Linux

No Ubuntu, você pode seguir estes passos para sincronizar seu relógio com um servidor de hora como o Alto NTP. Caso não utilize este sistema, faça uma pesquisa sobre como proceder. Mas as instruções do link devem servir em muitas outras distribuições como o Debian e o Linux Mint.

Vale mencionar que coisas como horário de verão e fuso horário são definidas pelo sistema operacional do seu dispositivo. O servidor de hora do blog fornece o horário no padrão universal UTC, assim como todos os servidores NTP.

Pool de servidores

O Alto NTP ajuda usuários por todo o mundo a manterem seus relógios fazendo tic tac certinho. O servidor Estrato 1 que montei está inserido no conjunto de servidores que formam o serviço NTP Pool.

Monitoramento do NTP Pool para o Alto NTP

Ao utilizar um dos pools desta rede de voluntários, eventualmente você estará sendo atendido pelo Alto NTP. São milhares de requisições do mundo inteiro sendo atendidas a cada segundo pelo serviço do blog.

Para utilizar os servidores do NTP Pool, os endereços são estes:

O NTP Pool vem embutido por padrão em muitos sistemas operacionais (como o Ubuntu) e dispositivos (como roteadores e celulares da Xiaomi). Talvez você já esteja usando o serviço sem saber.

Em parceria com a Fruteira do Diogo Silva e com o Allan Mansano, o blog tem também seu próprio pool de servidores no endereço pool.time.alto.win. São alguns servidores de stratum 1 e 2 disponíveis para você.

Sincronia criptografada

Se por qualquer motivo você tenha interesse em sincronizar seu relógio com o Alto NTP de maneira criptografada, saiba que o serviço é compatível com a tecnologia NTS.

Basta usar um cliente compatível e conectar-se na porta 4460. Assim você tem a certeza de que seu dispositivo de fato está conversando com o Alto NTP e mais ninguém.

Equipamento em uso

O Alto NTP utiliza os seguintes ingredientes para prover a hora com alta precisão para você:

Caso queira montar seu próprio servidor de hora, você precisa de pelo menos três destes itens. Basicamente: um computador (que pode ser até mesmo um Raspberry Pi Zero), o Chrony e um módulo de GPS.

O Chrony é uma das melhores opções para servidor ou cliente de hora, mas temos ainda o tradicional NTPd disponível, além do OpenNTP e outras soluções para você escolher e instalar.

Como o que mais nos importa é a hora e não informações de geolocalização, mesmo um módulo GPS mais antigo como a série NEO-M6 da u-blox dá conta. Porém ele tem suporte a menos constelações para receber o horário delas.

Com esses três dispositivos você já consegue montar um servidor de hora super preciso como o Alto NTP.

O módulo RTC (Real Time Clock) é opcional. O Raspberry Pi não tem esse chip, mas com o módulo ele se torna capaz de salvar regularmente a hora e continuar contando ela com precisão mesmo sem qualquer conexão com fontes externas.

O DS3231 possui um oscilador de cristal que gera um pulso bastante preciso e permite continuar contando a hora de forma independente. Tem uma bateria que o mantém operante mesmo que o Raspberry Pi seja desligado.

O oscilador de cristal conta ainda com um sensor para compensar o desvio natural causado pela variação da temperatura ambiente.