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

15

Com base na descrição da Wikipédia de Anycast , inclui a distribuição de um domínio-nome-para-muitos- Mapeamento de IP em vários servidores DNS, além de responder a clientes com o servidor mais próximo geograficamente (ou mais rápido).

No contexto de um site globalmente distribuído e altamente disponível, como o google.com (ou qualquer serviço CDN com muitos pontos de presença globais), isso soa como os dois principais recursos que seriam necessários.

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

Portanto, minha suposição é que cada um desses serviços DNS transparentemente me oferece esses dois recursos importantes: mapeamento multi-IP-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 ao segundo (roteamento de clientes para nó mais próximo) como "GeoDNS", "GeoIP" ou "Global Traffic Director" e cobrar extra pelo serviço.

Se um locatário principal de um sistema com capacidade para Anycast já fizer isso, por que essa funcionalidade está sendo marcada como esse recurso extra? O que é esse recurso "GeoDNS" que um serviço DNS Anycast padrão não faz (de acordo com a definição de Anycast da Wikipedia? Eu entendo o que está sendo anunciado, mas não o porquê dele não estar implícito).

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

Fast – Using a global anycast network of DNS servers around the world, Route 53 is designed to automatically route your users to the optimal location depending on network conditions. As a result, the service offers low query latency for your end users, as well as low update latency for your DNS record management needs.

... o que parece exatamente com o que o GeoDNS pretende fazer, mas direcionar os clientes geograficamente é algo que eles explicitamente não suportam ainda .

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

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

Como mencionado, parece que tudo isso é parte de um serviço DNS "Anycast" (todos esses serviços são), 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.

    
por Riyad Kalla 26.10.2011 / 21:50

3 respostas

15

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 estiver fazendo a solicitação.

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

O GeoDNS usa um mapa de locais de recursos e executa 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 seus recursos de rede, o que está perto do servidor DNS nem sempre estará próximo ao recurso, portanto, usar o Anycast como seu método de localidade de dados é menos eficaz do que o GeoDNS.

    
por 26.10.2011 / 22:25
6

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

No entanto, um servidor DNS normal que é geograficamente distribuído e anycasted não tem a capacidade de responder às consultas de maneira diferente, dependendo da localização do cliente solicitante - esse é o recurso extra que esses Os serviços de DNS "estão fornecendo custo extra, permitindo que você envie clientes para uma instância de um serviço próximo a eles.

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

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

    
por 26.10.2011 / 22:12
4

Tradicionalmente, você terá vários servidores DNS. Um cliente escolherá um aleatoriamente e solicitará o endereço IP do seu servidor web. Isso é bom se o servidor DNS estiver perto do cliente, mas ruim se - como é frequentemente o caso - o servidor DNS estiver longe do cliente. De qualquer forma, o cliente receberá o mesmo endereço IP como resposta.

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

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

    
por 18.11.2011 / 22:13