Dual-Stack und Dual-Stack Lite (DS Lite)

Mit Dual-Stack bezeichnet man den Parallelbetrieb von IPv4 und IPv6. Hierbei beherrschen alle Netzknoten sowohl IPv4 als auch IPv6, was eine lange Zeit der Normalfall sein wird.
Hierbei unterscheidet man zwischen Dual-Stack und Dual-Stack Lite (DS Lite).

Dual-Stacking bedeutet auf der einen Seite Flexibilität, die man sich in der Regel doppelten Administrationsaufwand erkauft. Dazu gehört die doppelten Pflege von Regeln in Paketfiltern und Netzkomponenten, was eben auch auch die doppelte Anzahl an Fehlerquellen mit sich bringt.

Dual-Stack

Dual-Stack

Im klassischen Dual-Stack-Modus benötigt der Host oder Netzknoten sowohl eine globale IPv6-Adresse als auch eine öffentliche IPv4-Adresse. Ob ein Host IPv4 oder IPv6 für ausgehende Verbindungen verwendet hängt vom Betriebssystem und der Konfiguration ab. Sobald ein Client eine globale IPv6-Adresse hat, sollte er gemäß RFC 6723 (IPv6 Support required) eine Verbindung per IPv6 bevorzugen. Voraussetzung dafür ist, dass der DNS-Server eine IPv6-Adresse bei der Namensauflösung zurückliefert (AAAA-Records). Wird für den Domain-Namen eine IPv6-Adresse geliefert wird er es darüber versuchen. Ist der Server über IPv6 nicht erreichbar, wird der Client es mit IPv4-Adresse versuchen. Wenn nur eine IPv4-Adresse per DNS geliefert wird, scheidet IPv6 aus und IPv4 kommt zum Zug.

Dual-Stack hat viele Vorteile. Die Migration ist vergleichsweise einfach. Denn viele Betriebssysteme können mit Dual-Stack, also IPv4 und IPv6 gleichzeitig umgehen. Alle bestehenden Dienste können weiterhin unter gewohnter Adresse erreicht werden. Nach und nach kann man bestehende Dienste per IPv6 erreichbar machen.
Das Problem der Adressknappheit bei IPv4 bleibt natürlich bestehen. Das heißt, irgendwann kommt man an den Punkt, an dem neue Dienste nur noch per IPv6 erreichbar sind. Bis dahin hat man auf alle Fälle den doppelten Administrationsaufwand, da in Firewalls doppelte Filterregeln und Access Control Lists zu führen sind.

Dual-Stack Lite (DS Lite)

Dual-Stack Lite (DS Lite)

Die Umstellung von IPv4 auf IPv6 erfolgt vor allem deshalb, weil es nicht mehr genug öffentliche IPv4-Adressen gibt. Leider sind für den Parallelbetrieb von IPv4 und IPv6 per Dual-Stacking öffentliche IPv4-Adressen notwendig. Weil davon keine mehr verfügbar sind setzen Internet-Service-Provider auf die Variante Dual-Stack Lite (DS Lite), bei der Carrier-Grade-NAT (CGNAT) eingesetzt wird. Dual-Stack Lite ist also ein Verfahren, um einen Parallel-Betrieb von IPv4 und IPv6 an typischen Endkunden-Internet-Anschlüssen zu ermöglichen.

Bei Dual-Stack Lite verteilen die Internet-Service-Provider und Mobilfunknetzbetreiber neben einer globalen IPv6-Adresse eine IPv4-Adresse aus dem privaten Bereich "10.0.0.0/8". Auf diese Weise werden öffentliche IPv4-Adressen eingespart. Ausgehende IPv4-Pakete haben dann keine öffentliche IPv4-Adresse, sondern werden über einen 4in6-Tunnel ins öffentliche IPv4-Netz getunnelt. Dabei erhält jedes IPv4-Paket einen neuen IPv6-Header. Zwischen dem privaten Provider-Netz und dem öffentlichen IPv4-Netz vermittelt NAT (Network Address Translation). Der dafür zuständige NAT-Server kümmert sich um die Adressübersetzung zwischen privaten und öffentlichen IPv4-Adressen und reicht die Pakete anschließend ins IPv4-Netz weiter.

Dual-Stack Lite hat insbesondere Vorteile für den Provider. Er spart wertvolle öffentliche IPv4-Adressen ein. Und gleichzeitig basiert seine Infrastruktur auf IPv6 und ist damit zukunftssicher. Leider hat das Nachteile für seine Kunden. Die erhalten keine öffentliche IPv4-Adresse mehr und müssen dabei mit den Problemen eines kastrierten Internet-Zugangs leben.

Probleme mit DS-Lite

