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 admitan 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 se basa en rutas de protocolos de enrutamiento intra-AS (OSPF, SI-SI, RIP y estático) para resolver el siguiente salto mejor conectado directamente. El motor de enrutamiento realiza la resolución de rutas para determinar el próximo salto mejor 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 enlace del próximo salto indirecto al próximo salto de reenvío 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 al próximo salto de reenvío, lo que aumenta el tiempo de convergencia de rutas. La figura 1 ilustra la ruta para reenviar los enlaces de próximo salto con el próximo salto indirecto deshabilitado.
del próximo salto
Puede habilitar Junos OS para mantener el enlace del próximo salto indirecto al próximo salto de reenvío en la tabla de reenvío del motor de reenvío de paquetes. Como resultado, se necesitan actualizar menos enlaces de ruta al siguiente salto de reenvío, lo que mejora el tiempo de convergencia de rutas. La Figura 2 ilustra la ruta para reenviar los enlaces de próximo salto con el próximo salto indirecto habilitado.
indirectos de próximo salto
Ejemplo: Optimización de la reconvergencia de rutas 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 en la tabla de reenvío necesarios cuando se produce un cambio en la topología de red.
Requisitos
No se necesita ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
En este ejemplo, varios dispositivos están conectados a través de rutas de costo desigual. Del dispositivo R1 al R2, la ruta que pasa por el dispositivo R3 tiene una métrica de IGP más alta que la ruta que pasa 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 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 que Junos OS mantenga el enlace indirecto del próximo salto al siguiente salto de reenvío en la tabla de reenvío del motor de reenvío de paquetes. Como resultado, se necesitan actualizar menos enlaces de ruta al próximo salto de reenvío, lo que mejora el tiempo de convergencia de ruta si se produce un error en una ruta.
Topología
La Figura 3 muestra la red de ejemplo.
En la sección Configuración rápida de la CLI , se 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, luego, copie y pegue los comandos en la CLI en el nivel jerárquico [edit] .
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, debe explorar 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 de 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 estática predeterminada para el alcance de la red.
[edit routing-options] user@R0# set static route 0.0.0.0/0 next-hop 10.0.0.2
-
Cuando termine 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, debe explorar 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 de 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 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
-
Cuando termine 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, debe explorar 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 de 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 de AS.
[edit] user@R2# set routing-options autonomous-system 65500
-
Habilite los siguientes saltos indirectos en el plano de reenvío.
[edit] user@R2# set routing-options forwarding-table indirect-next-hop
-
Cuando termine de configurar el dispositivo, confirme la configuración.
[edit] user@R2# commit
Resultados
Confirme la configuración emitiendo los show interfacescomandos , show protocols, show policy-optionsy . show routing-options Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregirla.
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 muestran en la configuración rápida de la CLI.
Verificación
Confirme que la configuración funcione correctamente.
Verificar que las rutas tengan el indicador esperado de salto siguiente indirecto
Propósito
Asegúrese de que el dispositivo R2 está configurado para mantener el enlace del próximo salto indirecto al siguiente salto de reenvío 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
La 0x3 marca de la salida indica que el dispositivo R2 está configurado para mantener el enlace del próximo salto indirecto al próximo 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 desactiva de la configuración, este indicador cambia a 0x2. Los enrutadores de la serie MX de Junos con el conjunto de chips del concentrador de puerto modular (MPC) de Trio admiten el salto siguiente indirecto de forma predeterminada y no se pueden desactivar. Por lo tanto, incluso si indirect-next-hop no está configurado en forwarding-options, la función funcionará de forma predeterminada. Por lo tanto, la 0x3 marca no es aplicable para el concentrador de puerto modular (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 característica de siguiente salto indirecto. 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.