Configuração do comportamento de encaminhamento de pacotes
Entendendo os próximos saltos indiretos
O Junos OS oferece suporte ao conceito de próximo salto indireto para todos os protocolos de roteamento que oferecem suporte a próximos saltos indiretamente conectados, também conhecidos como próximos saltos de terceiros.
Como os protocolos de roteamento, como o BGP interno (IBGP), podem enviar informações de roteamento sobre rotas conectadas indiretamente, o Junos OS depende de rotas de protocolos de roteamento intra-AS (OSPF, IS-IS, RIP e static) para resolver o melhor próximo salto diretamente conectado. O Mecanismo de Roteamento executa a resolução de rota para determinar o melhor próximo salto diretamente conectado e instala a rota no Mecanismo de Encaminhamento de Pacotes.
Por padrão, o Junos OS não mantém a rota do próximo salto indireto para o encaminhamento da ligação do próximo salto na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Como resultado, quando ocorre um evento de reroteamento, potencialmente milhares de ligações de rota para o encaminhamento de next-hop devem ser atualizadas, o que aumenta o tempo de convergência de rota. A Figura 1 ilustra a rota para o encaminhamento de ligações de next-hop com o próximo salto indireto desabilitado.
de next-hop
Você pode permitir que o Junos OS mantenha o próximo salto indireto para o encaminhamento da ligação de próximo salto na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Como resultado, menos rotas para encaminhar ligações de next-hop precisam ser atualizadas, o que melhora o tempo de convergência de rotas. A Figura 2 ilustra a rota para o encaminhamento de ligações de próximo salto com o próximo salto indireto habilitado.
de next-hop
Exemplo: Otimizando a Reconvergência de Rotas Habilitando Próximos Hops Indiretos no Mecanismo de Encaminhamento de Pacotes
Este exemplo mostra como usar o próximo salto indireto para promover uma convergência de rede mais rápida (por exemplo, em redes BGP) diminuindo o número de alterações na tabela de encaminhamento necessárias quando ocorre uma alteração na topologia da rede.
Requerimentos
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 em caminhos de custo desigual. Do dispositivo R1 ao dispositivo R2, o caminho pelo dispositivo R3 tem uma métrica de IGP mais alta 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 interior, neste caso o OSPF, está sendo executado nos links internos entre os 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 o encaminhamento da ligação de próximo salto na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Como resultado, menos rotas para encaminhar ligações de next-hop precisam ser atualizadas, o que melhora o tempo de convergência de rotas 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 concentrará no dispositivo R0, dispositivo R1 e dispositivo R2.
Configuração
- Configuração rápida da CLI
- Configurando o dispositivo R0
- Configurando o dispositivo R1
- Configurando o dispositivo R2
- Resultados
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os comandos a seguir, cole-os em um arquivo de texto, remova as quebras de linha, altere os detalhes necessários para corresponder à configuração de 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
Configurando o dispositivo R0
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.
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 acessibilidade de 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
Configurando o dispositivo R1
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.
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
Configurando o dispositivo R2
Procedimento passo a passo
O exemplo a seguir requer que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Uso do Editor de CLI no Modo de Configuração no Guia do Usuário da CLI do Junos OS.
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 os 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, confirme a configuração.
[edit] user@R2# commit
Resultados
Confirme sua configuração emitindo os show interfacescomandos , show protocols, show policy-options, e show routing-options . 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 o sinalizador de next-hop indireto esperado
Finalidade
Certifique-se de que o Dispositivo R2 esteja configurado para manter o próximo salto indireto para o encaminhamento da associaçã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
O 0x3 sinalizador na saída indica que o Dispositivo R2 está configurado para manter o próximo salto indireto para o encaminhamento da ligação do próximo salto na tabela de encaminhamento do Mecanismo de Encaminhamento de Pacotes. Quando a indirect-next-hop instrução é excluída ou desativada da configuração, esse sinalizador muda para 0x2. Os roteadores da série MX da Junos com chipset Trio Modular Port Concentrator (MPC) oferecem suporte a next-hop indireto 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. Portanto, 0x3 o sinalizador não é aplicável para MPCs (Trio Modular Port Concentrator).
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 esse é o único comando que verifica o recurso indireto de próximo salto. O melhor método de verificação é, obviamente, monitorar o desempenho da rede durante a reconvergência após uma falha de caminho.