Anycast

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Kommunikationsformen /
Routing-Schemata
Unicast

Unicast.svg

Broadcast

Broadcast.svg

Anycast

Anycast.svg

Multicast

Multicast.svg

Geocast

Geocast.svg

Anycast ist eine Adressierungsart in Computernetzen, bei der man über eine Adresse einen einzelnen Rechner aus einer ganzen Gruppe von Rechnern ansprechen kann. Es antwortet derjenige, der über die kürzeste Route erreichbar ist. Diese Technik kommt gemäß OSI-Modell in der Vermittlungsschicht zum Einsatz.

Funktionsweise[Bearbeiten]

Realisiert wird Anycast durch eine Verteilung mehrerer gleichartiger Server auf räumlich getrennte IP-Netze. In der Praxis wird oft auf jedem Kontinent oder in jedem Land einer Region mindestens ein Server installiert. Jeder dieser Rechner erhält dieselbe IP-Adresse und propagiert eine entsprechende Route über ein Routing-Protokoll (im Internet BGP). Bei Ausfall oder Unerreichbarkeit verschwindet die Route und alle folgenden Pakete werden zu einem anderen Server geleitet. Der gewünschte Dienst kann somit auch bei Ausfall eines oder mehrerer Server erbracht werden. Damit erhöht sich die Verfügbarkeit. Zur Administration muss ein Server auch direkt angesprochen werden können. Anycast-Server besitzen daher in fast allen Fällen zusätzlich eine Unicast-Adresse.

Aus Sicht eines Clients besteht zwischen Unicast und Anycast kein Unterschied. Im Gegensatz zu Multicast-Umgebungen, die Pakete für alle Gruppenmitglieder erzeugen, erzeugt der Absender hier nur ein einzelnes Paket. Anycast ist ein Merkmal, das insbesondere in IPv6 Unterstützung findet. Ein Paket mit einer Anycast-Adresse wird nur einem – im Allgemeinen dem nächstgelegenen – Interface der Gruppe zugestellt. Welches das ist, bestimmt der Eintrag in der Routingtabelle des dem Absender nächstgelegenen Routers.

Dieses Konzept ermöglicht es Unternehmen, eine isolierte Anycast-Adresse zu nutzen, um ein Paket mehreren Routern des Providers zuzustellen, welche Mitglied einer Anycastgruppe sind – d. h., sie besitzen dieselbe Anycast-Adresse. Hat das Unternehmen mehrere Zugangspunkte zum Internet, so kann der Ausfall einer Verbindung zum Provider oder eines Routers beim Provider sofort durch einen anderen Router der gleichen Anycastgruppe kompensiert werden, welcher dann über eine der alternativen Verbindungen erreicht wird. Der Sender hat jedoch keine Möglichkeit den physischen Empfänger (das Empfangsinterface) zu wählen, das Ziel wird ausschließlich durch das Routingprotokoll bestimmt.

Analog kann damit eine Lastverteilung erreicht werden, in dem Pakete von Absendern immer dem nächstgelegenen Server zugestellt werden. Wenn mehrere Server einer Anycastgruppe in verschiedenen Netzen existieren, kann so erreicht werden, dass sich die Last ohne Wissen oder Mitwirkung des Absenders auf viele Server verteilt. Dies wird u. a. für die DNS-Rootserver genutzt (siehe unten).

Praxis[Bearbeiten]

Wichtigste Vorteile von Anycast sind Lastverteilung und kürzere Zugriffszeiten. Hinzu kommen eine nahezu völlige Transparenz (der Anwender merkt gar nicht, dass er mit einem Anycast-Server kommuniziert) sowie eine hervorragende Skalierbarkeit (es können jederzeit Server hinzugefügt oder entfernt werden). Da alle beteiligten Server stets identische Daten bereitstellen müssen, ist die interne Synchronisation aufwendig. Außerdem wird im Störfall die Fehlersuche erschwert, da oft nicht ohne weitere Analyse ersichtlich ist, welcher Server verantwortlich ist.

Anycast wird beispielsweise bei einigen der Root-Nameserver und Top-Level-Domain-Server sowie bei dem IPv6-in-IPv4-Tunnelmechanismus 6to4 eingesetzt. Durch die Anycast-Lastverteilung waren mehrere Distributed-Denial-of-Service-Angriffe auf Root-Nameserver 2006 und 2007 weitgehend erfolglos.[1]

Einzelnachweise[Bearbeiten]

  1. ICANN Factsheet: Root server attack on 6 February 2007

Spezifikationen[Bearbeiten]