Anycast vs. Unicast: Was ist jeweils besser zu wählen?

Viele Leute haben wahrscheinlich schon von Anycast gehört. Bei dieser Methode der Netzwerkadressierung und des Routings wird eine einzelne IP-Adresse mehreren Servern in einem Netzwerk zugewiesen. Diese Server können sogar in voneinander entfernten Rechenzentren stehen. Die Idee von Anycast besteht darin, dass die Daten abhängig vom Standort der Anforderungsquelle an den nächstgelegenen Server (gemäß der Netzwerktopologie, genauer gesagt dem BGP-Routing-Protokoll) gesendet werden. Auf diese Weise können Sie die Anzahl der Netzwerk-Hops und die Latenz reduzieren.

Im Wesentlichen wird dieselbe Route von mehreren Rechenzentren auf der ganzen Welt aus angekündigt. Somit werden Clients basierend auf BGP-Routen zum „besten“ und „nächsten“ Rechenzentrum weitergeleitet. Warum Anycast? Warum Anycast anstelle von Unicast verwenden?

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Unicast eignet sich wirklich für eine Site mit einem Webserver und mäßigem Datenverkehr. Wenn ein Dienst jedoch Millionen von Abonnenten hat, verwendet er normalerweise viele Webserver mit jeweils derselben IP-Adresse. Diese Server sind geografisch verteilt, um Anfragen optimal bedienen zu können.

In diesem Szenario verbessert Anycast die Leistung (der Datenverkehr wird mit minimaler Verzögerung an den Benutzer gesendet), gewährleistet die Zuverlässigkeit des Dienstes (dank Backup-Servern) und den Lastausgleich – durch die Weiterleitung an mehrere Server wird die Last effektiv zwischen ihnen verteilt und die Geschwindigkeit verbessert Der Seite.

Betreiber bieten ihren Kunden verschiedene Arten des Lastausgleichs auf Basis von Anycast und DNS an. Kunden können IP-Adressen angeben, an die Anfragen basierend auf dem geografischen Standort der Site gesendet werden. Dies ermöglicht eine flexiblere Verteilung von Benutzeranfragen.

Angenommen, es gibt mehrere Websites, auf die Sie die Last (Benutzer) verteilen müssen, beispielsweise einen Online-Shop mit 100 Anfragen pro Tag oder einen beliebten Blog. Um die Region einzuschränken, von der aus Benutzer auf eine bestimmte Site zugreifen, können Sie die Option „Geo-Community“ verwenden. Damit können Sie die Region einschränken, in der der Betreiber die Route ankündigt.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Anycast und Unicast: Unterschiede

Anycast wird häufig in Anwendungen wie DNS (Domain Name System) und CDN (Content Delivery Networks) verwendet und ermöglicht Routing-Entscheidungen, die die Netzwerkleistung verbessern. Content-Delivery-Netzwerke nutzen Anycast, weil sie große Datenmengen bewältigen und Anycast in diesem Fall eine Reihe von Vorteilen bietet (mehr dazu weiter unten). Im DNS können Sie mit Anycast die Zuverlässigkeit und Fehlertoleranz des Dienstes deutlich erhöhen.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
In Anycast IP gibt es bei Verwendung von BGP mehrere Routen zu einem bestimmten Host. Hierbei handelt es sich tatsächlich um Kopien von Hosts in mehreren Rechenzentren, die zum Aufbau von Verbindungen mit geringerer Latenz verwendet werden.

In einem Anycast-Netzwerk wird also dieselbe IP-Adresse von verschiedenen Orten aus bekannt gegeben, und das Netzwerk entscheidet anhand der „Kosten“ der Route, wohin die Anfrage des Benutzers weitergeleitet wird. Beispielsweise wird BGP häufig verwendet, um die kürzeste Route für die Datenübertragung zu ermitteln. Wenn ein Benutzer eine Anycast-Anfrage sendet, ermittelt BGP die beste Route für verfügbare Anycast-Server im Netzwerk.

Vorteile von Anycast

