Configuración del comportamiento de reenvío de paquetes
Descripción de los próximos saltos indirectos
Junos OS admite el concepto de un próximo salto indirecto para todos los protocolos de enrutamiento que admiten próximos saltos 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 depende de las rutas de los protocolos de enrutamiento de intraAS (OSPF, IS-IS, RIP y estáticos) para resolver el siguiente salto directamente conectado mejor. El motor de enrutamiento realiza la resolución de rutas para determinar el siguiente salto directamente conectado e instala la ruta al motor de reenvío de paquetes.
De forma predeterminada, Junos OS no mantiene la ruta para el próximo salto indirecto al enlace del siguiente salto al siguiente salto en la tabla de reenvío del motor de reenvío de paquetes. Como resultado, cuando se produce un evento de reenrutamiento, potencialmente se deben actualizar miles de rutas para reenviar enlaces del próximo salto, lo que aumenta el tiempo de convergencia de ruta. La Figura 1 muestra la ruta de reenvío de enlaces del próximo salto con el siguiente salto indirecto deshabilitado.
Puede habilitar Junos OS para mantener el siguiente salto indirecto para reenviar el enlace 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 rutas. La Figura 2 muestra la ruta de reenvío de enlaces del próximo salto con el siguiente salto indirecto habilitado.
Ejemplo: Optimización de la reconvergencia de ruta mediante la habilitación de 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) mediante la disminución del número de cambios de 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 se conectan mediante rutas de costo desigual. Desde el dispositivo R1 hasta el dispositivo R2, la ruta que pasa por el dispositivo R3 tiene una métrica de IGP más alta que la ruta a través del dispositivo R4. El dispositivo R1 tiene una conexión BGP interna al 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 saltos próximos indirectos. Un protocolo de puerta de enlace interior, en este caso OSPF, se ejecuta en los vínculos internos de 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 que Junos OS mantenga el siguiente salto indirecto para reenviar el enlace 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 en caso de que se produzca 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 de todos los dispositivos en 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, luego, copie y pegue los comandos en la CLI en el [edit]
nivel de 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
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la 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 predeterminada estática para la accesibilidad de la red.
[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
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la 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 políticas 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 para el 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
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la 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 políticas 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 del 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 su configuración mediante la emisión de los show interfaces
comandos , show protocols
show policy-options
, yshow routing-options
. Si el resultado no muestra la configuración deseada, repita las instrucciones en 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, como se muestra en configuración rápida de CLI.
Verificación
Confirme que la configuración funciona correctamente.
Verificar que las rutas tengan el indicador de próximo salto indirecto esperado
Propósito
Asegúrese de que el dispositivo R2 está configurado para mantener el siguiente salto indirecto para reenviar el enlace 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 de la salida indica que el dispositivo R2 está configurado para mantener el siguiente salto indirecto al enlace del salto siguiente en la tabla de reenvío del motor de reenvío de paquetes. Cuando la indirect-next-hop
instrucción se elimina o desactiva de la configuración, esta marca cambia a 0x2
. Los enrutadores de la serie MX de Junos con chipset de concentrador de puertos modulares (MPC) Trio admiten el próximo 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
la marca no se aplica para el concentrador de puertos modulares (MPC) de 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 este es el único comando que verifica la función indirecta del próximo salto. 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.