Zum Hauptinhalt springen

Appendix B. Examples (Anhang B: Beispiele)

Appendix B. Examples (Beispiele)

B.1 Gateway-Based Architecture (Gateway-basierte Architektur)

Diese Architektur richtet sich an residenzielle Breitband-Bereitstellungen, kann aber leicht an andere Bereitstellungstypen angepasst werden, bei denen der Bestand an rein IPv4-only-Geräten groß ist.

Betrachten Sie ein Szenario, in dem ein Dual-Stack-Lite-CPE nur mit IPv6 am WAN-Port, nicht mit IPv4, bereitgestellt wird. Das CPE fungiert als IPv4-DHCP-Server für das LAN (verkabelt und drahtlos) und verteilt [RFC1918]-Adressen. Zusätzlich kann das CPE IPv6-Autokonfiguration und/oder einen DHCPv6-Server für das LAN unterstützen. Wenn ein IPv4-only-Gerät eine Verbindung zum CPE herstellt, vergibt das CPE eine [RFC1918]-Adresse an das Gerät. Wenn ein dual-stack-fähiges Gerät eine Verbindung zum CPE herstellt, vergibt das CPE eine [RFC1918]-Adresse und eine globale IPv6-Adresse an das Gerät. Außerdem erzeugt das CPE einen IPv4-in-IPv6-Softwire-Tunnel [RFC5571] zu einem AFTR im Netz des Dienstanbieters.

Wenn das Gerät einen IPv6-Dienst nutzt, sendet es das IPv6-Datagramm nativ an das CPE. Das CPE leitet den Verkehr stromaufwärts an das IPv6-Standard-Gateway weiter.

Wenn das Gerät einen IPv4-Dienst nutzt, belegt es das IPv4-Datagramm mit der [RFC1918]-Adresse und sendet das IPv4-Datagramm an das CPE. Das CPE kapselt das IPv4-Datagramm in den IPv4-in-IPv6-Softwire-Tunnel ein und leitet das IPv6-Datagramm an das AFTR weiter. Dies steht im Gegensatz zu dem, was das CPE heute normalerweise tut: die [RFC1918]-Adresse in die öffentliche IPv4-Adresse zu NATen und das Datagramm stromaufwärts zu routen. Wenn das AFTR das IPv6-Datagramm empfängt, entkapselt es den IPv6-Kopf und führt ein IPv4-zu-IPv4-NAT auf die Quelladresse aus.

Wie in Abbildung 1 dargestellt, besteht dieses Dual-Stack-Lite-Bereitstellungsmodell aus drei Komponenten: dem Dual-Stack-Lite-Heimrouter mit B4-Element, dem AFTR und einem Softwire zwischen dem B4-Element als Softwire-Initiator (SI) [RFC5571] im Dual-Stack-Lite-Heimrouter und dem Softwire-Concentrator (SC) [RFC5571] im AFTR. Das AFTR führt IPv4-IPv4-NAT-Übersetzungen aus, um mehrere Teilnehmer über einen Pool globaler IPv4-Adressen zu multiplexen. Überlappende Adressräume der Teilnehmer werden durch die Identifikation der Tunnel-Endpunkte eindeutig gemacht.

                  +-----------+
| Host |
+-----+-----+
|10.0.0.1
|
|
|10.0.0.2
+---------|---------+
| | |
| Home router |
|+--------+--------+|
|| B4 ||
|+--------+--------+|
+--------|||--------+
|||2001:db8:0:1::1
|||
|||<-IPv4-in-IPv6 softwire
|||
-------|||-------
/ ||| \
| ISP core network |
\ ||| /
-------|||-------
|||
|||2001:db8:0:2::1
+--------|||--------+
| AFTR |
|+--------+--------+|
|| Concentrator ||
|+--------+--------+|
| |NAT| |
| +-+-+ |
+---------|---------+
|192.0.2.1
|
--------|--------
/ | \
| Internet |
\ | /
--------|--------
|
|198.51.100.1
+-----+-----+
| IPv4 Host |
+-----------+

