IPv6-over-Ipv4-Tunnel
Konfiguration von IPv6-Tunneling für MPLS
Sie können das IPv6-Tunneling für MPLS konfigurieren, um IPv6-Datenverkehr über ein MPLS-basiertes IPv4-Netzwerk zu tunneln. Mit dieser Konfiguration können Sie eine Reihe kleinerer IPv6-Netzwerke über einen IPv4-basierten Netzwerkkern miteinander verbinden, sodass Sie IPv6-Services bereitstellen können, ohne die Switches in Ihrem Core-Netzwerk aktualisieren zu müssen. BGP ist für den Austausch von Routen zwischen den IPv6-Netzwerken konfiguriert, und daten werden zwischen diesen IPv6-Netzwerken mittels IPv4-basiertem MPLS tunnelt.
So konfigurieren Sie IPv6-Tunneling für MPLS auf Ihrem Switch der EX-Serie:
Beispiel: Tunneling von IPv6-Datenverkehr über MPLS-IPv4-Netzwerke
Dieses Beispiel zeigt, wie Sie Junos OS so konfigurieren, dass IPv6-Tunnel über ein MPLS-basiertes IPv4-Netzwerk geleitet werden. Externes BGP (EBGP) wird zwischen Kunden-Edge-Geräten (CE) und Provider Edge (PE) verwendet. Die Remote-CE-Geräte haben unterschiedliche AS-Nummern für die Schleifenerkennung.
Anforderungen
Vor der Konfiguration dieses Beispiels ist keine spezielle Konfiguration erforderlich, die über die Geräteinitialisierung hinausgeht.
Überblick
Detaillierte Informationen zur Implementierung von IPv6 über MPLS von Juniper Networks werden in den folgenden Internet-Entwürfen beschrieben:
-
Internet draft-ietf-l3vpn-bgp-ipv6-07.txt, BGP-MPLS IP VPN Extension for IPv6 VPN (läuft Januar 2006 ab)
-
Internet Draft-ooms-v6ops-bgp-tunnel-06.txt, Connecting IPv6 Islands over IPv4 MPLS using IPv6 Provider Edge Routers (läuft juli 2006 ab)
Diese Internet-Entwürfe sind auf der IETF-Website unter http://www.ietf.org/ verfügbar.
Dieses Beispiel zeigt Ihnen, wie Sie zwei IPv6-Netzwerke über einen IPv4-basierten Netzwerkkern miteinander verbinden und so IPv6-Services bereitstellen können, ohne die Router in Ihrem Core-Netzwerk aktualisieren zu müssen. Das Multiprotocol Border Gateway Protocol (MP-BGP) ist für den Austausch von Routen zwischen den IPv6-Netzwerken konfiguriert, und die Daten werden zwischen diesen IPv6-Netzwerken mittels IPv4-basiertem MPLS tunnelt.
In Abbildung 1sind die Router PE1 und PE2 Dual-Stack-BGP-Router, was bedeutet, dass sie sowohl IPv4- als auch IPv6-Stacks haben. Die PE-Router verbinden die IPv6-Netzwerke über die Kunden-Edge (CE)-Router mit dem IPv4-Core-Netzwerk. Die CE-Router und die PE-Router verbinden sich über eine Verbindungsschicht, die IPv6-Datenverkehr übertragen kann. Die PE-Router verwenden IPv6 auf den CE-Router-Schnittstellen und IPv4 und MPLS auf den Core-bezogenen Schnittstellen. Beachten Sie, dass eines der vernetzten IPv6-Netzwerke das globale IPv6-Internet sein könnte.

