Anycast oder Unicast: Was in jedem Fall besser ist

Viele haben sicherlich von Anycast gehört. Bei diesem Verfahren der Netzwerkadressierung und -routing wird eine IP-Adresse mehreren Servern im Netzwerk zugewiesen. Diese Server können sich sogar in weit voneinander entfernten Rechenzentren befinden. Die Idee hinter Anycast ist, dass je nach Standort des Anfrageurs die Daten an den nächstgelegenen Server gesendet werden (gemäß der Netzwerktopologie, genauer gesagt — dem BGP-Routing-Protokoll). Dadurch können die Anzahl der Netzwerkübergänge (Hops) und die Latenz verringert werden.

Im Grunde wird derselbe Pfad aus mehreren Rechenzentren weltweit bekannt gegeben. Auf diese Weise werden die Kunden an das 'beste' und 'nächste' Rechenzentrum basierend auf den BGP-Routen weitergeleitet. Warum also genau Anycast? Warum Anycast anstelle von Unicast verwenden?

Anycast oder Unicast: Was in jedem Fall besser ist
Unicast eignet sich tatsächlich für eine Website mit einem einzelnen Webserver und moderatem Traffic. Allerdings nutzt ein Dienst mit Millionen von Abonnenten in der Regel mehrere Webserver, die alle die gleiche IP-Adresse haben. Diese Server sind geografisch verteilt, um Anfragen optimal zu bedienen.

In diesem Szenario bietet Anycast eine Leistungssteigerung (der Traffic wird mit minimaler Verzögerung an den Benutzer geleitet), sorgt für eine höhere Zuverlässigkeit des Dienstes (durch Backup-Server) und ermöglicht Lastverteilung – die Verteilung der Anfragen auf mehrere Server verbessert die Geschwindigkeit der Website.

Anbieter bieten ihren Kunden verschiedene Arten der Lastverteilung auf Basis von Anycast und DNS an. Kunden können IP-Adressen angeben, an die Anfragen je nach geografischem Standort der Website gesendet werden. Dies ermöglicht eine flexiblere Verteilung der Benutzeranfragen.

Angenommen, es gibt mehrere Plattformen, zwischen denen die Last (Benutzer) verteilt werden muss, zum Beispiel ein Online-Shop mit 100.000 Anfragen pro Tag oder ein beliebter Blog. Um die Region zu begrenzen, aus der die Benutzer auf eine bestimmte Plattform zugreifen, können Sie die Option Geo Community verwenden. Diese ermöglicht es, die Region einzuschränken, innerhalb derer der Betreiber die Route ankündigt.

Anycast oder Unicast: Was in jedem Fall besser ist

Anycast oder Unicast: Was in jedem Fall besser ist
Anycast und Unicast: Unterschiede

Anycast wird häufig in Anwendungen wie DNS (Domain Name System) und CDN (Content Delivery Networks) eingesetzt, um Routingentscheidungen zu treffen, die die Netzwerkleistung verbessern. Content Delivery Networks nutzen Anycast, weil sie mit großen Datenmengen umgehen, und Anycast in diesem Fall eine Reihe von Vorteilen bietet (die nachfolgend erläutert werden). Im DNS ermöglicht Anycast eine deutliche Steigerung der Zuverlässigkeit und Ausfallsicherheit des Dienstes.

Anycast oder Unicast: Was in jedem Fall besser ist
Bei Anycast IP mit BGP gibt es mehrere Routen zu einem bestimmten Host. Tatsächlich handelt es sich um Kopien von Hosts in mehreren Rechenzentren, die verwendet werden, um Verbindungen mit geringerer Latenz herzustellen.

In einem Anycast-Netz wird dieselbe IP-Adresse von verschiedenen Standorten aus angekündigt, und das Netzwerk entscheidet, wohin die Benutzeranfrage basierend auf der „Kosten“ des Pfades geleitet wird. Häufig wird das BGP-Protokoll verwendet, um den kürzesten Datenübertragungsweg zu bestimmen. Wenn ein Benutzer eine Anycast-Anfrage sendet, ermittelt BGP den besten Pfad zu den in der Anycast-Cloud verfügbaren Servern.

