IP : Routing IP

Algoritmo de selección del mejor trayecto BGP

23 Marzo 2008 - Traducción manual
Otras Versiones: PDFpdf | Traducción Automática (31 Julio 2013) | Inglés (21 Mayo 2012) | Comentarios

Contenidos

Introducción
Requisitos previos
     Requisitos
     Componentes utilizados
     Convenciones
Por qué los routers no tienen en cuenta los trayectos
Cómo funciona el mejor algoritmo del trayecto
Personalización del proceso de selección del trayecto
BGP Multipath
Discusiones relacionadas de la comunidad de soporte de Cisco

Introducción

Normalmente, los routers del Border Gateway Protocol (BGP) reciben diversos trayectos para el mismo destino. El algoritmo de selección del mejor trayecto BGP decide cuál es el mejor trayecto para instalar la tabla de IP Routing y utilizar el reenvío de tráfico.

Requisitos previos

Requisitos

No hay requisitos específicos para este documento.

Componentes utilizados

Este documento no tiene restricciones específicas en cuanto a versiones de software y de hardware.

Convenciones

Consulte Convenciones sobre consejos técnicos de Cisco para obtener más información sobre convenciones del documento.

Por qué los routers no tienen en cuenta los trayectos

Todos los trayectos que un router recibe para un prefijo determinado están ordenados en una lista. La lista es similar al resultado del comando show ip bgp longer-prefixes . En este caso, no se tendrán en cuenta algunos trayectos como candidatos a mejor trayecto. Normalmente, dichos trayectos no tienen un indicador válido en el resultado del comando show ip bgp longer-prefixes . Los routers no tienen en cuenta los trayectos en las circunstancias siguientes:

  • Los trayectos que están marcados como not synchronized (sin sincronizar) en el resultado del comando show ip bgp longer-prefixes

    Si la sincronización de BGP está habilitada, tiene que haber una correlación para el prefijo en la tabla IP Routing para considerar que un trayecto BGP interno (iBGP) es válido. De forma predeterminada, la sincronización de BGP está habilitada en el software Cisco IOS®. Si la información de la ruta coincidente se obtiene de un vecino Open Shortest Path First (OSPF), el ID del router OSPF deberá coincidir con el ID del router BGP del vecino iBGP. La mayoría de los usuarios prefieren inhabilitar la sincronización mediante el subcomando no synchronization de BGP.

    Nota: De forma predeterminada, la sincronización está desactivada en el software IOS de Cisco versión 12.2(8)T y posteriores.

  • Los trayectos para los que NEXT_HOP no es accesible

    Asegúrese de que el trayecto tenga asociada una ruta IGP (Protocolo de gateway interior) a NEXT_HOP.

  • Los trayectos de un vecino BGP externo (eBGP) si el sistema autónomo local (AS) aparece en AS_PATH

    Estos trayectos se rechazan al ingresar en el router y ni siquiera se instalan en la base de información de ruteo (RIB) de BGP. Lo mismo ocurre con cualquier trayecto rechazado por una política de ruteo implementada mediante listas de acceso, prefijos, AS_PATH o listas de comunidad, a menos que haya configurado soft-reconfiguration inbound para el vecino.

  • Si ha habilitado bgp enforce-first-as y UPDATE no contiene el AS del vecino como primer número de AS en AS_SEQUENCE

    En este caso, el router envía una notificación y cierra la sesión.

  • Los trayectos que están marcados como (received-only) (sólo recibidos) en el resultado del comando show ip bgp longer-prefixes

    La política ha rechazado estos trayectos. No obstante, el router ha almacenado los trayectos, ya que ha configurado soft-reconfiguration inbound para el vecino que envía el trayecto.

Cómo funciona el mejor algoritmo del trayecto

