Além do TCP/IP, existem várias maneiras de sincronização de tempo. Algumas delas requerem apenas um telefone comum, enquanto outras necessitam de equipamentos eletrônicos caros, raros e sensíveis. A extensa infraestrutura de sistemas de sincronização de tempo inclui observatórios, instituições governamentais, estações de rádio, constelações de satélites e muito mais.
Hoje vou explicar como funciona a sincronização de tempo sem internet e como criar um servidor NTP “satélite” por conta própria.
Radiodifusão em ondas curtas
Nos Estados Unidos, o NIST transmite a hora exata e a frequência em ondas de rádio de 2,5, 5, 10, 15 e 20 MHz da estação WWVH em Fort Collins, Colorado, e nas frequências de 2,5, 5, 10 e 15 MHz da estação WWVH em Kauai, Havai. O código de tempo é transmitido em intervalos de 60 segundos a uma velocidade de 1 b/s, usando modulação por largura de pulso em uma portadora de 100 Hz.
O Conselho Nacional de Pesquisa (NRC) do Canadá fornece informações de tempo e frequência em 3,33, 7,85 e 14,67 MHz da estação CHU em Ottawa, província de Ontário.

Formato de transmissão WWVH
A propagação do sinal das estações de ondas curtas geralmente ocorre por reflexão das camadas superiores da ionosfera. Os sinais podem ser recebidos a grandes distâncias, no entanto, a precisão do tempo é em torno de um milissegundo.
O padrão atual NTPv4 inclui drivers de áudio para WWV, WWVH e CHU.
Radiodifusão em ondas longas
O NIST também transmite a hora exata e a frequência em ondas de rádio longas na frequência de 60 kHz de Boulder, Colorado. Existem outras estações que transmitem sinais de tempo exato em ondas longas.
Chamadas e localização
Frequência (kHz)
Potência (kW)
WWVB Fort Collins, Colorado, EUA
60
50
DCF77 Mainflingen, Alemanha
77.5
30
MSF Rugby, Reino Unido
60>
50
HBG Prangins, Suíça
75
20
JJY Fukushima, Japão
40
50
JJY Saga, Japão
60
50
Estações de Baixa Frequência de Tempo Padrão
O código de tempo é transmitido em intervalos de 60 segundos a uma velocidade de 1 b/s, da mesma forma que em estações de onda curta. Os formatos de transmissão de dados também são semelhantes para ambos os padrões. A propagação do sinal ocorre através das camadas inferiores da ionosfera, que são relativamente estáveis e apresentam flutuações diárias previsíveis em altura. Graças a essa previsibilidade do meio físico, a precisão aumenta para 50 μs.

Formato de transmissão WWVB
Satélite de operação geostacionário para monitoramento ambiental
Nos EUA, o NIST também transmite dados de tempo e frequência com precisão em cerca de 468 MHz a partir de satélites ambientais geostacionários (GOES). O código de tempo alterna com mensagens usadas para consultar sensores remotos. Ele consiste em 60 semitons BCD transmitidos em intervalos de 30 segundos. As informações do código de tempo são semelhantes aos serviços terrestres.
Sistemas de posicionamento global
O Departamento de Defesa dos EUA utiliza o GPS para navegação precisa em terra, mar e ar. Este sistema fornece cobertura de 24 horas no globo através de uma constelação de satélites em órbitas de 12 horas, inclinadas a 55°.
A constelação inicial de 24 satélites foi expandida para 31 satélites em uma configuração não homogênea, de modo que pelo menos 6 satélites estão sempre em linha de visão, e 8 ou mais satélites estão em linha de visão na maior parte do mundo.
Serviços similares ao GPS são operados ou planejados por outros países. O GLONASS russo já está em operação há cerca de uma década, considerando desde 2 de setembro de 2010, quando o número total de satélites foi ampliado para 26 — a constelação estava totalmente implantada para cobertura completa da Terra.

