Túneles IPv6 sobre IPV4
Configuración de la tunelización IPv6 para MPLS
Puede configurar el túnel IPv6 para que MPLS tunelice el tráfico IPv6 a través de una red IPv4 basada en MPLS. Esta configuración le permite interconectar varias redes IPv6 más pequeñas a través de un núcleo de red basado en IPv4, lo que le brinda la capacidad de proporcionar servicio IPv6 sin tener que actualizar los conmutadores de su red principal. BGP está configurado para intercambiar rutas entre las redes IPv6, y los datos se tunelizan entre estas redes IPv6 mediante MPLS basado en IPv4.
Para configurar la tunelización IPv6 para MPLS en el conmutador de la serie EX:
Ejemplo: Tunelización del tráfico IPv6 a través de redes IPv4 MPLS
En este ejemplo se muestra cómo configurar Junos OS para tunelizar IPv6 a través de una red IPv4 basada en MPLS. El BGP externo (EBGP) se utiliza entre los dispositivos perimetrales del cliente (CE) y de borde del proveedor (PE). Los dispositivos CE remotos tienen diferentes números de AS para la detección de bucles.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
En los siguientes borradores de Internet se describe información detallada sobre la implementación de IPv6 a través de MPLS de Juniper Networks:
-
Borrador de draft-ietf-l3vpn-bgp-ipv6-07.txt de Internet, extensión BGP-MPLS IP VPN para VPN IPv6 (expira en enero de 2006)
-
Borrador de draft-ooms-v6ops-bgp-tunnel-06.txt de Internet, Conexión de islas IPv6 a través de MPLS IPv4 mediante enrutadores perimetrales de proveedor IPv6 (caduca en julio de 2006)
Estos borradores de Internet están disponibles en el sitio web del IETF en http://www.ietf.org/.
En este ejemplo se muestra cómo interconectar dos redes IPv6 a través de un núcleo de red basado en IPv4, lo que le permite proporcionar el servicio IPv6 sin tener que actualizar los enrutadores de la red principal. El Protocolo de puerta de enlace de borde multiprotocolo (MP-BGP) está configurado para intercambiar rutas entre las redes IPv6, y los datos se tunelizan entre estas redes IPv6 mediante MPLS basado en IPv4.
En Figura 1, los enrutadores PE1 y PE2 son enrutadores BGP de doble pila, lo que significa que tienen pilas IPv4 e IPv6. Los enrutadores PE vinculan las redes IPv6 a través de los enrutadores perimetrales del cliente (CE) a la red central IPv4. Los enrutadores CE y PE se conectan a través de una capa de vínculo que puede transportar tráfico IPv6. Los enrutadores PE utilizan IPv6 en las interfaces orientadas al enrutador CE y utilizan IPv4 y MPLS en las interfaces orientadas al núcleo. Tenga en cuenta que una de las redes IPv6 conectadas podría ser la Internet IPv6 global.
![Redes IPv6 vinculadas por túneles IPv4 MPLS](../example/../../images/g017081.png)
Los dos enrutadores PE están vinculados a través de una sesión MP-BGP utilizando direcciones IPv4. Utilizan la sesión para intercambiar rutas IPv6 con un indicador de familia de direcciones (AFI) IPv6 (valor 2) y un AFI posterior (SAFI) (valor 4). Cada enrutador PE establece el siguiente salto para las rutas IPv6 anunciadas en esta sesión a su propia dirección IPv4. Dado que MP-BGP requiere que el próximo salto del BGP corresponda a la misma familia de direcciones que la información de accesibilidad de la capa de red (NLRI), esta dirección IPv4 debe estar incrustada en un formato IPv6.
Los enrutadores PE pueden aprender las rutas IPv6 de los enrutadores CE conectados a ellos mediante los protocolos de enrutamiento Routing Information Protocol next generation (RIPng) o MP-BGP, o mediante configuración estática. Tenga en cuenta que si BGP se utiliza como protocolo de enrutador PE a enrutador CE, la sesión MP-BGP entre el enrutador PE y el enrutador CE podría producirse a través de una sesión de Protocolo de control de transmisión (TCP) IPv4 o IPv6. Además, las rutas BGP intercambiadas en esa sesión tendrían unidifusión SAFI. Debe configurar una política de exportación para pasar rutas entre IBGP y EBGP, y entre BGP y cualquier otro protocolo.
Los enrutadores PE tienen LSP MPLS enrutados a las direcciones IPv4 de los demás. IPv4 proporciona señalización para los LSP por medio de LDP o RSVP. Estos LSP se utilizan para resolver las direcciones del próximo salto de las rutas IPv6 aprendidas de MP-BGP. Los siguientes saltos utilizan direcciones IPv6 asignadas a IPv4, mientras que los LSP utilizan direcciones IPv4.
Los enrutadores PE siempre anuncian rutas IPv6 entre sí mediante un valor de etiqueta de 2, la etiqueta nula explícita para IPv6 como se define en RFC 3032, Codificación de pila de etiquetas MPLS. Como consecuencia, cada uno de los siguientes saltos de reenvío para las rutas IPv6 aprendidas de enrutadores PE remotos normalmente empuja dos etiquetas. La etiqueta interna es 2 (esta etiqueta podría ser diferente si el enrutador de PE publicitario no es una plataforma de enrutamiento de Juniper Networks) y la etiqueta externa es la etiqueta LSP. Si el LSP es un LSP de un solo salto, solo se inserta la etiqueta 2.
También es posible que los enrutadores PE intercambien rutas IPv6 simples mediante unidifusión SAFI. Sin embargo, hay una gran ventaja en el intercambio de rutas IPv6 etiquetadas. El enrutador de penúltimo salto para un LSP MPLS puede abrir la etiqueta externa y luego enviar el paquete con la etiqueta interna como un paquete MPLS. Sin la etiqueta interna, el enrutador de penúltimo salto necesitaría descubrir si el paquete es un paquete IPv4 o IPv6 para establecer correctamente el campo de protocolo en el encabezado de capa 2.
Cuando el enrutador PE1 recibe Figura 1 un paquete IPv6 del enrutador CE1, realiza una búsqueda en la tabla de reenvío IPv6. Si el destino coincide con un prefijo aprendido del enrutador CE2, no es necesario insertar etiquetas y el paquete simplemente se envía al enrutador CE2. Si el destino coincide con un prefijo que se aprendió del enrutador PE2, el enrutador PE1 inserta dos etiquetas en el paquete y lo envía al enrutador proveedor. La etiqueta interna es 2 y la etiqueta externa es la etiqueta LSP para el enrutador PE2.
Cada enrutador de proveedor en la red del proveedor de servicios maneja el paquete como lo haría con cualquier paquete MPLS, intercambiando etiquetas a medida que pasa de un enrutador de proveedor a otro. El enrutador del proveedor de penúltimo salto para el LSP abre la etiqueta externa y envía el paquete al enrutador PE2. Cuando el enrutador PE2 recibe el paquete, reconoce la etiqueta nula explícita IPv6 en el paquete (etiqueta 2). Abre esta etiqueta y la trata como un paquete IPv6, realizando una búsqueda en la tabla de reenvío IPv6 y reenviando el paquete al enrutador CE3.
En este ejemplo se incluye la siguiente configuración:
-
Además de configurar la
family inet6
instrucción en todas las interfaces orientadas al enrutador CE, también debe configurar la instrucción en todas las interfaces orientadas al núcleo que ejecutan MPLS. Ambas configuraciones son necesarias porque el enrutador debe ser capaz de procesar cualquier paquete IPv6 que reciba en estas interfaces. No debería ver ningún tráfico IPv6 regular en estas interfaces, pero recibirá paquetes MPLS etiquetados con la etiqueta 2. Aunque los paquetes MPLS de etiqueta 2 se envían en IPv4, estos paquetes se tratan como paquetes IPv6 nativos. -
Para habilitar la tunelización IPv6, incluya la
ipv6-tunneling
instrucción en la configuración de los enrutadores PE. Esta instrucción permite que las rutas IPv6 se resuelvan a través de una red MPLS convirtiendo todas las rutas almacenadas en la tabla de enrutamiento inet.3 en direcciones IPv6 asignadas IPv4 y, a continuación, copiándolas en la tabla de enrutamiento inet6.3. Esta tabla de enrutamiento se puede utilizar para resolver los siguientes saltos para las rutas inet6 e inet6-vpn.Nota:BGP ejecuta automáticamente su política de importación incluso cuando copia rutas de un grupo de tabla de enrutamiento principal a un grupo de tabla de enrutamiento secundario. Si las rutas etiquetadas con IPv4 llegan desde una sesión BGP (por ejemplo, cuando ha configurado la
labeled-unicast
instrucción en el[edit protocols bgp family inet]
nivel de jerarquía en el enrutador PE), la política de importación del vecino del BGP también acepta rutas IPv6, ya que la política de importación del vecino se ejecuta mientras se realiza la operación de copia en la tabla de enrutamiento inet6.3. -
Cuando se configura MP-BGP para transportar tráfico IPv6, la etiqueta MPLS IPv4 se elimina en el enrutador PE de destino. El paquete IPv6 restante sin etiqueta se puede reenviar a la red IPv6. Para habilitar esto, incluya la
explicit-null
instrucción en la configuración del BGP.
Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
jerarquía.
Dispositivo 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.0 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
Dispositivo 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.0 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
Dispositivo 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
Dispositivo 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
Dispositivo 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 10.255.1.5 set routing-options autonomous-system 65003
Configuración del dispositivo PE1
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar el dispositivo PE1:
-
Configure las interfaces.
[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
-
Configure MPLS en las interfaces.
[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
-
Configure 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
-
Configurar OSPF
[edit protocols ospf area 0.0.0.0] user@PE1# set interface fe-1/2/1.0 user@PE1# set interface lo0.0 passive
-
Configure un protocolo de señalización.
[edit protocols] user@PE1# set ldp interface fe-1/2/1.0
-
Configure las directivas de enrutamiento.
[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
-
Configure el ID del enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@PE1# set router-id 10.1.1.2 user@PE1# set autonomous-system 675002
Resultados
Desde el modo de configuración, ingrese los comandos show interfaces
, show policy-options
, show protocols
y show routing-options
para confirmar la configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
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;
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración. Configure los demás dispositivos de la topología, como se muestra en Configuración rápida de CLI.
Verificación
Confirme que la configuración funcione correctamente.
Comprobación de que los dispositivos CE tienen conectividad
Propósito
Asegúrese de que el túnel esté funcionando.
Acción
Desde el modo operativo, ingrese el comando ping
.
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
Significado
Los dispositivos IPv6 CE pueden comunicarse a través de la red IPv4 principal.