BGP asigna el primer trayecto válido como mejor trayecto actual. A continuación, compara dicho mejor trayecto con el siguiente trayecto de la lista, hasta llegar al final de la lista de trayectos válidos. Esta lista proporciona las reglas que se utilizan para determinar el mejor trayecto:

  1. Preferir el trayecto que tenga el mayor WEIGHT.

    Nota: WEIGHT es un parámetro específico de Cisco. Se trata de un parámetro local del router en el que está configurado.

  2. Preferir el trayecto con el mayor LOCAL_PREF.

    Nota: Se considera que a un trayecto sin LOCAL_PREF se le ha establecido el valor con el comando bgp default local-preference, o que de forma predeterminada tiene el valor 100.

  3. Preferir el trayecto que se ha originado localmente a través del subcomando de BGP network o aggregate o mediante una redistribución de un IGP.

    Se prefieren los trayectos locales que tienen su origen en los comandos network o redistribute sobre los agregados locales que tienen su origen en aggregate-address .

  4. Preferir el trayecto que tenga el AS_PATH más corto.

    Nota: Tenga en cuenta los siguientes puntos:

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

    • Un AS_SET cuenta como 1, con independencia del número de AS configurados.

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

  5. Preferir el trayecto con el tipo de origen más corto.

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

  6. Preferir el trayecto con el discriminador de salidas múltiples (MED) más bajo.

    Nota: Tenga en cuenta los siguientes puntos:

    • Esta comparación sólo se efectúa si el primer AS (el vecino) es el mismo en los dos trayectos. No se tiene en cuenta ningún subAS de la confederación.

      Dicho de otro modo, los MED se comparan sólo si el primer AS de AS_SEQUENCE es el mismo para diversos trayectos. Se omite cualquier AS_CONFED_SEQUENCE que preceda.

    • Si bgp always-compare-med está habilitado, los MED se compararán en todos los trayectos.

      Debe inhabilitar esta opción en todo el AS, de lo contrario, podrían producirse bucles de ruteo.

    • Si bgp bestpath med-confed está habilitado, los MED se compararán en todos los trayectos que sólo estén compuestos de AS_CONFED_SEQUENCE.

      Estos trayectos se han originado dentro de la confederación local.

    • El MED de los trayectos que se reciben de un vecino con un MED de 4.294.967.295 se cambia antes de insertarlo en la tabla BGP. El MED cambia a 4.294.967.294.

    • A los trayectos que se reciben sin MED se les asigna un MED de 0, a menos que tenga habilitado bgp bestpath missing-as-worst.

      Si ha habilitado bgp bestpath missing-as-worst, se asignará a los trayectos un MED de 4.294.967.294.

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

      Consulte Cómo los routers BGP utilizan el discriminador de salidas múltiples para una mejor selección del trayecto para ver una demostración.

  7. Preferir los trayectos eBGP sobre los trayectos iBGP.

    Si selecciona bestpath, vaya al paso 9 (multipath).

    Nota: Los trayectos que contienen AS_CONFED_SEQUENCE y AS_CONFED_SET se consideran locales en la confederación. Por consiguiente, dichos trayectos se tratan como si fueran internos. No se distingue entre Confederación externa y Confederación interna.

  8. Preferir el trayecto que tenga la métrica IGP más baja al salto siguiente (next hop) BGP.

    Continúe, aunque bestpath ya esté seleccionado.

  9. Determinar si es preciso instalar varios trayectos en la tabla de ruteo para BGP Multipath (varios trayectos BGP)

    Continúe, si bestpath todavía no está seleccionado.

  10. Cuando ambos trayectos son externos, preferir el trayecto que se recibió primero (el más antiguo).

    Este paso permite minimizar la inestabilidad de rutas, ya que un trayecto nuevo no desplaza el viejo, incluso aunque el trayecto más nuevo sea la ruta preferida basándose en el siguiente criterio de decisión (pasos 11, 12 y 13).

    Omita este paso si alguno de los puntos siguientes es cierto:

    • Ha habilitado el comando bgp best path compare-routerid.

      Nota: Las versiones del software Cisco IOS 12.0.11S, 12.0.11SC, 12.0.11S3, 12.1.3, 12.1.3AA, 12.1.3.T, y 12.1.3.E han introducido este comando.

    • El ID del router es el mismo para varios trayectos ya que las rutas se han recibido desde el mismo router.

    • No hay mejor trayecto actual.

      El mejor trayecto actual se puede perder cuando, por ejemplo, el vecino que ofrece el trayecto se desactiva.

  11. Preferir la ruta que viene del router BGP con el ID de router más bajo.

    El ID de router es la dirección IP más alta del router, y se da preferencia a las direcciones de loopback (bucle de retorno). Asimismo, se puede utilizar el comando bgp router-id para establecer manualmente el ID del router.

    Nota: Si un trayecto contiene atributos de reflector de ruta (RR), se sustituirá el ID originador por el ID del router en el proceso de selección del trayecto.

  12. Si el ID originador o el ID del router es el mismo para varios trayectos, prefiera el trayecto con una longitud de lista de agrupamiento mínima.

    Esto sólo se encuentra en entornos RR de BGP. Permite a los clientes establecer conexiones de par en otros agrupamientos. En este caso, el cliente debe ser consciente del atributo BGP específico de RR.

  13. Preferir el trayecto que viene de la dirección vecina más pequeña.

    Esta dirección es la dirección IP utilizada en la configuración neighbor de BGP. La dirección corresponde al par remoto utilizado en la conexión TCP con el router local.

