it-swarm.com.de

Was ist "Anycast" und wie ist es hilfreich?

Ich hatte bis vor einigen Sekunden noch nie von Anycast gehört, als ich " Was sind einige coole oder nützliche Server-/Netzwerk-Tricks? " las.

Der Wikipedia-Artikel " Anycast " ist ziemlich formal und ruft nicht wirklich ein mentales Bild davon hervor, wie er verwendet werden würde.

Kann jemand in ein paar informellen Sätzen erklären, was "Anycast" ist, wie Sie es konfigurieren (nur im allgemeinen Sinne) und welche Vorteile es hat (was macht es einfacher)?

85
username

Anycast ist eine Netzwerktechnik, bei der dasselbe IP-Präfix von mehreren Standorten aus angekündigt wird. Das Netzwerk entscheidet dann basierend auf den Routing-Protokollkosten und möglicherweise dem "Zustand" der Werbeserver, an welchen Ort eine Benutzeranforderung weitergeleitet werden soll.

Anycast bietet mehrere Vorteile. Erstens stellen Benutzer eines Anycast-Dienstes (DNS ist ein hervorragendes Beispiel) im eingeschwungenen Zustand immer eine Verbindung zum nächstgelegenen DNS-Server (aus Sicht des Routing-Protokolls) her. Dies reduziert die Latenz und bietet einen Lastausgleich (vorausgesetzt, Ihre Kunden sind gleichmäßig in Ihrem Netzwerk verteilt).

Ein weiterer Vorteil ist die einfache Konfigurationsverwaltung. Anstatt je nach Einsatzort eines Servers/einer Workstation (Asien, Amerika, Europa) unterschiedliche DNS-Server konfigurieren zu müssen, haben Sie an jedem Standort eine IP-Adresse konfiguriert.

Abhängig davon, wie anycast implementiert ist, kann es auch eine hohe Verfügbarkeit bieten. Wenn die Ankündigung der Anycast-Route von einer Art Integritätsprüfung abhängig ist (z. B. einer DNS-Abfrage für eine bekannte Domäne in diesem Beispiel), kann die Route entfernt werden, sobald ein Server ausfällt. Sobald das Netzwerk neu konvergiert, werden Benutzeranforderungen nahtlos an die nächstgelegene DNS-Instanz weitergeleitet, ohne dass manuelle Eingriffe oder Neukonfigurationen erforderlich sind.

Ein letzter Vorteil ist die horizontale Skalierung. Wenn Sie feststellen, dass ein Server überlastet ist, stellen Sie einfach einen anderen Server an einem Ort bereit, an dem ein Teil der Anforderungen des überlasteten Servers ausgeführt werden kann. Da keine Client-Konfiguration erforderlich ist, kann dies wiederum sehr schnell erfolgen.

88
Murali Suriar

Eines der Dinge, die mich beim Verständnis von "anycast" oft verwirrt haben, ist, dass es sich bei der praktischen Implementierung in der Regel um zwei Beispiele handelt, obwohl es sich um einen hochrangigen Begriff handelt:

  1. Router, die BGP verwenden, um denselben IP-Block über mehrere ALS Pfade als Rohdaten anzukündigen Möglichkeit, Benutzer zu einer "näheren" Site zu leiten. Gleichzeitig wird ein nahezu transparentes Failover zu den anderen Standorten ermöglicht, indem nur die Routen von einem problematischen Standort zurückgezogen werden. Dies kann für nahezu jedes Protokoll nützlich sein, wirft jedoch offensichtlich viele Bedenken hinsichtlich der Synchronisierung von Backend-Daten auf.

  2. Werbung für dieselbe Service-IP von mehreren Punkten in Ihrem eigenen Netzwerk (über statisches Routing , OSPF , EIGRP oder was auch immer). Wenn die Routen unterschiedlich gewichtet sind , fungiert dies als Failover-Mechanismus. Wenn die Routen gleichmäßig gewichtet werden , kann dies die Lastausgleichsfunktionen pro Paket oder pro Fluss der meisten Router von Markenherstellern nutzen. Sie müssen darauf achten, dass das Protokoll Anwendungsschicht damit vertraut ist. Deshalb hören Sie fast immer davon, dass es mit DNS verwendet wird Dabei ist eine Anfrage immer ein Paket und alles ist zustandslos. Persönlich betrachte ich dies als ein hackiges Eindringen von Bedenken der Anwendungsschicht in die Netzwerkschicht, wenn eine Kombination aus DNS und geeigneten Load-Balancern fast immer eine bessere Lösung ist.

32
cagenut

Wird hauptsächlich für UDP-basierte Dienste wie DNS verwendet. Grundsätzlich kündigen Sie dieselbe Route aus mehreren Rechenzentren auf der ganzen Welt an. Auf diese Weise werden Ihre Kunden basierend auf BGP-Routen an das "beste" und "nächstgelegene" Rechenzentrum gesendet. Ich habe in Anführungszeichen "am besten" und "am nächsten" gesetzt, da Netzwerkanbieter Spiele spielen und den Verkehr aus bestimmten Netzwerken unterschiedlich weiterleiten können. Im Allgemeinen läuft es mit Anycast am besten, aber es ist keine Garantie.