Reduzierung der Latenz
Systeme mit Anycast können die Latenz bei der Verarbeitung von Benutzeranfragen reduzieren, da sie es Ihnen ermöglichen, Daten vom nächstgelegenen Server zu empfangen. Das heißt, Benutzer stellen immer eine Verbindung zum (aus Routing-Protokoll-Sicht) „nächsten“ DNS-Server her. Dadurch verkürzt Anycast die Interaktionszeit, indem es die Netzwerkentfernung zwischen Client und Server verringert. Dies reduziert nicht nur die Latenz, sondern sorgt auch für einen Lastausgleich.

Geschwindigkeit

Da der Datenverkehr zum nächstgelegenen Knoten weitergeleitet wird und die Latenz zwischen dem Client und dem Knoten reduziert wird, ist das Ergebnis eine optimierte Zustellungsgeschwindigkeit, unabhängig davon, woher der Client Informationen anfordert.

Erhöhte Stabilität und Fehlertoleranz

Wenn mehrere Server auf der Welt dieselbe IP verwenden, wird der Datenverkehr bei einem Ausfall oder einer Unterbrechung der Verbindung zum nächstgelegenen Server umgeleitet. Dadurch macht Anycast den Dienst ausfallsicherer und bietet einen besseren Netzwerkzugriff/-latenz/-geschwindigkeit. 

Dadurch, dass den Benutzern ständig mehrere Server zur Verfügung stehen, verbessert Anycast beispielsweise die DNS-Stabilität. Wenn ein Knoten ausfällt, werden Benutzeranfragen ohne manuellen Eingriff oder Neukonfiguration an einen anderen DNS-Server umgeleitet. Anycast ermöglicht eine praktisch transparente Umschaltung zu anderen Sites, indem einfach die Routen der problematischen Site entfernt werden. 

Lastverteilung

Bei Anycast wird der Netzwerkverkehr auf verschiedene Server verteilt. Das heißt, es fungiert als Lastausgleicher und verhindert, dass ein einzelner Server den Großteil des Datenverkehrs empfängt. Der Lastausgleich kann beispielsweise verwendet werden, wenn sich mehrere Netzwerkknoten in der gleichen geografischen Entfernung von der Anforderungsquelle befinden. In diesem Fall wird die Last auf die Knoten verteilt.

Reduzieren Sie die Auswirkungen von DoS-Angriffen 

Ein weiteres Merkmal von Anycast ist seine DDoS-Resistenz. Es ist unwahrscheinlich, dass DDoS-Angriffe ein Anycast-System zum Absturz bringen können, da sie alle Server in einem solchen Netzwerk mit einer Flut von Anfragen überfordern müssten. 

Bei DDoS-Angriffen werden häufig Botnetze eingesetzt, die so viel Datenverkehr erzeugen können, dass der angegriffene Server überlastet wird. Der Vorteil der Verwendung von Anycast in dieser Situation besteht darin, dass jeder Server einen Teil des Angriffs „absorbieren“ kann, was die Belastung des jeweiligen Servers verringert. Ein Denial-of-Service-Angriff wird höchstwahrscheinlich auf den Server beschränkt sein und sich nicht auf den gesamten Dienst auswirken.

Hohe horizontale Skalierbarkeit

Anycast-Systeme eignen sich gut für Dienste mit großem Verkehrsaufkommen. Wenn ein Dienst, der Anycast verwendet, neue Server benötigt, um den erhöhten Datenverkehr zu bewältigen, können dem Netzwerk neue Server hinzugefügt werden, um diesen zu bewältigen. Sie können auf neuen oder bestehenden Standorten platziert werden. 

Wenn an einem bestimmten Standort ein starker Anstieg des Datenverkehrs zu verzeichnen ist, kann das Hinzufügen eines Servers dazu beitragen, die Last für diesen Standort auszugleichen. Das Hinzufügen eines Servers an einem neuen Standort trägt dazu bei, Wartezeiten zu verkürzen, indem für einige Benutzer eine neue kürzeste Route erstellt wird. Beide Methoden tragen auch dazu bei, die Stabilität des Dienstes zu verbessern, wenn neue Server im Netzwerk verfügbar werden. Wenn ein Server überlastet ist, können Sie auf diese Weise einfach einen anderen an einem Ort bereitstellen, der es ihm ermöglicht, einen Teil der Anforderungen des überlasteten Servers zu akzeptieren. Dies erfordert keine Konfiguration seitens der Clients. 

