Contenido

Introducción

Antecedentes

Por qué los Routers Ignoran las Trayectorias

Cómo Funciona el Algoritmo de Mejor Trayectoria

Ejemplo: Selección de la Mejor Trayectoria BGP

Personalización del Proceso de Selección de Trayectoria

BGP Multipath

Información Relacionada

Introducción

Este documento describe la función del algoritmo de mejor ruta del protocolo de gateway fronterizo (BGP).

Antecedentes

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.

Por qué los Routers Ignoran las Trayectorias

Suponga que todas las trayectorias que un router recibe para un prefijo específico están ordenadas en una lista. La lista es similar a la salida del show ip bgp longer-prefixes comando. En este caso, algunas trayectorias no se consideran candidatas a la mejor trayectoria. Tales trayectorias normalmente no tienen el indicador válido en la salida de la show ip bgp longer-prefixes comando. Los routers ignoran las trayectorias en los siguientes casos:

- Las rutas marcadas como no sincronizadas en el show ip bgp longer-prefixes resultado.

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. La sincronización de BGP está habilitada de manera predeterminada en Cisco IOS® Software. 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 prefieren deshabilitar la sincronización con el uso de no synchronization subcomando BGP.

Nota: La sincronización está desactivada de forma predeterminada en Cisco IOS® Software Release 12.2(8)T y posteriores.

- 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 ha activado 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 de acceso marcadas como (sólo recibidas) en el show ip bgp longer-prefixes resultado

La política ha rechazado estas trayectorias. Sin embargo, el router ha almacenado las rutas porque usted ha configurado soft-reconfiguration inbound para el vecino que envía el trayecto.

Cómo Funciona el Algoritmo de Mejor 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:

1. Opte por la trayectoria con el parámetro WEIGHT más alto.

Nota: WEIGHT es un parámetro específico de Cisco. Es específico del router en el que se configura.

2. Opte por la trayectoria con el parámetro LOCAL_PREF más alto.

Nota: Se considera que una ruta sin LOCAL_PREF tiene el valor definido con el bgp default local-preference o tener un valor de 100 de forma predeterminada.

3. Prefiera la ruta que se originó localmente a través de un network or aggregate subcomando BGP o mediante redistribución desde un IGP.

Rutas de acceso locales originadas por el network or redistribute se prefieren los comandos sobre los agregados locales que son originados por el aggregate-address comando.

Nota: tenga en cuenta lo siguiente:

- Si AIGP está configurado Y el bgp bestpath aigp ignore no está configurado, el proceso de decisión considera la métrica AIGP. Consulte Configuración del Atributo de Métrica AIGP para BGP para obtener más detalles.

4. Opte por la trayectoria con el parámetro AS_PATH más corto.

Nota: Tenga en cuenta lo siguiente:

- Este paso se omite si ha configurado el bgp bestpath as-path ignore comando.

-Un AS_SET equivale a 1, independientemente de la cantidad de AS que haya en el conjunto.

-AS_CONFED_SEQUENCE y AS_CONFED_SET no se incluyen en la longitud de AS_PATH.

5. Opte por la trayectoria con el tipo de origen más bajo.

Nota: IGP es inferior al protocolo de gateway exterior (EGP) y EGP es inferior a INCOMPLETE.

6. Opte por la trayectoria con el discriminador de salida múltiple (MED) más bajo.

Nota: Tenga en cuenta lo siguiente:

-Esta comparación ocurre solamente si el primer AS (el vecino) es el mismo en las dos trayectorias. Se ignora cualquier sub-AS de confederación.

Es decir, los MED se comparan solamente si el primer AS en AS_SEQUENCE es el mismo para múltiples trayectorias. Se ignora cualquier AS_CONFED_SEQUENCE que preceda.

- Si bgp always-compare-med está habilitado, los MED se comparan para todas las trayectorias.

Debe inhabilitar esta opción en todo el AS. De lo contratio, pueden producirse loops de ruteo.

- Si bgp bestpath med-confed está habilitado, los MED se comparan para todas las trayectorias que consistan sólo en AS_CONFED_SEQUENCE.

Estas trayectorias se originaron dentro de la confederación local.

- EL MED de las trayectorias que se reciben de un vecino con un MED de 4,294,967,295 se cambia antes de la inserción en la tabla BGP. El MED cambia a 4.294.967.294.

- EL MED de las trayectorias que se reciben de un vecino con un MED de 4,294,967,295 se consideran válidas y se insertan en la tabla BGP con efecto a los Códigos corregidos para el Id. de bug Cisco CSCef34800.

