Wie Anycast funktioniert, um Ihren Besuchern Inhalte näher zu bringen

Wenn Sie tippen www.someplace.com in die Adressleiste Ihres Browsers und drücken Sie die Eingabetaste, wird die Website in Ihrem Browser in (hoffentlich) ein paar Sekunden angezeigt. Hinter den Kulissen passiert eine Reihe von Dingen, um Ihre Anfrage an diese Site weiterzuleiten, damit Sie den Inhalt anzeigen können. Border Gateway Protocol (BGP) stellt sicher, dass Ihre Anfrage über den besten Weg über das Internet beim Server für diese Site ankommt.

Es gibt einige Methoden, um den Zielserver zu adressieren, und in diesem Beitrag werden wir eine davon, die Anycast-Adressierung, im Detail besprechen.

Was ist Anycast?

In anycast verwendet eine Sammlung von Servern dieselbe IP-Adresse und sendet Daten von einem Quellcomputer an den Server, der topografisch am nächsten liegt. Dies hilft, Latenz- und Bandbreitenkosten zu senken, die Ladezeit für Benutzer zu verbessern und die Verfügbarkeit zu verbessern. Es ist wichtig, sich daran zu erinnern, dass topographisch näher nicht von Natur aus geografisch näher bedeutet, obwohl dies oft der Fall ist.

Anycast ist mit dem BGP-Protokoll verknüpft, das sicherstellt, dass alle Nachbarn eines Routers die Netzwerke, die über diesen Router erreichbar sind, und die topografische Entfernung zu diesen Netzwerken kennen. Das Hauptprinzip von Anycast besteht darin, dass ein IP-Adressbereich in den BGP-Nachrichten mehrerer Router beworben wird. Während sich dies über das Internet ausbreitet, werden Router darauf aufmerksam, welcher ihrer Nachbarn den kürzesten topografischen Pfad zur beworbenen IP-Adresse bereitstellt.

Adressierungsmethoden

Diese anderen primären Adressierungsmethoden stehen zur Weiterleitung des Datenverkehrs zur Verfügung.

  • Unicast-Adressierung verwendet eine Eins-zu-Eins-Zuordnung, bei der jede Zieladresse eindeutig als einzelner Empfängerendpunkt identifiziert wird. Herkömmliche DNS-Bereitstellungen werden mit Unicast-Adressen konfiguriert.
  • Die Multicastadressierung verwendet eine Eins-zu-Eins-Viele-Zuordnung, bei der Datagramme in einer einzigen Übertragung von einem einzelnen Absender an mehrere ausgewählte Endpunkte unter Verwendung einer Multicastgruppenadresse weitergeleitet werden. Eine häufige Verwendung von Multicast ist das Streaming von Audio, bei dem das Audio über Multicast-Adressierung veröffentlicht wird und Clients den gerouteten Stream als Kanal aufnehmen.
  • Bei der Broadcast-Adressierung wird eine Eins-zu-Viele-Zuordnung verwendet, bei der Datagramme in einer einzigen Übertragung unter Verwendung einer Broadcast-Adresse von einem einzelnen Absender an alle anderen verbundenen Endpunkte weitergeleitet werden. Das Netzwerk repliziert Datagramme automatisch nach Bedarf für alle Netzwerksegmente (Links), die einen berechtigten Empfänger enthalten.

DNS Anycast

Mit Unicast können DNS-Client-Resolver mit mehreren DNS-Nameserver-Zielen konfiguriert werden. Falls der Resolver keine Antwort vom ersten Server in der Liste erhält, wartet er normalerweise einen Timeout-Wert, bevor er zum zweiten Server (und den nachfolgenden Servern) in der Resolverliste wechselt. Wenn der Resolver das nächste Mal nachschlagen muss, „merkt“ er sich nicht, dass die Server in der Liste nicht reagierten, und beginnt mit der Abfrage mit dem ersten Server in der Liste, obwohl er noch nicht verfügbar ist. Abhängig vom Betriebssystem des Clients kann es ein bis fünf Sekunden dauern, bis er jedes Mal durch die Resolverliste rotiert und versucht, den ausgefallenen Server zu finden.