Abbildung 1: Gateway-basierte Architektur (Gateway-Based Architecture)

Hinweise:

  • Der Dual-Stack-Lite-Heimrouter muss nicht im selben Link wie der Host sein.

  • Der Dual-Stack-Lite-Heimrouter kann durch einen Dual-Stack-Lite-Router im Netz des Dienstanbieters ersetzt werden.

Die resultierende Lösung akzeptiert ein IPv4-Datagramm, das in ein IPv4-in-IPv6-Softwire-Datagramm für die Übertragung über den Softwire übersetzt wird. Am entsprechenden Endpunkt wird das IPv4-Datagramm entkapselt, und die übersetzte IPv4-Adresse wird basierend auf einer Übersetzung vom Softwire eingefügt.

B.1.1 Example Message Flow (Beispiel-Nachrichtenfluss)

Im in Abbildung 2 gezeigten Beispiel sind die Übersetzungstabellen im AFTR so konfiguriert, dass zwischen IP/TCP (10.0.0.1/10000) und IP/TCP (192.0.2.1/5000) weitergeleitet wird. Das heißt, ein vom Dual-Stack-Lite-Heimrouter vom Host mit Adresse 10.0.0.1 empfangenes Datagramm mit TCP-Zielport 10000 wird in ein Datagramm mit IPv4-Quelladresse 192.0.2.1 und TCP-Quellport 5000 im Internet übersetzt.

                  +-----------+
| Host |
+-----+-----+
| |10.0.0.1
IPv4 datagram 1 | |
| |
v |10.0.0.2
+---------|---------+
| | |
| home router |
|+--------+--------+|
|| B4 ||
|+--------+--------+|
+--------|||--------+
| |||2001:db8:0:1::1
IPv6 datagram 2| |||
| |||<-IPv4-in-IPv6 softwire
-----|-|||-------
/ | ||| \
| ISP core network |
\ | ||| /
-----|-|||-------
| |||
| |||2001:db8:0:2::1
+------|-|||--------+
| | AFTR |
| v ||| |
|+--------+--------+|
|| Concentrator ||
|+--------+--------+|
| |NAT| |
| +-+-+ |
+---------|---------+
| |192.0.2.1
IPv4 datagram 3 | |
| |
-----|--|--------
/ | | \
| Internet |
\ | | /
-----|--|--------
| |
v |198.51.100.1
+-----+-----+
| IPv4 Host |
+-----------+

Abbildung 2: Ausgehendes Datagramm (Outbound Datagram)

Datagramm (Datagram)Kopffeld (Header field)Inhalt (Contents)
IPv4-Datagramm 1IPv4 Dst198.51.100.1
IPv4 Src10.0.0.1
TCP Dst80
TCP Src10000
IPv6-Datagramm 2IPv6 Dst2001:db8:0:2::1
IPv6 Src2001:db8:0:1::1
IPv4 Dst198.51.100.1
IPv4 Src10.0.0.1
TCP Dst80
TCP Src10000
IPv4-Datagramm 3IPv4 Dst198.51.100.1
IPv4 Src192.0.2.1
TCP Dst80
TCP Src5000

Inhalt der Datagrammköpfe (Datagram Header Contents)

Wenn Datagramm 1 vom Dual-Stack-Lite-Heimrouter empfangen wird, kapselt das B4-Element das Datagramm in Datagramm 2 ein und leitet es über den Softwire an das Dual-Stack-Lite-Carrier-Grade-NAT weiter.

Wenn der Tunnel-Concentrator im AFTR Datagramm 2 empfängt, leitet er das IPv4-Datagramm an das NAT weiter, das anhand seiner NAT-Tabelle feststellt, dass das auf dem Softwire mit TCP-Quellport 10000 empfangene Datagramm in Datagramm 3 mit IPv4-Quelladresse 192.0.2.1 und TCP-Quellport 5000 übersetzt werden soll.