Satélites GPS ao redor do globo.
O sistema de navegação por satélite da União Europeia é chamado de 'Galileo'. Esperava-se que o 'Galileo' começasse a operar entre 2014 e 2016, quando todos os 30 satélites planejados estivessem em órbita. No entanto, até 2018, a constelação de satélites 'Galileo' ainda não havia alcançado o número necessário de aparelhos.
Há também o "Beidou" chinês, que em tradução significa "baleia". O grupo, composto por 16 satélites, foi colocado em operação comercial em 27 de dezembro de 2012, como um sistema regional de posicionamento. Está previsto que o sistema atinja toda a sua capacidade até 2020. Hoje mesmo, no Habra, saiu , sobre o lançamento bem-sucedido do satélite desse sistema.
Matemática para determinar coordenadas pelo SRNS
Como um navegador GPS/GLONASS no seu smartphone determina a localização com tanta precisão através do sistema de comunicação por rádio (SRNS)? Para entender o princípio dos cálculos, é preciso relembrar a estereometria e a álgebra do ensino médio, ou de escolas de matemática e física.
Cada satélite informa ao receptor o tempo exato. Os satélites possuem relógios atômicos e, portanto, podem ser confiáveis. Sabendo a velocidade da luz, não é difícil determinar o raio da esfera na superfície da qual o satélite está. Esta esfera, ao tocar a Terra, forma um círculo onde está localizado o receptor GPS/GLONASS.
Quando o sinal chega de dois satélites, já temos a interseção da Terra e duas esferas, o que resulta em apenas dois pontos no círculo. A esfera do terceiro satélite deve, idealmente, coincidir com um desses dois pontos, definindo assim, de forma definitiva, as coordenadas do receptor.
Em princípio, mesmo com dois satélites, é possível entender, por meio de indícios indiretos, qual das duas pontos está mais próxima da verdade, e os modernos algoritmos de software de navegação podem lidar com essa tarefa. Então, por que precisamos de um quarto satélite?

Determinação da localização por meio de um agrupamento de satélites.
Não é difícil notar que nessa imagem idealizada há muitos nuances que afetam a precisão dos cálculos. O tempo no receptor é, possivelmente, a fonte mais óbvia de erros. Para que tudo funcione corretamente, o tempo do receptor GPS/GLONASS deve estar sincronizado com o tempo do satélite. Sem isso, o erro seria de até ± 100 mil km.
Da fórmula de velocidade, tempo e distância S = v*t, obtemos a equação básica para a transmissão do sinal do SRNS. A distância até o satélite é igual ao produto da velocidade da luz pela diferença de tempo entre o satélite e o receptor.

Principalmente, isso ocorre porque, mesmo após todas as sincronizações, o tempo no receptor tпр é conhecido com um grau suficiente de precisão. Entre o tempo verdadeiro e tпр sempre existirá Δt, devido ao qual o erro nos cálculos se torna inaceitável. É por isso que é necessário quarto satélite.
Para uma fundamentação matemática mais clara sobre a necessidade de quatro satélites, construiremos um sistema de equações.

Para determinar as quatro incógnitas x, y, z e Δt, é necessário que o número de observações seja igual ou maior do que o número de incógnitas. Esta é uma condição necessária, mas insuficiente. Se a matriz dos normais das equações se mostrar degenerada, o sistema de equações não terá solução.
Não devemos esquecer também a Teoria da Relatividade Especial e os efeitos relativísticos de dilatação do tempo nos relógios atômicos de satélites em relação aos da Terra.

Se considerarmos que o satélite se move em uma órbita a uma velocidade de 14 mil km/h, obtemos uma dilatação de tempo de cerca de 7 μs (microsegundos). Por outro lado, os efeitos relativísticos da Teoria da Relatividade Geral também estão em ação.
A questão é a seguinte: os satélites em órbita estão a uma grande distância da Terra, onde a curvatura do contínuo espaço-tempo é menor do que na superfície terrestre devido à massa da Terra. De acordo com a Teoria da Relatividade Geral, o andamento do tempo em relógios mais próximos de um objeto massivo parecerá mais lento do que aqueles que estão mais distantes dele.