Nur so können Terabit-Verkehr und eine sehr große Anzahl an Benutzern bedient werden, wenn der Server nur über wenige 10- oder 25-Gbit/s-Ports verfügt. 100 Hosts mit einer IP-Adresse ermöglichen die Verarbeitung von Terabit-Traffic-Volumen.

Einfache Konfigurationsverwaltung

Wie oben erwähnt, ist DNS eine interessante Verwendung von Anycast. Sie können mehrere unterschiedliche DNS-Server auf Netzwerkknoten platzieren, aber eine DNS-Adresse verwenden. Je nachdem, wo sich die Quelle befindet, werden Anfragen an den nächstgelegenen Knoten weitergeleitet. Dies sorgt für einen gewissen Verkehrsausgleich und Redundanz im Falle eines DNS-Serverausfalls. Anstatt je nach Standort unterschiedliche DNS-Server zu konfigurieren, kann auf diese Weise die Konfiguration eines DNS-Servers an alle Knoten weitergegeben werden.

Anycast-Netzwerke können so konfiguriert werden, dass Anfragen nicht nur basierend auf der Entfernung, sondern auch auf Parametern wie der Anwesenheit eines Servers und der Anzahl der hergestellten Verbindungen weitergeleitet werden. oder Reaktionszeit.

Für die Nutzung der Anycast-Technologie sind auf Client-Seite keine besonderen Server, Netzwerke oder besonderen Komponenten erforderlich. Aber Anycast hat auch seine Schattenseiten. Man geht davon aus, dass die Umsetzung eine komplexe Aufgabe ist, die zusätzliche Ausrüstung, zuverlässige Anbieter und eine ordnungsgemäße Verkehrsführung erfordert.

Weit entfernt von der reinen Quelle der Schönheit

Obwohl Anycast Benutzer auf der Grundlage der wenigsten Hops weiterleitet, bedeutet dies nicht unbedingt die niedrigste Latenz. Die Latenz ist eine komplexere Metrik, da sie bei einem Übergang höher sein kann als bei zehn.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Beispiel: Interkontinentale Kommunikation kann einen einzelnen Hop mit sehr hoher Latenz umfassen.

Anycast wird hauptsächlich für UDP-basierte Dienste wie DNS verwendet. Benutzeranfragen werden basierend auf BGP-Routen an das „beste“ und „nächstgelegene“ Rechenzentrum weitergeleitet.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Beispiel: Eine DNS-Client-Workstation mit der Anycast-DNS-IP-Adresse 123.10.10.10 führt eine DNS-Auflösung zum nächstgelegenen von drei DNS-Nameservern durch, die mit derselben Anycast-IP-Adresse bereitgestellt werden. Wenn Router R1 oder Server A ausfallen, werden DNS-Client-Pakete automatisch über die Router R2 und R3 an den nächstgelegenen DNS-Server weitergeleitet. Darüber hinaus wird die Route zu unserem Server A aus den Routing-Tabellen entfernt, wodurch eine weitere Verwendung dieses Nameservers verhindert wird.

Bereitstellungsszenarien

Es gibt zwei allgemeine Schemata, mit denen ermittelt wird, mit welchem ​​Server sich ein Benutzer verbindet:

  • Anycast-Netzwerkschicht. Verbindet den Benutzer mit dem nächstgelegenen Server. Wichtig ist hierbei der Netzwerkpfad vom Benutzer zum Server.
  • Anycast auf Anwendungsebene. Dieses Schema verfügt über mehr berechnete Metriken, einschließlich Serververfügbarkeit, Antwortzeit, Anzahl der Verbindungen usw. Dies hängt von einem externen Monitor ab, der Netzwerkstatistiken bereitstellt.

CDN basierend auf Anycast

