Este documento describe la función del algoritmo de mejor ruta del protocolo de gateway fronterizo (BGP).
Los routers BGP generalmente reciben múltiples trayectorias al mismo destino. El algoritmo de mejor trayectoria del BGP decide cuál es la mejor trayectoria que se debe utilizar para la instalación de la tabla de ruteo de IP y para el reenvío de tráfico.
Suponga que todas las trayectorias que un router recibe para un prefijo específico están ordenadas en una lista. La lista es similar al resultado del comando show ip bgp longer-prefixes. En este caso, algunas trayectorias no se consideran candidatas a la mejor trayectoria. Por lo general, el resultado del comando show ip bgp longer-prefixes no indica que estas trayectorias son válidas. Los routers ignoran las trayectorias en los siguientes casos:
Las trayectorias que están marcadas como no sincronizadas en el resultado de show ip bgp longer-prefixes.
Si la sincronización de BGP está habilitada, debe haber una coincidencia para el prefijo en la tabla de ruteo de IP para que una trayectoria de BGP interno (iBGP) sea considerada válida. Originalmente, la sincronización BGP se habilitaba de forma predeterminada en el software Cisco IOS®. Si la ruta que coincide se aprende de un vecino OSPF (Open Shortest Path First), su ID de router OSPF debe coincidir con el ID de router BGP del vecino iBGP. La mayoría de los usuarios prefiere inhabilitar la sincronización con el subcomando no synchronization de BGP.
Rutas para las cuales NEXT_HOP es inaccesible.
Asegúrese de que haya una ruta con Interior Gateway Protocol (IGP) a NEXT_HOP que esté asociada con la trayectoria.
Trayectorias de un vecino BGP externo (eBGP) si el sistema autónomo local (AS) aparece en AS_PATH.
Estas trayectorias se niegan al ingresar al router y ni siquiera se instalan en la Base de información de ruteo (RIB) BGP. Lo mismo se aplica a cualquier trayectoria que sea denegada por una política de ruteo que se implemente a través de acceso, prefijo, AS_PATH o listas de comunidad, a menos que haya configurado neighbor soft-reconfiguration inbound para el vecino.
Si habilitó bgp enforce-first-as y UPDATE no contiene el AS del vecino como el primer número AS en AS_SEQUENCE.
En este caso, el router envía una notificación y cierra la sesión.
Rutas marcadas como (sólo recibidas) en la show ip bgp longer-prefixes salida
La política ha rechazado estas trayectorias. Sin embargo, el router ha almacenado las trayectorias porque usted ha configurado soft-reconfiguration inbound para el vecino que envía la trayectoria.
El BGP asigna la primera trayectoria válida como la mejor trayectoria actual. El BGP luego compara la mejor trayectoria con la trayectoria siguiente en la lista de trayectorias válidas, hasta que alcanza el final de la lista. Esta lista proporciona las reglas que se utilizan para determinar la mejor trayectoria:
Opte por la trayectoria con el parámetro WEIGHT más alto.
Opte por la trayectoria con el parámetro LOCAL_PREF más alto.
Opte por la trayectoria que se originó localmente a través de un subcomando network o aggregate de BGP o a través de la redistribución desde un IGP.
Las trayectorias locales que se originan con el comando network o con el comando redistribute se prefieren en lugar de las direcciones agregadas locales que se originan con el comando aggregate-address.
Opte por la trayectoria con el parámetro AS_PATH más corto.
Opte por la trayectoria con el tipo de origen más bajo.
Opte por la trayectoria con el discriminador de salida múltiple (MED) más bajo.
Opte por trayectorias eBGP antes que por trayectorias iBGP.
Si se selecciona la mejor trayectoria, avance al Paso 9 (múltiples trayectorias).
Opte por la trayectoria con la métrica IGP más baja al salto siguiente de BGP.
Continuar, incluso si ya se seleccionó la mejor trayectoria.
Determinar si las múltiples trayectorias deben instalarse en la tabla de ruteo para BGP Multipath.
Continuar si el aún no se seleccionó la trayectoria preferida.
Cuando ambas trayectorias son externas, opte por la trayectoria que se recibió primero (la más vieja).
Este paso minimiza la inestabilidad de ruta porque una trayectoria más nueva no desplaza una más vieja, incluso si la trayectoria más nueva sería la ruta preferida de acuerdo con los siguientes criterios de decisión (pasos 11, 12 y 13).
Omita este paso si alguna de las siguientes afirmaciones es verdadera:
Usted ha habilitado el comando bgp best path compare-routerid.
El ID del router es lo mismo para múltiples trayectorias porque las rutas fueron recibidas del mismo router.
No hay ninguna mejor trayectoria actual.
La mejor trayectoria actual se puede perder si, por ejemplo, el vecino que ofrece la trayectoria deja de funcionar.
Opte por la ruta que proviene del router BGP con el ID del router más bajo.
Si no se configura manualmente, el ID del router se selecciona como la dirección IP más alta en una interfaz de loopback. Si no existen interfaces de loopback, se selecciona como la dirección IP más alta en una interfaz física activa. Puede utilizar el comando bgp router-id para establecer manualmente el ID del router.
Si el ID del punto de origen o del router es el mismo para múltiples trayectorias, opte por la trayectoria con la lista de clústeres de longitud mínima,
que solo está presente en los entornos RR BGP. Permite que los clientes se igualen con RR o con clientes en otros clústeres. En este escenario, el cliente debe ser consciente del atributo BGP específico de RR.
Opte por la trayectoria que proviene de la dirección de vecino más baja.
Esta dirección es la dirección IP que se utiliza en la neighbor configuración BGP. La dirección corresponde al peer remoto que se utiliza en la conexión TCP con el router local.
En este ejemplo, hay 9 trayectorias disponibles para la red 10.30.116.0/23. El comando show ip bgp network muestra las entradas en la tabla de ruteo BGP para la red dada.
Router R1#show ip bgp vpnv4 rd 1100:1001 10.30.116.0/23
BGP routing table entry for 1100:1001:10.30.116.0/23, version 26765275
Paths: (9 available, best #6, no table)
Advertised to update-groups:
1 2 3
(65001 64955 65003) 65089, (Received from a RR-client)
172.16.254.226 (metric 20645) from 172.16.224.236 (172.16.224.236)
Origin IGP, metric 0, localpref 100, valid, confed-internal
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65008 64955 65003) 65089
172.16.254.226 (metric 20645) from 10.131.123.71 (10.131.123.71)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65001 64955 65003) 65089
172.16.254.226 (metric 20645) from 172.16.216.253 (172.16.216.253)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65001 64955 65003) 65089
172.16.254.226 (metric 20645) from 172.16.216.252 (172.16.216.252)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(64955 65003) 65089
172.16.254.226 (metric 20645) from 10.77.255.57 (10.77.255.57)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(64955 65003) 65089
172.16.254.226 (metric 20645) from 10.57.255.11 (10.57.255.11)
Origin IGP, metric 0, localpref 100, valid, confed-external, best
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
!--- BGP selects this as the Best Path on comparing
!--- with all the other routes and selected based on lower router ID.
(64955 65003) 65089
172.16.254.226 (metric 20645) from 172.16.224.253 (172.16.224.253)
Origin IGP, metric 0, localpref 100, valid, confed-internal
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
(65003) 65089
172.16.254.226 (metric 20645) from 172.16.254.234 (172.16.254.234)
Origin IGP, metric 0, localpref 100, valid, confed-external
Extended Community: RT:1100:1001
mpls labels in/out nolabel/362
65089, (Received from a RR-client)
172.16.228.226 (metric 20645) from 172.16.228.226 (172.16.228.226)
Origin IGP, metric 0, localpref 100, valid, confed-internal
Extended Community: RT:1100:1001
mpls labels in/out nolabel/278
BGP selecciona la mejor trayectoria de estas 9 trayectorias a través de la consideración de varios atributos que se explican en este documento. En el resultado que se muestra aquí, BGP compara las trayectorias disponibles y selecciona la trayectoria 6 como la mejor trayectoria basada en su ID de router inferior.
Comparing path 1 with path 2: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP The paths have different neighbor AS's so ignoring MED Both paths are internal (no distinction is made between confed-internal and confed-external) Both paths have an IGP metric to the NEXT_HOP of 20645 Path 2 is better than path 1 because it has a lower Router-ID. Comparing path 2 with path 3: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 2 is better than path 3 because it has a lower Router-ID. Comparing path 2 with path 4: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 2 is better than path 4 because it has a lower Router-ID. Comparing path 2 with path 5: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 5 is better than path 2 because it has a lower Router-ID. Comparing path 5 with path 6: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 5 because it has a lower Router-ID. Comparing path 6 with path 7: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are internal (no distinction is made between confed-internal and confed-external) Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 7 because it has a lower Router-ID. Comparing path 6 with path 8: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP Both paths have the same neighbor AS, 65089, so comparing MED. Both paths have a MED of 0 Both paths are confed-external Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 8 because it has a lower Router-ID. Comparing path 6 with path 9: Both paths have reachable next hops Both paths have a WEIGHT of 0 Both paths have a LOCAL_PREF of 100 Both paths are learned Both paths have AS_PATH length 1 Both paths are of origin IGP The paths have different neighbor AS's so ignoring MED Both paths are internal (no distinction is made between confed-internal and confed-external) Both paths have an IGP metric to the NEXT_HOP of 20645 Path 6 is better than path 9 because it has a lower Router-ID. The best path is #6
El atributo de comunidades extendidas, que se llama BGP Cost Community, permite personalizar el proceso de selección de mejor trayectoria. Un paso adicional, en el cual se comparan comunidades de costos, se agrega al algoritmo que se describe en la secciónCómo Funciona el Algoritmo de Mejor Trayectoria. Este paso se realiza después del paso obligatorio (punta de la inserción) en el algoritmo. Se prefiere la trayectoria con el valor de costo más bajo.
BGP Multipath permite instalar, en la tabla de ruteo de IP, múltiples trayectorias BGP con el mismo destino. Estas trayectorias se instalan en la tabla junto con la mejor trayectoria para el uso compartido de carga. BGP Multipath no afecta la selección de la mejor trayectoria. Por ejemplo, un router todavía designa una de las trayectorias como la mejor trayectoria, según el algoritmo, y anuncia esta mejor trayectoria a sus vecinos.
Estas son las funciones de BGP Multipath:
eBGP Multipath - maximum-paths n
iBGP Multipath - maximum-paths ibgp n
eiBGP Multipath - maximum-paths eibgp
Para ser candidatas a múltiples trayectorias, las trayectorias con el mismo destino deben tener las siguientes características iguales a las características de la mejor trayectoria:
Peso
Preferencia local
Longitud AS-PATH
Origen
MED
Alguna de estas:
AS o sub-AS vecino (antes de agregar la función eiBGP Multipath).
AS-PATH (después de agregar la función eiBGP Multipath).
Para algunas funciones de BGP Multipath, las candidatas a trayectorias múltiples deben cumplir requisitos adicionales.
Estos son los requisitos adicionales para las múltiples trayectorias eBGP:
La ruta de acceso se debe aprender de un vecino externo o de confederación externa (eBGP).
La métrica IGP al siguiente salto BGP debe ser igual a la métrica IGP de mejor trayectoria.
Estos son los requisitos adicionales para las múltiples trayectorias iBGP:
La ruta de acceso se debe aprender de un vecino interno (iBGP).
La métrica IGP al siguiente salto BGP debe ser igual a la métrica IGP de mejor trayectoria, a menos que el router esté configurado para múltiples trayectorias iBGP de costo desigual.
El BGP inserta hasta n trayectorias más recientemente recibidas de las candidatas a múltiples trayectorias en la tabla de ruteo de IP. El valor máximo de n varía según la plataforma y la versión de software. Las plataformas más antiguas pueden admitir tan solo 6 rutas, mientras que las plataformas modernas pueden admitir 16, 32 o más. El valor predeterminado, cuando es la función de múltiples trayectorias está inhabilitada, es 1.
Para un balanceo de carga de costos diferentes, también puede utilizar el BGP Link Bandwidth.
| Revisión | Fecha de publicación | Comentarios |
|---|---|---|
6.0 |
28-Apr-2026
|
Formato |
5.0 |
02-Dec-2024
|
Formato y enlaces fijos. |
4.0 |
11-Jul-2023
|
Título, introducción y formato actualizados.
Se Agregó Información Básica. |
3.0 |
22-Jun-2022
|
Actualizado a las directrices de traducción automática. |
1.0 |
10-Dec-2001
|
Versión inicial |