Bei DS-Lite bekommt der Netzzugangsrouter des Kunden keine öffentliche IPv4-Adresse, sondern eine private IPv4-Adresse. Das bedeutet, der Kunde bekommt erst über Carrier Grade NAT eine öffentliche IPv4-Adresse. Das hat erhebliche Nachteile. Einige Netzwerk- und Internet-Dienste funktionieren bei Dual-Stack Lite nicht, wenn keine öffentliche IPv4-Adresse vergeben wurde. Ein echtes Problem ist das dann, wenn IPv6 von diesem Dienst noch nicht unterstützt wird.
Beispielsweise funktionieren IPv4-Port-Weiterleitungen am eigenen Internet-Router nicht mehr. Im LAN laufende Server lassen sich so nicht mehr per IPv4 aus dem Internet erreichen. Außerdem können auch Probleme bei VoIP (SIP), VPNs und Online-Gaming auftreten.
Das Problem dabei ist, dass keine öffentliche IPv4-Adresse am Internet-Anschluss zur Verfügung steht. Die konsequente Lösung für dieses Problem wäre, dass der jeweilige Dienst auf IPv6 umstellt oder der Provider seinem Kunden eine öffentliche IPv4-Adresse für seinen Internet-Zugang zur Verfügung stellt.

Dual-Stack-PPPoE mit TR-187 (RFC 4241)

Die Aushandlung der IP-Konfigration per Dual-Stack-PPPoE mit der Spezifikation TR-187 (RFC 4241) erfolgt sowohl für IPv4 als auch für IPv6. Wenn ein Internet-Zugangsrouter beim Teilnehmer kein IPv6 beherrscht, dann fällt dieser Teil einfach weg.

Im Dual-Stack-Modus weist der Access-Server (des Netzbetreibers) dem Internet-Zugangsrouter für die WAN-Seite eine IPv4-Adresse und ein IPv6-Subnetz (typischerweise /64) bzw. Präfix zu. Beides wird per Router Advertisement (RA) im Rahmen einer Dual-Stack-PPPoE-Sitzung vergeben.
Anschließend lässt sich der Zugangsrouter per Präfix Delegation ein weiteres IPv6-Subnetz zuteilen. Es handelt sich dabei um ein /56-Präfix, mit dem sich 256 IPv6-Subnetze adressieren lassen. Diesen Präfix (/56) reicht der Zugangsrouter per Router Advertisement oder DHCPv6 an die lokalen Hosts weiter, damit die sich per Stateless Address Autoconfiguration (SLAAC) eine globale IPv6-Adresse generieren können. Weitere IPv6-Parameter holt sich der Zugangsrouter per DHCPv6.
Für die Zukunft ist es wichtig, dass ein Internet-Zugangsrouter in einer Dual-Stack-PPPoE-Sitzung für IPv4 und IPv6 die Konfiguration vornehmen kann.

Dual-Stack-Problem

Generell ist es so, dass wenn ein Client sowohl IPv4 als auch IPv6 zur Verfügung hat (Dual-Stack), dann wird der Client parallel mit IPv4 und IPv6 arbeiten. Dabei wird er versuchen herauszufinden über welche IP-Version er eine bessere Verbindung bekommt. Es kann aber auch sein, dass er Verbindungen über IPv6 generell bevorzugt. Auch dann, wenn "keine zuverlässige IPv6-Verbindung zur Gegenstelle" besteht! Das hat dann zur Folge, dass ein Client zu einem Server keine Verbindung aufbauen kann, obwohl beide Seiten eine funktionierende Verbindung haben. Man bezeichnet das dann als Dual-Stack-Problem.
Die Ursachen für das Verbindungsproblem können vielfältig sein. Beispielsweise kann der IP-Stack des Betriebssystems einen Fehler aufweisen, der Internet-Zugangsrouter fehlerhaft konfiguriert sein oder der lokale Router weist den Clients eine IPv6-Adresse zu, obwohl er selber IPv6 gar nicht routen kann. Auch eine Fehlkonfiguration oder Störung beim Internet-Service-Provider kann die Ursache sein. In so einem Fall versucht der Client eine IPv6-Verbindung aufzubauen und läuft in einen Timeout.
In dieser Situation kann der betroffene Anwender nicht erkennen, dass das Problem im eigenen Netz oder bei seinem Provider liegt, sondern unterstellt der betreffenden Webseite Nichterreichbarkeit. Betreiber von über IPv6 erreichbare Webseiten bekommen von diesen erfolglosen Zugriffsversuchen der Besucher nichts mit.
Wären beispielsweise Google oder Facebook wegen der beispielhaft beschriebenen Ursachen scheinbar offline, würden betroffene Nutzer früher oder später auf andere Plattformen wechseln.

Hinweis: Vom Dual-Stack-Problem sind nur ganz wenige Internet-Nutzer betroffen. Doch wenn, dann ohne es zu wissen. Und auch die Server-Betreiber bekommen davon nichts mit.