Kehren wir nun zur Verwendung von Anycast in Content-Delivery-Netzwerken zurück. Anycast ist sicherlich ein interessantes Netzwerkkonzept und erfreut sich zunehmender Akzeptanz bei CDN-Anbietern der nächsten Generation.

CDN ist ein verteiltes Netzwerk von Servern, die Inhalte mit hoher Verfügbarkeit und geringer Latenz an Endbenutzer liefern. Content-Delivery-Netzwerke spielen heute eine wichtige Rolle als Rückgrat vieler Online-Mediendienste, und Verbraucher sind gegenüber langsamen Download-Geschwindigkeiten immer weniger tolerant. Video- und Sprachanwendungen reagieren besonders empfindlich auf Netzwerk-Jitter und Latenz.

Ein CDN verbindet alle Server in einem Netzwerk und sorgt für ein schnelleres Laden von Inhalten. Manchmal ist es möglich, die Wartezeit des Benutzers um 5-6 Sekunden zu verkürzen. Der Zweck eines CDN besteht darin, die Bereitstellung zu optimieren, indem Inhalte von dem Server bereitgestellt werden, der dem Endbenutzer am nächsten ist. Dies ist Anycast sehr ähnlich, wo der nächstgelegene Server basierend auf dem Standort des Endbenutzers ausgewählt wird. Es scheint, dass jeder CDN-Dienstanbieter standardmäßig Anycast verwenden würde, aber in Wirklichkeit ist dies nicht der Fall.

Anwendungen, die Protokolle wie HTTP/TCP verwenden, sind darauf angewiesen, dass die Verbindung hergestellt wird. Wenn ein neuer Anycast-Knoten ausgewählt wird (z. B. aufgrund eines Serverausfalls), kann der Dienst unterbrochen werden. Aus diesem Grund wurde Anycast bisher für verbindungslose Dienste wie UDP und DNS empfohlen. Allerdings funktioniert Anycast auch gut für verbindungsorientierte Protokolle; TCP funktioniert beispielsweise gut im Anycast-Modus.

Einige CDN-Anbieter verwenden Anycast-basiertes Routing, andere bevorzugen DNS-basiertes Routing: Der nächstgelegene Server wird basierend auf dem Standort des DNS-Servers des Benutzers ausgewählt.

Hybrid- und Multi-Datacenter-Infrastrukturen sind ein weiteres Beispiel für den Einsatz von Anycast. Mit der vom Anbieter erhaltenen Load Balancing-IP-Adresse können Sie die Last auf die IP-Adressen verschiedener Client-Dienste im Rechenzentrum des Anbieters verteilen. Dank der Any-Device-Technologie bietet es eine bessere Leistung bei starkem Datenverkehr, Fehlertoleranz und hilft, die Reaktionszeit bei der Arbeit mit einer großen Anzahl von Benutzern zu optimieren.

In hybriden Infrastrukturen mit mehreren Rechenzentren können Sie den Datenverkehr auf Server oder sogar virtuelle Maschinen auf dedizierten Servern verteilen.

Somit gibt es eine riesige Auswahl an technischen Lösungen für die Gebäudeinfrastruktur. Sie können auch den Lastausgleich über IP-Adressen in mehreren Rechenzentren konfigurieren und so jedes Gerät in einer Gruppe gezielt ansprechen, um die Leistung des Standorts zu optimieren.

Sie können den Datenverkehr nach Ihren eigenen Regeln verteilen und dabei das „Gewicht“ jedes einzelnen verteilten Servers in jedem Rechenzentrum definieren. Diese Konfiguration ist besonders nützlich, wenn ein verteilter Serverpark vorhanden ist und die Leistung der Dienste ungleichmäßig ist. Dadurch kann der Datenverkehr häufiger verteilt werden, um die Serverleistung zu verbessern.

Um ein Überwachungssystem mit dem Ping-Befehl zu erstellen, ist es möglich, Sonden zu konfigurieren. Dadurch kann der Administrator seine eigenen Überwachungsverfahren definieren und sich ein klareres Bild vom Status jeder Komponente in der Infrastruktur machen. Auf diese Weise können Barrierefreiheitskriterien definiert werden.