- G — constante gravitacional;
- M — massa do objeto, neste caso, a Terra;
- r — distância do centro da Terra ao satélite;
- c — velocidade da luz.
O cálculo por esta fórmula dá uma dilatação de tempo de 45 μs no satélite. No total, -7μs + 45μs = 38μs de balanço — efeitos da TRS e da TRG.
Em tarefas práticas de determinação de localização usando GNSS, também devem ser consideradas as demoras ionosféricas e troposféricas. Além disso, correções de 46 ns estão relacionadas à excentricidade de 0,02 da órbita dos satélites GPS.
A possibilidade de receber sinais simultaneamente de mais de quatro satélites GPS / GLONASS permite aumentar ainda mais a precisão da determinação das coordenadas do receptor. Isso é alcançado porque o navegador resolve o sistema de quatro equações com quatro incógnitas.
o número de vezes e toma a média, aumentando a precisão da avaliação final de acordo com as leis da estatística matemática.
Como configurar um servidor NTP Stratum 1 via satélite
Para configurar um servidor de tempo de alta qualidade, você precisa apenas do GPSD, NTP e de um receptor GPS com saída 1PPS (um pulso por segundo).
1. Instale gpsd e ntpd, ou gpsd e chronyd. A versão do gpsd deve ser ≥ 3.20
(1:1109)$ sudo emerge -av gpsd chrony
Cópia local do índice remoto está atualizada e será usada.
Calculando dependências... concluído!
[binary N ] net-misc/pps-tools-0.0.20120407::gentoo 31 KiB
[binary N ] net-misc/chrony-3.5-r2::gentoo USE="adns caps cmdmon ipv6 ntp phc readline refclock rtc seccomp (-html) -libedit -pps (-selinux)" 246 KiB
[binary N ] sci-geosciences/gpsd-3.17-r3:0/23::gentoo USE="X bluetooth cxx dbus ipv6 ncurses python shm sockets udev usb -debug -latency-timing -ntp -qt5 -static -test" GPSD_PROTOCOLS="aivdm ashtech earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 navcom ntrip oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tnt tripmate tsip ublox -fury -geostar -nmea0183 -nmea2000 -passthrough" PYTHON_TARGETS="python2_7" 999 KiB
Total: 3 pacotes (3 novos, 3 binários), Tamanho dos downloads: 1275 KiB
Você gostaria de mesclar esses pacotes? [Sim/Não]2. Conecte o receptor GPS com suporte a PPS à porta serial RS232 ou USB.
Um receptor GPS barato comum não servirá; pode ser necessário procurar um pouco para encontrar um adequado.
3. Verifique se o dispositivo realmente emite PPS, para isso, verifique a porta com a ferramenta gpsmon.
4. Abra o arquivo /etc/conf.d/gpsd e edite a seguinte linha.
Substituir
GPSD_OPTIONS=""por
GPSD_OPTIONS="-n"Essa alteração é necessária para que o gpsd comece imediatamente a procurar fontes GNSS ao iniciar.
5. Inicie ou reinicie o gpsd.
(1:110)$ sudo /etc/init.d/gpsd start
(1:111)$ sudo /etc/init.d/gpsd restart
Para distribuições com systemd, use o comando systemctl apropriado.
6. Verifique a saída do console do comando cgps.
É necessário garantir que os dados estejam sendo recebidos corretamente dos satélites. No console, deve haver algo semelhante à ilustração.

Saída do comando de console cgps.
7. É hora de editar o arquivo /etc/ntp.conf.
# GPS Serial data reference (NTP0)
server 127.127.28.0
fudge 127.127.28.0 time1 0.9999 refid GPS
# GPS PPS reference (NTP1)
server 127.127.28.1 prefer
fudge 127.127.28.1 refid PPS
A entrada superior NTP0 aponta para uma fonte de tempo universal disponível em quase todos os dispositivos GPS. A entrada inferior NTP1 define uma fonte PPS muito mais precisa.
8. Reinicie o ntpd.
(1:112)$ sudo /etc/init.d/ntpd restart Para distribuições com systemd, use o comando systemctl.
$ sudo systemctl restart ntp
Materiais usados
- David L Mills, O Protocolo de Tempo de Rede na Terra e no Espaço, Segunda Edição.
Fonte: habr.com
