El Border Gateway Protocol (BGP) fue creado para ofrecer una gestión más eficiente de las comunicaciones internas y externas entre los diferentes ASes (Autonomous Systems, sistemas autónomos). En el pasado, los desarrollos tecnológicos trajeron los protocolos TCP/IP (Transmission Control Protocol e Internet Protocol, protocolo de control de transmisión y protocolo de Internet) para superar las limitaciones del NCP (Network Control Program, programa de control de red), lo que aumentó significativamente el número de dispositivos conectados. Este enfoque aumentó las conexiones de red, la topología y la formación de grandes ASes con sus propios conjuntos de reglas y políticas de enrutamiento, interconectados a través de enlaces virtuales y gestionados por una entidad u organización.
Hoy en día, a través de su constante crecimiento, el Internet, como una tecnología abierta, ha llegado a ser una red compleja y dinámica. En consecuencia, las organizaciones de diferentes sectores demandan infraestructuras especializadas que superen los desafíos de BGP para implementar sus aplicaciones con servicios de suministro personalizado, escalabilidad automática, seguridad, localización de datos, enrutamiento inteligente, movilidad y baja latencia. En este blog, te presentamos los principales desafíos del BGP, algunas de sus principales amenazas y vulnerabilidades, además de cómo Azion supera estos desafíos para ofrecer un enrutamiento seguro en el edge.
¿Cómo funciona el BGP?
El BGP fue diseñado para intercambiar rutas, direcciones IP y tomar decisiones de enrutamiento basadas en un conjunto de reglas configuradas previamente por un administrador. Cuando la comunicación se realiza entre enrutadores en un solo AS se denomina iBGP (Internal Border Gateway Protocol, protocolo de puerta de enlace interno) y cuando ocurre entre diferentes AS, se denomina eBGP (External Border Gateway Protocol, protocolo de puerta de enlace externo). El BGP es un protocolo dinámico que garantiza la estabilidad de la red (por ejemplo, al evitar bucles) y la disponibilidad de nuevas rutas en caso de posibles fallas. Sin embargo, el BGP no es un vector de ruta inteligente, como un protocolo de estado de enlace programable donde automáticamente hace todo por sí mismo. Con el BGP, debes dar las instrucciones con anticipación y hacer el mismo proceso a otro peer para que entre en funcionamiento el servicio. En las siguientes secciones ampliaremos esta información al mostrarte los desafíos actuales y las vulnerabilidades relacionados con el BGP.
Desafíos de usar el BGP
Crecimiento de la tabla de enrutamiento
Cuando los sistemas autónomos obtienen un bloque de direcciones IP únicas, deben anunciarlo a través de una tabla de enrutamiento. Este anuncio obliga a todos los AS del mundo a descubrir los nuevos prefijos que ahora están activos. Desde sus inicios, la incorporación de nuevos prefijos ha mostrado un crecimiento exponencial debido a la expansión de Internet. En un informe presentado por CIDR en noviembre de 2021, se mostró que los prefijos IPv4 y IPv6 alcanzaron 900 000 y 150 000 entradas respectivamente, con un aumento aproximado del 5 % respecto al año anterior. La siguiente figura muestra ese comportamiento y cómo estamos alcanzando el límite para IPv4 (direcciones 4E + 9), donde parte del mismo no está disponible para su uso. De esta forma, el crecimiento de la tabla de enrutamiento afecta el fenómeno de “exploración de rutas”, lo que produce una convergencia lenta en Internet.
Eficiencia
La accesibilidad y el enrutamiento entre los AS se están volviendo más complejos a medida que aumenta el número de AS. Ya no es el caso en el cual debes guiar a los usuarios hacia el contenido, sino que este llegue a los usuarios. Por lo tanto, el BGP no fue creado para tener el control de estas condiciones y procedimientos, lo que define al BGP como no apropiado o ineficiente para aprovechar el mejor desempeño de una plataforma de red distribuida y su correcto funcionamiento.
Por ejemplo, los mercados comerciales modernos requieren alta capacidad de almacenamiento, suministro de contenido personalizado, 100 % de disponibilidad, procesamiento de datos en tiempo real, observabilidad y el respaldo de una infraestructura inteligente para construir e implementar aplicaciones. La falta de uno de estos pilares puede causar que las empresas pierdan el control de sus servicios, detengan procesos de trabajo o brinden una experiencia de usuario insatisfactoria, entre otros.
Gestión de la memoria en BGP peers
El BGP es sincrónico; significa que es necesario reservar una cierta cantidad a priori de memoria en los BGP peers para procesar tareas específicas. Si se alcanza un cierto umbral, el BGP eliminará una sesión externa (eBGP) para liberar recursos de memoria hasta que su capacidad esté exenta de este umbral. Por tanto, con esa sesión inactiva, el BGP enviará tu solicitud a través de otra ruta sin tu conocimiento previo.
Programabilidad
Cuando hablamos de conocimiento y toma de decisiones, el BGP no considera esto. No conoce los atributos de la red, como la pérdida de paquetes, el desempeño, la latencia y la experiencia del usuario. Debido a que BGP ignora estos y otros parámetros, simplemente envía tu solicitud a un lugar que no es necesariamente el mejor. La falta de capacidad de programación es un problema, ya que no es posible implementar reglas inteligentes para la toma de decisiones en tiempo real. Por ello, los investigadores de todo el mundo intentan buscar herramientas adicionales que ayuden al BGP a satisfacer esta necesidad.
Propagación de rutas
La propagación de rutas es una forma de hacer anuncios entre dominios vecinos, el cual es realizado en un salto a la vez. El BGP suele ser un protocolo relativamente lento porque la convergencia de propagación de rutas es lenta. Los aspectos limitantes principales de la convergencia del BGP son el tamaño de la tabla, el retardo del anuncio, el intervalo mínimo del anuncio de ruteo (MRAI), la configuración del nivel de transporte y la sobrecarga de procesamiento de las actualizaciones del BGP. Es decir, procesar una gran cantidad de entradas podría causar una carga de trabajo significativa en los enrutadores, lo que afecta directamente la latencia del enrutamiento (el tiempo que tardan los enrutadores en converger). Por lo tanto, los administradores deben asignar recursos computacionales a priori para satisfacer el crecimiento del tamaño de la tabla de enrutamiento y las nuevas técnicas para reducir estas cargas de trabajo. En ausencia de políticas, el BGP usa métricas basadas en la longitud del atributo AS_PATH, que no es adecuado para redes altamente distribuidas.
Amenazas y vulnerabilidades
Azion es miembro fundador del programa para las CDN (Content Delivery Network, redes de suministro de contenido) y los servicios en la nube que forma parte de la iniciativa MANRS, de la Internet Society, cuyo objetivo es educar y mitigar las amenazas más comunes del sistema de enrutamiento. Azion, así como también sus otros miembros, buscan mejorar la infraestructura de enrutamiento por medio de las siguientes acciones específicas:
- evitar la propagación de rutas falsas;
- evitar el tráfico de fuentes no autorizadas;
- facilitar la comunicación y coordinación globales;
- facilitar la validación de la información de enrutamiento a escala global, y
- fomentar la adopción de la iniciativa MANRS.
En cuanto a las amenazas que afectan al sistema de enrutamiento, estas pueden emerger de una configuración incorrecta, ataques malintencionados o desafíos tecnológicos que aún están presentes en el BGP. Por ejemplo, la dependencia del BGP con respecto al protocolo de control de transmisión, lo hace vulnerable a ataques basados en el TCP. Además, debido a la complejidad de su configuración, el BGP es sensible a cualquier error durante los procesos de mantenimiento. Por lo tanto, la implementación de información maliciosa o un simple error de enrutamiento puede hacer que las empresas tengan largas interrupciones y dejarlas susceptibles a ataques de seguridad. Las principales amenazas relacionadas al BGP son:
- Configuración y cambios de peering incorrectos: es una vulnerabilidad del BGP causada por una configuración incorrecta de emparejamiento (peering) entre los AS. Esto puede suceder por varios motivos, como ataques de hackers, fallas en los equipos o malas prácticas de mantenimiento, lo que afecta en el funcionamiento del BGP y por tanto en toda la red.
- Oscilación de estado de rutas (Route Flapping): es un evento en la red generado por una alta tasa de actualizaciones en el estado de una ruta (por ejemplo, disponible y no disponible). Route Flapping provoca un estado inestable, lo que resulta en una pérdida de paquetes de datos y una disminución del tráfico que circula en la red.
- Manipulación del BGP: es un ataque en el que un hacker modifica el contenido de la tabla de enrutamiento con el objetivo de enviar paquetes de datos a otros destinos y sin el conocimiento del remitente.
- Denegación de servicio del BGP (DoS): es un tipo de ataque en el que hackers envían una gran cantidad de datos o solicitudes a una máquina o dispositivo de red con el objetivo de reducir los recursos computacionales para el procesamiento de tráfico legítimo del BGP.
- Secuestro de ruta de BGP: es un tipo de ataque en el que hackers redirigen el tráfico de Internet a sitios no deseados. Para lograr esto, los hackers usan BGP para anunciar falsamente la propiedad de los grupos de direcciones IP de una víctima y redirigir parte o todo el tráfico de la víctima a un dominio falso o inexistente.
Cómo Azion proporciona un edge routing confiable
A medida que los consumidores, los trabajadores y las empresas cambian cada vez más sus estilos de vida, las empresas se han visto obligadas a cambiar sus esfuerzos para brindar servicios más digitalizados. Esto dio lugar a una gran cantidad de dispositivos conectados a Internet y a una red altamente distribuida con servicios proporcionados más cerca de los usuarios finales. Para las empresas, la complejidad de gestionar esta gran cantidad de dispositivos es atendida a través de la automatización de la infraestructura operativa. Para Azion, la automatización es un pilar esencial en nuestro negocio, pero no nuestro único objetivo.
Nuestro enfoque principal es encontrar abstracciones de red efectivas (network abstractions) que permitan la construcción e implementación de aplicaciones confiables, al ofrecer a nuestros clientes un alto nivel de seguridad y observabilidad, lo que significa tratar el protocolo BGP de forma abstracta.
Como sabemos, la red principal de Internet se construyó sobre BGP en conjunto con DNS. Investigaciones sobre el desarrollo de redes proponen diferentes enfoques para automatizar el proceso de direcciones y reducir su latencia. Sin embargo, Azion va más allá, no solo automatizamos los procesos sino que también pensamos en su simplificación y optimización. Con Azion Edge Traffic Router, aprovechamos su capacidad de programación de red, lo que permite un nuevo enfoque para la configuración de rutas de red e implementar reglas avanzadas.
Por este motivo, Azion ha emprendido un nuevo enfoque para ofrecer un servicio de enrutamiento en el edge que permite el monitoreo y la gestión inteligente del enrutamiento de datos. Esto quiere decir que Azion Edge Traffic Router elige las rutas de una forma dinámica con base en mediciones realizadas en tiempo real con respecto al desempeño de las conexiones de red, lo que garantiza que los paquetes siempre se entreguen a través de la mejor ruta, al mejorar el desempeño y la confiabilidad de la infraestructura, al mismo tiempo que se reduce la latencia de la transferencia de contenido y habilita el monitoreo del estado de la red.
Las decisiones de enrutamiento están basadas en los datos de latencia, throughput y disponibilidad recopilados de millones de flujos de red cada segundo y con monitoreo de usuarios reales (Real User Monitoring) (Edge Pulse de Azion), así como en problemas de conectividad, como la retransmisión de un paquete o la congestión de la red, en conjunto con otros parámetros como BGP, la ubicación del usuario, las condiciones del edge node (por ejemplo: CPU, disco IO, otros) y más.
El enrutamiento definido por software de Azion permite una respuesta en tiempo real a fallas y congestión dentro de nuestra red y en la Internet pública. Nuestro Azion Edge Traffic Router es un concepto de software basado en un plano de control desagregado que permite agregar fácilmente nuevas funciones, escalar para manejar grandes redes, además de brindar aislamiento de fallas y otros beneficios.
También, para construir una Internet más segura y confiable, debemos protegernos contra las numerosas vulnerabilidades que afectan a la infraestructura web. Para ello, Azion es miembro fundador del programa para las CDN y de los servicios en la nube que forma parte de la iniciativa MANRS, de la Internet Society, para fortalecer la seguridad del enrutamiento de Internet. De esta forma y más allá de nuestros diversos procedimientos de seguridad, buscamos evitar la propagación de información de enrutamiento incorrecta, de tráfico de direcciones IP de origen ilegítimas a través de acciones específicas y de otras interrupciones comunes que resultan del error humano.
Azion es una plataforma de edge full-stack que simplifica y agiliza la forma en la que construyes mejores aplicaciones. Hemos construido una solución de varias capas que mantiene los sitios web en funcionamiento y es capaz de equilibrar la carga y optimizar el tráfico para garantizar la disponibilidad. Aprovecha nuestras más de 100 edge locations distribuidas globalmente y utiliza Azion para orquestar tu implementación de multi-cloud, en las instalaciones o en dispositivos remotos.
¿Quieres probar toda nuestra suite de productos? Puedes crear una cuenta gratis y obtener 300 USD en crédito o entrar en contacto con nuestros expertos para comenzar tu transformación digital y migrar al edge.
¡En Azion, estamos contratando! Si deseas trabajar con estas tecnologías y construir el futuro de la computación con nosotros, consulta todas las vacantes en nuestra sección Trabaja en Azion.