Qué es BGP y cómo elige rutas en internet

Autor: Publicado

En pocas palabras: BGP (Border Gateway Protocol) es el protocolo que permite a las redes que forman internet intercambiar información sobre las rutas disponibles hacia las direcciones IP. Permite a los operadores elegir por qué redes debe pasar el tráfico según sus políticas y acuerdos, y no solo según la velocidad de la conexión. Un error en esta información puede hacer que un sitio web que funciona correctamente deje de estar accesible para algunos usuarios.

¿Qué función cumple BGP en internet?

Internet está formado por numerosas redes interconectadas que gestionan operadores de telecomunicaciones, empresas de alojamiento web, universidades o proveedores de servicios en la nube. La unidad básica del enrutamiento BGP es el sistema autónomo (AS): una red o un grupo de redes con una política común de selección de rutas. Se identifica mediante un número ASN.

El enrutamiento consiste en elegir las rutas por las que pueden enviarse los paquetes de datos. Los routers que utilizan BGP se anuncian mutuamente la disponibilidad de rutas hacia prefijos IP, es decir, bloques de direcciones. De forma simplificada, un anuncio dice: «A través de mi red puedes llegar a este rango de direcciones».

BGP no transmite el contenido de una página ni los mensajes de correo electrónico. Proporciona información que los routers utilizan para construir tablas de enrutamiento, que a su vez sirven para dirigir los paquetes. Es la capa que organiza el recorrido de la comunicación, no el servicio que funciona en su destino.

¿Cómo elige BGP una ruta?

Los routers establecen sesiones BGP, es decir, conexiones que sirven para intercambiar información sobre las rutas. Cuando aparece una nueva ruta o una existente deja de estar disponible, pueden anunciar el cambio o retirar el anuncio anterior. Para ello, no necesitan enviar cada vez el conjunto completo de rutas conocidas.

Además del prefijo, el anuncio contiene atributos que describen la ruta. Uno de ellos es AS_PATH, la lista de números de los sistemas autónomos por los que se ha transmitido la información sobre esa ruta. Entre otras cosas, ayuda a detectar bucles: una red puede rechazar una ruta si encuentra su propio número en la lista.

BGP no busca automáticamente el camino con menor latencia. Un operador puede dar preferencia a un proveedor concreto por su coste, por un acuerdo o por sus propias políticas de gestión del tráfico. Un AS_PATH más corto puede ser un criterio de selección, pero no es el único ni siempre el más importante; el proceso exacto depende de la configuración y de la implementación.

Se distinguen dos usos del mismo protocolo:

iBGP no sustituye a todos los mecanismos de enrutamiento interno. En redes de gran tamaño, trabaja junto con protocolos que permiten llegar a los routers dentro de la infraestructura del operador.

Ejemplo: alojamiento web con dos conexiones a internet

Supongamos que una empresa de alojamiento web tiene su propio sistema autónomo y se conecta a dos operadores: A y B. Mediante BGP, anuncia su bloque de direcciones IP a ambos operadores. Así, las demás redes pueden conocer más de una ruta hacia los servidores de alojamiento.

La empresa puede configurar el operador A como preferente para el tráfico saliente y utilizar B como respaldo. Si la conexión con A deja de funcionar y se retiran las rutas correspondientes, el tráfico puede pasar por B. El cambio no tiene por qué ser inmediato: detectar el fallo y recalcular las rutas lleva tiempo, y durante la conmutación pueden perderse algunos paquetes.

La ruta de vuelta no tiene por qué ser la misma. En la elección de la ruta desde el usuario hasta el alojamiento también intervienen otras redes, que aplican sus propias reglas. Por eso, disponer de dos enlaces no implica automáticamente un reparto uniforme del tráfico ni un control total sobre su recorrido.

¿De dónde vienen los fallos y las amenazas de BGP?

BGP básico no ofrece por sí solo una confirmación fiable de que una red está autorizada a anunciar un prefijo determinado. Por tanto, una configuración incorrecta o una acción deliberada pueden afectar al tráfico fuera de la red en la que se originó el problema.

El secuestro de prefijos, conocido como BGP hijacking, consiste en anunciar sin autorización un espacio de direcciones ajeno. Una fuga de rutas, o route leak, ocurre cuando la información sobre las rutas se propaga más allá de lo permitido por la política de interconexión entre redes. Ambas situaciones pueden hacer que los servicios dejen de estar disponibles y, en algunos casos, desviar el tráfico a través de una red no deseada.

Una de las medidas de protección es RPKI, una infraestructura que permite confirmar mediante criptografía que un sistema autónomo está autorizado a anunciar un prefijo. Con esa información, los operadores pueden validar el origen de las rutas y rechazar los anuncios no válidos. Sin embargo, esto no verifica toda la ruta AS_PATH ni protege contra todas las fugas de rutas; también hacen falta filtros, revisión de la configuración y monitorización.

¿Qué implica BGP para quien tiene un sitio web?

Si utilizas un servicio de alojamiento web convencional, normalmente no configuras BGP por tu cuenta. Se encarga de ello el proveedor de infraestructura o sus operadores. Comprar un dominio, un certificado TLS o un servidor VPS no requiere tener un ASN propio.

A veces se confunde BGP con DNS, el sistema que traduce los nombres de dominio a direcciones IP. DNS ayuda a determinar la dirección del servidor, mientras que el enrutamiento permite llegar a él. Por tanto, una respuesta correcta de DNS no demuestra que la conexión de red funcione.

Si el sitio se abre con una conexión de internet móvil, pero no con la conexión de casa, compruébalo desde ambas redes y anota cuándo se produce el problema. Envía los resultados al proveedor de alojamiento y, si sabes hacerlo, una medición con traceroute o MTR que muestre el recorrido de la conexión. La diferencia de disponibilidad no demuestra que haya un fallo de BGP, pero ofrece a los administradores un punto de partida concreto para comprobar el enrutamiento.

Lee también

Descubre cómo PHP-FPM atiende peticiones PHP, en qué se diferencia de un servidor web y cómo ajustar sus procesos al tráfico y los recursos.
Conoce BIND, el software abierto de servidor DNS: sus funciones, cómo gestiona dominios y cuándo conviene instalarlo por tu cuenta.
Descubre qué son el registro REGON de Polonia y su número, en qué se diferencian de NIP y KRS y cómo verificar los datos de una empresa.