Es ist möglich, eine hybride Infrastruktur aufzubauen: Manchmal ist es praktisch, das Backoffice im Unternehmensnetzwerk zu belassen und den Schnittstellenteil an den Anbieter auszulagern.

Es ist möglich, SSL-Zertifikate für den Lastausgleich, die Verschlüsselung übertragener Daten und die Sicherheit der Kommunikation zwischen Website-Besuchern und der Unternehmensinfrastruktur hinzuzufügen. Im Falle eines Lastausgleichs zwischen Rechenzentren kann auch SSL verwendet werden.

Den Anycast-Dienst mit Adresslastverteilung erhalten Sie bei Ihrem Provider. Diese Funktion wird dazu beitragen, die Interaktion von Benutzern mit Apps basierend auf dem Standort zu verbessern. Es reicht aus, anzukündigen, welche Dienste im Rechenzentrum verfügbar sind, und der Datenverkehr wird an die nächstgelegene Infrastruktur umgeleitet. Wenn dedizierte Server vorhanden sind, beispielsweise in Frankreich oder Nordamerika, werden Clients an den nächstgelegenen Server im Netzwerk weitergeleitet.

Eine der Optionen für die Nutzung von Anycast ist die optimale Wahl des Point of Presence (PoP) eines Betreibers. Geben wir Beispiel. LinkedIn (in Russland gesperrt) ist nicht nur bestrebt, die Leistung und Geschwindigkeit seiner Produkte – Mobil- und Webanwendungen – zu verbessern, sondern auch seine Netzwerkinfrastruktur für eine schnellere Bereitstellung von Inhalten zu verbessern. Für diese dynamische Content-Bereitstellung nutzt LinkedIn aktiv PoPs – Points of Presence. Anycast wird verwendet, um Benutzer zum nächstgelegenen PoP zu leiten.

Der Grund dafür ist, dass im Fall von Unycast jeder LinkedIn PoP eine eindeutige IP-Adresse hat. Benutzer werden dann anhand ihres geografischen Standorts mithilfe von DNS dem PoP zugewiesen. Das Problem besteht darin, dass bei der Verwendung von DNS etwa 30 % der Benutzer in den USA zu einem suboptimalen PoP umgeleitet wurden. Mit der schrittweisen Implementierung von Anycast sank die suboptimale PoP-Zuweisung von 31 % auf 10 %.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Die Ergebnisse des Pilottests werden in der Grafik angezeigt, wobei die Y-Achse den Prozentsatz der optimalen PoP-Zuweisung darstellt. Mit der Ausweitung von Anycast verzeichneten viele US-Bundesstaaten eine Verbesserung des Prozentsatzes des Datenverkehrs in Richtung des optimalen PoP.

Anycast-Netzwerküberwachung

Anycast-Netzwerke sind theoretisch einfach: Mehreren physischen Servern wird dieselbe IP-Adresse zugewiesen, die BGP zur Bestimmung der Route verwendet. Doch die Implementierung und das Design von Anycast-Plattformen sind komplex und fehlertolerante Anycast-Netzwerke sind dafür besonders bekannt. Noch anspruchsvoller ist die effektive Überwachung eines Anycast-Netzwerks, um Fehler schnell zu identifizieren und zu isolieren.

Wenn Dienste einen CDN-Drittanbieter zur Bereitstellung ihrer Inhalte nutzen, ist es für sie sehr wichtig, die Netzwerkleistung zu überwachen und zu überprüfen. Die Anycast-basierte CDN-Überwachung konzentriert sich auf die Messung der End-to-End-Latenz und der Leistung des vorletzten Hops, um zu verstehen, welches Rechenzentrum den Inhalt bereitstellt. Die Analyse von HTTP-Server-Headern ist eine weitere Möglichkeit, die Herkunft der Daten zu ermitteln.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Beispiel: HTTP-Antwortheader, die den Standort des CDN-Servers angeben.