Abbildung 3 zeigt eine eingehende Nachricht, die am AFTR empfangen wird. Wenn die NAT-Funktion im AFTR Datagramm 1 empfängt, schlägt sie die IP/TCP-Zielinformationen in ihrer Übersetzungstabelle nach. Im Beispiel in Abbildung 3 setzt das NAT den TCP-Zielport auf 10000, die IP-Zieladresse auf 10.0.0.1 und leitet das Datagramm an den Softwire weiter. Das B4 im Heimrouter entkapselt das IPv4-Datagramm aus dem eingehenden Softwire-Datagramm und leitet es an den Host weiter.

                  +-----------+
| Host |
+-----+-----+
^ |10.0.0.1
IPv4 datagram 3 | |
| |
| |10.0.0.2
+---------|---------+
| +-+-+ |
| home router |
|+--------+--------+|
|| B4 ||
|+--------+--------+|
+--------|||--------+
^ |||2001:db8:0:1::1
IPv6 datagram 2 | |||
| |||<-IPv4-in-IPv6 softwire
| |||
-----|-|||-------
/ | ||| \
| ISP core network |
\ | ||| /
-----|-|||-------
| |||
| |||2001:db8:0:2::1
+------|-|||--------+
| AFTR |
|+--------+--------+|
|| Concentrator ||
|+--------+--------+|
| |NAT| |
| +-+-+ |
+---------|---------+
^ |192.0.2.1
IPv4 datagram 1 | |
| |
-----|--|--------
/ | | \
| Internet |
\ | | /
-----|--|--------
| |
| |198.51.100.1
+-----+-----+
| IPv4 Host |
+-----------+

Abbildung 3: Eingehendes Datagramm (Inbound Datagram)

Datagramm (Datagram)Kopffeld (Header field)Inhalt (Contents)
IPv4-Datagramm 1IPv4 Dst192.0.2.1
IPv4 Src198.51.100.1
TCP Dst5000
TCP Src80
IPv6-Datagramm 2IPv6 Dst2001:db8:0:1::1
IPv6 Src2001:db8:0:2::1
IPv4 Dst10.0.0.1
IPv4 Src198.51.100.1
TCP Dst10000
TCP Src80
IPv4-Datagramm 3IPv4 Dst10.0.0.1
IPv4 Src198.51.100.1
TCP Dst10000
TCP Src80

Inhalt der Datagrammköpfe (Datagram Header Contents)

B.1.2 Translation Details (Übersetzungsdetails)

Das AFTR verfügt über ein NAT, das zwischen Softwire/Port-Paaren und IPv4-Adresse/Port-Paaren übersetzt. Dieselbe Übersetzung wird auf IPv4-Datagramme angewendet, die an der externen Schnittstelle des Geräts und vom Softwire-Endpunkt im Gerät empfangen werden.

In Abbildung 2 liegt die Übersetzer-Netzschnittstelle im AFTR am Internet, und die Softwire-Schnittstelle verbindet mit dem Dual-Stack-Lite-Heimrouter. Der AFTR-Übersetzer ist wie folgt konfiguriert:

Netzschnittstelle: IPv4-Zieladresse und TCP-Zielport in Softwire-Identifier und TCP-Zielport übersetzen

Softwire-Schnittstelle: Softwire-Identifier und TCP-Quellport in IPv4-Quelladresse und TCP-Quellport übersetzen

So funktioniert die Übersetzung in Abbildung 3:

  • Datagramm 1 wird an der AFTR-Übersetzer-Netzschnittstelle empfangen. Der Übersetzer schlägt das IPv4-Adresse/Port-Paar in seiner Übersetzungstabelle nach, schreibt die IPv4-Zieladresse auf 10.0.0.1 und den TCP-Quellport auf 10000 um und leitet das Datagramm an den Softwire weiter.

  • Das IPv4-Datagramm wird am B4 des Dual-Stack-Lite-Heimrouters empfangen. Die B4-Funktion extrahiert das IPv4-Datagramm, und der Dual-Stack-Lite-Heimrouter leitet Datagramm 3 an den Host weiter.

