Tempo não está em diagrama de arquitetura nenhum. Ele está embaixo da validade de certificado, dos tíquetes , da correlação de registros, dos códigos de uso único, da expiração de cache e do consenso distribuído - e é a única dependência deste catálogo que falha em silêncio em todas as direções ao mesmo tempo.

O homem que construiu duas fundações

David L. Mills (1938 a 17 de janeiro de 2024) lecionou em Maryland, trabalhou na COMSAT com protocolos iniciais da internet e depois na Linkabit, e entrou na Universidade de Delaware em 1986. Ele é conhecido por duas coisas, e a segunda costuma ficar de fora quando se conta a primeira.

Ele projetou o Network Time Protocol. E inventou o Fuzzball - descrito como o primeiro roteador moderno em software, e a máquina sobre a qual boa parte da internet inicial foi prototipada.

Isso faz dele a segunda pessoa deste catálogo a ter construído duas fundações do campo, depois de Mohamed Atalla, que inventou o MOSFET e depois o módulo de segurança em hardware. O padrão vale ser notado: quem produz mais de uma coisa fundacional costuma ser quem constrói os próprios instrumentos, porque quem fez a ferramenta enxerga problemas que os usuários dela não enxergam.

1985: a especificação, e o código que nunca saiu

A versão 0 do foi implementada em 1985, no Fuzzball pelo próprio Mills e em por Louis Mamakos e Michael Petry, na Universidade de Maryland. Fragmentos do código deles sobrevivem no software que roda hoje.

Essa frase é a afirmação de longevidade mais forte deste corpus inteiro. Não o projeto, não o protocolo - o CÓDIGO, escrito em 1985, ainda presente quatro décadas depois em software que sincroniza bilhões de dispositivos.

A 958, de setembro de 1985, é a primeira especificação formal. Mills é franco na própria história ao dizer que ela pouco mais fez que documentar o cabeçalho do pacote e os cálculos de deslocamento e atraso - que continuam sendo os usados. A exatidão possível numa da época ficava na casa das dezenas baixas de milissegundos, e em caminhos transatlânticos a variação podia passar de um segundo inteiro.

O mecanismo que ela documentou não precisou ser substituído: quatro carimbos de tempo numa troca dão tanto o deslocamento entre dois relógios quanto o atraso de ida e volta, permitindo ao cliente CONDUZIR o próprio relógio com suavidade em vez de saltá-lo. Conduzir em vez de saltar é a filosofia operacional inteira desta família - um relógio que pula para trás quebra suposições em tudo o que está acima.

Segundos bissextos estavam no primeiro documento

A RFC 958 tem uma seção sobre segundos bissextos. A primeiríssima especificação de tempo em rede já tratava da parte mais bagunçada da cronometragem civil, porque Mills entendeu desde o começo que o protocolo teria de carregar uma descontinuidade que a astronomia impõe e a computação não absorve.

A indústria quebrou nisso assim mesmo. O segundo bissexto de 2012 produziu falhas de núcleo e de máquina virtual em frotas grandes, e a resposta corrente que se firmou - espalhar o segundo extra ao longo de horas em vez de inseri-lo - é admitir que muito software não sobrevive a um segundo que não existe no modelo de tempo dele.

O comando de depuração que virou arma

Por volta de 2013 e 2014, servidores NTP foram usados em grandes ataques de reflexão e amplificação, principalmente pelo comando legado monlist, que devolve uma lista longa de clientes recentes em resposta a uma consulta curta.

O formato é exatamente o que o artigo de observabilidade registra para o : um recurso de conveniência, sobre um protocolo sem conexão que permite origem forjada, transforma qualquer servidor público num amplificador. Nenhum dos dois protocolos foi descuidado; os dois foram desenhados numa época em que a rede não era adversarial, e os dois foram punidos pela mesma razão estrutural décadas depois.

A resposta foram padrões mais seguros, limitação de taxa de resposta e aposentadoria de recursos frágeis - e, como diz um relato, servidores de tempo deixaram de ser equipamentos de fundo e viraram serviços expostos à internet, exigindo cuidado ativo. O Network Time Security depois forneceu a resposta criptográfica à falsificação e à adulteração no caminho.

Escala, e quem de fato mantinha aquilo

O levantamento de Mills em 1997 achou mais de 185 mil associações cliente-servidor em mais de 38 mil servidores e clientes, e observou que aquilo era só uma fração, já que muitos milhares ficam atrás de firewalls onde as ferramentas de medição não chegam.

Contra essa escala, a manutenção foi carregada por décadas por pouquíssimas pessoas - o próprio Mills, depois Harlan Stenn e a Network Time Foundation. Um protocolo embaixo de essencialmente toda a computação, sustentado por um punhado de mantenedores e financiamento intermitente, é o exemplo mais claro de um padrão que a indústria só começou a nomear há pouco: infraestrutura crítica com fator de ônibus constrangedor, e cujo custo é invisível justamente porque ela funciona.

Os cargos e as práticas

Não existe engenheiro de tempo. Todo mundo depende disso e ninguém é dono, e é por isso que as falhas dele são tão consistentemente mal diagnosticadas.

As práticas são poucas e incomumente estruturais. A mesma fonte, em toda parte - hosts, equipamentos de rede, hipervisores e appliances concordando com uma hierarquia, porque correlacionar entre sistemas com relógios diferentes é chute. Monitorar o deslocamento, e não só a alcançabilidade, já que servidor alcançável servindo hora errada é pior que servidor inalcançável. Disciplina de estrato, para que a topologia de confiança seja deliberada, e não acidental. E em todo registro, com hora local como escolha de exibição, que é a decisão mais barata que alguém toma nesta área e a mais pulada.

O valor diagnóstico é desproporcional ao esforço. Certificado que falha na validação, tíquete Kerberos recusado por desvio, código de uso único que nunca bate, tarefa distribuída rodando duas vezes, registro que não correlaciona - tudo se apresenta como falha separada e frequentemente é um relógio só.

Para onde vai

Precisão está virando requisito de produto. Regulação financeira exige exatidão demonstrável de carimbo de tempo, e bancos de dados distribuídos usam erro de relógio estritamente limitado para ordenar transações - o que transforma tempo de suposição em insumo medido e auditado.

As alternativas são mais exigentes, e não mais simples. Esquemas assistidos por hardware alcançam muito mais que o NTP pondo os carimbos perto do fio, ao custo de exigir suporte em todo equipamento do caminho.

Autenticação finalmente está chegando. O Network Time Security faz pelo tempo o que os remendos de segurança fizeram pelo roteamento e pela nomeação - e, como neles, a adoção é limitada pelo fato de que quem faz o trabalho raramente é quem colhe o benefício.

E a propriedade fundadora se sustenta. Quatro carimbos de tempo, uma correção suave e uma hierarquia de fontes. Foi escrita por um homem em 1985, ao lado do roteador em software que ele também construiu, e parte do código original ainda está executando. Quase nada neste catálogo foi menos substituído - que é o que acontece quando um projeto acerta a física de primeira e não exige nada de mais ninguém para continuar funcionando.

Fontes