Configuração do comportamento de encaminhamento de pacotes
Entender o Next Hops indireto
O Junos OS oferece suporte ao conceito de um next hop indireto para todos os protocolos de roteamento que oferecem suporte a next hops conectados indiretamente, também conhecidos como next hops de terceiros.
Como protocolos de roteamento como o BGP interno (IBGP) podem enviar informações de roteamento sobre rotas conectadas indiretamente, o Junos OS conta com rotas de protocolos de roteamento intra-AS (OSPF, IS-IS, RIP e estático) para resolver o melhor próximo hop conectado diretamente. O Mecanismo de Roteamento executa a resolução de rotas para determinar o melhor salto próximo conectado diretamente e instala a rota para o Mecanismo de Encaminhamento de Pacotes.
Por padrão, o Junos OS não mantém a rota para o próximo salto indireto para encaminhar a ligação de next-hop na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Como resultado, quando ocorre um evento de redirecionamento, potencialmente milhares de rotas para o encaminhamento de ligações de next-hop devem ser atualizadas, o que aumenta o tempo de convergência de rota. A Figura 1 ilustra a rota para encaminhar ligações de next-hop com o próximo hop indireto desativado.
Você pode permitir que o Junos OS mantenha o próximo salto indireto para encaminhar a ligação de next-hop na tabela de encaminhamento do Packet Forwarding Engine. Como resultado, menos rotas para o encaminhamento de ligações de next-hop precisam ser atualizadas, o que melhora o tempo de convergência de rota. A Figura 2 ilustra a rota para encaminhar ligações de next-hop com o próximo hop indireto habilitado.
Exemplo: otimizar a reconvergência de rotas ao habilitar next hops indiretos no mecanismo de encaminhamento de pacotes
Este exemplo mostra como usar o next hops indireto para promover uma convergência de rede mais rápida (por exemplo, em redes BGP) diminuindo o número de mudanças na tabela de encaminhamento necessárias quando ocorre uma mudança na topologia da rede.
Requisitos
Nenhuma configuração especial além da inicialização do dispositivo é necessária antes de configurar este exemplo.
Visão geral
Neste exemplo, vários dispositivos estão conectados por caminhos de custo desigual. Do dispositivo R1 ao dispositivo R2, o caminho pelo dispositivo R3 tem uma métrica de IGP maior do que o caminho pelo dispositivo R4. O dispositivo R1 tem uma conexão BGP interna com o dispositivo R2. O dispositivo R0 injeta várias rotas na rede, e o Dispositivo R1 anuncia essas rotas para o dispositivo R2. Como o dispositivo R2 não está conectado diretamente ao dispositivo R1, a tabela de encaminhamento do Dispositivo R2 contém próximos hops indiretos. Um protocolo de gateway interno, neste caso o OSPF, está sendo executado nos links internos entre dispositivos R1, R2, R3 e R4. Cada roteador está anunciando seu endereço IPv4 da interface de loopback.
No dispositivo R2, a declaração permite que o indirect-next-hop
Junos OS mantenha o próximo salto indireto para encaminhar a ligação de next-hop na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Como resultado, menos rotas para o encaminhamento de ligações de next-hop precisam ser atualizadas, o que melhora o tempo de convergência de rota se um caminho falhar.
Topologia
A Figura 3 mostra a rede amostral.
A seção de configuração rápida da CLI mostra a configuração completa em todos os dispositivos da Figura 3. Caso contrário, o exemplo se concentra no Dispositivo R0, Dispositivo R1 e Dispositivo R2.
Configuração
- Configuração rápida da CLI
- Configuração do dispositivo R0
- Configuração do dispositivo R1
- Configuração do dispositivo R2
- Resultados
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere os detalhes necessários para combinar com a configuração de sua rede e, em seguida, copie e cole os comandos na CLI no nível de [edit]
hierarquia.
Dispositivo R0
set interfaces fe-1/2/0 unit 1 family inet address 10.0.0.1/30 set interfaces lo0 unit 1 family inet address 10.1.0.1/32 set interfaces lo0 unit 1 family inet address 10.1.0.2/32 set interfaces lo0 unit 1 family inet address 10.1.0.3/32 set interfaces lo0 unit 1 family inet address 10.1.0.4/32 set interfaces lo0 unit 1 family inet address 10.1.0.5/32 set interfaces lo0 unit 1 family inet address 10.1.0.6/32 set interfaces lo0 unit 1 family inet address 10.1.0.7/32 set interfaces lo0 unit 1 family inet address 10.1.0.8/32 set interfaces lo0 unit 1 family inet address 10.1.0.9/32 set routing-options static route 0.0.0.0/0 next-hop 10.0.0.2
Dispositivo R1
set interfaces fe-1/2/0 unit 2 family inet address 10.0.0.2/30 set interfaces fe-1/2/1 unit 5 family inet address 10.0.0.5/30 set interfaces fe-1/2/2 unit 9 family inet address 10.0.0.9/30 set interfaces lo0 unit 2 family inet address 10.1.1.1/32 set protocols bgp export send-local set protocols bgp export send-static set protocols bgp group int type internal set protocols bgp group int local-address 10.1.1.1 set protocols bgp group int neighbor 10.2.2.2 set protocols ospf area 0.0.0.0 interface fe-1/2/1.5 set protocols ospf area 0.0.0.0 interface fe-1/2/2.9 set protocols ospf area 0.0.0.0 interface lo0.2 set policy-options policy-statement send-local from protocol local set policy-options policy-statement send-local from protocol direct set policy-options policy-statement send-local then accept set policy-options policy-statement send-static from protocol static set policy-options policy-statement send-static then accept set routing-options static route 10.1.0.2/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.1/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.3/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.4/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.5/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.6/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.7/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.8/32 next-hop 10.0.0.1 set routing-options static route 10.1.0.9/32 next-hop 10.0.0.1 set routing-options autonomous-system 65500
Dispositivo R2
set interfaces fe-1/2/0 unit 14 family inet address 10.0.0.14/30 set interfaces fe-1/2/1 unit 18 family inet address 10.0.0.18/30 set interfaces fe-1/2/2 unit 21 family inet set interfaces lo0 unit 3 family inet address 10.2.2.2/32 set protocols bgp export send-local set protocols bgp group int type internal set protocols bgp group int local-address 10.2.2.2 set protocols bgp group int family inet unicast set protocols bgp group int family inet-vpn unicast set protocols bgp group int neighbor 10.1.1.1 set protocols ospf area 0.0.0.0 interface fe-1/2/0.14 set protocols ospf area 0.0.0.0 interface fe-1/2/1.18 set protocols ospf area 0.0.0.0 interface lo0.3 set policy-options policy-statement send-local from protocol local set policy-options policy-statement send-local from protocol direct set policy-options policy-statement send-local then accept set routing-options autonomous-system 65500 set routing-options forwarding-table indirect-next-hop
Dispositivo R3
set interfaces fe-1/2/0 unit 6 family inet address 10.0.0.6/30 set interfaces fe-1/2/1 unit 13 family inet address 10.0.0.13/30 set interfaces lo0 unit 4 family inet address 10.3.3.3/32 set protocols ospf area 0.0.0.0 interface fe-1/2/0.6 metric 5000 set protocols ospf area 0.0.0.0 interface fe-1/2/1.13 metric 5000 set protocols ospf area 0.0.0.0 interface lo0.4
Dispositivo R4
set interfaces fe-1/2/0 unit 10 family inet address 10.0.0.10/30 set interfaces fe-1/2/1 unit 17 family inet address 10.0.0.17/30 set interfaces lo0 unit 5 family inet address 10.4.4.4/32 set protocols ospf area 0.0.0.0 interface fe-1/2/0.10 set protocols ospf area 0.0.0.0 interface fe-1/2/1.17 set protocols ospf area 0.0.0.0 interface lo0.5
Dispositivo R5
set interfaces fe-1/2/0 unit 22 family inet address 10.0.0.22/30 set interfaces lo0 unit 6 family inet address 10.5.5.5/32
Configuração do dispositivo R0
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 pela CLI, consulte o uso do editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo R0:
-
Configure as interfaces, incluindo várias rotas que podem ser injetadas na rede para fins de demonstração.
[edit interfaces] user@R0# set fe-1/2/0 unit 1 family inet address 10.0.0.1/30 user@R0# set lo0 unit 1 family inet address 10.1.0.1/32 user@R0# set lo0 unit 1 family inet address 10.1.0.2/32 user@R0# set lo0 unit 1 family inet address 10.1.0.3/32 user@R0# set lo0 unit 1 family inet address 10.1.0.4/32 user@R0# set lo0 unit 1 family inet address 10.1.0.5/32 user@R0# set lo0 unit 1 family inet address 10.1.0.6/32 user@R0# set lo0 unit 1 family inet address 10.1.0.7/32 user@R0# set lo0 unit 1 family inet address 10.1.0.8/32 user@R0# set lo0 unit 1 family inet address 10.1.0.9/32
-
Configure uma rota padrão estática para a acessibilidade da rede.
[edit routing-options] user@R0# set static route 0.0.0.0/0 next-hop 10.0.0.2
-
Se você terminar de configurar o dispositivo, comprometa a configuração.
[edit] user@R0# commit
Configuração do dispositivo R1
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 pela CLI, consulte o uso do editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo R1:
-
Configure as interfaces, incluindo várias rotas que podem ser injetadas na rede para fins de demonstração.
[edit interfaces] user@R1# set fe-1/2/0 unit 2 family inet address 10.0.0.2/30 user@R1# set fe-1/2/1 unit 5 family inet address 10.0.0.5/30 user@R1# set fe-1/2/2 unit 9 family inet address 10.0.0.9/30 user@R1# set lo0 unit 2 family inet address 10.1.1.1/32
-
Configure BGP.
[edit protocols] user@R1# set bgp export send-local user@R1# set bgp export send-static user@R1# set bgp group int type internal user@R1# set bgp group int local-address 10.1.1.1 user@R1# set bgp group int neighbor 10.2.2.2
-
Configure OSPF.
[edit protocols] user@R1# set ospf area 0.0.0.0 interface fe-1/2/1.5 user@R1# set ospf area 0.0.0.0 interface fe-1/2/2.9 user@R1# set ospf area 0.0.0.0 interface lo0.2
-
Configure as políticas de roteamento.
[edit] user@R1# set policy-options policy-statement send-local from protocol local user@R1# set policy-options policy-statement send-local from protocol direct user@R1# set policy-options policy-statement send-local then accept user@R1# set policy-options policy-statement send-static from protocol static user@R1# set policy-options policy-statement send-static then accept
-
Configure um conjunto de rotas estáticas para o conjunto de interfaces configuradas no dispositivo R0.
[edit] user@R1# set routing-options static route 10.1.0.2/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.1/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.3/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.4/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.5/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.6/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.7/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.8/32 next-hop 10.0.0.1 user@R1# set routing-options static route 10.1.0.9/32 next-hop 10.0.0.1
-
Configure o identificador de sistema autônomo (AS).
[edit] user@R1# set routing-options autonomous-system 65500
-
Se você terminar de configurar o dispositivo, comprometa a configuração.
[edit] user@R1# commit
Configuração do dispositivo R2
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 pela CLI, consulte o uso do editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo R2:
-
Configure as interfaces, incluindo várias rotas que podem ser injetadas na rede para fins de demonstração.
[edit interfaces] user@R2# set fe-1/2/0 unit 14 family inet address 10.0.0.14/30 user@R2# set fe-1/2/1 unit 18 family inet address 10.0.0.18/30 user@R2# set fe-1/2/2 unit 21 family inet address 10.0.0.21/30; user@R2# set lo0 unit 3 family inet address 10.2.2.2/32
-
Configure BGP.
[edit] user@R2# set protocols bgp export send-local user@R2# set protocols bgp group int type internal user@R2# set protocols bgp group int local-address 10.2.2.2 user@R2# set protocols bgp group int family inet unicast user@R2# set protocols bgp group int family inet-vpn unicast user@R2# set protocols bgp group int neighbor 10.1.1.1
-
Configure OSPF.
[edit] user@R2# set protocols ospf area 0.0.0.0 interface fe-1/2/0.14 user@R2# set protocols ospf area 0.0.0.0 interface fe-1/2/1.18 user@R2# set protocols ospf area 0.0.0.0 interface lo0.3
-
Configure as políticas de roteamento.
[edit] user@R2# set policy-options policy-statement send-local from protocol local user@R2# set policy-options policy-statement send-local from protocol direct user@R2# set policy-options policy-statement send-local then accept
-
Configure o identificador AS.
[edit] user@R2# set routing-options autonomous-system 65500
-
Habilite próximos saltos indiretos no plano de encaminhamento.
[edit] user@R2# set routing-options forwarding-table indirect-next-hop
-
Se você terminar de configurar o dispositivo, comprometa a configuração.
[edit] user@R2# commit
Resultados
Confirme sua configuração emitindo osshow interfaces
, show protocols
e show routing-options
show policy-options
comandos. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
Dispositivo R0
user@R0# show interfaces fe-1/2/0 { unit 1 { family inet { address 10.0.0.1/30; } } } lo0 { unit 1 { family inet { address 10.1.0.1/32; address 10.1.0.2/32; address 10.1.0.3/32; address 10.1.0.4/32; address 10.1.0.5/32; address 10.1.0.6/32; address 10.1.0.7/32; address 10.1.0.8/32; address 10.1.0.9/32; } } }
user@R0# show routing-options static { route 0.0.0.0/0 next-hop 10.0.0.2; }
Dispositivo R1
user@R1# show interfaces fe-1/2/0 { unit 2 { family inet { address 10.0.0.2/30; } } } fe-1/2/1 { unit 5 { family inet { address 10.0.0.5/30; } } } fe-1/2/2 { unit 9 { family inet { address 10.0.0.9/30; } } } lo0 { unit 2 { family inet { address 10.1.1.1/32; } } }
user@R1# show protocols bgp { export [ send-local send-static ]; group int { type internal; local-address 10.1.1.1; neighbor 10.2.2.2; } } ospf { area 0.0.0.0 { interface fe-1/2/1.5; interface fe-1/2/2.9; interface lo0.2; } }
user@R1# show policy-options policy-statement send-local { from protocol [ local direct ]; then accept; } policy-statement send-static { from protocol static; then accept; }
user@R1# show routing-options static { route 10.1.0.2/32 next-hop 10.0.0.1; route 10.1.0.1/32 next-hop 10.0.0.1; route 10.1.0.3/32 next-hop 10.0.0.1; route 10.1.0.4/32 next-hop 10.0.0.1; route 10.1.0.5/32 next-hop 10.0.0.1; route 10.1.0.6/32 next-hop 10.0.0.1; route 10.1.0.7/32 next-hop 10.0.0.1; route 10.1.0.8/32 next-hop 10.0.0.1; route 10.1.0.9/32 next-hop 10.0.0.1; } autonomous-system 65500;
Dispositivo R2
user@R2# show interfaces fe-1/2/0 { unit 14 { family inet { address 10.0.0.14/30; } } } fe-1/2/1 { unit 18 { family inet { address 10.0.0.18/30; } } } fe-1/2/2 { unit 21 { family inet { address 10.0.0.21/30 } } } lo0 { unit 3 { family inet { address 10.2.2.2/32; } } }
user@R2# show protocols bgp { export send-local; group int { type internal; local-address 10.2.2.2; family inet { unicast; } family inet-vpn { unicast; } neighbor 10.1.1.1; } } ospf { area 0.0.0.0 { interface fe-1/2/0.14; interface fe-1/2/1.18; interface lo0.3; } }
user@R2# show policy-options policy-statement send-local { from protocol [ local direct ]; then accept; }
user@R2# show routing-options autonomous-system 65500; forwarding-table { indirect-next-hop; }
Configure o dispositivo R3, o dispositivo R4 e o dispositivo R5, conforme mostrado na configuração rápida da CLI.
Verificação
Confirme que a configuração está funcionando corretamente.
Verificar se as rotas têm a bandeira indireto-next-hop esperada
Propósito
Certifique-se de que o dispositivo R2 esteja configurado para manter o próximo salto indireto para encaminhar a ligação next-hop na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes.
Ação
user@R2> show krt indirect-next-hop show krt indirect-next-hop Indirect Nexthop: Index: 1048575 Protocol next-hop address: 10.255.3.1 RIB Table: __mpls-oam__.mpls.0 Label: Swap 299968 Policy Version: 0 References: 1 Locks: 2 0x95bc514 Flags: 0x3 INH Session ID: 0xa INH Version ID: 1 Ref RIB Table: unknown Next hop: 10.50.244.9 via ge-2/0/2.0 Label operation: Swap 299968, Push 299792(top) Label TTL action: no-prop-ttl, no-prop-ttl(top) Session Id: 0x9 IGP FRR Interesting proto count : 0
Significado
A 0x3
bandeira na saída indica que o dispositivo R2 está configurado para manter o próximo salto indireto para encaminhar a ligação de next-hop na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Quando a indirect-next-hop
declaração é excluída ou desativada da configuração, essa bandeira muda para 0x2
. Os roteadores da série Junos MX com chipset Trio Modular Port Concentrator (MPC) oferecem suporte indireto ao next-hop por padrão e não podem ser desativados. Assim, mesmo que indirect-next-hop
não esteja configurado em forwarding-options
, o recurso funcionará por padrão. Assim, 0x3
a bandeira não é aplicável para Trio Modular Port Concentrator (MPCs).
O show krt indirect-next-hop
comando está oculto e, portanto, não está documentado. O show krt indirect-next-hop
comando é mostrado aqui porque este é o único comando que verifica o recurso de next-hop indireto. O melhor método de verificação é, é claro, monitorar o desempenho da rede durante a reconvergência após uma falha no caminho.