Softwire-Id/IPv4/Prot/PortIPv4/Prot/Port
2001:db8:0:1::1/10.0.0.1/TCP/10000192.0.2.1/TCP/5000

Dual-Stack-Lite-Carrier-Grade-NAT-Übersetzungstabelle (Carrier-Grade NAT Translation Table)

Die Softwire-Id ist die dem Dual-Stack-Lite-CPE zugewiesene IPv6-Adresse. Hosts hinter demselben Dual-Stack-Lite-Heimrouter haben dieselbe Softwire-Id. Die IPv4-Quelladresse ist die vom Dual-Stack-Heimrouter zugewiesene [RFC1918]-Adresse und ist für jeden Host hinter dem CPE eindeutig. Das AFTR würde Pakete empfangen, die aus verschiedenen IPv4-Adressen im selben Softwire-Tunnel stammen. Das AFTR kombiniert Softwire-Id und IPv4-Adresse/Port [Softwire-Id, IPv4+Port], um den Host hinter demselben Dual-Stack-Lite-Heimrouter eindeutig zu identifizieren.

B.2 Host-Based Architecture (Host-basierte Architektur)

Diese Architektur richtet sich an neue, groß angelegte Bereitstellungen dual-stack-fähiger Geräte mit Dual-Stack-Lite-Schnittstelle.

Betrachten Sie ein Szenario, in dem ein Dual-Stack-Lite-Hostgerät direkt mit dem Netz des Dienstanbieters verbunden ist. Das Hostgerät ist dual-stack-fähig, aber nur mit einer globalen IPv6-Adresse bereitgestellt. Außerdem wird das Hostgerät eine bekannte, nicht routbare IPv4-Adresse vorab konfigurieren; siehe Abschnitt 10 (IANA Considerations). Diese bekannte, nicht routbare IPv4-Adresse ähnelt der Loopback-Adresse 127.0.0.1. Jedes Hostgerät, das Dual-Stack Lite implementiert, wird dieselbe Adresse vorab konfigurieren. Diese Adresse wird verwendet, um das IPv4-Datagramm zu belegen, wenn das Gerät IPv4-Dienste nutzt. Außerdem erzeugt das Hostgerät einen IPv4-in-IPv6-Softwire-Tunnel zu einem AFTR. Das Carrier-Grade-NAT befindet sich im Netz des Dienstanbieters.

Wenn das Gerät einen IPv6-Dienst nutzt, sendet es das IPv6-Datagramm nativ an das Standard-Gateway.

Wenn das Gerät einen IPv4-Dienst nutzt, belegt es das IPv4-Datagramm mit der bekannten nicht routbaren IPv4-Adresse. Dann kapselt das Hostgerät das IPv4-Datagramm in den IPv4-in-IPv6-Softwire-Tunnel und sendet das IPv6-Datagramm an das AFTR. Wenn das AFTR das IPv6-Datagramm empfängt, entkapselt es den IPv6-Kopf und führt IPv4-zu-IPv4-NAT auf die Quelladresse aus.

Dieses Szenario funktioniert sowohl in verkabelten als auch in drahtlosen Netzen. Ein typisches drahtloses Gerät verbindet sich direkt mit dem Dienstanbieter ohne dazwischenliegendes CPE.

Wie in Abbildung 4 dargestellt, besteht dieses Dual-Stack-Lite-Bereitstellungsmodell aus drei Komponenten: dem Dual-Stack-Lite-Host, dem AFTR und einem Softwire zwischen dem Softwire-Initiator B4 im Host und dem Softwire-Concentrator im AFTR. Es wird angenommen, dass der Dual-Stack-Lite-Host IPv6-Dienst hat und IPv6-Verkehr mit dem AFTR austauschen kann.

Das AFTR führt IPv4-IPv4-NAT-Übersetzungen aus, um mehrere Teilnehmer über einen Pool globaler IPv4-Adressen zu multiplexen. Überlappende IPv4-Adressräume der Dual-Stack-Lite-Hosts werden durch die Identifikation der Tunnel-Endpunkte eindeutig gemacht.

