EMZETT.
Login

Anycast

Kurz: Eine Übertragungsart, bei der dieselbe Zieladresse von mehreren Servern an unterschiedlichen Standorten angeboten wird — die Anfrage wird automatisch an den (netzwerktechnisch) nächstgelegenen geroutet.

Genauer: Wird häufig bei global verteilten DNS-Root-Servern oder CDN-Infrastruktur eingesetzt: Nutzer in Europa und den USA erreichen dieselbe IP-Adresse, landen aber je nach Routing automatisch beim jeweils nächsten Rechenzentrum — das reduziert Latenz und verteilt Last.

Im Detail

Wie das Routing tatsächlich funktioniert

Technisch funktioniert Anycast, indem dieselbe IP-Adresse von mehreren physisch getrennten Servern an unterschiedlichen Standorten gleichzeitig per BGP (Border Gateway Protocol, dem Routing-Protokoll des globalen Internets) angekündigt wird. Jeder Internet-Router entscheidet unabhängig, über welchen seiner bekannten Wege er ein Paket an diese Adresse weiterleitet — meist anhand der BGP-”AS-Path-Länge” (Anzahl durchquerter autonomer Systeme), nicht der tatsächlichen geografischen Distanz. Das führt gelegentlich zu unintuitiven Ergebnissen: Ein Nutzer in einer Stadt ohne direkten, gut vernetzten Provider-Anschluss kann theoretisch bei einem weiter entfernten, aber netzwerktechnisch “näheren” (wenige Hops entfernten) Standort landen. Aus Sicht des Clients sieht es trotzdem aus wie eine ganz normale Verbindung zu einer einzigen IP-Adresse — die Existenz mehrerer Server bleibt komplett verborgen.

Bekannte Beispiele

Die bekanntesten öffentlichen Anycast-Dienste sind DNS-Resolver: Cloudflares 1.1.1.1 und Googles 8.8.8.8 werden weltweit von Dutzenden bis Hunderten physischer Standorte gleichzeitig angekündigt, sodass jede Anfrage automatisch beim nächstgelegenen Rechenzentrum landet. Auch die 13 DNS-Root-Server-”Adressen” (A bis M) sind in Wirklichkeit jeweils Anycast-Adressen, hinter denen sich hunderte physische Server verbergen — ohne Anycast müsste jede DNS-Root-Anfrage der Welt eine von nur 13 tatsächlichen Maschinen erreichen, was praktisch nicht skalieren würde.

Vorteile gegenüber DNS-basiertem Load-Balancing

Der große Vorteil gegenüber klassischem DNS-basiertem Load-Balancing (auch GeoDNS genannt, bei dem der DNS-Server je nach Standort des Anfragenden unterschiedliche IP-Adressen zurückgibt): Anycast reagiert auf Ausfälle fast augenblicklich. Fällt ein Server-Standort aus, hört er einfach auf, seine Route per BGP anzukündigen, und der Internet-Traffic wird binnen Sekunden automatisch zum nächsten verfügbaren Standort umgeleitet — ganz ohne dass Clients ihren DNS-Cache (der oft minutenlang gültig bleibt, siehe TTL) aktualisieren müssten. GeoDNS dagegen ist an die TTL des zurückgegebenen A-Eintrags gebunden und kann Ausfälle nur mit entsprechender Verzögerung ausgleichen.

Grenzen und Einsatzbereiche

Der Nachteil: Anycast lässt sich nur sinnvoll für zustandslose oder gut replizierte Dienste einsetzen (DNS-Resolver, CDN-Edge-Server, DDoS-Schutz-Infrastruktur), da eine Anfrage theoretisch bei jedem BGP-Routing-Update an einem anderen Standort landen kann — für Dienste mit langlebigem Session-Zustand (z. B. eine laufende Datei-Upload-Verbindung) ist das problematisch, weil mitten in der Übertragung ein Wechsel des Zielservers die Verbindung abbrechen lassen würde. Deshalb wird Anycast in der Praxis oft nur für die erste Verbindungsaufnahme genutzt (z. B. den initialen TLS-Handshake), während die eigentliche Anwendungslogik dahinter auf klassischem Load-Balancing mit Session-Persistenz aufbaut.

Anycast wird außerdem gezielt zur DDoS-Abwehr eingesetzt: Verteilt sich Angriffs-Traffic automatisch über Dutzende globale Standorte statt auf einen einzigen Server zu treffen, wird die Last pro Standort deutlich reduziert (“Traffic-Scrubbing”-Anbieter nutzen genau dieses Prinzip).

Siehe auch: Unicast, Multicast, Load-Balancing, DNS