Personalización del proceso de selección del trayecto

El atributo de comunidad extendida, denominado BGP Cost Community (Comunidad de costo BGP), proporciona una forma de personalizar el proceso de selección del mejor trayecto. Un paso adicional en el que las comunidades de costo se comparan se añade al algoritmo descrito en la sección Cómo funciona el mejor algoritmo del trayecto. Este paso sigue al paso obligatorio (punto de inserción) del algoritmo. Se prefiere el trayecto con el valor de costo más bajo.

Nota: Tenga en cuenta los siguientes puntos:

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

  • La cláusula de establecimiento de la comunidad de costo se configura con un número de ID de comunidad de costo (de 0 a 255) y un valor de número de costo (de 0 a 4.294.967.295). El valor del número de costo determina la preferencia por el trayecto. Se preferirá el trayecto que tenga el valor de número de costo más bajo. A los trayectos que no se configuren específicamente con el valor de número de costo se les asigna un valor de número de costo predeterminado de 2.147.483.647. Este valor constituye el punto medio entre 0 y 4.294.967.295. A continuación, estos trayectos se evalúan en consecuencia según el proceso de selección de mejor trayecto. Si se configuran dos trayectos con el mismo valor de número de costo, el proceso de selección de trayecto preferirá el trayecto con el ID de comunidad más bajo.

  • Actualmente, sólo se implementa el punto de inserción IGP_COST. Esto significa que las comunidades de costo con el punto de inserción IGP_COST se tienen en cuenta después del paso 8 del algoritmo en Cómo funciona el algoritmo de mejor trayecto.

BGP Multipath

BGP Multipath permite instalar en la tabla IP Routing varios trayectos BGP para el mismo destino. Dichos trayectos se instalan en la tabla junto con el mejor trayecto por motivos de distribución de carga. BGP Multipath no influye en la selección de bestpath. Por ejemplo, un router sigue designando uno de los trayectos como mejor trayecto, de acuerdo con el algoritmo, y anuncia este mejor trayecto a sus vecinos.

A continuación indicamos cuáles son las características de BGP Multipath:

Para ser candidatos a multipath, los trayectos hacia el mismo destino deben tener las siguientes características igual que las de best-path:

  • Peso

  • Preferencia local

  • Longitud AS-PATH

  • Origen

  • MED

  • Uno de los siguientes:

Algunas funciones de BGP Multipath agregan requisitos adicionales a los candidatos a multipath.

A continuación, indicamos los requisitos adicionales para eBGP multipath:

  • La información del trayecto debe obtenerse de un vecino externo o externo a la confederación (eBGP).

  • La métrica IGP al salto siguiente (next hop) de BGP debe ser igual a la métrica IGP del mejor trayecto.

A continuación, indicamos los requisitos adicionales para iBGP multipath:

  • La información del trayecto debe obtenerse de un vecino interno (iBGP).

  • La métrica IGP al salto siguiente (next hop) de BGP debe ser igual que la métrica del mejor trayecto IGP, a menos que el router esté configurado para un multipath iBGP de costo desigual.

BGP inserta un máximo de n trayectos recibidos más recientemente de los candidatos a multipath en la tabla IP Routing. Actualmente, el valor máximo de n es 6. El valor predeterminado cuando multipath está inhabilitado es de 1.

En el caso del balance de carga de costo desigual, puede utilizar también Ancho de banda del enlace de BGP.

Nota: El next-hop-self equivalente se ejecuta en el mejor trayecto que se selecciona entre los multipath eBGP antes de reenviarlo a sus pares internos.


Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Document ID: 13753