Quelle est la différence entre Anycast et GeoDNS / GeoIP wrt HA?


17

Basé sur la description Wikipedia d' Anycast , il inclut à la fois la distribution d'un mappage de nom de domaine vers plusieurs IP sur de nombreux serveurs DNS ainsi que la réponse aux clients avec le serveur le plus proche géographiquement (ou le plus rapide).

Dans le contexte d'un site hautement disponible et distribué dans le monde entier comme google.com (ou tout service CDN avec de nombreux emplacements périphériques mondiaux), cela ressemble aux deux fonctionnalités clés dont on aurait besoin.

Les services DNS comme Route53 d'Amazon, EasyDNS et DNSMadeEasy se présentent tous comme des réseaux compatibles Anycast.

Par conséquent, mon hypothèse est que chacun de ces services DNS m'offre de manière transparente ces deux fonctionnalités tueuses: le mappage multi-IP vers le domaine ET le routage des clients vers le nœud le plus proche.

Cependant , chacun de ces services semble séparer ces deux fonctionnalités, faisant référence au 2ème (routage des clients vers le nœud le plus proche) comme "GeoDNS", "GeoIP" ou "Global Traffic Director" et facturant un supplément pour le service.

Si un locataire principal d'un système compatible Anycast doit déjà le faire, pourquoi cette fonctionnalité est-elle réservée à cette fonctionnalité supplémentaire? Qu'est-ce que cette fonctionnalité "GeoDNS" fait qu'un service DNS Anycast standard ne fera pas (selon la définition d'Anycast de Wikipedia - je comprends ce qui est annoncé, mais pas pourquoi cela n'est pas déjà implicite).

Je suis extrêmement confus lorsqu'un service DNS comme Route53 qui ne prend pas en charge cette fonctionnalité nébuleuse "GeoDNS" répertorie des fonctionnalités telles que:

Rapide - À l'aide d'un réseau mondial de diffusion DNS de serveurs DNS dans le monde entier, Route 53 est conçu pour acheminer automatiquement vos utilisateurs vers l'emplacement optimal en fonction des conditions du réseau. Par conséquent, le service offre une faible latence de requête pour vos utilisateurs finaux, ainsi qu'une faible latence de mise à jour pour vos besoins de gestion des enregistrements DNS.

... ce qui ressemble exactement à ce que GeoDNS est censé faire, mais la direction géographique des clients est quelque chose qu'ils ne prennent pas encore explicitement en charge .

En fin de compte, je recherche les deux fonctionnalités suivantes d'un fournisseur DNS:

  1. Mappez plusieurs adresses IP à un seul nom de domaine (comme google.com, amazon.com, etc.)
  2. Utilisez un service DNS qui répondra aux demandes des clients pour ce domaine avec l'adresse IP du serveur le plus proche du demandeur.

Comme mentionné, il semble que cela fasse partie d'un service DNS "Anycast" (tous ces services sont), mais les fonctionnalités et le marketing que je vois suggèrent le contraire, ce qui me fait penser que je dois en savoir un peu plus sur la façon dont DNS fonctionne avant de faire un choix de déploiement.

Merci d'avance pour toute précision.

Réponses:


17

Le principal avantage de GeoDNS est qu'il résout le même nom en différentes adresses IP en fonction de l'adresse IP du demandeur.

Un serveur DNS Anycasted renverra la même adresse IP, peu importe qui fait la demande.

Les deux fonctionnent sur différentes couches du réseau. Anycast est en dessous de GeoDNS car il n'a aucune idée de l'emplacement de l'adresse IP du demandeur, juste de sa place dans le diagramme de réseau. Ce qui peut être proche du serveur DNS peut ne pas être proche de la ressource demandée , et le serveur DNS Anycasted n'a aucun moyen de le dire.

GeoDNS utilise une carte des emplacements des ressources et exécute une logique pour déterminer laquelle de ces ressources est la plus proche d'une adresse IP de demande donnée, puis renvoie cette adresse IP.

À moins que vous ne colocalisiez vos serveurs DNS avec vos ressources réseau, ce qui est proche du serveur DNS ne sera pas toujours proche de la ressource, donc utiliser Anycast comme méthode de localisation des données est moins efficace que GeoDNS direct.


Sur place, je ne considérais même pas les 2 étapes de la résolution de l'adresse (trouver d'abord le serveur DNS lui-même, puis trouver le serveur ciblé). Merci!
Riyad Kalla du

6

L'aspect de diffusion BGP permet aux clients d'envoyer une demande à un serveur DNS donné et d'obtenir cette demande envoyée à une instance voisine du serveur DNS en vertu de la table de routage BGP, en espérant obtenir une réponse rapide.

Cependant, un serveur DNS normal qui est géographiquement distribué et anycasted n'a pas la capacité de répondre aux requêtes différemment selon l'emplacement du client demandeur - c'est la fonctionnalité supplémentaire que ces services "Geo-DNS" fournissent pour un coût supplémentaire, permettant vous pour envoyer des clients à une instance d'un service qui leur est proche.

La raison pour laquelle cette fonctionnalité existe est que BGP anycast fonctionne très bien pour quelque chose sans état comme DNS, où il est rapide et sale et n'a besoin d'aucune connexion ou persistance de session, mais pour quelque chose comme un serveur Web, vous voulez coller des instances partout dans le monde. et assurez-vous qu'un client donné s'en tiendra à une instance spécifique - les modifications de routage dans la connexion médiane de la table BGP globale briseraient les connexions TCP, les sessions d'applications Web et provoqueraient généralement des ravages; anycast n'est généralement pas utilisé pour les serveurs Web pour cette raison.

Il est préférable de fournir à un utilisateur du comté X une adresse IP pour une instance du pays X via DNS, ce pour quoi vous demandez de l'argent avec un service Geo-DNS.


4

Traditionnellement, vous disposerez de plusieurs serveurs DNS. Un client en choisira une au hasard et lui demandera l'adresse IP de votre serveur Web. C'est bon si le serveur DNS est proche du client, mais mauvais si - comme c'est souvent le cas - le serveur DNS est loin du client. Dans les deux cas, le client obtiendra la même adresse IP qu'une réponse.

Anycast permet à plusieurs serveurs de répondre à la même adresse IP. Avec le DNS anycast, lorsqu'un client essaie de parler à votre serveur de noms, le serveur de noms le plus proche / le plus rapide répond. Cela signifie que le client obtient toujours une réponse rapide à sa requête DNS. Cependant, il recevra toujours même réponse à sa requête DNS - l'adresse IP de votre serveur. Si votre serveur est loin du client, l'expérience client peut ne pas être optimale.

GeoDNS permet à un serveur DNS de répondre avec une adresse IP différente, selon l'endroit où se trouve le client. (Évidemment, cela nécessite que vous ayez plusieurs serveurs distribués géographiquement.) GeoDNS n'implique aucune diffusion, bien que vous déployiez généralement les deux, de sorte qu'un client finit par obtenir une réponse à sa requête DNS par un serveur DNS géographiquement proche, qui répond ensuite par l'adresse IP d'un serveur Web géographiquement proche.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.