Basierend auf der Wikipedia-Beschreibung von Anycast umfasst diese sowohl die Verteilung einer Zuordnung von Domänennamen zu vielen IP-Adressen auf viele DNS-Server als auch die Beantwortung von Fragen an Clients mit dem geografisch nahesten (oder schnellsten) Server.
Im Kontext einer global verteilten, hochverfügbaren Website wie google.com (oder eines CDN-Dienstes mit vielen globalen Edge-Standorten) klingt dies nach den beiden wichtigsten Funktionen, die benötigt werden.
DNS-Dienste wie Amazon Route53, EasyDNS und DNSMadeEasy werben als Anycast-fähige Netzwerke.
Daher gehe ich davon aus, dass jeder dieser DNS-Dienste mir diese beiden Hauptmerkmale transparent bietet: Multi-IP-zu-Domain-Zuordnung UND Routing von Clients zum nächstgelegenen Knoten.
Allerdings scheint jeder dieser Dienste diese beiden Funktionen zu trennen, zum zweiten einem Bezug als „GeoDNS“, „GeoIP“ oder „Globalen Verkehr Director“ und Ladung Extra für den Dienst (Clients zum nächsten Knoten Routing).
Wenn ein Hauptmandant eines Anycast-fähigen Systems dies bereits tun soll, warum ist diese Funktionalität als zusätzliche Funktion vorgesehen? Was macht diese "GeoDNS" -Funktion, die ein standardmäßiger Anycast-DNS-Dienst nicht kann (gemäß der Definition von Anycast aus Wikipedia - ich verstehe, was beworben wird, nur nicht, warum dies nicht bereits impliziert ist)?
Ich bin besonders verwirrt, wenn ein DNS-Dienst wie Route53, der dieses nebulöse "GeoDNS" -Feature nicht unterstützt, folgende Funktionen auflistet:
Schnell - Route 53 verwendet ein globales Anycast-Netzwerk von DNS-Servern auf der ganzen Welt und leitet Ihre Benutzer abhängig von den Netzwerkbedingungen automatisch an den optimalen Standort weiter. Infolgedessen bietet der Dienst eine geringe Abfrageverzögerung für Ihre Endbenutzer sowie eine geringe Aktualisierungsverzögerung für Ihre DNS-Datensatzverwaltungsanforderungen.
... was genau so klingt wie das, was GeoDNS tun soll, aber das geografische Leiten von Clients ist etwas, das sie explizit noch nicht unterstützen .
Letztendlich suche ich für einen DNS-Anbieter die beiden folgenden Features:
- Einem Domain-Namen mehrere IP-Adressen zuordnen (wie google.com, amazon.com usw.)
- Verwenden Sie einen DNS-Dienst, der auf Clientanforderungen für diese Domäne mit der IP-Adresse des nächstgelegenen Servers zum Anfragenden antwortet.
Wie bereits erwähnt, scheint dies alles Teil eines "Anycast" -DNS-Dienstes zu sein (alle diese Dienste sind), aber die Funktionen und das Marketing, die ich darin sehe, lassen etwas anderes vermuten, sodass ich denke, dass ich ein bisschen mehr darüber lernen muss, wie DNS funktioniert, bevor eine Bereitstellungsauswahl getroffen wird.
Vielen Dank im Voraus für eventuelle Klarstellungen.
Der BGP-Anycast-Aspekt ermöglicht es Clients, eine Anforderung an einen bestimmten DNS-Server zu senden und diese Anforderung mithilfe der BGP-Routingtabelle an eine nahe gelegene Instanz des DNS-Servers zu senden, um hoffentlich eine schnelle Antwort zu erhalten.
Ein normaler alter DNS-Server, der geografisch verteilt und Anycast-fähig ist, kann jedoch je nach Standort des anfragenden Clients nicht unterschiedlich auf Anfragen reagieren. Dies ist die zusätzliche Funktion, die diese "Geo-DNS" -Dienste für zusätzliche Kosten bereitstellen Sie können Kunden an eine Instanz eines Dienstes senden, der ihnen nahe steht.
Der Grund für diese Funktion ist, dass BGP-Anycast für etwas zustandsloses wie DNS einwandfrei funktioniert, bei dem es schnell und schmutzig ist und keine Verbindung oder Sitzungspersistenz benötigt. Für etwas wie einen Webserver möchten Sie jedoch Instanzen auf der ganzen Welt festhalten und stellen Sie sicher, dass ein bestimmter Client an einer bestimmten Instanz festhält - Routingänderungen in der globalen BGP-Tabelle während der Verbindung würden TCP-Verbindungen unterbrechen, Webanwendungssitzungen unterbrechen und im Allgemeinen Chaos verursachen. Aus diesem Grund wird für Webserver in der Regel kein Anycast verwendet.
Es ist am besten, einem Benutzer in County X eine IP-Adresse für eine Instanz in Country X über DNS bereitzustellen. Dies ist der Grund, warum Sie mit einem Geo-DNS-Dienst Geld verdienen.
quelle
In der Regel verfügen Sie über mehrere DNS-Server. Ein Client wählt einen zufällig aus und fragt ihn nach der IP-Adresse Ihres Webservers. Dies ist gut, wenn der DNS-Server in der Nähe des Clients ist, aber schlecht, wenn der DNS-Server - wie häufig - weit vom Client entfernt ist. In beiden Fällen erhält der Client dieselbe IP-Adresse als Antwort.
Mit Anycast können mehrere Server auf dieselbe IP-Adresse antworten. Bei Anycast-DNS antwortet der nächstgelegene / schnellste Nameserver, wenn ein Client versucht, mit Ihrem Nameserver zu kommunizieren. Dies bedeutet, dass der Client immer eine schnelle Antwort auf seine DNS-Anfrage erhält. Er erhält jedoch immer die gleiche Antwort auf seine DNS-Abfrage - die IP Ihres Servers. Wenn Ihr Server weit vom Client entfernt ist, ist die Client-Erfahrung möglicherweise nicht optimal.
Mit GeoDNS kann ein DNS-Server mit einer anderen IP-Adresse antworten, je nachdem, wo sich der Client befindet. (Dies erfordert natürlich, dass Sie über mehrere geografisch verteilte Server verfügen.) GeoDNS impliziert kein Anycast, obwohl Sie normalerweise beide bereitstellen, sodass ein Client seine DNS-Anfrage von einem geografisch nahe gelegenen DNS-Server beantwortet bekommt, der dann mit antwortet Die IP-Adresse eines geografisch nahe gelegenen Webservers.
quelle