Vorteile von Anycast

Reduzierung der Latenz
Anycast-Systeme können die Latenz bei der Verarbeitung von Benutzeranfragen verringern, da sie Daten von dem nächstgelegenen Server beziehen. Das bedeutet, dass Benutzer immer mit dem „nächsten“ DNS-Server verbunden werden (im Sinne des Routing-Protokolls). Dadurch senkt Anycast die Interaktionszeiten durch die Verringerung der Netzwerkdistanz zwischen Client und Server. Dies reduziert nicht nur die Latenz, sondern sorgt auch für eine Lastenverteilung.

Geschwindigkeit

Da der Verkehr zum nächstgelegenen Knoten geleitet wird und die Latenz bei der Datenübertragung zwischen dem Client und dem Knoten verringert wird, führt dies zur Optimierung der Liefergeschwindigkeit, unabhängig davon, woher der Client Informationen anfordert.

Erhöhte Stabilität und Ausfallsicherheit

Wenn mehrere Server weltweit dieselbe IP-Adresse verwenden, wird im Falle eines Ausfalls eines Servers oder seiner Abschaltung der Datenverkehr auf den nächstgelegenen Server umgeleitet. Dadurch macht Anycast den Dienst robuster und sorgt für besseren Netzwerkzugang / geringere Latenz / höhere Geschwindigkeit. 

Dank der Verfügbarkeit mehrerer Server, die ständig für Benutzer zugänglich sind, erhöht Anycast beispielsweise die Stabilität von DNS. Bei einem Knotenfehler werden Benutzeranfragen automatisch auf einen anderen DNS-Server umgeleitet, ohne dass manuelles Eingreifen oder eine Neukonfiguration erforderlich ist. Anycast ermöglicht nahezu nahtloses Umschalten auf alternative Websites, indem es einfach die Routen der problematischen Website entfernt. 

Lastverteilung

Im Anycast-System wird der Netzwerkverkehr auf verschiedene Server verteilt. Das heißt, es funktioniert wie ein Lastenausgleich und verhindert, dass ein einzelner Server die Hauptlast des Datenverkehrs erhält. Lastenausgleich kann zum Beispiel angewendet werden, wenn mehrere Netzwerkpunkte sich in der gleichen geografischen Nähe des Anforderungsursprungs befinden. In diesem Fall wird die Last auf die Punkte verteilt.

Reduzierung der Auswirkungen von DoS-Angriffen 

Ein weiteres Merkmal von Anycast ist die Widerstandsfähigkeit gegen DDoS. DDoS-Angriffe werden wahrscheinlich nicht in der Lage sein, das Anycast-System lahmzulegen, da alle Server in einem solchen Netzwerk mit einer Flut von Anfragen angegriffen werden müssten. 

Bei DDoS-Angriffen kommen häufig Botnets zum Einsatz, die so viel Datenverkehr erzeugen können, dass sie den angegriffenen Server überlasten. Der Vorteil von Anycast in dieser Situation besteht darin, dass jeder Server einen Teil des Angriffs "absorbieren" kann, was die Belastung für einen bestimmten Server verringert. Ein DoS-Angriff wird höchstwahrscheinlich auf einen Server lokalisiert und beeinträchtigt nicht den gesamten Service.

Hohe horizontale Skalierbarkeit

Anycast-Systeme eignen sich hervorragend für Dienste mit hohem Datenverkehr. Wenn ein Dienst, der Anycast nutzt, zusätzliche Server benötigt, um den wachsenden Traffic zu bewältigen, können neue Server in das Netzwerk integriert werden. Diese können entweder an neuen oder an bereits bestehenden Standorten platziert werden. 

Wenn an einem bestimmten Standort ein übermäßiger Anstieg des Traffics festgestellt wird, kann das Hinzufügen eines Servers helfen, die Last für diesen Standort zu verteilen. Ein neuer Server an einem zusätzlichen Standort kann die Wartezeiten verkürzen, indem er einigen Nutzern eine neue, kürzere Route bietet. Beide Ansätze tragen außerdem zur Stabilität des Dienstes bei, da neue Server im Netzwerk verfügbar werden. Wenn ein Server überlastet ist, kann einfach ein weiterer Server an einem Ort bereitgestellt werden, der ihm ermöglicht, einen Teil der Anfragen des überlasteten Servers zu verarbeiten, ohne dass eine zusätzliche Konfiguration durch die Kunden erforderlich ist. 

