DNS anycast da Netnod: 20 anos de 100% de disponibilidade
14/03/2024
Por Lars-Johan Liman, Especialista de Sistemas Sênior e cofundador da Netnod
Publicado originalmente no Netnod blog
Lars-Johan Liman, nestor DNS da Netnod, faz algumas reflexões pessoais sobre o 20º aniversário da implantação do Anycast por parte da Netnod –uma tecnologia que é parte fundamental da infraestrutura dos serviços modernos de DNS da Netnod.
Como administradores de um dos 13 grupos de servidores raiz do DNS da Internet, a Netnod emprega uma tecnologia chamada “anycast”; para disponibilizar o nosso serviço em um grande número de locais no mundo todo. A Netnod (ou, para ser mais preciso, sua empresa filha, Autonomica) foi pioneira na tecnologia anycast e este ano se completa o vigésimo aniversário da primeira implementação anycast da Netnod.
Em 22 de agosto de 2003, às 17h01, enviei a mensagem histórica acima para meus colegas, os administradores de sistemas dos doze operadores de servidores raiz, depois de iniciar a instância número dois do servidor I-Root. A “número um” leva doze anos em operação, mas passar de uma para duas instâncias foi o passo mais importante, uma vez que isso, de repente, deu aos roteadores da Internet mais de um caminho para o alvo. Isso provocou ondulações na estrutura de roteamento da Internet à medida que a nova instância do servidor I-Root era adicionada às tabelas de roteamento, que o algoritmo de seleção de rotas BGP entrava em ação e que os roteadores determinavam a melhor rota a ser usada e encaminhada para seus pares.
Optamos por instalar o segundo servidor nas instalações dos nossos amigos do ponto de troca de tráfego finlandês FICIX na “próxima”; Helsinque, Finlândia. Helsinque e Estocolmo estão a apenas 400 km de distância, mas entre elas se encontra o Mar Báltico.
Naquela época, as máquinas virtuais não eram um conceito conhecido e confiável, por isso tivemos que instalar uma pilha inteira de servidores físicos que executaram as diferentes tarefas necessárias.
Os sistemas foram montados em um rack no ponto de troca e equipados com energia e conexões de rede para lidar com o tráfego DNS esperado e para receber instruções de gestão de Estocolmo.
Muito tempo foi investido para planejar a configuração e preparar a instalação da rede na instância existente em Estocolmo para lidar com operação de instância dupla. Também preparamos uma nova infraestrutura de servidores em Estocolmo para lidar com a distribuição de dados da zona raiz do DNS. A zona raiz é o banco de dados desde o qual os servidores raiz fornecem os dados. É atualizado duas vezes por dia e agora precisávamos nossas próprias instalações de distribuição para fornecer duas instâncias em vez de apenas uma. Nossos planos consistiam em aumentar esse número de dois para vinte ao longo de dois a três anos.
O servidor de Helsinque foi iniciado pela primeira vez sem acesso ao ponto de troca. Só poderia falar com a “nave mãe” em Estocolmo. Usando esse canal, o servidor foi carregado com dados corretos. As últimas peças (exceto a última) do quebra-cabeça da rede foram colocadas e verificadas duas vezes.
Uma vez que nos sentimos seguros de que tudo estava no lugar, habilitamos a conexão até o ponto de troca, ainda sem “anunciar” à rede que havia algo para alcançar por trás do nosso roteador. Estabelecemos relações de roteamento com alguns dos principais prestadores de serviços no ponto de troca, ainda sem anunciar nada de interesse.
Depois disso, iniciei um pequeno programa paralelo (tcpdump) para monitorar o tráfego DNS de entrada proveniente do ponto de troca. Não havia nenhum, como devia ser. Com certa emoção, digitei o comando no roteador de Helsinque para anunciar a existência e a acessibilidade da instância I-root local a todos os prestadores de serviços, e informar-lhes que podiam enviar tráfego “aqui”; em vez de enviá-lo para Estocolmo.
Assim que soltei o dedo da tecla ENTER, o tcpdump ganhou vida e começaram a chegar pacotes DNS dos prestadores de serviços finlandeses. Uma rápida olhada na antiga instância em Estocolmo mostrou que tudo ainda parecia bem. Houve uma pequena queda no volume de tráfego de entrada, tráfego que agora se dirigia para Helsinque. Um sucesso!
Ainda esperávamos ver algumas estranhezas nos fluxos de tráfego e nas rotas, mas na verdade, foram muito poucas. Sentimos que este seria o nosso futuro.
Nos últimos 20 anos, a Netnod implantou instâncias de servidores raiz do DNS em mais de 80 locais em todo o mundo: de Helsinque, na Finlândia, a Port Vila, em Vanuatu; de Thimphu, no Butão, a Santiago, no Chile; de Kigali, em Ruanda, a Ulaanbaatar, na Mongólia. Em eLuleå, Suécia, operamos o servidor raiz mais setentrional do mundo. A nossa instância principal ainda está em Estocolmo, na Suécia, em um bunker de comunicações à prova de bombas. Foi atualizado recentemente –de novo! – instalando CPU mais fortes e “conexões mais grossas” à Internet para que esta instância continue sendo nosso carro-chefe.
Contar o número de consultas de DNS às quais respondemos ao longo dos anos seria tão impossível quanto inútil, mas podemos dar uma ideia desses números: a armada atual de servidores de nomes raiz da Netnod responde a cerca de 3.700.000.000 de consultas… por dia! E isso sem levantar poeira.
A implantação do anycast reforçou a redundância do nosso sistema. Desde aquele dia de agosto de 2003, o serviço raiz da Netnod não caiu nem uma vez. Ligeiramente degradado, sim, em determinados momentos, mas nunca caiu. São 20 anos de 100.0000% de disponibilidade. (Sim, isso mesmo: não há nenhum 9 nessa percentagem!)
Estamos orgulhosos de fornecer este serviço gratuitamente como parte da missão da Netnod de trabalhar pelo bem da Internet.
As opiniões expressas pelos autores deste blog são próprias e não refletem necessariamente as opiniões de LACNIC.