Configuração do comportamento do encaminhamento de pacotes
Entendendo os próximos saltos indiretos
O Junos OS oferece suporte ao conceito de um próximo salto indireto para todos os protocolos de roteamento que oferecem suporte a próximos saltos 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ática) para resolver o melhor próximo salto conectado diretamente. O mecanismo de roteamento executa resolução de rota 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 um próximo salto indireto para encaminhar a ligação de próximo salto na tabela de encaminhamento do Mecanismo de encaminhamento de pacotes. Como resultado, quando um evento de redirecionamento ocorre, potencialmente milhares de rotas para o encaminhamento de ligações de próximo salto devem ser atualizadas, o que aumenta o tempo de convergência de rota. A Figura 1 ilustra o caminho para o encaminhamento de ligações de próximo salto com o próximo salto indireto desativado.
Você pode permitir que o Junos OS mantenha o próximo salto indireto para encaminhar a ligação de próximo salto na tabela de encaminhamento do Mecanismo de encaminhamento de pacotes. Como resultado, menos rotas para o encaminhamento de ligações de próximo salto precisam ser atualizadas, o que melhora o tempo de convergência de rota. A Figura 2 ilustra o caminho para o encaminhamento de ligações de próximo salto com o próximo salto indireto habilitado.
Exemplo: otimizar a reconvergência de rotas ao habilitar próximos saltos indiretos no mecanismo de encaminhamento de pacotes
Este exemplo mostra como usar próximos saltos indiretos 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 desiguais. 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á diretamente conectado ao Dispositivo R1, a tabela de encaminhamento do Dispositivo R2 contém próximos saltos indiretos. Um protocolo de gateway interior, 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 de 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 próximo salto na tabela de encaminhamento do Mecanismo de encaminhamento de pacotes. Como resultado, menos rotas para o encaminhamento de ligações de próximo salto precisam ser atualizadas, o que melhora o tempo de convergência de rota se um caminho falhar.
Topologia
A Figura 3 mostra a rede de amostra.
A seção configuração rápida da CLI mostra a configuração completa em todos os dispositivos na 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 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.
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 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 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 alcançar 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, confirme 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 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 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 do sistema autônomo (AS).
[edit] user@R1# set routing-options autonomous-system 65500
-
Se você terminar de configurar o dispositivo, confirme 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 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 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óximo saltos indiretos no plano de encaminhamento.
[edit] user@R2# set routing-options forwarding-table indirect-next-hop
-
Se você terminar de configurar o dispositivo, confirme a configuração.
[edit] user@R2# commit
Resultados
Confirme sua configuração emitindo os show interfaces
comandos show protocols
show policy-options
e show routing-options
os 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 se a configuração está funcionando corretamente.
Verificando se as rotas têm a bandeira de indireto-próximo salto esperada
Propósito
Certifique-se de que o Dispositivo R2 esteja configurado para manter o próximo salto indireto para encaminhar a ligação de próximo salto 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 próximo salto 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 a indiretos next-hop por padrão e não podem ser desativados. Assim, mesmo que indirect-next-hop
não esteja configurado sob 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 próximo salto indireto. O melhor método de verificação é, é claro, monitorar o desempenho da rede durante a reconvergência após uma falha no caminho.