Nur so können Terabits an Datenverkehr und eine sehr große Anzahl an Nutzern bedient werden, wenn auf dem Server nur wenige 10 oder 25 Gbit/s Ports vorhanden sind. 100 Hosts mit einer einzigen IP-Adresse ermöglichen die Verarbeitung terabitgroßer Datenmengen.

Einfache Verwaltung der Konfiguration

Wie bereits erwähnt, ist ein interessantes Einsatzgebiet von Anycast das DNS. Es können mehrere verschiedene DNS-Server in den Knoten des Netzwerks platziert werden, aber nur eine DNS-Adresse genutzt werden. Je nachdem, wo sich die Quelle befindet, werden die Anfragen an den nächstgelegenen Knoten geleitet. Dies führt zu einer gewissen Traffic-Balancierung und Redundanz im Falle eines DNS-Serverausfalls. So kann anstelle der Konfiguration verschiedener DNS-Server, abhängig von deren Standorten, die Konfiguration eines einzigen DNS-Servers auf alle Knoten verteilt werden.

Anycast-Netzwerke können so konfiguriert werden, dass sie Anfragen nicht nur basierend auf der Entfernung, sondern auch auf Parametern wie Serververfügbarkeit, Anzahl der aktiven Verbindungen oder Antwortzeiten weiterleiten.

Für die Nutzung der Anycast-Technologie sind seitens des Kunden keine speziellen Server, Netzwerke oder Komponenten erforderlich. Allerdings bringt Anycast auch Herausforderungen mit sich. Die Implementierung gilt als komplex, da sie zusätzliche Hardware, zuverlässige Anbieter und eine korrekte Verkehrssteuerung erfordert.

Vom klaren Ursprung in eine wunderbare Ferne

Obwohl Anycast die Nutzer basierend auf der geringsten Anzahl an Hops lenkt, bedeutet das nicht zwangsläufig eine minimale Verzögerung. Die Latenz ist eine komplexere Metrik, da die Latenz bei einem Hop höher sein kann als bei zehn.

Anycast oder Unicast: Was in jedem Fall besser ist
Beispiel: Interkontinentale Kommunikation kann einen Hop mit sehr hoher Latenz umfassen.

Anycast wird hauptsächlich für Dienste auf UDP-Basis eingesetzt, wie zum Beispiel DNS. Die Anfragen der Nutzer werden basierend auf den besten und nächstgelegenen Rechenzentren anhand von BGP-Routen geleitet.

Anycast oder Unicast: Was in jedem Fall besser ist
Beispiel: Ein DNS-Client-Workstation mit der Anycast DNS-IP-Adresse 123.10.10.10 führt die DNS-Auflösung für den nächstgelegenen der drei DNS-Namensserver durch, die mit derselben Anycast-IP-Adresse bereitgestellt wurden. Im Falle eines Ausfalls des Routers R1 oder des Servers A werden die DNS-Pakete des Clients automatisch an den nächsten nächstgelegenen DNS-Server über die Router R2 und R3 umgeleitet. Darüber hinaus wird der Weg zu unserem Server A aus den Routing-Tabellen entfernt, um eine weitere Nutzung dieses Namensservers zu verhindern.

Bereitstellungsszenarien

Es gibt zwei allgemeine Schemas, die verwendet werden, um zu bestimmen, mit welchem Server sich der Benutzer verbindet:

  • Netzwerkebene Anycast. Verbindet den Benutzer mit dem nächstgelegenen Server. Hier ist der Netzwerkpfad vom Benutzer zum Server entscheidend.
  • Anwendungsebene Anycast. Bei diesem Schema gibt es mehr berechnete Metriken, einschließlich Serververfügbarkeit, Antwortzeit, Anzahl der Verbindungen usw. Dies hängt von einem externen Monitor ab, der Statistiken über das Netzwerk bereitstellt.

Anycast-basiertes CDN