CloudFlare verwendet beispielsweise seinen eigenen CF-Ray-Header in HTTP-Antwortnachrichten, der einen Hinweis auf das Rechenzentrum enthält, an das die Anfrage gestellt wurde. Im Fall von Zendesk lautet der CF-Ray-Header für die Region Seattle CF-RAY: 2a21675e65fd2a3d-SEA und für Amsterdam ist er CF-RAY: 2a216896b93a0c71-AMS. Sie können auch HTTP-X-Header aus der HTTP-Antwort verwenden, um zu bestimmen, wo sich der Inhalt befindet.

Andere Adressierungsmethoden

Es gibt andere Adressierungsmethoden zum Weiterleiten von Benutzeranfragen an einen bestimmten Netzwerkendpunkt:

Unicast

Der größte Teil des Internets verwendet heute diese Methode. Unicast – Unicast-Übertragung, die IP-Adresse ist nur einem bestimmten Knoten im Netzwerk zugeordnet. Dies wird Eins-zu-eins-Matching genannt. 

Multicast

Multicast verwendet eine Eins-zu-Viele- oder Viele-zu-Viele-Beziehung. Multicast ermöglicht es, eine Anfrage eines Absenders gleichzeitig an verschiedene ausgewählte Endpunkte zu senden. Dies gibt dem Client die Möglichkeit, eine Datei in Blöcken gleichzeitig von mehreren Hosts herunterzuladen (was für das Streamen von Audio oder Video nützlich ist). Multicast wird oft mit Anycast verwechselt. Der Hauptunterschied besteht jedoch darin, dass Anycast den Absender an einen bestimmten Knoten weiterleitet, auch wenn mehrere Knoten verfügbar sind.

Sendung

Ein Datagramm von einem einzelnen Absender wird an alle Endpunkte weitergeleitet, die der Broadcast-Adresse zugeordnet sind. Das Netzwerk repliziert Datagramme automatisch, um alle Empfänger im Broadcast erreichen zu können (normalerweise im selben Subnetz).

Geocast

Geocast ähnelt in gewisser Weise Multicast: Anfragen des Absenders werden gleichzeitig an mehrere Endpunkte gesendet. Der Unterschied besteht jedoch darin, dass der Adressat durch seinen geografischen Standort bestimmt wird. Dies ist eine spezielle Form von Multicast, die von einigen Routing-Protokollen für mobile Ad-hoc-Netzwerke verwendet wird.

Ein geografischer Router berechnet seinen Servicebereich und nähert ihn an. Georouter, Austausch von Einzugsgebieten, Erstellung von Routing-Tabellen. Das Georouter-System hat eine hierarchische Struktur.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Unicast, Multicast und Broadcast.

Der Einsatz der Anycast-Technologie erhöht die Zuverlässigkeit, Fehlertoleranz und Sicherheit von DNS. Mithilfe dieser Technologie bieten Betreiber ihren Kunden Dienste für verschiedene Arten des Lastausgleichs auf Basis von DNS an. Im Control Panel können Sie IP-Adressen angeben, an die Anfragen je nach geografischem Standort gesendet werden. Dadurch erhalten Kunden die Möglichkeit, Nutzeranfragen flexibler zu verteilen.

Einige Betreiber implementieren Routenüberwachungsfunktionen an jedem Point of Presence (POP): Das System analysiert automatisch die kürzesten lokalen und globalen Routen für Points of Presence und leitet sie ohne Ausfallzeiten durch die geografischen Standorte mit der geringsten Latenz.

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

Die .ru-Domäne unterstützt 35 Anycast-DNS-Server, gruppiert in 20 Knoten, verteilt auf fünf Anycast-Clouds. Dabei kommt das Prinzip der Konstruktion nach geographischen Merkmalen zum Einsatz, d.h. Geocast. Bei der Platzierung von DNS-Knoten ist vorgesehen, dass diese an geografisch verteilte Standorte in der Nähe der aktivsten Benutzer verlegt werden, die maximale Konzentration russischer Anbieter an dem Ort, an dem sich der Knoten befindet, sowie die Verfügbarkeit freier Kapazitäten und die Benutzerfreundlichkeit Interaktion mit der Website.

Wie erstellt man ein CDN?

