Túneis IPv6-over-Ipv4
Configuração do tunelamento IPv6 para MPLS
Você pode configurar o tunelamento IPv6 para o tráfego MPLS para tunelamento IPv6 em uma rede IPv4 baseada em MPLS. Essa configuração permite interconectar várias redes IPv6 menores em um núcleo de rede baseado em IPv4, oferecendo a você a capacidade de fornecer serviço IPv6 sem precisar atualizar os switches em sua rede principal. O BGP está configurado para trocar rotas entre as redes IPv6, e os dados são tunelados entre essas redes IPv6 por meio do MPLS baseado em IPv4.
Para configurar o tunelamento IPv6 para MPLS no switch da Série EX:
Exemplo: Tunelamento de tráfego IPv6 nas redes MPLS IPv4
Este exemplo mostra como configurar o Junos OS para túnel IPv6 em uma rede IPv4 baseada em MPLS. O BGP externo (EBGP) é usado entre os dispositivos de borda do cliente (CE) e borda de provedor (PE). Os dispositivos CE remotos têm números DE diferentes para detecção de loop.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Informações detalhadas sobre a implementação do IPv6 pela Juniper Networks sobre MPLS são descritas nos seguintes rascunhos da Internet:
-
Rascunho de internet draft-ietf-l3vpn-bgp-ipv6-07.txt, extensão DE VPN IP BGP-MPLS para VPN IPv6 (expira janeiro de 2006)
-
Rascunho de internet draft-ooms-v6ops-bgp-tunnel-06.txt, conectando ilhas IPv6 ao IPv4 MPLS usando roteadores de borda de provedores IPv6 (expira em julho de 2006)
Esses rascunhos da Internet estão disponíveis no site da IETF em http://www.ietf.org/.
Este exemplo mostra como interconectar duas redes IPv6 por um núcleo de rede baseado em IPv4, oferecendo a você a capacidade de fornecer serviço IPv6 sem precisar atualizar os roteadores em sua rede principal. O protocolo de gateway de fronteira multiprotocol (MP-BGP) é configurado para trocar rotas entre as redes IPv6, e os dados são tunelados entre essas redes IPv6 por meio do MPLS baseado em IPv4.
Em Figura 1, os roteadores PE1 e PE2 são roteadores BGP de pilha dupla, o que significa que eles têm pilhas IPv4 e IPv6. Os roteadores PE ligam as redes IPv6 pelos roteadores de borda do cliente (CE) à rede núcleo IPv4. Os roteadores CE e os roteadores PE se conectam por uma camada de enlace que pode transportar tráfego IPv6. Os roteadores PE usam IPv6 nas interfaces voltadas para roteadorES CE e usam IPv4 e MPLS nas interfaces voltadas para o núcleo. Observe que uma das redes IPv6 conectadas pode ser a Internet IPv6 global.
Os dois roteadores PE estão vinculados por meio de uma sessão MP-BGP usando endereços IPv4. Eles usam a sessão para trocar rotas IPv6 com um indicador familiar de endereço IPv6 (valor 2) (AFI) e um AFI (SAFI) subsequente (valor 4). Cada roteador PE define o próximo salto para as rotas IPv6 anunciadas nesta sessão para seu próprio endereço IPv4. Como o MP-BGP requer o próximo salto BGP para corresponder à mesma família de endereços que as informações de acessibilidade da camada de rede (NLRI), este endereço IPv4 precisa ser incorporado em um formato IPv6.
Os roteadores PE podem aprender as rotas IPv6 dos roteadores CE conectados a eles usando protocolos de roteamento Protocolo de informação de roteamento de próxima geração (RIPng) ou MP-BGP, ou através de configuração estática. Observe que se o BGP for usado como protocolo de roteador PE para CE, a sessão MP-BGP entre o roteador PE e o roteador CE pode ocorrer em uma sessão IPv4 ou IPv6 Transmission Control Protocol (TCP). Além disso, as rotas BGP trocadas nessa sessão teriam o SAFI unicast. Você deve configurar uma política de exportação para passar rotas entre IBGP e EBGP e entre BGP e qualquer outro protocolo.
Os roteadores PE têm LSPs MPLS roteados para os endereços IPv4 uns dos outros. O IPv4 fornece sinalização para os LSPs por meio de LDP ou RSVP. Esses LSPs são usados para resolver os endereços de próximo salto das rotas IPv6 aprendidas com MP-BGP. Os próximos saltos usam endereços IPv4 mapeados com IPv46, enquanto os LSPs usam endereços IPv4.
Os roteadores PE sempre anunciam rotas IPv6 entre si usando um valor de rótulo de 2, o rótulo nulo explícito para IPv6 conforme definido em RFC 3032, codificação MPLS Label Stack. Como conseqüência, cada um dos próximos saltos de encaminhamento para as rotas IPv6 aprendidos com roteadores PE remotos normalmente empurram dois rótulos. O rótulo interno é 2 (este rótulo pode ser diferente se o roteador PE de publicidade não for uma plataforma de roteamento da Juniper Networks), e o rótulo externo é o rótulo LSP. Se o LSP for um LSP de salto único, apenas o Label 2 será empurrado.
Também é possível que os roteadores PE troquem rotas IPv6 simples usando o SAFI unicast. No entanto, há uma grande vantagem na troca de rotas IPv6 rotuladas. O penúltimo roteador de salto para um MPLS LSP pode colocar o rótulo externo e depois enviar o pacote com o rótulo interno como um pacote MPLS. Sem o rótulo interno, o penúltimo roteador de salto precisaria descobrir se o pacote é um pacote IPv4 ou IPv6 para definir o campo de protocolo no cabeçalho de Camada 2 corretamente.
Quando o roteador PE1 recebe Figura 1 um pacote IPv6 do roteador CE1, ele realiza uma busca na tabela de encaminhamento IPv6. Se o destino corresponde a um prefixo aprendido com o roteador CE2, então nenhum rótulo precisa ser empurrado e o pacote é simplesmente enviado para o roteador CE2. Se o destino corresponde a um prefixo que foi aprendido com o roteador PE2, então o roteador PE1 empurra duas etiquetas no pacote e o envia para o roteador do provedor. O rótulo interno é 2 e o rótulo externo é o rótulo LSP para o roteador PE2.
Cada roteador de provedor na rede do provedor de serviços lida com o pacote como faria com qualquer pacote MPLS, trocando rótulos conforme ele passa do roteador do provedor para o roteador do provedor. O penúltimo roteador de provedor de salto para LSP coloca o rótulo externo e envia o pacote para o roteador PE2. Quando o roteador PE2 recebe o pacote, ele reconhece o rótulo de nulidade explícita IPv6 no pacote (Rótulo 2). Ele coloca este rótulo e o trata como um pacote IPv6, realizando uma busca na tabela de encaminhamento IPv6 e encaminhando o pacote para o roteador CE3.
Este exemplo inclui as seguintes configurações:
-
Além de configurar a
family inet6
declaração em todas as interfaces voltadas para o roteador CE, você também deve configurar a declaração em todas as interfaces voltadas para o núcleo que executam MPLS. Ambas as configurações são necessárias porque o roteador deve ser capaz de processar quaisquer pacotes IPv6 que receba nessas interfaces. Você não deve ver nenhum tráfego IPv6 regular chegar nessas interfaces, mas receberá pacotes MPLS com o Rótulo 2. Embora os pacotes MPLS label 2 sejam enviados no IPv4, esses pacotes são tratados como pacotes IPv6 nativos. -
Você habilita o tunelamento IPv6 incluindo a
ipv6-tunneling
declaração na configuração para os roteadores PE. Essa declaração permite que as rotas IPv6 sejam resolvidas em uma rede MPLS convertendo todas as rotas armazenadas na tabela de roteamento inet.3 para endereços IPv6 mapeados com IPv4 e depois copiando-as na tabela de roteamento inet6.3. Essa tabela de roteamento pode ser usada para resolver próximos saltos para rotas inet6 e inet6-vpn.Nota:O BGP executa automaticamente sua política de importação mesmo ao copiar rotas de um grupo de tabela de roteamento primário para um grupo de tabela de roteamento secundário. Se as rotas rotuladas de IPv4 chegarem de uma sessão BGP (por exemplo, quando você configurou a
labeled-unicast
declaração no nível de hierarquia no[edit protocols bgp family inet]
roteador PE), a política de importação do vizinho BGP também aceita as rotas IPv6, uma vez que a política de importação do vizinho é executada enquanto faz a operação de cópia para a tabela de roteamento inet6.3. -
Quando você configura o MP-BGP para transportar tráfego IPv6, o rótulo IPv4 MPLS é removido no roteador PE de destino. O pacote IPv6 restante sem rótulo pode então ser encaminhado para a rede IPv6. Para habilitar isso, inclua a
explicit-null
declaração na configuração do BGP.
Configuração
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
Pe1 do dispositivo
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
PE2 do dispositivo
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
Configuração do dispositivo PE1
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo PE1:
-
Configure as 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 o MPLS nas 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
-
Configure 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 um protocolo de sinalização.
[edit protocols] user@PE1# set ldp interface fe-1/2/1.0
-
Configure as políticas de roteamento.
[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 a ID do roteador e o número do sistema autônomo (AS).
[edit routing-options] user@PE1# set router-id 10.1.1.2 user@PE1# set autonomous-system 675002
Resultados
A partir do modo de configuração, confirme sua configuração entrando noshow interfaces
, show policy-options
show protocols
e show routing-options
comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
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;
Se você terminar de configurar o dispositivo, entre no commit
modo de configuração. Configure os outros dispositivos na topologia, conforme mostrado em Configuração rápida da CLI.
Verificação
Confirme se a configuração está funcionando corretamente.
Verificando se os dispositivos CE têm conectividade
Propósito
Certifique-se de que o túnel esteja operando.
Ação
A partir do modo operacional, entre no ping
comando.
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
Os dispositivos IPv6 CE podem se comunicar pela rede IPv4 de núcleo.