Sesiones multihop de BGP
Descripción de EBGP Multihop
El BGP es un protocolo de puerta de enlace exterior (EGP) que se utiliza para intercambiar información de enrutamiento entre enrutadores de diferentes sistemas autónomos (AS). Las siguientes son dos formas de establecer ebGP multihop entre enrutadores:
Cuando los pares de BGP externos (EBGP) no están directamente conectados entre sí, deben cruzar uno o más enrutadores que no sean BGP para comunicarse entre sí.
La configuración del EBGP multihop permite que los pares pasen por los otros enrutadores para formar relaciones de pares e intercambiar mensajes de actualización. Este tipo de configuración se suele usar cuando un dispositivo de enrutamiento de Juniper Networks necesita ejecutar EBGP con un enrutador de terceros que no permita la conexión directa de los dos pares de EBGP. El multihop ebGP permite una conexión de vecino entre dos pares EBGP que no tienen una conexión directa.
El comportamiento predeterminado de una conexión EBGP es emparejar a través de un único salto físico mediante la dirección de interfaz física del par. En algunos casos, es ventajoso alterar este comportamiento de EBGP de emparejamiento físico, de un salto y predeterminado. Uno de estos casos es cuando varios vínculos físicos conectan dos enrutadores que serán pares ebGP. En este caso, si uno de los vínculos punto a punto falla, la accesibilidad en el vínculo alternativo sigue existiendo.

En la figura 1, el enrutador R1 pertenece al AS 1 y el enrutador R2 pertenece al AS 2. Los dos vínculos físicos entre los enrutadores se utilizan para el equilibrio de carga. El emparejamiento multihop EBGP también funciona con un vínculo físico.
El siguiente ejemplo de configuración ayuda a establecer una sola sesión de emparejamiento de BGP en estos múltiples vínculos físicos:
Cada enrutador debe establecer la sesión de emparejamiento con la dirección de circuito cerrado del enrutador remoto. Puede configurar esta sesión mediante la
local-addressinstrucción, que altera la información de encabezado de dirección par en los paquetes BGP.Utilice la
multihopinstrucción para alterar el uso predeterminado de la dirección física del vecino. Además, también puede especificar un valor de tiempo de vida (TTL) en los paquetes BGP para controlar la distancia que se propagan. Usamos un valor TTL de 1 para garantizar que la sesión no se pueda establecer en ningún otro vínculo de puerta trasera de la red.Nota:Cuando se configura el multihop, Junos OS establece el valor TTL de 64 de forma predeterminada.
Un valor TTL de 1 es suficiente para habilitar una sesión de EBGP a la dirección de circuito cerrado de un vecino conectado directamente.
Cada enrutador debe tener capacidad de enrutamiento IP a la dirección de circuito cerrado del enrutador remoto. Esta capacidad se logra a menudo mediante el uso de una ruta estática para asignar la dirección de circuito cerrado a las direcciones físicas de la interfaz.
[edit protocols bgp group ext-peers]
type external;
local-address 192.168.3.4;
neighbor 172.16.128.1 {
multihop ttl 1;
}
[edit routing-options]
static {
route 172.16.128.1 next-hop (10.10.1.1 | 10.10.2.1);
}
Consulte también
Ejemplo: Configurar sesiones multihop de EBGP
En este ejemplo, se muestra cómo configurar un par de BGP externo (EBGP) que está a más de un salto de distancia del enrutador local. Este tipo de sesión se denomina sesión de BGP multihop .
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
La configuración para habilitar sesiones de EBGP multihop requiere conectividad entre los dos pares de EBGP. En este ejemplo, se usan rutas estáticas para proporcionar conectividad entre los dispositivos.
A diferencia de las sesiones de EBGP conectadas directamente en las que normalmente se usan direcciones físicas en las neighbor instrucciones, debe usar direcciones de interfaz de circuito cerrado para el EBGP de varios pasos especificando la dirección de interfaz de circuito cerrado del par conectado indirectamente. De esta manera, el multihop de EBGP es similar al BGP interno (IBGP).
Por último, debe agregar la multihop instrucción. De forma opcional, puede establecer un valor máximo de tiempo de duración (TTL) con la ttl instrucción. El TTL se lleva en el encabezado IP de los paquetes BGP. Si no especifica un valor TTL, se utiliza el valor TTL máximo predeterminado del sistema. El valor TTL predeterminado es 64 para sesiones de EBGP multihop. Otra opción es conservar el valor del salto siguiente del BGP para los anuncios de ruta mediante la inclusión de la no-nexthop-change instrucción.
Figura 2 muestra una red de múltiples plataformas EBGP típica.
Los dispositivos C y E tienen una sesión ebGP establecida. El dispositivo D no es un dispositivo habilitado para BGP. Todos los dispositivos tienen conectividad a través de rutas estáticas.