Die beiden PE-Router sind über eine MP-BGP-Sitzung über IPv4-Adressen verbunden. Sie verwenden die Sitzung, um IPv6-Routen mit einem IPv6 (Wert 2) Address Family Indicator (AFI) und einem nachfolgenden AFI (SAFI) (Wert 4) auszutauschen. Jeder PE-Router setzt den nächsten Hop für die in dieser Sitzung angekündigten IPv6-Routen auf seine eigene IPv4-Adresse. Da MP-BGP erfordert, dass der BGP next Hop der gleichen Adressfamilie wie die Netzwerkschicht Erreichbarkeitsinformationen (NLRI) entspricht, muss diese IPv4-Adresse in ein IPv6-Format eingebettet werden.
Die PE-Router können die IPv6-Routen von den mit ihnen verbundenen CE-Routern mithilfe von Routing-Protokollen Routing Information Protocol next generation (RIPng) oder MP-BGP oder durch statische Konfiguration lernen. Beachten Sie, dass, wenn BGP als PE-Router-to-CE-Router-Protokoll verwendet wird, die MP-BGP-Sitzung zwischen dem PE-Router und dem CE-Router über eine IPv4- oder IPv6 Transmission Control Protocol (TCP)-Sitzung stattfinden kann. Außerdem hätten die in dieser Sitzung ausgetauschten BGP-Routen SAFI-Unicast. Sie müssen eine Exportrichtlinie konfigurieren, um Routen zwischen IBGP und EBGP sowie zwischen BGP und einem anderen Protokoll zu leiten.
Die PE-Router haben MPLS-LSPs, die an die IPv4-Adressen der jeweils anderen geroutet werden. IPv4 liefert die Signalübertragung für die LSPs entweder über LDP oder RSVP. Diese LSPs werden verwendet, um die Next-Hop-Adressen der aus MP-BGP gelernten IPv6-Routen aufzulösen. Die nächsten Hops verwenden IPv4-zugeordnete IPv6-Adressen, während die LSPs IPv4-Adressen verwenden.
Die PE-Router werben immer für IPv6-Routen untereinander mit dem Labelwert 2, dem expliziten Null-Label für IPv6, wie in RFC 3032, MPLS Label Stack Encoding definiert. Aus diesem Grund schieben die weiterleitungsnächsten Hops für die IPv6-Routen, die von entfernten PE-Routern gelernt wurden, normalerweise zwei Label. Das innere Label ist 2 (dieses Label könnte anders sein, wenn es sich bei dem Werbe-PE-Router nicht um eine Routing-Plattform von Juniper Networks handelt), und das äußere Label ist das LSP-Label. Wenn es sich bei dem LSP um einen Single-Hop-LSP handelt, wird nur Label 2 übertragen.
Es ist auch möglich, dass die PE-Router einfache IPv6-Routen mit SAFI-Unicast austauschen. Es gibt jedoch einen großen Vorteil beim Austausch von gekennzeichneten IPv6-Routen. Der vorletzte Hop-Router für einen MPLS-LSP kann das äußere Label einblenden und das Paket dann mit dem inneren Label als MPLS-Paket senden. Ohne das innere Label müsste der vorletzte Hop-Router herausfinden, ob es sich bei dem Paket um ein IPv4- oder IPv6-Paket handelt, um das Protokollfeld im Layer-2-Header korrekt festzulegen.
Wenn der PE1-Router in Abbildung 1 ein IPv6-Paket vom CE1-Router empfängt, führt er eine Suche in der IPv6-Weiterleitungstabelle aus. Wenn das Ziel mit einem präfix übereinstimmt, das vom CE2-Router gelernt wurde, müssen keine Label gesendet werden und das Paket wird einfach an den CE2-Router gesendet. Wenn das Ziel mit einem Präfix übereinstimmt, das vom PE2-Router gelernt wurde, dann pusht der PE1-Router zwei Label auf das Paket und sendet es an den Provider-Router. Das innere Label ist 2 und das äußere ist das LSP-Label für den PE2-Router.
Jeder Provider-Router im Netzwerk des ServiceAnbieters verarbeitet das Paket wie jedes MPLS-Paket und austauscht die Label, während es vom Provider-Router zum Provider-Router übergeht. Der vorletzte Hop-Provider-Router für den LSP dringt das äußere Label und sendet das Paket an den PE2-Router. Wenn der PE2-Router das Paket empfängt, erkennt er das explizite IPv6-Null-Label auf dem Paket (Label 2). Es gibt dieses Label aus und behandelt es als IPv6-Paket, führt eine Suche in der IPv6-Weiterleitungstabelle durch und leitet das Paket an den CE3-Router weiter.
Dieses Beispiel umfasst die folgenden Einstellungen:
-
Zusätzlich zur Konfiguration der
family inet6
Anweisung auf allen CE-Router-bezogenen Schnittstellen müssen Sie auch die Anweisung auf allen Core-bezogenen Schnittstellen konfigurieren, die MPLS ausführen. Beide Konfigurationen sind notwendig, da der Router in der Lage sein muss, alle IPv6-Pakete zu verarbeiten, die er auf diesen Schnittstellen empfängt. Sie sollten keinen regelmäßigen IPv6-Datenverkehr über diese Schnittstellen eintreffen sehen, aber Sie erhalten MPLS-Pakete, die mit Label 2 getaggt wurden. Obwohl Label 2 MPLS-Pakete in IPv4 gesendet werden, werden diese Pakete als native IPv6-Pakete behandelt. -
Sie aktivieren IPv6-Tunneling, indem Sie die
ipv6-tunneling
Anweisung in die Konfiguration für die PE-Router integrieren. Mit dieser Anweisung können IPv6-Routen über ein MPLS-Netzwerk aufgelöst werden, indem alle in der Routingtabelle inet.3 gespeicherten Routen in IPv4-zugeordnete IPv6-Adressen konvertiert und dann in die Routingtabelle inet6.3 kopiert werden. Diese Routingtabelle kann verwendet werden, um next Hops für inet6- und inet6-vpn-Routen aufzulösen.HINWEIS:BGP führt die Importrichtlinie automatisch aus, selbst wenn Routen von einer primären Routingtabellengruppe in eine sekundäre Routing-Tabellengruppe kopiert werden. Wenn IPv4-gekennzeichnete Routen aus einer BGP-Sitzung eintreffen (z. B. wenn Sie die
labeled-unicast
Anweisung auf Hierarchieebene auf dem[edit protocols bgp family inet]
PE-Router konfiguriert haben), akzeptiert die Importrichtlinie des BGP-Nachbarn auch IPv6-Routen, da die Importrichtlinie des Nachbarn beim Kopieren der Routingtabelle inet6.3 ausgeführt wird. -
Wenn Sie MP-BGP für die Übertragung von IPv6-Datenverkehr konfigurieren, wird das IPv4-MPLS-Label am PE-Ziel-Router entfernt. Das verbleibende IPv6-Paket ohne Label kann dann an das IPv6-Netzwerk weitergeleitet werden. Um dies zu ermöglichen, fügen Sie die
explicit-null
Anweisung in die BGP-Konfiguration ein.
Konfiguration
CLI-Schnellkonfiguration
Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen sie in eine Textdatei ein, entfernen alle Zeilenumbrüche, ändern alle erforderlichen Details, um mit Ihrer Netzwerkkonfiguration zu übereinstimmen, und kopieren Sie dann die Befehle und fügen sie auf Hierarchieebene in die [edit]
CLI ein.
Gerät PE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.5/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.2/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toCE1 type external set protocols bgp group toCE1 local-address ::10.1.1.2 set protocols bgp group toCE1 family inet6 unicast set protocols bgp group toCE1 export send-bgp6 set protocols bgp group toCE1 peer-as 65001 set protocols bgp group toCE1 neighbor ::10.1.1.1 set protocols bgp group toPE2 type internal set protocols bgp group toPE2 local-address 10.1.1.2 set protocols bgp group toPE2 family inet6 labeled-unicast explicit-null set protocols bgp group toPE2 export next-hop-self set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 neighbor 10.1.1.4 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.2 passive set protocols ldp interface fe-1/2/1.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.2 set routing-options autonomous-system 65002
Geräte-PE2
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.10/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet6 address ::10.1.1.13/126 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.4/32 set protocols mpls ipv6-tunneling set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols bgp group toPE1 type internal set protocols bgp group toPE1 local-address 10.1.1.4 set protocols bgp group toPE1 family inet6 labeled-unicast explicit-null set protocols bgp group toPE1 export next-hop-self set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 neighbor 10.1.1.2 set protocols bgp group toCE3 type external set protocols bgp group toCE3 local-address ::10.1.1.13 set protocols bgp group toCE3 family inet6 unicast set protocols bgp group toCE3 export send-bgp6 set protocols bgp group toCE3 peer-as 65003 set protocols bgp group toCE3 neighbor ::10.1.1.14 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface lo0.4 passive set protocols ldp interface fe-1/2/0.0 set policy-options policy-statement next-hop-self then next-hop self set policy-options policy-statement send-bgp6 from family inet6 set policy-options policy-statement send-bgp6 from protocol bgp set policy-options policy-statement send-bgp6 then accept set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol bgp set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.1.1.4 set routing-options autonomous-system 65002
Gerät P
set interfaces fe-1/2/0 unit 0 family inet address 10.1.1.6/30 set interfaces fe-1/2/0 unit 0 family inet6 set interfaces fe-1/2/0 unit 0 family mpls set interfaces fe-1/2/1 unit 0 family inet address 10.1.1.9/30 set interfaces fe-1/2/1 unit 0 family inet6 set interfaces fe-1/2/1 unit 0 family mpls set interfaces lo0 unit 0 family inet address 10.1.1.3/32 set protocols mpls interface fe-1/2/0.0 set protocols mpls interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface fe-1/2/0.0 set protocols ospf area 0.0.0.0 interface fe-1/2/1.0 set protocols ospf area 0.0.0.0 interface lo0.0 passive set protocols ldp interface fe-1/2/0.0 set protocols ldp interface fe-1/2/1.0 set routing-options router-id 10.1.1.3 set routing-options autonomous-system 65002
Gerät CE1
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.1/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.1/128 set protocols bgp group toPE1 type external set protocols bgp group toPE1 local-address ::10.1.1.1 set protocols bgp group toPE1 family inet6 unicast set protocols bgp group toPE1 export send-v6 set protocols bgp group toPE1 peer-as 65002 set protocols bgp group toPE1 neighbor ::10.1.1.2 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 10.255.1.1 set routing-options autonomous-system 65001
Gerät CE3
set interfaces fe-1/2/0 unit 0 family inet6 address ::10.1.1.14/126 set interfaces lo0 unit 0 family inet6 address ::10.255.1.5/128 set protocols bgp group toPE2 type external set protocols bgp group toPE2 local-address ::10.1.1.14 set protocols bgp group toPE2 family inet6 unicast set protocols bgp group toPE2 export send-v6 set protocols bgp group toPE2 peer-as 65002 set protocols bgp group toPE2 neighbor ::10.1.1.13 set policy-options policy-statement send-v6 from family inet6 set policy-options policy-statement send-v6 from protocol direct set policy-options policy-statement send-v6 then accept set routing-options router-id 1.1.1.5 set routing-options autonomous-system 3
Konfiguration von Geräte-PE1
Schritt-für-Schritt-Verfahren
Im folgenden Beispiel müssen Sie auf verschiedenen Ebenen in der Konfigurationshierarchie navigieren. Informationen zum Navigieren in der CLI finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im Junos OS CLI-Benutzerhandbuch.
So konfigurieren Sie Geräte-PE1:
-
Konfigurieren Sie die Schnittstellen.
[edit interfaces] user@PE1# set fe-1/2/0 unit 0 family inet6 address ::10.1.1.2/126 user@PE1# set fe-1/2/0 unit 0 family mpls user@PE1# set fe-1/2/1 unit 0 family inet address 10.1.1.5/30 user@PE1# set fe-1/2/1 unit 0 family inet6 user@PE1# set fe-1/2/1 unit 0 family mpls user@PE1# set lo0 unit 0 family inet address 10.1.1.2/32
-
Konfigurieren Sie MPLS auf den Schnittstellen.
[edit protocols mpls] user@PE1# set ipv6-tunneling user@PE1# set interface fe-1/2/0.0 user@PE1# set interface fe-1/2/1.0
-
Konfigurieren Sie BGP.
[edit protocols bgp] user@PE1# set group toCE1 type external user@PE1# set group toCE1 local-address ::10.1.1.2 user@PE1# set group toCE1 family inet6 unicast user@PE1# set group toCE1 export send-bgp6 user@PE1# set group toCE1 peer-as 65001 user@PE1# set group toCE1 neighbor ::10.1.1.1 user@PE1# set group toPE2 type internal user@PE1# set group toPE2 local-address 10.1.1.2 user@PE1# set group toPE2 family inet6 labeled-unicast explicit-null user@PE1# set group toPE2 export next-hop-self user@PE1# set group toPE2 export send-v6 user@PE1# set group toPE2 neighbor 10.1.1.4
-
OSPF konfigurieren
[edit protocols ospf area 0.0.0.0] user@PE1# set interface fe-1/2/1.0 user@PE1# set interface lo0.0 passive
-
Konfigurieren Sie ein Signalübertragungsprotokoll.
[edit protocols] user@PE1# set ldp interface fe-1/2/1.0
-
Konfigurieren Sie die Routing-Richtlinien.
[edit policy-options] user@PE1# set policy-statement next-hop-self then next-hop self user@PE1# set policy-statement send-bgp6 from family inet6 user@PE1# set policy-statement send-bgp6 from protocol bgp user@PE1# set policy-statement send-bgp6 then accept user@PE1# set policy-statement send-v6 from family inet6 user@PE1# set policy-statement send-v6 from protocol bgp user@PE1# set policy-statement send-v6 from protocol direct user@PE1# set policy-statement send-v6 then accept
-
Konfigurieren Sie die Router-ID und die Autonome Systemnummer (AS).
[edit routing-options] user@PE1# set router-id 10.1.1.2 user@PE1# set autonomous-system 675002
Ergebnisse
Bestätigen Sie Ihre Konfiguration im Konfigurationsmodus, indem Sie die show interfaces
Befehle , show policy-options
, show protocols
und show routing-options
eingeben. Wenn die gewünschte Konfiguration in der Ausgabe nicht angezeigt wird, wiederholen Sie die Anweisungen in diesem Beispiel, um die Konfiguration zu korrigieren.
user@R1# show interfaces fe-1/2/0 { unit 0 { family inet6 { address ::10.1.1.2/126; } family mpls; } } fe-1/2/1 { unit 0 { family inet { address 10.1.1.5/30; } family inet6; family mpls; } } lo0 { unit 0 { family inet { address 10.1.1.2/32; } } }
user@R1# show policy-options policy-statement next-hop-self { then { next-hop self; } } policy-statement send-bgp6 { from { family inet6; protocol bgp; } then accept; } policy-statement send-v6 { from { family inet6; protocol [ bgp direct ]; } then accept; }
user@R1# show protocols mpls { ipv6-tunneling; interface fe-1/2/0.0; interface fe-1/2/1.0; } bgp { group toCE1 { type external; local-address ::10.1.1.2; family inet6 { unicast; } export send-bgp6; peer-as 65001; neighbor ::10.1.1.1; } group toPE2 { type internal; local-address 10.1.1.2; family inet6 { labeled-unicast { explicit-null; } } export [ next-hop-self send-v6 ]; neighbor 10.1.1.4; } } ospf { area 0.0.0.0 { interface fe-1/2/1.0; interface lo0.0 { passive; } } } ldp { interface fe-1/2/1.0; }
user@R1# show routing-options router-id 10.1.1.2; autonomous-system 65002;
Wenn Sie mit der Konfiguration des Geräts fertig sind, geben Sie im Konfigurationsmodus ein commit
. Konfigurieren Sie die anderen Geräte in der Topologie, wie in CLI-Schnellkonfiguration.
Überprüfung
Bestätigen Sie, dass die Konfiguration ordnungsgemäß funktioniert.
Überprüfung der Konnektivität der CE-Geräte
Zweck
Stellen Sie sicher, dass der Tunnel in Betrieb ist.
Aktion
Geben Sie im Betriebsmodus den ping
Befehl ein.
user@CE1> ping ::10.1.1.14 PING6(56=40+8+8 bytes) ::10.1.1.1 --> ::10.1.1.14 16 bytes from ::10.1.1.14, icmp_seq=0 hlim=61 time=10.687 ms 16 bytes from ::10.1.1.14, icmp_seq=1 hlim=61 time=9.239 ms 16 bytes from ::10.1.1.14, icmp_seq=2 hlim=61 time=1.842 ms
user@CE3> ping ::10.1.1.1 PING6(56=40+8+8 bytes) ::10.1.1.14 --> ::10.1.1.1 16 bytes from ::10.1.1.1, icmp_seq=0 hlim=61 time=1.484 ms 16 bytes from ::10.1.1.1, icmp_seq=1 hlim=61 time=1.338 ms 16 bytes from ::10.1.1.1, icmp_seq=2 hlim=61 time=1.351 ms
Bedeutung
Die IPv6 CE-Geräte können über das Core-IPv4-Netzwerk kommunizieren.