Las 8 Comunidades BGP Más Comunes
¿Qué es una Comunidad BGP?
Una comunidad BGP es un atributo BGP transitivo opcional que se reconoce y se pasa a otros pares BGP. Es posible que vea una comunidad BGP como una etiqueta adjunta a las rutas BGP intercambiadas entre dos pares BGP.
Para comenzar, veamos cómo se ve una comunidad BGP establecida en una ruta en un mensaje de actualización. Considere esta red simple, donde R111 anuncia la ruta 10.10.10.0 / 24 al par AS 11 BGP. R111 establece la comunidad 1:110 en las rutas que anuncia a R11.
Al mirar el mensaje de actualización de BGP de R111 (1.1.3.2) hacia R11 (1.1.3.1), podemos ver varios atributos BGP junto con su valor. Uno de estos atributos BGP es la comunidad. Recuerde, este atributo es opcional y se muestra porque se estableció en la ruta antes de ser anunciado:
Cuando comprobamos la ruta en R11 (porque R11 aceptó la ruta y tampoco ejecuta ninguna operación en la comunidad), podemos ver que la ruta tiene la comunidad 1:110:
R11#show ip bg 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 2Paths: (1 available, best #1, table default) Advertised to update-groups: 1 Refresh Epoch 1 111 1.1.3.2 from 1.1.3.2 (10.10.10.1) Origin IGP, metric 0, localpref 100, valid, external, best Community: 1:110 rx pathid: 0, tx pathid: 0x0R11#
Ahora que has visto cómo se ve una comunidad BGP dentro de un mensaje de actualización, comencemos a explorar los conceptos más avanzados que rodean este atributo.
Conceptos avanzados de Comunidad BGP
Una comunidad es un valor de 32 bits dividido en dos secciones de 16 bits. Los primeros 16 bits codifican el número AS que originó la comunidad y los últimos 16 bits representan un número único asignado por el AS. Debido a que cada número AS es único, cada comunidad también es única en Internet. Esto significa que un AS con el ASN 9999 (que en hex es 0x270F) puede tener comunidades en el rango 0x270F0000 – 0x270FFFFF.
Comunidades BGP bien conocidas
Las siguientes son algunas comunidades bien conocidas que deben ser reconocidas por todas las implementaciones de BGP conscientes de la comunidad.
Comunidad sin publicidad
Cuando una comunidad sin publicidad está asociada a una ruta, el altavoz BGP no anunciará la ruta a ningún par BGP interno o externo.
El siguiente ejemplo muestra una Ruta Sin publicidad (10.10.10.0/24) que no está siendo anunciada por R1 a pares R11, R12, R111.
Comunidad sin exportación
Cuando una comunidad sin exportación está asociada a una ruta, el enrutador no anunciará la ruta a pares externos, solo a pares internos.
El siguiente ejemplo muestra una Ruta sin exportación (10.10.10.0/24) no anunciada por R1, R11 o R12 a su par externo, R111.
En este caso específico, R1 no anunciará la ruta a R111, solo a R11 y R12, porque estos dos son pares BGP internos. Posteriormente, R11 y R12 no anunciarán ninguna ruta a R111 porque es un par BGP externo.
Local COMO Comunidad
Para evitar bucles de enrutamiento BGP, hay una regla importante con respecto a los vecinos BGP internos: un vecino IBGP no puede anunciar una ruta a un vecino IBGP si recibió esa ruta de otro vecino IBGP.
El siguiente ejemplo muestra una Ruta Local AS (10.10.10.0 / 24) que no se anuncia entre vecinos de IBGP (R11 y R111) dentro del local AS.
Más exactamente, R11 anuncia la ruta a R22, pero R22 no anuncia la ruta a R111, según la regla mencionada anteriormente. Para que R111 tenga la ruta, hay múltiples soluciones como crear una malla completa de sesiones IBGP entre los enrutadores de AS11, o dividir el AS 11 en un sub-COMO dentro de una confederación.
El mundo fuera de AS11 no conoce AS 1000 y AS1001. Esto permite que R111 reciba la ruta 10.10.10.0/24 sin tener peering BGP de malla completa. La comunidad Local-AS no anuncia rutas fuera del sub-AS.
Comunidad Graceful Shutdown
La comunidad Graceful_SHUTDOWN (65535: 0) se utiliza para cerrar sin problemas las rutas que un enrutador podría usar cuando su enrutador de pares está a punto de cerrarse intencionalmente. Por ejemplo, supongamos que R111 está usando R11 para llegar a la subred 10.10.10.0/24, pero R11 se apagará para que se actualice un reinicio:
Una vez que R11 anuncia esta comunidad, R111 responde cambiando el tráfico a R12 con un impacto mínimo:
Comunidad extendida
Una comunidad extendida es un valor de 8 bytes que se divide en dos secciones principales:
- Primeros 2 bytes: Especifica el tipo de comunidad
- Últimos 6 bytes: Proporciona información única específica para el tipo de comunidad
Una comunidad extendida tiene tres campos: tipo, administrador, número asignado (tipo:administrador:número asignado). En función del valor del byte de orden alto en el campo Tipo, el campo administrador puede ser una dirección COMO o una dirección IP.
La aplicación más conocida para comunidades extendidas está en MPLS-VPN, que hace uso de dos comunidades extendidas:
- Comunidad de destino de rutas: Identifica los enrutadores que pueden recibir un conjunto específico de rutas.
- Comunidad de origen de la ruta: Identifica los enrutadores que inyectan un conjunto específico de rutas en BGP.
Una tabla de enrutamiento y reenvío virtuales (VRF) es una tabla de enrutamiento virtual que puede tener sus propias políticas de enrutamiento separadas de la tabla de enrutamiento global o de otros VRF. Básicamente, puede conectar varios sitios de un cliente y tener una tabla de enrutamiento (VRF) separada en toda la red solo para este cliente e implementar políticas de enrutamiento que sean diferentes de las políticas de enrutamiento de otro cliente.
Esta separación es posible gracias a las extensiones multiprotocolo BGP y MPLS.
Comunidad de destino de ruta
La comunidad de destino de ruta se utiliza en entornos VPN MPLS para separar dos tablas de enrutamiento de clientes, como se muestra en el siguiente diagrama:
En este caso específico, VRF Customer RED solo está presente en R1 y R12 y VRF Customer BLUE solo está presente en R11 y R22, pero podrían haber estado presentes en los cuatro enrutadores.
Cuando una ruta se exporta a través de BGP desde VRF Red, el objetivo de ruta 100: 100 se asigna a la ruta a través de la exportación. Cuando la ruta llega a R12, importa la ruta desde R1 para que los sitios conectados a R1 y R12 puedan comunicarse.
Comunidad de origen de ruta
En un entorno VPN MPLS, la comunidad de origen de ruta se utiliza para identificar de dónde se originaron las rutas, de modo que se evite la readvertición a ese sitio.
En este caso, cuando PE1 recibe la ruta de CE1, además de la ruta-destino que se adjunta a la ruta (utilizando exportación), también adjunta la comunidad de origen de la ruta.
La ruta llega a PE2, pero PE2 no la anuncia a CE2, porque sabe que vino del sitio.
Comunidades grandes
Una comunidad grande es una comunidad BGP de 12 bytes que se desarrolló cuando comenzó a asignarse el AS de 4 bytes. Dado que cada una de las comunidades estándar o extendidas utiliza valores de 2 bytes para el AS, un AS de 4 bytes no encajaría en el valor estándar de 2 bytes.
The Large community is displayed as follows:
32-bit-ASN:32-bit-value:32-bit-value.
Algoritmo de selección de la mejor ruta de BGP
Como ha visto, las comunidades BGP tienen múltiples aplicaciones. Son importantes para etiquetar rutas, manipular el tráfico y realizar varias acciones en los atributos BGP de rutas que coinciden con comunidades específicas.
Cada vez que un enrutador debe determinar qué camino de muchos tomar a un destino determinado, tiene que seguir el algoritmo de selección de mejor camino de BGP, que evalúa los atributos de BGP. Puedes leer más sobre el algoritmo de selección de la mejor ruta de BGP en nuestro artículo anterior, Atributos de BGP.
Ejemplos de comunidad BGP
Esta sección muestra cómo una comunidad BGP asociada a una ruta puede influir en el tráfico de carga y descarga hacia y desde hosts desde ese prefijo.
Cargar
Hay varias formas de influir en la ruta de tráfico de carga, pero la más común es hacer uso de la preferencia local.
Como ha visto en el artículo Atributos de BGP, cuanto mayor sea el valor de la preferencia local para una ruta, más probable es que el algoritmo de selección de la mejor ruta de BGP elija esa ruta.
En la siguiente ilustración, R11 y R12 están configurados para:
- Establezca la preferencia local en 205 si reciben una ruta con comunidad 1: 205.
- Establezca la preferencia local en 210 si reciben una ruta con comunidad 1: 210.
Ambos enrutadores anuncian las rutas a R1, que debe decidir qué ruta usar. En este caso, R1 utiliza la ruta de R11, lo que significa que el tráfico fluirá de esta manera:
Salida de carga del enrutador
R1#sh ip bgp 10.10.10.0BGP routing table entry for 10.10.10.0/24, version 2Paths: (2 available, best #1, table default) Not advertised to any peer Refresh Epoch 1 111 1.1.3.2 (metric 20) from 1.1.1.2 (1.1.100.11) Origin IGP, metric 0, localpref 210, valid, internal, best Community: 1:210 rx pathid: 0, tx pathid: 0x0 Refresh Epoch 1 111 1.1.4.2 (metric 20) from 1.1.2.2 (1.1.100.12) Origin IGP, metric 0, localpref 205, valid, internal Community: 1:205 rx pathid: 0, tx pathid: 0R1#
Descargar
Una forma común de influir en la ruta de tráfico de descarga (o en la forma en que otros envían tráfico a su SV) es realizar el antepasado AS_PATH para su SV. Cuanto más larga sea la ruta AS_, menos probable será que la ruta sea seleccionada por el mejor algoritmo de selección de ruta.
En la siguiente ilustración, AS 1 prefiere que el tráfico reenviado desde AS 111 se envíe desde R12.
AS 111 (debido a R111) tiene una política que indica que si AS 1 anuncia un prefijo con la comunidad 1:1, realice un antepasado AS_PATH. Por lo tanto, R111 establece el AS_PATH de la ruta as . Si la ruta viene con la comunidad de 1:3, ejecuta tres prepends AS_PATH ().
R111 recibe los dos caminos y debe actuar en base a la comunidad vinculada a esos caminos. Como prefiere la ruta desde la R12, el tráfico fluye así:
Descargar Salida de Enrutador
R111#sh ip bgp 10.10.10.0/24BGP routing table entry for 10.10.10.0/24, version 4Paths: (2 available, best #2, table default) Advertised to update-groups: 6 Refresh Epoch 2 1 1 1 1 1.1.3.1 from 1.1.3.1 (1.1.100.11) Origin IGP, metric 100, localpref 100, valid, external Community: 1:3 rx pathid: 0, tx pathid: 0 Refresh Epoch 2 1 1 1.1.4.1 from 1.1.4.1 (1.1.100.12) Origin IGP, localpref 100, valid, external, best Community: 1:1 rx pathid: 0, tx pathid: 0x0R111#
Resumen
En este artículo, discutimos las comunidades BGP más comunes disponibles para el atributo BGP Community y cómo se usan para dirigir el tráfico. Aunque las comunidades BGP son atributos opcionales, son potentes para enrutamiento de tráfico interno y externo. Incluso puede usarlos para preparar la redirección de tráfico para reinicios y apagados planificados.
Para obtener más información sobre los conceptos de BGP, consulte nuestra Guía para administradores de redes.
Leave a Reply