Kommen wir nun zur Verwendung von Anycast in Content Delivery Netzwerken. Anycast ist zweifellos ein faszinierendes Netzwerk-Konzept und wird von den neuen Generationen der CDN-Anbieter zunehmend anerkannt.

Ein CDN ist ein verteiltes Netzwerk von Servern, das Inhalte mit hoher Verfügbarkeit und niedriger Latenz an Endbenutzer liefert. Content Delivery Netzwerke spielen heutzutage eine entscheidende Rolle und sind die Grundlage zahlreicher multimedialer Online-Dienste, während die Verbraucher immer weniger tolerant gegenüber langsamen Ladegeschwindigkeiten sind. Besonders sensibel sind Video- und Sprachdienste für Jitter und Latenz im Netzwerk.

CDN verbindet alle Server in einem Netzwerk und sorgt für schnellere Ladezeiten von Inhalten. Manchmal lässt sich die Wartezeit für den Nutzer um 5 bis 6 Sekunden verkürzen. Das Ziel eines CDN ist die Optimierung der Bereitstellung, indem Inhalte von dem Server bereitgestellt werden, der sich am nächsten zum Endnutzer befindet. Dies ähnelt sehr dem Anycast, bei dem der nächstgelegene Server je nach Standort des Endnutzers ausgewählt wird. Man könnte annehmen, dass jeder CDN-Anbieter standardmäßig Anycast nutzt, aber in der Realität ist das nicht immer der Fall.

Anwendungen, die Protokolle wie HTTP/TCP verwenden, sind auf eine etablierte Verbindung angewiesen. Wenn ein neuer Anycast-Knoten ausgewählt wird (zum Beispiel bei einem Serverausfall), kann der Dienst unterbrochen werden. Aus diesem Grund wurde Anycast früher für verbindungslose Dienste wie UDP und DNS empfohlen. Nichtsdestotrotz funktioniert Anycast auch gut für verbindungsorientierte Protokolle, zum Beispiel arbeitet TCP hervorragend im Anycast-Betrieb.

Einige CDN-Anbieter nutzen Anycast-Routing, während andere sich für DNS-basiertes Routing entscheiden: Der nächstgelegene Server wird basierend auf dem Standort des DNS-Servers des Nutzers ausgewählt.

Hybride Infrastrukturen und Multi-Data-Center-Infrastrukturen sind ein weiteres Beispiel für den Einsatz von Anycast. Die vom Anbieter bereitgestellte Load Balancing IP-Adresse ermöglicht es, die Last zwischen den IP-Adressen verschiedener Dienste der Kunden im Rechenzentrum des Anbieters zu verteilen. Dank der Adressierungstechnologie gewährleistet dies eine bessere Leistung bei hohem Traffic, Ausfallsicherheit und hilft, die Reaktionszeiten bei vielen Nutzern zu optimieren.

In hybriden Infrastrukturen mit mehreren Rechenzentren kann der Verkehr zwischen Servern oder sogar virtuellen Maschinen auf dedizierten Servern verteilt werden.

Es gibt eine riesige Auswahl an technischen Lösungen für den Aufbau von Infrastrukturen. Darüber hinaus kann das Lastenausgleichsmanagement über IP-Adressen in mehreren Rechenzentren eingerichtet werden, mit der Möglichkeit, jede Gruppe von Geräten zur Optimierung der Website-Leistung zu adressieren.

Der Traffic kann entsprechend eigenen Richtlinien verteilt werden, indem das „Gewicht“ jedes verteilten Servers in jedem Rechenzentrum festgelegt wird. Diese Konfiguration ist besonders nützlich, wenn ein verteiltes Server-Set vorhanden ist und die Leistung der Dienste variiert. So kann der Traffic öfter verteilt werden, um die Server-Leistung zu steigern.

Zur Erstellung eines Überwachungssystems mithilfe des Ping-Befehls können Sensoren konfiguriert werden. Dies ermöglicht es dem Administrator, eigene Überwachungsverfahren festzulegen und einen klareren Überblick über den Zustand jeder Komponente in der Infrastruktur zu erhalten. Auf diese Weise können Verfügbarkeitskriterien festgelegt werden.