DNS-Client-Resolver, die mit Anycast-Adressen konfiguriert sind, eliminieren diese Latenz praktisch, da die Auflösung vom Routing-Protokoll verarbeitet wird. Im folgenden Diagramm wird gezeigt, wie eine einzelne DNS-Client-Workstation, die mit der Anycast-DNS-IP-Adresse 123.10.10.10 konfiguriert ist, die DNS-Auflösung für den nächstgelegenen von drei DNS-Nameservern durchführt, die mit derselben Anycast-IP-Adresse bereitgestellt werden.

Der DNS-Resolver des Clients kann gegen einen der drei oben gezeigten DNS-Server auflösen. Layer-3-Routing würde die Pakete unseres DNS-Clients aufgrund der Routing-Topologie über Router R1 senden. Sollte Router R1 oder Server A ausfallen, werden die Pakete unseres DNS-Clients automatisch über Router R2 und R3 zum nächstgelegenen DNS-Server umgeleitet. Zusätzlich würde die Route zu unserem Server A aus den Routing-Tabellen entfernt, wodurch die weitere Verwendung dieses Nameservers verhindert würde. Server A wird erst verwendet, wenn er wiederhergestellt ist und die IP-Anycast-Adresse erneut in das Netzwerk injiziert wird.

Lassen Sie uns eine Analogie aus dem Alltag ziehen, um all dies etwas verständlicher zu machen.

Stellen Sie sich vor, die Schuhe, die Sie sich gewünscht haben, stehen zum Verkauf und sind in allen Filialen einer Kaufhauskette erhältlich. Genau wie bei Anycast können Sie an vielen identischen Standorten bedient werden, ohne dass Sie einen bestimmten Standort bevorzugen müssen. Sie geben also „Marks and Spencer“ in Waze ein und der Navigator bringt Sie zur nächstgelegenen verfügbaren Filiale, um diese Schuhe zu kaufen. Wenn die Straße zur nächsten Filiale blockiert ist, bringt Sie Waze zur nächstgelegenen Filiale.

Warum Anycast?

Die Frage, die Sie sich vielleicht stellen, ist, warum Sie Anycast-Routing anstelle des einfacheren Unicast-Routings verwenden, wodurch Ihre Anfrage an dieselbe IP-Adresse gesendet wird.

Unicast-Routing ist sicherlich angemessen und für eine Site mit einem einzelnen Webserver geeignet, um eine moderate Menge an Datenverkehr aufzunehmen. Stellen Sie sich vor, Sie sitzen mit Ihrem Computer in einem Café am Canal Grande und greifen auf www.venicegazette.com , die 843 Treffer pro Stunde hat. Diese Site verfügt über einen Webserver und Ihre Anfrage wird schnell an diese Unicast-Adresse weitergeleitet.

Beim nächsten Zugriff wird es jedoch nicht so einfach sein www.dailyplanet.com lesen Sie den neuesten Artikel von Lois Lane. Da dieses Papier Millionen von Abonnenten hat, gibt es mehrere Webserver mit jeweils derselben IP-Adresse, die geografisch verteilt sind, um Anfragen zu bearbeiten.

Die Vorteile von anycast in einem solchen Szenario sind:

  • Leistungsverbesserung – Der Datenverkehr wird wie oben beschrieben mit vernachlässigbarer Latenz an den Benutzer weitergeleitet
  • Dienstzuverlässigkeit – Mit redundanten Servern ist der Dienst höher verfügbar. Wenn beispielsweise der Paris-Server gewartet wird, wird der Dienst automatisch an einen verfügbaren Server mit der nächstbesten Route weitergeleitet.
  • Load Balancing – Routing auf mehrere Server wird die Last effektiv zwischen den Servern ausgleichen und die Geschwindigkeit der Site verbessern
  • Reduziert die Auswirkungen von DoS–Angriffen – Der Denial-of-Service-Angriff wird wahrscheinlich auf einen Server lokalisiert und wirkt sich daher nicht auf den gesamten Dienst aus

Anycast in Incapsula

Um diese Vorteile zu bieten, macht Incapsula (jetzt Imperva Cloud Application Security) verwendung von anycast in seinem CDN-Netzwerk. Wenn Endbenutzer eine Verbindung mit einer Incapsula-IP-Adresse innerhalb eines Anycasted-IP-Bereichs herstellen, erreichen sie den Incapsula-PoP, der ihnen am nächsten liegt.

Schauen Sie sich diese Incapsula-Dienste an, die Anycasted-IP-Adressen verwenden:

  • Incapsula DNS-System
  • IP-Schutzdienst

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.