- A las rutas recibidas sin MED se les asigna un MED de 0, a menos que haya habilitado bgp bestpath med missing-as-worst.

Si ha activado bgp bestpath med missing-as-worst, a las trayectorias se les asigna un MED de 4.294.967.294.

Si ha activado bgp bestpath med missing-as-worstAdemás, a las trayectorias se les asigna un MED de 4,294,967,295 con efecto a los Códigos corregidos para el ID de bug Cisco CSCef34800.

-El bgp deterministic-med también puede influir en este paso.

Consulte Cómo los Routers BGP Utilizan el Discriminador de Salida Múltiple para la Selección de la Mejor Trayectoria a fin de ver una demostración.

7. Opte por trayectorias eBGP antes que por trayectorias iBGP.

Si se selecciona la mejor trayectoria, avance al Paso 9 (múltiples trayectorias).

Nota: Las rutas que contienen AS_CONFED_SEQUENCE y AS_CONFED_SET son locales para la confederación. Por lo tanto, estas trayectorias se consideran internas. No hay diferencia alguna entre trayectorias externas a la confederación y trayectorias internas a la confederación.

8. 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.

9. 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.

10. 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:

- Ha activado el bgp best path compare-routerid  comando.

Nota: Cisco IOS® Software Releases 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T y 12.1.3.E introdujeron este comando.

- 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.

11. Opte por la ruta que proviene del router BGP con el ID del router más bajo.

El ID del router es la dirección IP más alta del router, se le da preferencia a a las direcciones Loopback. Además, puede utilizar el bgp router-id para establecer manualmente el ID del router.

Nota: Si una trayectoria contiene atributos de reflector de ruta (RR), el ID de originador se sustituye por el ID de router en el proceso de selección de trayectoria.

12. 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.

13. 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 el BGP neighbor configuración. La dirección corresponde al peer remoto que se utiliza en la conexión TCP con el router local.

Ejemplo: Selección de la Mejor Trayectoria BGP

En este ejemplo, hay 9 rutas disponibles para la red 10.30.116.0/23. 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

Personalización del Proceso de Selección de Trayectoria

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.

Nota: Tenga en cuenta lo siguiente:

- Este paso se omite si ha emitido el bgp bestpath cost-community ignore comando.

- La cláusula de conjunto de comunidad de costes se configura con un número de ID de comunidad de costes (de 0 a 255) y un valor de número de coste (de 0 a 4.294.967.295). El valor numérico del costo determina la preferencia de la trayectoria. Se prefiere la trayectoria con el valor numérico de costo más bajo. Las trayectorias que no estén específicamente configuradas con el valor numérico del costo reciben un valor numérico del costo predeterminado equivalente a 2,147,483,647. Este valor es el punto medio entre 0 y 4,294,967,295. Luego, estas trayectorias son evaluadas de acuerdo a la configuración por el proceso de selección de mejor trayectoria. Si dos trayectorias se configuran con el mismo valor numérico del costo, el proceso de selección de trayectoria prefiere la trayectoria con el ID de comunidad más bajo. Si las trayectorias tienen comunidades de costos con punto de inserción anterior a la mejor trayectoria diferentes, la trayectoria con la comunidad del costo con punto de inserción anterior a la mejor trayectoria de menor valor se selecciona como la mejor trayectoria.

- ABSOLUTE_VALUE se considera el primer paso para determinar el grado de preferencia de una trayectoria. Por ejemplo, cuando EIGRP se redistribuye en VPNv4 BGP, se utiliza el tipo ABSOLUTE_VALUE para la comunidad del costo. IGB_Cost se considera después de que se haya comparado la distancia interior (IGP) al salto siguiente. Esto significa que las comunidades de costos con IGP_COST como punto de inserción se consideran después del paso 8 del algoritmo en Cómo Funciona el Algoritmo de Mejor Trayectoria.

BGP Multipath

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:

- Trayectoria múltiple eBGP: maximum-paths n

- Trayectoria múltiple iBGP: maximum-paths ibgp n

- Trayectoria múltiple eiBGP: 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. Actualmente, el valor máximo de n es 6. 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.

Nota: El next-hop-self equivalente se realiza en la mejor trayectoria que se selecciona entre las trayectorias múltiples eBGP antes de que se reenvíe a los peers internos.

Información Relacionada

- Troubleshooting de BGP

- Cómo los Routers BGP Utilizan el Discriminador de Salida Múltiple para la Selección de la Mejor Trayectoria

- Configuración de BGP

- Página de Soporte de BGP

- Soporte Técnico y Documentación - Cisco Systems