Configuración
- Configuración rápida de CLI
- Dispositivo C
- Configuración del dispositivo D
- Configuración del dispositivo E
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 C
set interfaces fe-1/2/0 unit 9 description to-D set interfaces fe-1/2/0 unit 9 family inet address 10.10.10.9/30 set interfaces lo0 unit 3 family inet address 192.168.40.4/32 set protocols bgp group external-peers type external set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.40.4 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 18 set protocols bgp group external-peers neighbor 192.168.6.7 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.14/32 next-hop 10.10.10.10 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.10 set routing-options router-id 192.168.40.4 set routing-options autonomous-system 17
Dispositivo D
set interfaces fe-1/2/0 unit 10 description to-C set interfaces fe-1/2/0 unit 10 family inet address 10.10.10.10/30 set interfaces fe-1/2/1 unit 13 description to-E set interfaces fe-1/2/1 unit 13 family inet address 10.10.10.13/30 set interfaces lo0 unit 4 family inet address 192.168.6.6/32 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.9 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.14 set routing-options router-id 192.168.6.6
Dispositivo E
set interfaces fe-1/2/0 unit 14 description to-D set interfaces fe-1/2/0 unit 14 family inet address 10.10.10.14/30 set interfaces lo0 unit 5 family inet address 192.168.6.7/32 set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.6.7 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 17 set protocols bgp group external-peers neighbor 192.168.40.4 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.8/30 next-hop 10.10.10.13 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.13 set routing-options router-id 192.168.6.7 set routing-options autonomous-system 18
Dispositivo C
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 C:
Configure la interfaz en el dispositivo conectado directamente (a D) y configure la interfaz de circuito cerrado.
[edit interfaces fe-1/2/0 unit 9] user@C# set description to-D user@C# set family inet address 10.10.10.9/30 [edit interfaces lo0 unit 3] user@C# set family inet address 192.168.40.4/32
Configure una sesión de EBGP con el dispositivo E.
La
neighborinstrucción apunta a la interfaz de circuito cerrado en el dispositivo E.[edit protocols bgp group external-peers] user@C# set type external user@C# set local-address 192.168.40.4 user@C# set export send-static user@C# set peer-as 18 user@C# set neighbor 192.168.6.7
Configure la instrucción multihop para permitir que los dispositivos C y E se conviertan en pares de EBGP.
Dado que los pares están a dos saltos entre sí, el ejemplo usa la
ttl 2instrucción.[edit protocols bgp group external-peers] user@C# set multihop ttl 2
Configure la conectividad al dispositivo E mediante rutas estáticas.
Debe configurar una ruta tanto a la dirección de interfaz de circuito cerrado como a la dirección de la interfaz física.
[edit routing-options] user@C# set static route 10.10.10.14/32 next-hop 10.10.10.10 user@C# set static route 192.168.6.7/32 next-hop 10.10.10.10
Configure el ID de enrutador local y el número de sistema autónomo (AS).
[edit routing-options] user@C# set router-id 192.168.40.4 user@C# set autonomous-system 17
Configure una política que acepte rutas directas.
Otras opciones útiles para este escenario podrían ser aceptar rutas aprendidas a través de OSPF o rutas locales.
[edit policy-options policy-statement send-static term 1] user@C# set from protocol static user@C# set then accept
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@C# show interfaces
fe-1/2/0 {
unit 9 {
description to-D;
family inet {
address 10.10.10.9/30;
}
}
}
lo0 {
unit 3 {
family inet {
address 192.168.40.4/32;
}
}
}
user@C# show protocols
bgp {
group external-peers {
type external;
multihop {
ttl 2;
}
local-address 192.168.40.4;
export send-static;
peer-as 18;
neighbor 192.168.6.7;
}
}
user@C# show policy-options
policy-statement send-static {
term 1 {
from protocol static;
then accept;
}
}
user@C# show routing-options
static {
route 10.10.10.14/32 next-hop 10.10.10.10;
route 192.168.6.7/32 next-hop 10.10.10.10;
}
router-id 192.168.40.4;
autonomous-system 17;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración. Repita estos pasos para todas las sesiones de BGP en la topología.
Configuración del dispositivo D
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 D:
Establezca la CLI en el dispositivo D.
user@host> set cli logical-system D
Configure las interfaces a los dispositivos conectados directamente y configure una interfaz de circuito cerrado.
[edit interfaces fe-1/2/0 unit 10] user@D# set description to-C user@D# set family inet address 10.10.10.10/30 [edit interfaces fe-1/2/1 unit 13] user@D# set description to-E user@D# set family inet address 10.10.10.13/30 [edit interfaces lo0 unit 4] user@D# set family inet address 192.168.6.6/32
Configure la conectividad con los demás dispositivos mediante rutas estáticas a las direcciones de interfaz de circuito cerrado.
En el dispositivo D, no necesita rutas estáticas a las direcciones físicas, ya que el dispositivo D está conectado directamente al dispositivo C y al dispositivo E.
[edit routing-options] user@D# set static route 192.168.40.4/32 next-hop 10.10.10.9 user@D# set static route 192.168.6.7/32 next-hop 10.10.10.14
Configure el ID del enrutador local.
[edit routing-options] user@D# set router-id 192.168.6.6
Resultados
Desde el modo de configuración, ingrese los comandos y show routing-options para confirmar la show interfaces configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@D# show interfaces
fe-1/2/0 {
unit 10 {
description to-C;
family inet {
address 10.10.10.10/30;
}
}
}
fe-1/2/1 {
unit 13 {
description to-E;
family inet {
address 10.10.10.13/30;
}
}
}
lo0 {
unit 4 {
family inet {
address 192.168.6.6/32;
}
}
}
user@D# show protocols
user@D# show routing-options
static {
route 192.168.40.4/32 next-hop 10.10.10.9;
route 192.168.6.7/32 next-hop 10.10.10.14;
}
router-id 192.168.6.6;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración. Repita estos pasos para todas las sesiones de BGP en la topología.
Configuración del dispositivo E
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 E:
Establezca la CLI en el dispositivo E.
user@host> set cli logical-system E
Configure la interfaz en el dispositivo conectado directamente (a D) y configure la interfaz de circuito cerrado.
[edit interfaces fe-1/2/0 unit 14] user@E# set description to-D user@E# set family inet address 10.10.10.14/30 [edit interfaces lo0 unit 5] user@E# set family inet address 192.168.6.7/32
Configure una sesión de EBGP con el dispositivo E.
La
neighborinstrucción apunta a la interfaz de circuito cerrado en el dispositivo C.[edit protocols bgp group external-peers] user@E# set local-address 192.168.6.7 user@E# set export send-static user@E# set peer-as 17 user@E# set neighbor 192.168.40.4
Configure la instrucción para permitir que los
multihopdispositivos C y E se conviertan en pares de EBGP.Dado que los pares están a dos saltos entre sí, el ejemplo usa la
ttl 2instrucción.[edit protocols bgp group external-peers] user@E# set multihop ttl 2
Configure la conectividad al dispositivo E mediante rutas estáticas.
Debe configurar una ruta tanto a la dirección de interfaz de circuito cerrado como a la dirección de la interfaz física.
[edit routing-options] user@E# set static route 10.10.10.8/30 next-hop 10.10.10.13 user@E# set static route 192.168.40.4/32 next-hop 10.10.10.13
Configure el ID de enrutador local y el número de sistema autónomo (AS).
[edit routing-options] user@E# set router-id 192.168.6.7 user@E# set autonomous-system 18
Configure una política que acepte rutas directas.
Otras opciones útiles para este escenario podrían ser aceptar rutas aprendidas a través de OSPF o rutas locales.
[edit policy-options policy-statement send-static term 1] user@E# set from protocol static user@E# set then accept
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@E# show interfaces
fe-1/2/0 {
unit 14 {
description to-D;
family inet {
address 10.10.10.14/30;
}
}
}
lo0 {
unit 5 {
family inet {
address 192.168.6.7/32;
}
}
}
user@E# show protocols
bgp {
group external-peers {
multihop {
ttl 2;
}
local-address 192.168.6.7;
export send-static;
peer-as 17;
neighbor 192.168.40.4;
}
}
user@E# show policy-options
policy-statement send-static {
term 1 {
from protocol static;
then accept;
}
}
user@E# show routing-options
static {
route 10.10.10.8/30 next-hop 10.10.10.13;
route 192.168.40.4/32 next-hop 10.10.10.13;
}
router-id 192.168.6.7;
autonomous-system 18;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
- Verificar la conectividad
- Verificar que se establezcan sesiones de BGP
- Visualización de rutas anunciadas
Verificar la conectividad
Propósito
Asegúrese de que el dispositivo C pueda hacer ping al dispositivo E, especificando la dirección de interfaz de circuito cerrado como el origen de la solicitud de ping.
La dirección de interfaz de circuito cerrado es la dirección de origen que utilizará el BGP.
Acción
Desde el modo operativo, ingrese el comando desde el ping 10.10.10.14 source 192.168.40.4 dispositivo C y escriba el comando desde el ping 10.10.10.9 source 192.168.6.7 dispositivo E.
user@C> ping 10.10.10.14 source 192.168.40.4 PING 10.10.10.14 (10.10.10.14): 56 data bytes 64 bytes from 10.10.10.14: icmp_seq=0 ttl=63 time=1.262 ms 64 bytes from 10.10.10.14: icmp_seq=1 ttl=63 time=1.202 ms ^C --- 10.10.10.14 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.202/1.232/1.262/0.030 ms
user@E> ping 10.10.10.9 source 192.168.6.7 PING 10.10.10.9 (10.10.10.9): 56 data bytes 64 bytes from 10.10.10.9: icmp_seq=0 ttl=63 time=1.255 ms 64 bytes from 10.10.10.9: icmp_seq=1 ttl=63 time=1.158 ms ^C --- 10.10.10.9 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.158/1.206/1.255/0.049 ms
Significado
Las rutas estáticas funcionan si los pings funcionan.
Verificar que se establezcan sesiones de BGP
Propósito
Verifique que las sesiones del BGP estén activas.
Acción
Desde el modo operativo, ingrese el show bgp summary comando.
user@C> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.6.7 18 147 147 0 1 1:04:27 0/2/2/0 0/0/0/0
user@E> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.40.4 17 202 202 0 1 1:02:18 0/2/2/0 0/0/0/0
Significado
El resultado muestra que ambos dispositivos tienen un par cada uno. No hay pares caídos.
Visualización de rutas anunciadas
Propósito
Compruebe que BGP anuncie las rutas.
Acción
Desde el modo operativo, ingrese el show route advertising-protocol bgp neighbor comando.
user@E> show route advertising-protocol bgp 192.168.6.7 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.14/32 Self I * 192.168.6.7/32 Self I
user@C> show route advertising-protocol bgp 192.168.40.4 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.8/30 Self I * 192.168.40.4/32 Self I
Significado
La send-static política de enrutamiento está exportando las rutas estáticas de la tabla de enrutamiento al BGP. El BGP anuncia estas rutas entre los pares porque se establece la sesión de par del BGP.
