Protocolo BGP: Relevancia, Conceptos Básicos y Monitorización
El protocolo BGP se ha convertido en una pieza fundamental para el funcionamiento y rendimiento de Internet.
Por lo tanto, es lógico pensar que debemos emprender el proceso de monitorización BGP cuando realizamos Monitorización de Aplicaciones o de aquellos servicios que se ofrecen siendo Internet la base de su comunicación.
Sin embargo, con respecto al protocolo BGP, permanece entre los responsables de tecnología la sensación de que es un tema complejo, que en realidad no es tan necesario abordar, que es poco lo que podemos hacer, o que en realidad es responsabilidad del ISP contratado.
Ahora bien, si nos abstraemos del protocolo por un momento veremos que siempre nos hemos preocupado por implementar procesos de monitorización WAN, sea cual sea la solución de comunicaciones implementada.
Enlaces MPLS, conexiones basadas en VPNs, protocolos como OSPF o EIRGP, conexiones a redes de banda ancha, todos estos son elementos que han implicado e implican retos para una plataforma de monitorización.
De hecho, en este mismo blog recientemente publicamos un artículo sobre Monitorización WAN donde analizamos justamente los retos asociados con la implementación del modelo basado en Internet.
Así pues, siendo el protocolo BGP una pieza de nuestro entorno WAN, entendemos que al menos debemos considerarlo para posiblemente emprender proyectos de Monitorización BGP.
Falsas creencias
La razón de esta visión de distancia con el protocolo BGP está basada en algunas falsas creencias que lo rondan, entre ellas:
–Problema de los ISPs: La visión general sobre el protocolo BGP es que es utilizado por las empresas proveedoras de Internet para resolver el tema de las rutas que habrán de seguir los paquetes. Por lo tanto, si hay un problema en BGP es problema de los ISP y poco podemos hacer al respecto.
Esta visión está cambiando, entre otras cosas porque la arquitectura WAN está cambiando. El diseño ha evolucionado dada la penetración de las tecnologías asociadas con la nube, la utilización de más de un ISP para balancear el tráfico y el hecho de que cada vez más los negocios centrales de las empresas dependen de Internet.
–BGP es muy buen protocolo y no falla: Este es, sin duda, un punto muy controvertido. El protocolo BGP ha probado ser muy eficiente, adaptarse bien al crecimiento de Internet y responder bien a los retos de seguridad, pero sí que falla.
Claro, muchos analistas aseguran que el comportamiento erróneo que podemos observar en las implementaciones del protocolo BGP se debe más a la relación, no siempre sana, entre los ISP que a la naturaleza misma del protocolo.
El lector interesado en este punto espinoso no debe perderse este artículo publicado por Ivan Pepelnjack.
Habiendo aclarado estos dos puntos, entendemos entonces que la monitorización BGP es un tema que no podemos obviar por lo que les invitamos a pensar en los retos que implica.
Retos
En cuanto a la monitorización BGP creemos que existen tres retos principales.
El primero apunta a la necesidad de desarrollar un cierto nivel de experticia interna en el protocolo BGP.
Estos conocimientos serán lo que nos permitirá definir cuándo un problema está asociado o no con un error en BGP y nos permitirán también desarrollar los procedimientos de soporte técnico para hacer seguimiento a dichos problemas.
El segundo reto refiere a la Visibilidad de la plataforma WAN. Aquí estamos hablando no solo de la visibilidad de nuestra plataforma interna, sino de lograr visibilidad sobre el funcionamiento de nodos BGP de los ISPs.
De hecho, para asumir el reto de esta visibilidad han surgido herramientas como BGPlay que ofrecen información puntual sobre la forma en cómo ciertos paquetes se mueven entre los nodos BGP de Internet.
Estas aplicaciones son útiles; sin embargo, la idea de monitorización de BGP debe ser establecer un proceso de búsqueda de información que además esté integrado a la monitorización de toda nuestra plataforma, incluyendo especialmente a la monitorización de nuestras aplicaciones.
Y así llegamos al tercer reto: lograr integrar la monitorización BGP al esquema de monitorización de toda nuestra plataforma de forma que no se convierta en un ejercicio meramente informativo.
Dicho esto, les proponemos ahora revisar los problemas que se pueden presentar en la aplicación del protocolo BGP, identificar dónde y cómo las plataformas de monitorización podrían cubrir ciertas necesidades.
Pero antes, debemos dejar claros algunos conceptos asociados a BGP.
¿Cómo funciona BGP?
Aquí trataremos de condensar el funcionamiento de BGP, no sin antes decir que BGP es un tema amplio y por demás súper interesante que les recomendamos estudiar en profundidad.
Comencemos por recordar que BGP (Border Gateway Protocol) es un protocolo de enrutamiento capa 4 en el modelo OSI, documentado en el RFC 4271 y que utiliza el puerto TCP 179.
Ahora bien, ¿qué enruta y entre qué entidades hace este enrutamiento?
Pues bien, BGP genera rutas para paquetes IP entre Sistemas Autónomos.
Un sistema autónomo AS corresponde a un grupo de redes que para enviar y recibir tráfico de Internet utilizan una misma entidad u operador de red (usualmente los ISPs).
Estos operadores reciben de un organismo rector una dirección o número de sistema autónomo (ASN) que consta de 16 o 32 dígitos. Veamos un ejemplo de cómo puede ser la estructura de un ISP en la siguiente imagen:
Descripción: Ejemplo de estructura de Sistema Autónomo
En la imagen, nuestra red sería una de las redes de usuario del sistema autónomo AS 100.
Luego, el ISP dispondrá de uno o más enrutadores BGP con los cuales se conecta con otros enrutadores BGP de otros AS (AS 200 y AS 300), además de una estructura compuesta por enrutadores que no necesariamente aplican el protocolo BGP.
Las funciones básicas de un enrutador BGP son:
- Anunciar las redes de sus abonados.
- Propagar información sobre las rutas posibles.
- Escoger, en función de esta información, la ruta más conveniente para cada tráfico en particular.
Es importante hacer notar que los enrutadores BGP disponen de la información sobre las redes de sus usuarios en tablas de enrutamiento.
Por defecto, un enrutador debe compartir o anunciar la información contenida en su tabla de enrutamiento con sus nodos vecinos. Esto se realiza en función de sesiones que se definen entre los nodos BGP. A los nodos conectados por una sesión se les llama nodos vecinos.
Ahora bien, debemos aclarar que se suelen aplicar filtros a la información que emite y recibe un enrutador BGP. Estos filtros se definen en función de las políticas de enrutamiento y seguridad que cada ISP está en disposición de hacer.
Aquí es importante señalar la diferencia radical entre BGP y otros protocolos de enrutamiento.
En tanto los otros protocolos suelen regirse por políticas de ruteo bastante simples, que solo contemplan la necesidad de hallar la ruta óptima, BGP, a razón de la relación entre los ISP y el gran volumen de tráfico, suele trabajar basado en políticas de enrutamiento que pueden llegar a ser muy complejas.
De hecho, estas políticas contemplan o pueden contemplar un conjunto bastante considerable de parámetros. Entre ellos, por mencionar solo algunos, tenemos el peso y longitud de la ruta, el origen de los paquetes, enrutador vecino favorito, etc.
Hasta aquí nuestro resumen; pasemos a los problemas que podemos encontrar.
Problemas
Los problemas básicos los podemos evaluar de acuerdo a los procesos fundamentales del protocolo.
Problemas de adyacencia
En el proceso de creación de una sesión entre dos nodos BGP pueden fallar cosas como que las direcciones IP de los nodos no coincidan, que no coincidan las direcciones de los sistemas autónomos (ASN) e incluso que el puerto TCP 179 que utiliza el protocolo BGP esté bloqueado por alguno de los dispositivos.
Los problemas de adyacencia pueden ser monitorizados con un chequeo sistemático de las sesiones activas entre los nodos BGP. De hecho, Pandora FMS dispone de un plugin que verifica las sesiones BGP a través de la aplicación del protocolo SNMP.
El lector interesado puede acceder al plugin BGP Pandora FMS a través del siguiente enlace:
https://pandorafms.com/library/bgp-plugin/
Problemas de propagación
Funcionando correctamente las adyacencias, lo siguiente que puede fallar y que por lo tanto debe ser monitorizado es la propagación de la información.
En este sentido, se puede generar un error cuando el nodo BGP no incluye el prefijo de la red en la tabla de enrutamiento BGP.
Cabe destacar que esto es posible ya que a diferencia de otros protocolos de enrutamiento, un enrutador BGP no incluirá automáticamente en su tabla de enrutamiento la información de las redes que están directamente conectadas, sino que dependerá de cómo está configurado.
Por lo tanto, resulta útil disponer de un proceso que verifique que el prefijo de una red está o no en la tabla de enrutamiento BGP del nodo correspondiente.
Luego, aunque el prefijo se incluya en la tabla de enrutamiento, el proceso de propagación puede fallar en cualquier punto de Internet, por lo que puede ser interesante que con cierta periodicidad se verifique la propagación. Para esto existen varias aplicaciones que dada la información de una red verifican la propagación por nodos. Claro, faltaría integrar los resultados aquí obtenidos con nuestra plataforma de monitorización de toda la plataforma
Por otra parte tenemos que a lo interno la propagación también puede presentar problemas, ya que nuestro enrutador puede dejar de recibir actualizaciones de las rutas o puede recibir más información de la que sus capacidades físicas le permitan manejar.
Aquí la plataforma de monitorización por supuesto debe contemplar el enrutador que integra el servicio de Internet contratado; nos referimos al enrutador como equipo, su memoria, su porcentaje de uso de CPU, etc.
SNMP puede ser un buen aliado en este punto; por supuesto es necesario que para cada modelo de enrutador verifiquemos si en la descripción del objeto (OID) y en la base de datos asociada existen las métricas correctas para monitorizar estas situaciones.
Esperamos que este artículo motive al lector a pensar en el protocolo BGP como parte integral de sus aplicaciones y servicios WEB, y a evaluar la necesidad real de un posible esquema de monitorización.
En todo caso, resulta evidente que la pieza clave para emprender un proyecto de monitorización BGP, sea cual sea su alcance, es disponer de una herramienta de monitorización de propósitos generales como Pandora FMS, operativa y bien entonada.
Si aún no conoce todos los beneficios que puede aportarle Pandora FMS, descúbralo de inmediato entrando aquí.
Si cuenta con más de 100 dispositivos para monitorizar puede contactar con el equipo de Pandora FMS a través del siguiente formulario.
Además, recuerde que si sus necesidades de monitorización son más limitadas tiene a su disposición la versión OpenSource de Pandora FMS. Encuentre más información aquí.
No dude en enviar sus consultas. ¡El equipo de Pandora FMS estará encantado de atenderte!