In diesem Fall konfiguriert der Dual-Stack-Lite-Host die IPv4-Adresse 192.0.0.2 aus dem bekannten Bereich 192.0.0.0/29 (von der IANA definiert) auf seiner B4-Schnittstelle. Er konfiguriert außerdem die erste nicht reservierte IPv4-Adresse des reservierten Bereichs, 192.0.0.1, als Adresse seines Standard-Gateways.

              +-------------------+
| |
| Host 192.0.0.2 |
|+--------+--------+|
|| B4 ||
|+--------+--------+|
+--------|||--------+
|||2001:db8:0:1::1
|||
|||<-IPv4-in-IPv6 softwire
|||
-------|||-------
/ ||| \
| ISP core network |
\ ||| /
-------|||-------
|||
|||2001:db8:0:2::1
+--------|||--------+
| AFTR |
|+--------+--------+|
|| Concentrator ||
|+--------+--------+|
| |NAT| |
| +-+-+ |
+---------|---------+
|192.0.2.1
|
--------|--------
/ | \
| Internet |
\ | /
--------|--------
|
|198.51.100.1
+-----+-----+
| IPv4 Host |
+-----------+

Abbildung 4: Host-basierte Architektur (Host-Based Architecture)

Die resultierende Lösung akzeptiert ein IPv4-Datagramm, das in ein IPv4-in-IPv6-Softwire-Datagramm für die Übertragung über den Softwire übersetzt wird. Am entsprechenden Endpunkt wird das IPv4-Datagramm entkapselt, und die übersetzte IPv4-Adresse wird basierend auf einer Übersetzung vom Softwire eingefügt.

B.2.1 Example Message Flow (Beispiel-Nachrichtenfluss)

Im in Abbildung 5 gezeigten Beispiel sind die Übersetzungstabellen im AFTR so konfiguriert, dass zwischen IP/TCP (192.0.0.2/10000) und IP/TCP (192.0.2.1/5000) weitergeleitet wird. Das heißt, ein vom Host mit Adresse 192.0.0.2 empfangenes Datagramm mit TCP-Zielport 10000 wird in ein Datagramm mit IPv4-Quelladresse 192.0.2.1 und TCP-Quellport 5000 im Internet übersetzt.

              +-------------------+
| |
|Host 192.0.0.2 |
|+--------+--------+|
|| B4 ||
|+--------+--------+|
+--------|||--------+
| |||2001:db8:0:1::1
IPv6 datagram 1| |||
| |||<-IPv4-in-IPv6 softwire
| |||
-----|-|||-------
/ | ||| \
| ISP core network |
\ | ||| /
-----|-|||-------
| |||
| |||2001:db8:0:2::1
+------|-|||--------+
| | AFTR |
| v ||| |
|+--------+--------+|
|| Concentrator ||
|+--------+--------+|
| |NAT| |
| +-+-+ |
+---------|---------+
| |192.0.2.1
IPv4 datagram 2 | |
-----|--|--------
/ | | \
| Internet |
\ | | /
-----|--|--------
| |
v |198.51.100.1
+-----+-----+
| IPv4 Host |
+-----------+

Abbildung 5: Ausgehendes Datagramm (Outbound Datagram)

Datagramm (Datagram)Kopffeld (Header field)Inhalt (Contents)
IPv6-Datagramm 1IPv6 Dst2001:db8:0:2::1
IPv6 Src2001:db8:0:1::1
IPv4 Dst198.51.100.1
IPv4 Src192.0.0.2
TCP Dst80
TCP Src10000
IPv4-Datagramm 2IPv4 Dst198.51.100.1
IPv4 Src192.0.2.1
TCP Dst80
TCP Src5000

Inhalt der Datagrammköpfe (Datagram Header Contents)

Beim Senden eines IPv4-Pakets kapselt der Dual-Stack-Lite-Host es in Datagramm 1 ein und leitet es über den Softwire an das AFTR weiter.

