Qual é a diferença entre Anycast e GeoDNS / GeoIP wrt HA?

17

Com base na descrição do Anycast na Wikipedia , ele inclui a distribuição de um mapeamento de nomes de domínio para muitos IPs em muitos servidores DNS, além de responder a clientes com o servidor geograficamente mais próximo (ou mais rápido).

No contexto de um site altamente disponível e distribuído globalmente, como google.com (ou qualquer serviço CDN com muitas localizações globais), isso soa como os dois principais recursos de que um usuário precisa.

Serviços de DNS como o Route53 da Amazon, EasyDNS e DNSMadeEasy se anunciam como redes habilitadas para Anycast.

Portanto, suponho que cada um desses serviços DNS ofereça de maneira transparente esses dois recursos essenciais: mapeamento de IP múltiplo para domínio E roteamento de clientes para o nó mais próximo.

No entanto , cada um desses serviços parece separar essas duas funcionalidades, referindo-se à 2ª (roteamento de clientes para o nó mais próximo) como "GeoDNS", "GeoIP" ou "Global Traffic Director" e cobra um custo extra pelo serviço.

Se um inquilino principal de um sistema compatível com Anycast já deve fazer isso, por que essa funcionalidade está sendo reservada como esse recurso extra? O que é esse recurso "GeoDNS" que um serviço DNS padrão do Anycast não funciona (de acordo com a definição do Anycast da Wikipedia - eu entendo o que está sendo anunciado, mas não porque ainda não está implícito).

Fico muito confuso quando um serviço DNS como o Route53 que não suporta esse recurso nebuloso "GeoDNS" lista funcionalidades como:

Rápido - Usando uma rede global anycast de servidores DNS em todo o mundo, o Route 53 foi projetado para rotear automaticamente seus usuários para o local ideal, dependendo das condições da rede. Como resultado, o serviço oferece baixa latência de consulta para seus usuários finais, bem como baixa latência de atualização para suas necessidades de gerenciamento de registros DNS.

... que soa exatamente como o que o GeoDNS pretende fazer, mas direcionar geograficamente os clientes é algo que explicitamente ainda não o suporta .

Por fim, estou procurando os dois seguintes recursos de um provedor de DNS:

  1. Mapeie vários endereços IP para um único nome de domínio (como o google.com, amazon.com etc.)
  2. Utilize um serviço DNS que responderá às solicitações do cliente para esse domínio com o endereço IP do servidor mais próximo ao solicitante.

Como mencionado, parece que tudo isso faz parte de um serviço DNS "Anycast" (todos esses serviços), mas os recursos e o marketing que vejo deles sugerem o contrário, fazendo-me pensar que preciso aprender um pouco mais sobre como O DNS funciona antes de fazer uma escolha de implantação.

Agradecemos antecipadamente por quaisquer esclarecimentos.

Riyad Kalla
fonte

Respostas:

17

O principal benefício do GeoDNS é que ele resolve o mesmo nome para diferentes endereços IP, com base no endereço IP do solicitante.

Um servidor DNS Anycasted retornará o mesmo endereço IP, independentemente de quem está fazendo a pergunta.

Os dois trabalham em diferentes camadas de rede. O Anycast está abaixo do GeoDNS, pois não tem noção da localização do endereço IP do solicitante, apenas de seu lugar no diagrama da rede. O que pode estar perto do servidor DNS pode não estar próximo do recurso solicitado e o servidor DNS do Anycasted não tem como dizer isso.

O GeoDNS usa um mapa de locais de recursos e executa a lógica para determinar qual desses recursos está mais próximo de um determinado endereço IP solicitante e, em seguida, retorna esse endereço IP.

A menos que você esteja colocando seus servidores DNS com os recursos da rede, o que está próximo ao servidor DNS nem sempre estará próximo ao recurso, portanto, usar o Anycast como método de localização de dados é menos eficaz do que o GeoDNS direto.

sysadmin1138
fonte
No momento, eu nem estava considerando os dois estágios da resolução do endereço (primeiro localizando o próprio servidor DNS, depois localizando o servidor de destino). Obrigado!
Riyad Kalla
6

O aspecto anycast do BGP permite que os clientes enviem uma solicitação para um determinado servidor DNS e recebam essa solicitação para uma instância próxima do servidor DNS em virtude da tabela de roteamento BGP, obtendo uma resposta rápida.

No entanto, um servidor DNS antigo e geograficamente distribuído e anycasted não tem a capacidade de responder a consultas de maneira diferente, dependendo da localização do cliente solicitante - esse é o recurso extra que esses serviços de "Geo-DNS" fornecem por um custo extra, permitindo você envia clientes para uma instância de um serviço mais próximo deles.

A razão para esse recurso existir é que o BGP anycast funciona bem para algo sem estado, como o DNS, onde é rápido e sujo e não precisa de persistência de conexão ou sessão, mas para algo como um servidor da Web, você deseja manter instâncias em todo o mundo e certifique-se de que um determinado cliente atenha-se a uma instância específica - as alterações de roteamento na conexão global da tabela BGP global interromperiam as conexões TCP, interromperiam as sessões de aplicativos da web e geralmente causariam estragos; O anycast geralmente não é usado para servidores da Web por esse motivo.

É melhor fornecer um usuário no condado X com um IP para uma instância no país X via DNS, que é o dinheiro que você está pagando mais com um serviço de Geo-DNS.

Shane Madden
fonte
4

Tradicionalmente, você terá vários servidores DNS. Um cliente escolhe um aleatoriamente e solicita o endereço IP do seu servidor web. Isso é bom se o servidor DNS estiver próximo ao cliente, mas ruim se - como geralmente ocorre - o servidor DNS estiver longe do cliente. De qualquer forma, o cliente obterá o mesmo endereço IP como resposta.

O Anycast permite que vários servidores respondam ao mesmo endereço IP. Com o anycast DNS, quando um cliente tenta conversar com seu servidor de nomes, o servidor de nomes mais próximo / mais rápido responde. Isso significa que o cliente sempre obtém uma resposta rápida à sua consulta DNS. No entanto, ele ainda sempre obterá a mesma resposta para sua consulta de DNS - o IP do seu servidor. Se o servidor estiver longe do cliente, a experiência do cliente pode não ser a ideal.

O GeoDNS permite que um servidor DNS responda com um endereço IP diferente, dependendo da localização do cliente. (Obviamente, isso exige que você tenha vários servidores geograficamente distribuídos.) O GeoDNS não implica nenhuma transmissão, embora normalmente você implante os dois, para que um cliente acabe recebendo sua consulta DNS respondida por um servidor DNS geograficamente próximo, que então responde com o endereço IP de um servidor Web geograficamente próximo.

Cody Hatch
fonte