Es besteht die Möglichkeit, eine hybride Infrastruktur aufzubauen: Manchmal ist es sinnvoll, das Backoffice im Unternehmensnetzwerk zu belassen, während die Schnittstelle an einen Outsourcing-Anbieter übergeben wird.

Es besteht die Möglichkeit, SSL-Zertifikate für die Lastenverteilung, die Verschlüsselung übertragenen Daten und die Sicherheit der Kommunikation zwischen Website-Besuchern und der Unternehmensinfrastruktur hinzuzufügen. Bei der Lastenverteilung zwischen Rechenzentren kann ebenfalls SSL angewendet werden.

Der Anycast-Dienst mit Lastenverteilung von Adressen kann von einem Anbieter bereitgestellt werden. Diese Funktion hilft, den Algorithmus für die Interaktion der Nutzer mit Anwendungen je nach Standort zu verbessern. Es reicht aus zu melden, welche Dienste im Rechenzentrum verfügbar sind, und der Datenverkehr wird zur nächsten Infrastruktur umgeleitet. Wenn dedizierte Server beispielsweise in Frankreich oder Nordamerika vorhanden sind, werden die Kunden zum nächstgelegenen Server im Netzwerk geleitet.

Eine der Möglichkeiten zur Nutzung von Anycast ist die optimale Auswahl des Points of Presence (PoP). Lassen Sie uns anführen Nummer 00 oder. LinkedIn (in Russland blockiert) strebt nicht nur danach, die Leistungsfähigkeit und Geschwindigkeit seiner Produkte – mobiler und Web-Anwendungen – zu verbessern, sondern auch die Netzwerkinfrastruktur zu optimieren, um die Content-Lieferung zu beschleunigen. Dafür nutzt LinkedIn aktiv PoP – Points of Presence – für die dynamische Content-Lieferung. Um die Benutzer zu dem nächstgelegenen PoP zu leiten, wird Anycast eingesetzt.

Der Grund dafür ist, dass jede PoP von LinkedIn bei Unicast eine eindeutige IP-Adresse hat. Benutzer werden dann je nach ihrem geografischen Standort per DNS einer PoP zugewiesen. Das Problem besteht darin, dass etwa 30 % der Benutzer in den Vereinigten Staaten auf ein suboptimales PoP weitergeleitet wurden. Durch die schrittweise Einführung von Anycast sank die Rate der suboptimalen Zuweisung von PoP von 31 % auf 10 %.

Anycast oder Unicast: Was in jedem Fall besser ist
Die Ergebnisse des Pilot-Tests sind im Diagramm dargestellt, wobei die Y-Achse den Prozentsatz der optimalen PoP-Zuweisung zeigt. Mit der 'Ausweitung' von Anycast in vielen Bundesstaaten der USA war eine Verbesserung des Prozentsatzes des Verkehrs zu optimalen PoP zu beobachten.

Anycast-Netzwerküberwachung

Theoretisch sind Anycast-Netzwerke einfach: Mehreren physischen Servern wird dieselbe IP-Adresse zugewiesen, die BGP zur Bestimmung des Pfades verwendet. Doch die Implementierung und das Design von Anycast-Plattformen sind komplex, besonders bekannt sind hierfür ausfallsichere Anycast-Netze. Noch herausfordernder ist das effektive Monitoring von Anycast-Netzen, um Störungen schnell zu erkennen und zu lokalisieren.

Wenn Dienste zur Bereitstellung ihrer Inhalte auf einen Drittanbieter CDN zurückgreifen, ist es äußerst wichtig, die Netzwerkleistung zu überwachen und zu überprüfen. Bei der Überwachung eines Anycast-basierten CDN liegt der Schwerpunkt auf der Messung von Latenzen und der Leistung des vorletzten Hopps, um zu verstehen, welches Rechenzentrum den Inhalt bereitstellt. Die Analyse von HTTP-Server-Headern ist eine weitere Möglichkeit, um herauszufinden, woher die Daten kommen.

Anycast oder Unicast: Was in jedem Fall besser ist
Beispiel: HTTP-Antwortheader, die den Standort des CDN-Servers angeben.