CDN ist ein Netzwerk von Servern, das die Bereitstellung von Inhalten an Benutzer beschleunigt. Content-Delivery-Netzwerk vereint alle Server in einem Netzwerk und sorgt für ein schnelleres Laden von Inhalten. Die Entfernung vom Server zum Benutzer spielt eine wichtige Rolle für die Ladegeschwindigkeit.

Mit CDN können Sie Server verwenden, die der Zielgruppe am nächsten sind. Dies verkürzt die Wartezeit und trägt dazu bei, das Laden von Website-Inhalten für alle Besucher zu beschleunigen, was besonders wichtig für Websites mit großen Dateien oder Multimediadiensten ist. Typische Anwendungen für CDN sind E-Commerce und Unterhaltung.

Das in der CDN-Infrastruktur geschaffene Netzwerk zusätzlicher Server, die sich möglichst nah an den Benutzern befinden, trägt zu einer stabileren und schnelleren Datenbereitstellung bei. Laut Statistik reduziert die Verwendung eines CDN die Latenz beim Zugriff auf eine Website um mehr als 70 % im Vergleich zu Websites ohne CDN.

Как Erstellen Sie ein CDN mit DNS? Das Einrichten eines CDN mit der eigenen Lösung von Anycast kann ein recht kostspieliges Projekt sein, es gibt jedoch günstigere Optionen. Sie können beispielsweise GeoDNS und reguläre Server mit eindeutigen IP-Adressen verwenden. Mit GeoDNS-Diensten können Sie ein CDN mit Geolokalisierungsfunktionen erstellen, bei dem Entscheidungen auf der Grundlage des tatsächlichen Standorts des Besuchers und nicht auf der Grundlage des Standorts des DNS-Resolvers getroffen werden. Sie können Ihre DNS-Zone so konfigurieren, dass US-Besuchern US-Server-IP-Adressen angezeigt werden, europäische Besucher sehen jedoch die europäische IP-Adresse.

Mit GeoDNS können Sie abhängig von der IP-Adresse des Benutzers unterschiedliche DNS-Antworten zurückgeben. Dazu ist der DNS-Server so konfiguriert, dass er abhängig von der Quell-IP-Adresse in der Anfrage unterschiedliche IP-Adressen zurückgibt. Typischerweise wird eine GeoIP-Datenbank verwendet, um die Region zu bestimmen, aus der eine Anfrage gestellt wird. Durch die Geolokalisierung mithilfe von DNS können Sie Inhalte von einer nahegelegenen Website an Benutzer senden.

GeoDNS ermittelt die IP-Adresse des Clients, der die DNS-Anfrage gesendet hat, oder die IP-Adresse des rekursiven DNS-Servers des Anbieters, der bei der Verarbeitung der Client-Anfrage verwendet wird. Das Land/die Region wird durch die IP- und GeoIP-Datenbank des Kunden bestimmt. Der Client erhält dann die IP-Adresse des nächstgelegenen CDN-Servers. Weitere Informationen zum Einrichten von GeoDNS finden Sie hier hier.

Anycast oder GeoDNS?

Obwohl Anycast eine großartige Möglichkeit ist, Inhalte auf globaler Ebene bereitzustellen, mangelt es ihm an Spezifität. Hier kommt GeoDNS zur Rettung. Mit diesem Dienst können Sie Regeln erstellen, die Benutzer basierend auf ihrem Standort an eindeutige Endpunkte weiterleiten.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?
Beispiel: Benutzer aus Europa werden an einen anderen Endpunkt weitergeleitet.

Sie können den Zugriff auf Domänen auch verweigern, indem Sie alle Anfragen verwerfen. Dies ist insbesondere eine schnelle Möglichkeit, Eindringlinge abzuwehren.

GeoDNS liefert genauere Antworten als Anycast. Wenn bei Anycast die kürzeste Route durch die Anzahl der Hops bestimmt wird, erfolgt bei GeoDNS das Routing für Endbenutzer abhängig von ihrem physischen Standort. Dies reduziert die Latenz und verbessert die Genauigkeit beim Erstellen detaillierter Routing-Regeln.

