Configuración del comportamiento de reenvío de paquetes
Descripción de los próximos saltos indirectos
Junos OS admite el concepto de siguiente salto indirecto para todos los protocolos de enrutamiento que admiten saltos siguientes conectados indirectamente, también conocidos como próximos saltos de terceros.
Dado que los protocolos de enrutamiento, como el BGP interno (IBGP), pueden enviar información de enrutamiento sobre rutas conectadas indirectamente, Junos OS se basa en las rutas de los protocolos de enrutamiento intraAS (OSPF, IS-IS, RIP y estático) para resolver el próximo salto conectado directamente. El motor de enrutamiento realiza la resolución de ruta para determinar el próximo salto conectado directamente e instala la ruta en el motor de reenvío de paquetes.
De forma predeterminada, Junos OS no mantiene la ruta para el siguiente salto indirecto al enlace del reenvío del siguiente salto en la tabla de reenvío del motor de reenvío de paquetes. Como resultado, cuando se produce un evento de reenrutamiento, es posible que se deban actualizar miles de enlaces de ruta para reenviar el próximo salto, lo que aumenta el tiempo de convergencia de ruta. La figura 1 ilustra la ruta para reenviar enlaces del salto siguiente con el siguiente salto indirecto deshabilitado.

Puede habilitar Junos OS para que mantenga el siguiente salto indirecto al enlace del reenvío del siguiente salto en la tabla de reenvío del motor de reenvío de paquetes. Como resultado, es necesario actualizar menos rutas para reenviar los enlaces del próximo salto, lo que mejora el tiempo de convergencia de la ruta. La figura 2 ilustra la ruta para reenviar enlaces del siguiente salto con el siguiente salto indirecto habilitado.

Ejemplo: optimizar la reconvergencia de rutas habilitando los próximos saltos indirectos en el motor de reenvío de paquetes
En este ejemplo se muestra cómo usar los próximos saltos indirectos para promover una convergencia de red más rápida (por ejemplo, en redes BGP) disminuyendo el número de cambios en la tabla de reenvío necesarios cuando se produce un cambio en la topología de red.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Visión general
En este ejemplo, varios dispositivos están conectados a través de rutas de costo desigual. Del dispositivo R1 al dispositivo R2, la ruta que pasa por el dispositivo R3 tiene una métrica IGP más alta que la ruta por el dispositivo R4. El dispositivo R1 tiene una conexión BGP interna con el dispositivo R2. El dispositivo R0 inyecta varias rutas en la red y el dispositivo R1 anuncia esas rutas al dispositivo R2. Dado que el dispositivo R2 no está conectado directamente al dispositivo R1, la tabla de reenvío del dispositivo R2 contiene los siguientes saltos indirectos. Un protocolo de puerta de enlace interior, en este caso OSPF, se ejecuta en los vínculos internos entre los dispositivos R1, R2, R3 y R4. Cada enrutador anuncia su dirección IPv4 de interfaz de circuito cerrado.
En el dispositivo R2, la indirect-next-hop
instrucción permite a Junos OS mantener el siguiente salto indirecto al enlace del reenvío del siguiente salto en la tabla de reenvío del motor de reenvío de paquetes. Como resultado, es necesario actualizar menos rutas para reenviar enlaces del próximo salto, lo que mejora el tiempo de convergencia de la ruta si se produce un error en una ruta.
Topología
La figura 3 muestra la red de ejemplo.

La sección Configuración rápida de CLI muestra la configuración completa en todos los dispositivos de la Figura 3. De lo contrario, el ejemplo se centra en los dispositivos R0, R1 y R2.
Configuración
- Configuración rápida de CLI
- Configuración del dispositivo R0
- Configuración del dispositivo R1
- Configuración del dispositivo R2
- Resultados
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 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
Configuración del dispositivo R0
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar 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 R0:
-
Configure las interfaces, incluidas varias rutas que se pueden inyectar en la red con fines de demostración.
[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 una ruta estática predeterminada para que la red sea accesible.
[edit routing-options] user@R0# set static route 0.0.0.0/0 next-hop 10.0.0.2
-
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit] user@R0# commit
Configuración del dispositivo R1
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar 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 R1:
-
Configure las interfaces, incluidas varias rutas que se pueden inyectar en la red con fines de demostración.
[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 las directivas de enrutamiento.
[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 un conjunto de rutas estáticas al conjunto de interfaces configuradas en el 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 el identificador del sistema autónomo (AS).
[edit] user@R1# set routing-options autonomous-system 65500
-
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit] user@R1# commit
Configuración del dispositivo R2
Procedimiento paso a paso
En el ejemplo siguiente es necesario navegar 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 R2:
-
Configure las interfaces, incluidas varias rutas que se pueden inyectar en la red con fines de demostración.
[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 las directivas de enrutamiento.
[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 el identificador AS.
[edit] user@R2# set routing-options autonomous-system 65500
-
Habilite los próximos saltos indirectos en el plano de reenvío.
[edit] user@R2# set routing-options forwarding-table indirect-next-hop
-
Si ha terminado de configurar el dispositivo, confirme la configuración.
[edit] user@R2# commit
Resultados
Confirme la configuración emitiendo los show interfaces
comandos , show policy-options
show protocols
, y show routing-options
. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregir la configuración.
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 los dispositivos R3, R4 y R5, tal y como se muestra en Configuración rápida de la CLI.
Verificación
Confirme que la configuración funciona correctamente.
Verificar que las rutas tengan el indicador indirecto esperado de próximo salto
Propósito
Asegúrese de que el dispositivo R2 está configurado para mantener el siguiente salto indirecto al enlace del reenvío del siguiente salto en la tabla de reenvío del motor de reenvío de paquetes.
Acción
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
El 0x3
indicador en la salida indica que el dispositivo R2 está configurado para mantener el siguiente salto indirecto al enlace del siguiente salto de reenvío en la tabla de reenvío del motor de reenvío de paquetes. Cuando la indirect-next-hop
instrucción se elimina o se desactiva de la configuración, este indicador cambia a 0x2
. Los enrutadores de la serie MX de Junos con el chipset Trio Modular Port Concentrator (MPC) admiten el siguiente salto indirecto de forma predeterminada y no se pueden deshabilitar. Por lo tanto, incluso si indirect-next-hop
no está configurado en forwarding-options
, la función funcionará de forma predeterminada. Por lo tanto, 0x3
el indicador no es aplicable para el concentrador de puerto modular (MPC) Trio.
El show krt indirect-next-hop
comando está oculto y, por lo tanto, no está documentado. El show krt indirect-next-hop
comando se muestra aquí porque es el único comando que comprueba la característica indirecta del salto siguiente. El mejor método de verificación es, por supuesto, monitorear el rendimiento de la red durante la reconvergencia después de una falla de ruta.