Beispielsweise verwendet CloudFlare den eigenen CF-Ray-Header in HTTP-Antwortnachrichten, der den Rechenzentrumsstandort angibt, an den die Anfrage gesendet wurde. Für Zendesk sieht der CF-Ray-Header für die Region Seattle wie folgt aus: CF-RAY: 2a21675e65fd2a3d-SEA, während es für Amsterdam CF-RAY: 2a216896b93a0c71-AMS ist. Auch zur Bestimmung, wo sich der Inhalt befindet, können HTTP-X-Header aus der HTTP-Antwort verwendet werden.

Andere Adressierungsmethoden

Es gibt auch andere Adressierungsmethoden, um Benutzeranfragen an einen bestimmten Endpunkt im Netzwerk weiterzuleiten:

Unicast

Der Großteil des Internets verwendet heute genau diese Methode. Unicast ist die point-to-point Übertragung, bei der die IP-Adresse nur mit einem bestimmten Knoten im Netzwerk verknüpft ist. Dies wird als eindeutige Zuordnung bezeichnet. 

Multicast

Multicast verwendet die Kommunikation „eins zu vielen“ oder „viele zu vielen“. Mit Multicast können Anfragen vom Sender gleichzeitig an verschiedene ausgewählte Endpunkte gesendet werden. Dies ermöglicht es dem Kunden, eine Datei in Teilen von mehreren Hosts gleichzeitig herunterzuladen, was besonders nützlich für das Streaming von Audio oder Video ist. Multicast wird oft mit Anycast verwechselt, jedoch besteht der wesentliche Unterschied darin, dass Anycast den Sender an einen bestimmten Knoten leitet, selbst wenn mehrere Knoten verfügbar sind.

Broadcast

Ein Datagramm von einem einzigen Sender wird an alle Endpunkte gesendet, die mit der Broadcast-Adresse verbunden sind. Das Netzwerk repliziert die Datagramme automatisch, um mit allen Empfängern in der Broadcast-Gruppe (normalerweise innerhalb eines Subnetzes) kommunizieren zu können.

Geocast

Geocast ähnelt in gewissem Maße dem Multicast: Anfragen vom Sender werden gleichzeitig an mehrere Endpunkte gesendet. Der Unterschied liegt jedoch darin, dass der Empfänger durch seinen geografischen Standort bestimmt wird. Diese spezialisierte Form der Gruppenadressierung wird von einigen Routing-Protokollen für mobile Peer-to-Peer-Netzwerke verwendet.

Ein geografischer Router (Geo Router) berechnet sein Servicengebiet und approximiert es. Geo-Router bauen durch den Austausch von Servicengebieten Routing-Tabellen auf. Das System der Geo-Router hat eine hierarchische Struktur.

Anycast oder Unicast: Was in jedem Fall besser ist
Anycast oder Unicast: Was in jedem Fall besser ist
Anycast oder Unicast: Was in jedem Fall besser ist
Unicast, Multicast und Broadcast.

Die Verwendung von Anycast-Technologie erhöht die Zuverlässigkeit, Fehlertoleranz und Sicherheit von DNS. Mit dieser Technologie bieten Betreiber ihren Kunden unterschiedliche Lastverteilungsdienste auf Basis von DNS an. In der Verwaltungsoberfläche können die IP-Adressen angegeben werden, an die Anfragen je nach geografischer Lokalisierung gesendet werden. Dies gibt den Kunden die Möglichkeit, die Anfragen der Benutzer flexibler zu verteilen.

Einige Anbieter setzen Monitoring-Tools an jedem Point of Presence (POP) ein: Das System analysiert automatisch die kürzesten lokalen und globalen Routen für die POPs und leitet diese über geografische Standorte mit der niedrigsten Latenz und null Ausfallzeiten um.

Aktuell ist Anycast die stabilste und zuverlässigste Lösung für den Aufbau von stark geforderten DNS-Diensten, die hohe Anforderungen an Stabilität und Zuverlässigkeit stellen.

