Protocolo

NTP

NTP cobre sincronização de tempo em redes IP; não distribui fuso horário nem garante sozinho uma fonte legal de hora. NTPv4 é definido pela RFC 5905 e usa normalmente UDP 123. Servidores são organizados por stratum: fontes de referência alimentam stratum 1, que serve níveis seguintes. Para o morador, relógios corretos tornam logs, câmeras, certificados, automações e tarifas coerentes. A implantação deve usar servidores confiáveis, múltiplas fontes e, para alta segurança, NTS da RFC 8915; NTP simples pode ser falsificado.


📖Definição aprofundada

NTP é o protocolo tradicional para sincronizar relógios de computadores e dispositivos em redes IP. Ele não envia apenas “a hora”. O cliente e o servidor trocam timestamps que permitem estimar o offset entre relógios e o atraso de ida e volta. O algoritmo filtra amostras, seleciona fontes e disciplina o relógio gradualmente. NTPv4 é especificado na RFC 5905, publicada em 2010. Opera normalmente em UDP 123. A mensagem básica contém indicadores, version, mode, stratum, poll, precision, root delay, root dispersion, reference ID e timestamps de referência, origem, recepção e transmissão. O cliente envia um timestamp de origem; o servidor devolve. Com quatro instantes t1, t2, t3 e t4, calcula atraso e offset. O relógio não deve saltar para trás indiscriminadamente porque aplicações podem falhar. Daemons como chrony, ntpd, systemd-timesyncd e Windows Time escolhem step no início e slew depois. O comportamento varia. Stratum representa distância lógica da fonte, não qualidade absoluta. Uma referência como GNSS ou relógio atômico alimenta um servidor stratum 1; ele anuncia stratum 1. Clientes podem ser stratum 2. Stratum 16 significa não sincronizado. Um servidor stratum 1 mal configurado pode ser ruim. O cliente avalia dispersão, jitter, reachability e múltiplas fontes. Pools NTP distribuem. Em casa inteligente, tempo correto é essencial para certificados TLS, tokens JWT, logs de fechadura, gravações de câmera, tarifas, energia, cron, sunrise/sunset e correlação de eventos. Um dispositivo com relógio de 1970 pode rejeitar HTTPS porque o certificado parece futuro. Um sensor com deriva de 20 ppm erra cerca de 1,7 s por dia. NTP corrige. A rede deve permitir. Dispositivos IoT muitas vezes usam SNTP, uma forma simplificada definida em RFC 4330 e atualizações, que consulta servidor sem algoritmo completo. Para muitos dispositivos, é suficiente, mas pode reagir pior a fontes falhas. O fuso horário não vem do NTP. O protocolo fornece UTC-like time. A aplicação usa banco de fusos, como IANA tzdata, para America/Sao_Paulo e regras. Horário de verão muda por legislação e precisa de atualização. Não configurar UTC-3 fixo quando regra pode mudar. NTP lida com leap indicator e segundos intercalares conforme sua escala. Implementações precisam. A segurança do NTP clássico é limitada. Pacotes podem ser falsificados por atacante no caminho ou LAN. Autokey foi problemático e obsoleto. Network Time Security, RFC 8915, usa TLS para estabelecer cookies e autenticação eficiente de pacotes NTP, reduzindo spoofing. Suporte cresce em chrony e servidores. Dispositivos simples podem não ter. Nesse caso, usar servidor local confiável, firewall e múltiplas fontes. Um roteador pode servir NTP à IoT e sincronizar externamente. Não permitir que qualquer dispositivo consulte Internet diretamente. Isso reduz DNS e exposição. NTP foi usado em amplificação DDoS com comandos antigos como monlist. Servidores públicos devem ser atualizados, restringir consultas e não oferecer funções administrativas. Cliente atrás de firewall é normal. Porta 123 de entrada da WAN deve ser bloqueada, exceto servidor planejado. Kiss-o'-Death limita clientes abusivos. O polling varia em potências de dois segundos. O daemon ajusta de 64 s a 1024 s ou mais conforme estabilidade. Consultar a cada segundo é desnecessário. Para precisão sub-milissegundo em LAN industrial, PTP IEEE 1588 pode ser melhor, com hardware timestamping. NTP atende milissegundos a dezenas de milissegundos na Internet e melhor em LAN, dependendo. Wi‑Fi adiciona jitter. Não usar NTP para medir duração; usar relógio monotônico. O relógio de parede pode ajustar. Automação de timeout usa monotonic.