Wenn der Concentrator im AFTR Datagramm 1 empfängt, übergibt er das IPv4-Datagramm an das NAT, das anhand seiner Übersetzungstabelle feststellt, dass das auf dem Softwire mit TCP-Quellport 10000 empfangene Datagramm in Datagramm 3 mit IPv4-Quelladresse 192.0.2.1 und TCP-Quellport 5000 übersetzt werden soll.

Abbildung 6 zeigt eine eingehende Nachricht, die am AFTR empfangen wird. Wenn die NAT-Funktion im AFTR Datagramm 1 empfängt, schlägt sie IP/TCP-Ziel in ihrer Übersetzungstabelle nach. Im Beispiel in Abbildung 6 übersetzt das NAT den TCP-Zielport auf 10000, setzt die IP-Zieladresse auf 192.0.0.2 und leitet das Datagramm an den Softwire weiter. Das B4 im Host entkapselt das IPv4-Datagramm aus dem eingehenden Softwire-Datagramm und leitet es an die Anwendungsschicht des Hosts weiter.

              +-------------------+
| |
|Host 192.0.0.2 |
|+--------+--------+|
|| B4 ||
|+--------+--------+|
+--------|||--------+
^ |||2001:db8:0:1::1
IPv6 datagram 2 | |||
| |||<-IPv4-in-IPv6 softwire
| |||
-----|-|||-------
/ | ||| \
| ISP core network |
\ | ||| /
-----|-|||-------
| |||
| |||2001:db8:0:2::1
+------|-|||--------+
| AFTR |
| | ||| |
|+--------+--------+|
|| Concentrator ||
|+--------+--------+|
| |NAT| |
| +-+-+ |
+---------|---------+
^ |192.0.2.1
IPv4 datagram 1 | |
-----|--|--------
/ | | \
| Internet |
\ | | /
-----|--|--------
| |
| |198.51.100.1
+-----+-----+
| IPv4 Host |
+-----------+

Abbildung 6: Eingehendes Datagramm (Inbound Datagram)

Datagramm (Datagram)Kopffeld (Header field)Inhalt (Contents)
IPv4-Datagramm 1IPv4 Dst192.0.2.1
IPv4 Src198.51.100.1
TCP Dst5000
TCP Src80
IPv6-Datagramm 2IPv6 Dst2001:db8:0:1::1
IPv6 Src2001:db8:0:2::1
IPv4 Dst192.0.0.2
IPv4 Src198.51.100.1
TCP Dst10000
TCP Src80

Inhalt der Datagrammköpfe (Datagram Header Contents)

B.2.2 Translation Details (Übersetzungsdetails)

Die AFTR-Übersetzungsschritte sind dieselben wie in Anhang B.1.2. Ein Unterschied ist, dass alle host-basierten B4s dieselbe bekannte IPv4-Adresse 192.0.0.2 verwenden. Um den host-basierten B4 eindeutig zu identifizieren, verwendet das AFTR die IPv6-Adresse des host-basierten B4, die für den Host eindeutig ist.

Softwire-Id/IPv4/Prot/PortIPv4/Prot/Port
2001:db8:0:1::1/192.0.0.2/TCP/10000192.0.2.1/TCP/5000

Dual-Stack-Lite-Carrier-Grade-NAT-Übersetzungstabelle (Carrier-Grade NAT Translation Table)

Die Softwire-Id ist die dem Dual-Stack-Host zugewiesene IPv6-Adresse. Jeder Host hat eine eindeutige Softwire-Id. Die IPv4-Quelladresse ist eine der bekannten IPv4-Adressen. Das AFTR könnte Pakete von verschiedenen Hosts empfangen, die aus derselben bekannten IPv4-Adresse aus verschiedenen Softwire-Tunneln stammen. Analog zur Gateway-Architektur kombiniert das AFTR Softwire-Id und IPv4-Adresse/Port [Softwire-Id, IPv4+Port], um den einzelnen Host eindeutig zu identifizieren.