Die .ru-Domain unterstützt 35 Anycast DNS-Server, die in 20 Knoten in fünf Anycast-Regionen gruppiert sind. Dabei wird das Prinzip der geografischen Verteilung, also Geocast, angewendet. Bei der Platzierung der DNS-Knoten wird darauf geachtet, dass sie in geografisch verteilten Standorten platziert sind, die nahe bei den aktivsten Nutzern liegen, mit einer maximalen Konzentration russischer Anbieter am Standort des Knoten sowie der Verfügbarkeit von Kapazitäten und der Benutzerfreundlichkeit der Interaktion mit der Plattform.

Wie baut man ein CDN auf?

Ein CDN ist ein Netzwerk von Servern, das die Bereitstellung von Inhalten an Benutzer beschleunigt. Content Delivery Network vereint alle Server in einem Netzwerk und ermöglicht eine schnellere Ladezeit von Inhalten. Bei der Ladegeschwindigkeit spielt die Entfernung vom Server zum Nutzer eine wichtige Rolle.

CDN nutzt Server, die der Zielgruppe am nächsten sind. Dies reduziert die Wartezeiten und beschleunigt das Laden von Webseiteninhalten für alle Besucher, was besonders entscheidend für Websites mit großen Dateien oder Multimedia-Diensten ist. Typische Anwendungsbereiche für CDN sind der E-Commerce und die Unterhaltungsindustrie.

Das durch die CDN-Infrastruktur geschaffene Netzwerk zusätzlicher Server, die so nah wie möglich an den Nutzern platziert sind, fördert eine stabilere und schnellere Datenübertragung. Statistiken zeigen, dass die Nutzung von CDN die Zugriffsverzögerung auf eine Website um mehr als 70 % im Vergleich zu Websites ohne CDN reduziert.

Wie einen CDN mit DNS erstellen? Настройка CDN с использованием собственного решения Anycast может быть достаточно дорогим проектом, но есть более дешевые варианты. Например, можно использовать GeoDNS и обычные серверы с уникальными IP-адресами. С помощью сервисов GeoDNS можно создать CDN с функциями геолокации, в которой решения принимаются на основе реального местоположения посетителя, а не местоположения ресолвера DNS. Можно настроить свою DNS-зону так, чтобы показывать IP-адреса американских серверов посетителям из США, а европейские посетители будут видеть IP-адрес из Европы.

Mit GeoDNS können unterschiedliche DNS-Antworten basierend auf der IP-Adresse des Benutzers zurückgegeben werden. Dazu wird der DNS-Server so konfiguriert, dass er je nach der ursprünglichen IP-Adresse in der Anfrage verschiedene IP-Adressen zurückgibt. Typischerweise wird eine GeoIP-Datenbank verwendet, um die Region zu bestimmen, aus der die Anfrage stammt. Die Geolokalisierung mittels DNS ermöglicht es, Benutzern Inhalte von der nächstgelegenen Seite bereitzustellen.

GeoDNS ermittelt die IP-Adresse des Clients, der die DNS-Anfrage gesendet hat, oder die IP des rekursiven DNS-Servers des Providers, der bei der Bearbeitung der Anfrage des Clients verwendet wird. Anhand der IP des Clients und der GeoIP-Datenbank wird das Land/Region bestimmt. Anschließend erhält der Client die IP-Adresse des nächstgelegenen CDN-Servers. Weitere Informationen zur Konfiguration von GeoDNS finden Sie hier. hier.

Anycast oder GeoDNS?

Obwohl Anycast eine großartige Methode zur globalen Bereitstellung von Inhalten ist, fehlt es ihm an Spezifität. Hier kommt GeoDNS ins Spiel. Dieser Dienst ermöglicht es, Regeln zu erstellen, die Benutzer je nach ihrem Standort an einzigartige Endpunkte weiterleiten.

Anycast oder Unicast: Was in jedem Fall besser ist
Beispiel: Benutzer aus Europa werden zu einem anderen Endpunkt geleitet.

Es ist auch möglich, den Zugriff auf Domains zu verbieten, indem man alle Anfragen verwirft. Dies ist insbesondere ein schneller Weg, um Angreifer abzuwehren.

GeoDNS bietet genauere Antworten als Anycast. Während bei Anycast der kürzeste Weg anhand der Anzahl der Hops bestimmt wird, erfolgt bei GeoDNS die Routingentscheidung für Endbenutzer basierend auf ihrem tatsächlichen Standort. Dies reduziert die Latenz und erhöht die Genauigkeit bei der Erstellung von granularen Routing-Regeln.