Arquitetura e Funcionamento
Timestamps, offset e atraso
A troca usa quatro timestamps. t1 é envio do cliente; t2, recebimento no servidor; t3, envio do servidor; t4, recebimento no cliente. O atraso aproximado é `(t4-t1)-(t3-t2)`. O offset é `((t2-t1)+(t3-t4))/2`. A fórmula assume caminho relativamente simétrico. Assimetria de Internet cria erro. Fibras e filas podem diferir. O cliente coleta várias amostras e filtra. Uma amostra de baixa latência tende a ter menor fila. Jitter mede variação. Root dispersion estima erro. O daemon não confia numa única resposta. Em Wi‑Fi, economia e retransmissão aumentam. Para câmeras, milissegundos podem bastar. Para sincronizar áudio multiroom, protocolos próprios e PTP podem ser necessários. O timestamp de software sofre atraso do sistema; hardware timestamping melhora. O objetivo da casa é coerência, não nanosegundos.
Stratum, seleção e múltiplas fontes
Stratum 0 é termo para fontes de referência, não um valor enviado por servidor comum. Um servidor ligado a GNSS é stratum 1. Seus clientes tornam-se 2. O número não mede latência ou segurança. Um stratum 2 próximo pode ser melhor que stratum 1 distante. O cliente usa várias fontes, rejeita falsetickers e seleciona. Três ou quatro servidores independentes ajudam. Duas fontes em desacordo não permitem decidir. Pool NTP fornece diversidade, mas dispositivos embarcados às vezes fixam um host. Um servidor local pode consultar quatro externos e servir. Isso reduz tráfego. O monitoramento verifica `leap`, `stratum`, offset, reach e source. Se não sincronizado, alarmar. Não mascarar. A automação pode manter última hora pelo RTC, mas indicar. Um RTC com bateria sustenta durante falta. Após retorno, NTP corrige.
NTS, autenticação e ataques
NTP clássico não autentica por padrão. Um atacante na LAN pode responder mais rápido e deslocar relógio, afetando TLS, logs e agendas. NTS usa NTS Key Establishment sobre TLS para obter cookies e chaves, depois autentica mensagens NTP com extensões. O servidor pode permanecer stateless usando cookies protegidos. NTS autentica servidor e integridade; não corrige fonte de tempo mal configurada nem assimetria. Certificados dependem de relógio razoável, criando bootstrap tratado pelas implementações. Dispositivos sem NTS podem consultar um servidor local por rede protegida. Firewalls permitem UDP 123 apenas ao servidor. O servidor usa NTS externamente. Chaves simétricas tradicionais existem em NTP, mas distribuição é complexa. Não usar Autokey legado. Atualizar daemon. Bloquear comandos de controle externos. Rate limiting evita amplificação. O DNS de pool também precisa de segurança de rede.
Fuso horário, RTC e automações
NTP entrega tempo absoluto. O fuso é aplicado pelo sistema. `America/Sao_Paulo` vem de tzdata. Um cron às 07:00 usa regra local. Alterações políticas exigem update. Dispositivos que guardam “GMT-3” não adaptam. O RTC mantém tempo sem rede. Pode derivar. O sistema compara. Um gateway central pode fornecer NTP e fuso via configuração separada. Logs devem armazenar UTC e exibir local, incluindo offset. ISO 8601 com `Z` ou `-03:00` evita ambiguidade. Câmeras e alarmes precisam de NTP e fuso. Se a câmera grava UTC e o NVR local, a correlação precisa converter. Para duração de automação, usar monotonic clock. Um ajuste NTP pode fazer relógio de parede andar mais rápido ou saltar. `delay 10 min` não deve depender de hora civil. O framework adequado usa monotônico.
Análise Técnica
✓ Vantagens
  • Sincroniza relógios de equipamentos heterogêneos por um protocolo aberto, amplamente implementado em roteadores, câmeras, servidores e gateways.
  • Algoritmos de filtragem e seleção usam múltiplas fontes e estimam erro, oferecendo mais robustez que copiar uma única resposta de hora.
  • Consome pouco tráfego e adapta o intervalo de polling à estabilidade do relógio e da rede.
  • NTS adiciona autenticação moderna baseada em TLS e cookies, reduzindo falsificação sem cifrar todo o fluxo continuamente.
  • Permite centralizar um servidor local para IoT, melhorando consistência de logs, certificados, agendas e correlação de eventos.
✗ Desvantagens
  • NTP clássico não autentica por padrão e pode ser falsificado ou manipulado por atacante no caminho ou na LAN.
  • A precisão depende da simetria e do jitter; Wi‑Fi e Internet podem introduzir erro imprevisível para aplicações sub-milissegundo.
  • Não distribui fuso horário nem regras regionais, exigindo tzdata atualizado e configuração separada.
  • Implementações IoT simplificadas podem consultar uma única fonte, ignorar falhas ou fazer saltos bruscos no relógio.
  • Servidores mal configurados ou antigos podem ser usados em amplificação DDoS e expor comandos de controle.
💡 Cenário Prático: NTP local para câmeras, alarmes e automações
O roteador ou um servidor Linux executa chrony. Ele consulta pelo menos quatro fontes externas confiáveis, preferencialmente com NTS quando suportado. As VLANs IoT podem acessar apenas o NTP local em UDP 123; não a Internet. O servidor bloqueia consultas externas na WAN e permite somente sub-redes internas. Câmeras, NVR, alarmes, switches, Home Assistant e gateways usam o endereço local. O DHCP pode anunciar NTP quando os clientes suportam. O monitoramento alerta se offset supera 100 ms para servidores e limites maiores para IoT, se stratum vira 16 ou se a fonte some. Cada dispositivo configura `America/Sao_Paulo` separadamente ou registra UTC. Logs usam ISO 8601 com offset. O Home Assistant usa relógio monotônico para delays. O servidor possui RTC ou recupera rapidamente após boot. Em falta de Internet, continua servindo o relógio disciplinado e indica a qualidade. Dispositivos críticos não falham abertos por hora inválida. Certificados são renovados e o bootstrap é testado. Para uma rede de áudio ou medição que exige microsegundos, avalia-se PTP em vez de forçar NTP além de sua precisão.