Ein Beispiel hierfür wäre, Ihre DNS-Server als 1.2.3.4 und 1.2.3.5 aufzulisten. Ihre Router würden eine Route für 1.2.3/24 aus mehreren Rechenzentren ankündigen. Wenn Sie in Japan sind und dort ein Rechenzentrum haben, sind Sie wahrscheinlich dort gelandet. Wenn Sie in den USA sind, werden Sie an Ihr US-Rechenzentrum weitergeleitet. Auch hier basiert es auf BGP-Routing und nicht auf tatsächlichem geografischem Routing, aber so laufen die Dinge normalerweise zusammen.

16
diq

Gemäß meiner ursprünglichen Antwort habe ich gerade zwei weitere Artikel in meinem Blog veröffentlicht: Anycast DNS - Teil 3, Verwenden von RIP und Anycast DNS - Teil 3, Verwenden von RIP (Fortsetzung). Letzteres geht auf weitere Details ein, aber unter www.netlinxinc.com/netlinx-blog.html finden Sie aktuelle Rezepte zur Konfiguration von Cisco-Routern und Open Source Quagga Host-basierter Routing-Software für Anycast DNS mithilfe von RIP.

Ich arbeite derzeit daran, den vierten Artikel in der Reihe zu schreiben. Auf diese Weise erhalten Sie Rezepte zum Bereitstellen von Anycast-DNS mithilfe von OSPF. Als letztes in der Reihe zeige ich Rezepte für die Bereitstellung von Anycast DNS mit BGP.

Anycast DNS - Teil 1, Übersicht

Anycast DNS - Teil 2, Verwenden statischer Routen

Anycast DNS - Teil 3, Verwenden von RIP

Anycast DNS - Teil 3, Verwenden von RIP (Fortsetzung)

9
netlinxman

Angesichts dessen ist dies im Moment hauptsächlich DNS ...

Informell macht es Ihren Dienst widerstandsfähiger und mit besserem Netzwerkzugriff/Latenz/Geschwindigkeit, indem Sie denselben Dienst an mehreren Standorten auf der ganzen Welt unter Verwendung derselben Adresse einrichten können. Wenn jemand nach dieser Adresse fragt, erhält er die nächstgelegene/beste Route.

Aus Serverperspektive:

Wenn Unicast zu einer einzelnen Person und Multicast zu mehreren Personen und Broadcast zu allen Personen geht, ist Anycast schitzophren und hat mehrere Persönlichkeiten, bei denen die für jede Person am besten geeignete Persönlichkeit mit ihnen in Verbindung steht. Hmm. Nicht die beste Analogie.

4
Alex

Eine wirklich interessante Verwendung von Anycast ist DNS. Sie können 5 verschiedene DNS-Server an verschiedenen physischen und Netzwerkstandorten platzieren, aber eine einzelne (oder manchmal sowohl primäre als auch sekundäre DNS) Adresse gemeinsam nutzen. Je nachdem, wo sich die Quelle befindet, werden sie zum nächstgelegenen Knoten weitergeleitet. Dies führt einen gewissen Verkehrsausgleich durch und bietet Redundanz, wenn ein DNS-Server ausfällt.

3
dexedrine

Es ist auch gut zu beachten, dass Anycast für einige TCP -Verbindungen, die Resets oder lange Konversationen nicht überleben können, nicht gut oder zuverlässig ist.

Anycast-IPs, die BGP verwenden, teilen dem Internet mit, dass es 2, 3 oder mehr Pfade zu einem bestimmten Host gibt. In Wirklichkeit sind dies jedoch NICHT derselbe Host, sie sind genau Replikate von Hosts, die in mehreren Rechenzentren angekündigt werden, um Verbindungen mit geringerer Latenz zu erzielen.

Zum Beispiel habe ich 3 Server, die 301 Nicht-WWW-Umleitung für 198.251.86.133 ausführen. Wenn Sie diesen Host anpingen, erhalten Sie möglicherweise DUPLICATE-Antworten oder fallen sogar ab, je nachdem, wo Sie sich befinden, da meine Server US-Ost, USA sind -West und EUR. Bei kurzzeitigen Verbindungen (wie 301, die vom Browser zwischengespeichert werden) wird dies von einem lokalen Server im nächstgelegenen Rechenzentrum schnell beantwortet.

Unter dem Gesichtspunkt der Redundanz ist in anycast keine integriert. Sie benötigen dennoch eine unabhängige Redundanz an jedem Standort, da diese IP (in typischen Szenarien) immer auf diese Rechenzentren verweist.

2
Jacob Evans

Laut einem meiner Kollegen ist es auch als DoS-Angriffsminderungstechnik nützlich, da Benutzer nur die "nächstgelegene" Anycast-IP-Adresse angreifen können. Wenn es also beispielsweise in den USA viele Zombines gibt, wäre Ihre Euro-Site Meist nicht betroffen, da sie keine Pakete an sie senden können.

Es kann auch möglich sein, damit gefälschte Pakete (etwas naiv) zu filtern, wenn sie offensichtlich von einem Ort stammen, der in BGP wahrscheinlich nicht als die richtige Route angekündigt wird (z. B. Pakete, die nach Europa kommen, wenn der Lieferavis einen N-Amerikaner anzeigt Block).

2
MarkR