Beim Navigieren zu einer Domain kontaktiert der Browser den nächstgelegenen DNS-Server, der je nach Domain eine IP-Adresse zum Laden der Site vergibt. Nehmen wir an, dass ein Online-Shop in den USA und Europa beliebt ist, DNS-Server dafür jedoch nur in Europa verfügbar sind. Dann müssen US-Benutzer, die die Dienste des Shops nutzen möchten, eine Anfrage an den nächstgelegenen Server senden. Da dieser sehr weit entfernt ist, müssen sie lange auf eine Antwort warten – die Website wird nicht schnell geladen.

Wenn sich ein GeoDNS-Server in den USA befindet, können Benutzer bereits darauf zugreifen. Die Antwort erfolgt schnell, was sich auf die Ladegeschwindigkeit der Website auswirkt.

In einer Situation mit einem vorhandenen DNS-Server in den Vereinigten Staaten kontaktiert ein Benutzer aus den Vereinigten Staaten, wenn er zu einer bestimmten Domäne navigiert, den nächstgelegenen Server, der die erforderliche IP bereitstellt. Der Benutzer wird zu dem Server weitergeleitet, der den Inhalt der Website enthält. Da die Server mit dem Inhalt jedoch weit entfernt sind, wird er ihn nicht schnell erhalten.

Wenn Sie CDN-Server in den USA mit zwischengespeicherten Daten hosten, sendet der Client-Browser beim Laden eine Anfrage an den nächstgelegenen DNS-Server, der die erforderliche IP-Adresse zurücksendet. Der Browser mit der empfangenen IP kontaktiert den nächstgelegenen CDN-Server und den Hauptserver, und der CDN-Server stellt dem Browser den zwischengespeicherten Inhalt bereit. Während der zwischengespeicherte Inhalt geladen wird, werden die zum Laden der gesamten Site fehlenden Dateien vom Hauptserver empfangen. Dadurch wird die Ladezeit der Website verkürzt, da viel weniger Dateien vom Hauptserver gesendet werden.

Den genauen Standort einer bestimmten IP-Adresse zu bestimmen, ist nicht immer eine leichte Aufgabe: Viele Faktoren spielen eine Rolle, und Besitzer eines IP-Adressbereichs entscheiden sich möglicherweise dafür, ihn auf der anderen Seite der Welt bekannt zu geben (und müssen dann warten, bis die Datenbank dies tut). aktualisieren, um den richtigen Speicherort zu erhalten). Manchmal weisen VPS-Anbieter Adressen, die sich angeblich in den USA befinden, VPS in Singapur zu.

Anders als bei der Verwendung von Anycast-Adressen erfolgt die Verteilung während der Namensauflösung und nicht während der Verbindung zum Caching-Server. Wenn der rekursive Server keine EDNS-Client-Subnetze unterstützt, wird der Standort dieses rekursiven Servers verwendet und nicht der Benutzer, der eine Verbindung zum Caching-Server herstellt.

Client-Subnetze in DNS sind eine Erweiterung von DNS (RFC7871), die definiert, wie rekursive DNS-Server Client-Informationen an den DNS-Server senden können, insbesondere Netzwerkinformationen, die der GeoDNS-Server verwenden kann, um den Standort des Clients genauer zu bestimmen.

Die meisten verwenden die DNS-Server ihres Internetdienstanbieters oder DNS-Server, die sich geografisch in ihrer Nähe befinden. Wenn sich jedoch jemand in den USA aus irgendeinem Grund für die Verwendung eines DNS-Resolvers in Australien entscheidet, erhält er wahrscheinlich eine IP-Serveradresse, die Australien am nächsten liegt.

Wenn Sie GeoDNS verwenden möchten, ist es wichtig, sich dieser Funktionen bewusst zu sein, da dadurch in einigen Fällen die Entfernung zwischen den Caching-Servern und dem Client vergrößert werden kann.

Zusammenfassung: Wenn Sie mehrere VPS in einem CDN kombinieren möchten, ist die beste Bereitstellungsoption die Verwendung eines DNS-Serverpakets mit der sofort einsatzbereiten GeoDNS + Anycast-Funktion.

Anycast vs. Unicast: Was ist jeweils besser zu wählen?

Source: habr.com

Kommentar hinzufügen