Domain IP Lookup

Um IP, um servidor, ou um IP, vários

Unicast

Um IP corresponde a exatamente um servidor

Anycast

Um IP, anunciado de vários locais

Infraestrutura e operações

Anycast DNS: como funciona e por que é rápido

3 min de leitura

Normalmente, um endereço IP identifica uma máquina específica, alcançável por um caminho de rede específico. O anycast quebra essa suposição de propósito: o mesmo endereço IP é anunciado, ao mesmo tempo, a partir de vários locais fisicamente separados ao redor do mundo. O roteamento da internet então entrega cada requisição ao local anunciante que estiver topologicamente mais próximo de quem a enviou, não necessariamente o mais próximo em distância física, mas o mais próximo pelo caminho de rede.

Por que a infraestrutura de DNS depende tanto disso

Resolvedores públicos como 1.1.1.1 e 8.8.8.8 são endereços anycast. Quando você consulta 1.1.1.1 de Tóquio e outra pessoa consulta o mesmo endereço de Berlim, cada um de vocês está, na prática, acessando um servidor físico diferente, o mais próximo na rede, embora os dois digitem exatamente o mesmo endereço IP na configuração. É isso que permite a um único IP fácil de memorizar entregar latência consistentemente baixa no mundo todo, em vez de todo mundo ser roteado para um único data center físico, independentemente de onde esteja.

UnicastAnycast
Um IP corresponde aExatamente um servidor físicoVários servidores físicos ao mesmo tempo
O roteamento decideUm único caminho fixoO local anunciante topologicamente mais próximo
Um local fica offlineO serviço se torna inacessívelO tráfego passa para o próximo local mais próximo
Exposição a DDoSO tráfego do ataque se concentra em um único alvoO tráfego do ataque se distribui naturalmente por todos os locais
  • Resiliência: se um local anycast ficar offline, o roteamento simplesmente passa para o próximo mais próximo, muitas vezes sem que o cliente perceba.
  • Não é exclusivo do DNS: CDNs e alguns outros serviços sensíveis à latência usam a mesma técnica.

O que isso muda na prática

Você não precisa configurar nada de diferente para aproveitar o anycast: ele acontece inteiramente na camada de roteamento da rede, de forma invisível para a aplicação que faz a consulta. Vale conhecê-lo principalmente porque ele explica por que um grande resolvedor público consegue se manter rápido e disponível no mundo todo sem que você precise escolher um endpoint de uma região específica, como talvez faça com um banco de dados na nuvem ou uma instância de computação.

O BGP é o mecanismo por trás do “topologicamente mais próximo”

O “mais próximo pelo caminho de rede” não é decidido por nada que meça a distância física em tempo real. Toda rede que anuncia um endereço anycast faz isso via BGP, o protocolo de roteamento que une as redes individuais da internet, e cada roteador ao longo do trajeto escolhe o caminho que, naquele momento, parece o mais curto segundo as métricas do próprio BGP, normalmente o menor número de saltos de rede, e não o menor número de quilômetros. Na prática, isso costuma coincidir com a proximidade física, mas não perfeitamente: uma requisição pode ocasionalmente ser roteada para um local um pouco mais distante se esse caminho parecer mais curto em termos de BGP, principalmente em torno de quedas de rede ou de acordos de peering incomuns.

Por que o anycast não funciona bem para tudo

O anycast é uma ótima opção para trocas curtas e sem estado, como uma única consulta DNS com a sua resposta: não há nada a perder se um pacote seguinte for roteado para um servidor físico diferente do primeiro. Ele é uma má opção para conexões longas e com estado: se o caminho de rede mudar no meio da conexão (uma oscilação de rota, uma mudança de peering), uma sessão TCP anycast que passe a chegar a um endpoint físico diferente daquele que a iniciou simplesmente quebra, porque o novo servidor não sabe que a conexão chegou a existir. Essa é uma das razões pelas quais o anycast é tão associado ao DNS e a outros protocolos de requisição e resposta baseados em UDP, e muito menos usado em coisas como uma conexão longa com banco de dados ou uma transmissão de vídeo.

Precisa conferir os endereços DNS públicos de um domínio? Use a ferramenta Domain IP Lookup.