Wenn ein Benutzer eine Domain aufruft, wendet sich der Browser an den nächstgelegenen DNS-Server, der je nach Domain die IP-Adresse zur Laden der Website bereitstellt. Angenommen, ein Online-Shop ist in den USA und Europa beliebt, hat jedoch nur DNS-Server in Europa. Dann müssen Benutzer aus den USA, die die Dienste des Shops nutzen möchten, Anfragen an den nächstgelegenen Server senden, und da dieser sehr weit entfernt ist, müssen sie lange auf eine Antwort warten – die Website wird nicht schnell geladen.

Durch die Platzierung eines GeoDNS-Servers in den USA werden die Benutzer direkt an diesen Server verwiesen. Die Antwort wird schnell sein, was die Ladegeschwindigkeit der Website beeinflusst.

Wenn ein Benutzer aus den USA auf diese Domain zugreift, wird er mit dem nächstgelegenen DNS-Server verbunden, der die benötigte IP-Adresse bereitstellt. Der Benutzer gelangt auf einen Server, der den Website-Inhalt hostet, aber da sich die Server mit dem Inhalt weit entfernt befinden, erhält er diesen nicht schnell genug.

Wenn in den USA auch CDN-Server mit zwischengespeicherten Daten bereitgestellt werden, sendet der Browser des Kunden bei der Ladeanfrage eine Abfrage an den nächsten DNS-Server, der die erforderliche IP-Adresse zurücksendet. Der Browser verwendet die erhaltene IP, um auf den nächstgelegenen CDN-Server sowie den Hauptserver zuzugreifen, wobei der CDN-Server den zwischengespeicherten Inhalt an den Browser übermittelt. Während der zwischengespeicherte Inhalt geladen wird, werden die fehlenden Dateien vom Hauptserver gesendet, die für das vollständige Laden der Website erforderlich sind. Dadurch verringert sich die Ladezeit der Website, da deutlich weniger Dateien vom Hauptserver gesendet werden.

Die genaue Bestimmung des Standorts einer bestimmten IP-Adresse ist nicht immer einfach: Viele Faktoren spielen eine Rolle, und die Besitzer der IP-Adressbereiche können entscheiden, diesen an einem anderen Ort der Welt anzumelden (in diesem Fall muss man warten, bis die Datenbank aktualisiert wird, um den richtigen Standort zu erhalten). Manchmal weisen VPS-Anbieter Adressen zu, die vermeintlich in den USA liegen, für VPS in Singapur.

Im Gegensatz zur Verwendung von Anycast-Adressen erfolgt die Verteilung während der Namensauflösung und nicht während der Verbindung mit dem Cache-Server. Wenn der rekursive Server die EDNS-Client-Subnetze nicht unterstützt, wird der Standort dieses rekursiven Servers verwendet, anstatt des Benutzers, der sich mit dem Cache-Server verbindet.

Client-Subnetze im DNS sind eine Erweiterung des DNS (RFC7871), die definiert, wie rekursive DNS-Server Informationen über den Client an den DNS-Server senden können, insbesondere Informationen über das Netzwerk, die der GeoDNS-Server zur genaueren Bestimmung des Standorts des Clients nutzen kann.

Die meisten nutzen die DNS-Server ihres Internetanbieters oder geographisch nahegelegene DNS-Server. Wenn jedoch jemand in den USA aus irgendeinem Grund einen DNS-Resolver in Australien verwenden möchte, wird er wahrscheinlich die IP-Adresse des Servers erhalten, der am nächsten zu Australien ist.

Falls Sie GeoDNS verwenden möchten, ist es wichtig, sich über solche Besonderheiten bewusst zu sein, da dies in manchen Fällen die Distanz zwischen den Caching-Servern und dem Client erhöhen kann.

Zusammenfassung: Wenn Sie mehrere VPS in einem CDN integrieren möchten, ist die beste Implementierungsoption die Kombination eines DNS-Servers mit GeoDNS + Anycast „out of the box“.

Anycast oder Unicast: Was in jedem Fall besser ist

Quelle: habr.com

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster