De acuerdo

Comprensión de la protección de bucle para el protocolo BGP

194 0 0 0 0

Hola a todos,



Mi intención con esta publicación es mostrar en un documento justo todos los mecanismos de prevención del bucle BGP. Presentaré recursos y procesos al respecto. Espero que pueda hacerlo más fácil y ayudarlo a comprender mejor. Sin embargo, si alguien encuentra algunos errores y tiene nueva información, compártala con nosotros.


 

PROTECCIÓN DE BUCLE EBGP


Mecanismo basado en el atributo AS-PATH


Después de recibir la ruta eBGP, el dispositivo verifica el atributo AS-Path y descarta cualquier información de actualización de ruta que contenga el número AS recibido del par eBGP.


Cuando un ISP origina o anuncia una red en Internet, su número AS se inserta en la ruta AS. En algunas situaciones, sucede que uno de sus pares o un cliente le anuncia esta misma red originada desde su AS. Por lo tanto, puede recibir un prefijo en el que su número AS está presente. En este caso, el prefijo y la actualización de BGP se ignoran silenciosamente.


Esta situación es común cuando los clientes y sus proveedores upstream están vinculados de una manera que la conectividad global está completamente entrelazada, cerrando el ciclo.


103224amycqpf1koj8wutv.png?EBGP LOOP.png


Atributo AS-PATH


El atributo AS_Path tiene cuatro tipos:


AS_Sequence: registra en orden inverso todos los AS por los que pasa una ruta desde el dispositivo local hasta el destino.


AS_Set: registra sin orden todos los AS por los que pasa una ruta desde el dispositivo local hasta el destino. El atributo AS_Set se utiliza en escenarios de resumen de ruta. Después del resumen de ruta, el dispositivo registra los números de AS no secuenciados porque no puede secuenciar los números de AS a través de los cuales pasan rutas específicas. No importa cuántos números AS contenga un AS_Set, BGP considera el AS_Set como un número AS al calcular rutas.


AS_Confed_Set: registra sin orden todos los sub-AS dentro de una confederación BGP a través de los cuales pasa una ruta desde el dispositivo local hasta el destino. El atributo AS_Confed_Set se utiliza en escenarios de resumen de ruta en una confederación.


 AS_Confed_Sequence: registra en orden inverso todos los sub-AS dentro de una confederación BGP a través de los cuales pasa una ruta desde el dispositivo local al destino.


Los atributos AS_Confed_Sequence y AS_Confed_Set se utilizan para evitar bucles de enrutamiento y para seleccionar rutas entre los diversos sub-AS en una confederación.


PROTECCIÓN DE BUCLE IBGP


De acuerdo con la regla de anuncio de ruta BGP, el par IBGP no anuncia ninguna información de actualización de ruta al par IBGP.


La función de horizonte dividido IBGP se utiliza para evitar bucles en un AS y el RR rompe el horizonte dividido.


103427pzyyyj2d2i581au2.png?BGP Split.png

Es posible prevenir este comportamiento de dos formas:


  • Crea vecindad bgp de malla completa entre nodos


  • Sin embargo, la malla bgp completa es bastante molesta, hay otra forma llamada reflectores de ruta.


REFLECTOR DE RUTA:


Para garantizar la conectividad entre pares IBGP, debe establecer conexiones de malla completa entre pares IBGP. Si hay n dispositivos en un AS, es necesario establecer n (n-1) / 2 conexiones IBGP. Cuando hay una gran cantidad de dispositivos, se consumen muchos recursos de red y recursos de CPU. Se puede usar un reflector de ruta (RR) entre pares IBGP para resolver este problema.


En un AS, un enrutador funciona como un reflector de ruta (RR) y los otros enrutadores como clientes. Los clientes establecen conexiones IBGP con RR. El RR y sus clientes forman un grupo. El RR refleja rutas entre clientes y no es necesario establecer conexiones BGP entre los clientes.


103530zvqoh82khk8jwepl.png?BGP_RR.png


PREVENCIÓN DE BUCLE RR:


Con la introducción de un RR, existe la posibilidad de que se produzca un bucle de selección de ruta en un AS. Un paquete de actualización de ruta que abandona un grupo puede intentar regresar al grupo.


El método de ruta de AS tradicional no puede detectar el bucle interno del AS porque el paquete de actualización de ruta no ha salido del AS.


Al configurar un RR, BGP proporciona las siguientes medidas para evitar bucles en el AS:


 

ATRIBUTO CLUSTER_LIST


Cluster_List es un atributo opcional y no excesivo. El tipo de atributo es 10, que registra la lista de todos los Cluster_ids por los que pasa la ruta y agrega el último Cluster_id al frente de Cluster_list.


Un RR y sus clientes forman un clúster, que se identifica mediante un ID de clúster único en un AS. Para evitar bucles de enrutamiento entre clústeres, un RR utiliza el atributo Cluster_List para registrar los ID de clúster de todos los clústeres por los que pasa una ruta.


  • Cuando varios RR proporcionan redundancia para los clientes, las actualizaciones de enrutamiento entre RR pueden provocar bucles. Para evitar bucles, se introduce el clúster.


  • Cuando una ruta es reflejada por un RR por primera vez, el RR agrega el ID del clúster local al principio de la lista del clúster. Si no hay una lista de clústeres, el RR crea un atributo Cluster_List.


  • Al recibir una ruta actualizada, el RR comprueba la lista de agrupaciones de la ruta. Si la lista de clústeres contiene el ID de clúster local, el RR descarta la ruta. Si la lista de clústeres no contiene el ID de clúster local, el RR agrega el ID de clúster local a la lista de clústeres y luego refleja la ruta.


103704ocn6fpncet2040c9.png?BGP_cluster_List.png


ATRIBUTO DE ORIGINATOR_ID


Originator_id también se utiliza para la protección del anillo RR. Es un atributo opcional no excesivo y su tipo de atributo es 9. Originator_id es creado por el primer reflector y no es cambiado por el reflector siguiente. Funciona como un informe y debe recibirse solo de IBGP. Si la ruta se origina en el AS local: Originator_id es el Router_id del remitente, y la ruta se origina en el AS no local. Originator_id es el Router_id del enrutador de borde del AS local. El reflector descarta la actualización de ruta cuyo Originator_id es el mismo que el de Router_id.


El ID del originador identifica al originador de una ruta y es generado por un RR para evitar bucles de enrutamiento en un clúster. Su valor es el mismo que el ID del enrutador.


Cuando una ruta es reflejada por un RR por primera vez, el RR agrega el atributo Originator_ID a esta ruta. El atributo Originator_ID identifica al originador de la ruta. Si la ruta contiene el atributo Originator_ID, el RR retiene este atributo Originator_ID.


Cuando un dispositivo recibe una ruta, el dispositivo compara el ID del originador de la ruta con el ID del enrutador local. Si son iguales, el dispositivo descarta la ruta.


103800ixap3k5zihg2xs33.png?BGP_originator_ID.png


RR de respaldo


Para garantizar la confiabilidad de la red y evitar puntos únicos de fallas, se requieren RR redundantes en un clúster. Un RR permite que un dispositivo BGP anuncie las rutas recibidas de un par IBGP a otros pares IBGP. Por lo tanto, pueden producirse bucles de enrutamiento entre RR en el mismo clúster. Para resolver este problema, todos los RR del clúster deben usar el mismo ID de clúster.


103849d4h2tiwsm9dfwqww.png?BGP_RR_BKP.png


CONFEDERACIÓN BGP


BGP Confederations es otro mecanismo para evitar la topología de malla completa iBGP como los reflectores de ruta


Las confederaciones BGP nos permiten dividir un único AS en uno o más AS y asignar todo el grupo a un único AS. En otras palabras, en este mecanismo de BGP, hay sistemas autónomos dentro de la topología iBGP. Cada AS más pequeño deberá tener una malla completa dentro de su propio AS. Aunque estos AS tendrán pares EBGP de AS dentro de la confederación, intercambian enrutamiento como si estuvieran usando IBGP; Se conserva la información de preferencia local, métrica y siguiente salto. El Sistema Autónomo superior aún existe y los nuevos Sub AS se han conectado a este AS y forman la Confederación BGP.


104031sz083809119fgr6b.png?BGP Confederation.png


Atributos de la Confederación BGP:


  • El atributo Next_Hop de las rutas externas de la confederación permanece sin cambios cuando las rutas se anuncian dentro de la confederación.


  • El atributo MED de las rutas anunciadas a una confederación permanece sin cambios cuando las rutas se anuncian dentro de la confederación.


  • El atributo Local_Pref de las rutas permanece sin cambios cuando las rutas se anuncian dentro de la confederación.




En BGP estándar, el atributo AS_PATH contiene dos parámetros:


  • AS_SET: conjunto desordenado de AS que ha atravesado una ruta


  • AS_SEQUENCE: conjunto ordenado de AS que ha atravesado una ruta


En el caso de una confederación, se introducen dos parámetros adicionales:


  • AS_CONFED_SET: conjunto desordenado de sub-AS que ha atravesado una ruta en la confederación


  • AS_CONFED_SEQUENCE: conjunto ordenado de sub-AS que ha atravesado una ruta en la confederación



Los componentes AS_SEQ y AS_SET ayudan a prevenir bucles entre sistemas autónomos, AS_CONFED_SEQ y AS_CONFED_SET ayudan a prevenir bucles dentro de los sistemas autónomos de la confederación.


Antes de que los pares eBGP de la confederación puedan anunciar una ruta iBGP en otro sub-AS, el enrutador debe asegurarse de que el sub-AS de destino no esté ya en el segmento AS_PATH AS_CONFED_SEQ.


Cuando se anuncia una ruta a través de un miembro de la confederación AS, el número de AS de miembro de la confederación se añade al AS_Path de la ruta, pero el número de AS de miembro de la confederación no se anuncia fuera de la confederación. Una conexión eBGP entre sub-AS también sirve como una especie de mecanismo para evitar bucles.


104409paab7mgr7mmm8lgj.png?BGP_Confed_Set.png


Al final de estos pasos, todos los enrutadores dentro de ASN 100 han aprendido el prefijo 59.1.1.0/24. Además, ASN 300 se enteró de una ruta para ese mismo prefijo. De hecho, desde la perspectiva de ASN 300, ve una ruta que parece pasar por las ASN 100 y 300.



Saludos!


Referencias:

https://support.huawei.com/enterprise/en/doc/EDOC1100055468/587f795f/bgp-fundamentals

https://forum.huawei.com/enterprise/en/bgp-fundamentals-24-bgp-confederation/thread/561999-863

https://forum.huawei.com/enterprise/en/forum.php?mod=viewthread&tid=529741

https://tutorzine.com/bgp-confederations-route-reflectors/

https://netquarks.wordpress.com/2016/04/08/bgp-as_path-part-ii/

https://ipcisco.com/lesson/bgp-confederation/



Enlaces relacionados:

Configuración de Enrutamiento Estático en Router AR 2200

Despliegue de OSPF

Uso de L3VPN en ISP de tránsito

Alto CPU en un AR por incremento de tráfico

  • x
  • convención:

Comentar

Debe iniciar sesión para responder la publicación Inicio de sesión | Registrarse
Responder

Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”

My Followers

¡Ingresa y disfruta de todos los beneficios para los miembros!

Inicia sesión

Bloquear
¿Estás seguro de bloquear a este usuario?
Los usuarios en lista negra no pueden comentar tus publicaciones,no pueden mencionarte,no pueden enviarte mensajes privados.
Recordatorio
Agrega tu número de teléfono para obtener un bono de invitación.