BGP, uno de los pilares de Internet

Internet es una gran red de redes interconectadas, que funciona gracias a tres pilares fundamentales: los cables de fibra óptica, el protocolo BGP y el protocolo DNS.

Los cables de fibra óptica submarinos son su pilar principal. A través de ellos viaja gran parte de la información que circula por Internet y, como se observa en la siguiente imagen, atraviesan mares y océanos conectando las principales ciudades del mundo.

bgp-uno-de-los-pilares-de-internet_001
Mapa del cableado submarino global. Fuente: submarinecablemap.com.

El protocolo DNS es una suerte de “libreta de direcciones”. Se encarga de “traducir” los nombres de dominio (por ej. www.facebook.com) en una dirección IP, que será la que nuestro dispositivo deberá buscar para llegar a destino.

En otras palabras, evita que tengamos que recordar las direcciones IP de los sitios que visitamos a diario. Podrán encontrar más detalles en un artículo que escribí hace algunos años, aquí.

Como hemos visto anteriormente, en Internet existen tres tipos de ISP (o Proveedores de Servicios de Internet, por sus siglas en inglés). Los proveedores de nivel 3 son aquellos que brindan servicio a usuarios hogareños o empresas y que “compran” mediante acuerdos de peering el acceso a las demás redes a proveedores de nivel 2 (normalmente regionales). Estos últimos, a su vez, celebran acuerdos de peering con los de nivel 1 (como Level 3, GTT, TeliaSonera, entre otros).

Si los ISP no celebraran acuerdos de peering, sus clientes solo podrían interconectarse entre ellos.

El protocolo BGP acompaña a internet casi desde sus comienzos. Permite, mediante señales conocidas como “anuncios”, armar los caminos de interconexión entre los ISP. Cada ISP funciona como un sistema autónomo que publica (o anuncia) a sus pares las direcciones IP pertenecientes a sus redes. Por ejemplo, Cablevision SA, proveedor de nivel 3 de Argentina, anuncia cerca de 508 prefijos de direcciones IP (todos ellos pertenecen a direcciones asignadas a sus clientes), que le permiten a otros proveedores llegar a ellos.

A grandes rasgos, el protocolo BGP podría compararse con la señalética que vemos en las rutas y nos indica qué camino tomar para llegar a destino. Los ISP “anuncian” los prefijos de sus direcciones IP a los de nivel superior y éstos se encargan de distribuirlos por toda la red, permitiendo que los paquetes tomen la ruta más corta (en cuanto a sistemas autónomos por los que pasará) hacia su destino.

El problema es que este protocolo está basado en la confianza, algo que para la envergadura de la topología de Internet de hoy, resulta completamente obsoleto. Déjenme contarles dos ejemplo recientes:

El 12 de junio, hace poco más de una semana, gran parte de Europa, Asia y algunas ciudad de los Estados Unidos sufrieron demoras en el acceso a Internet, pérdida de paquetes y hasta la imposibilidad de acceder a determinados sitios (como PlayStation Network).

Al parecer, Telekom Malaysia, ISP de nivel 2 del país asiático, anunció prefijos que no le pertenecían. Level 3, en su rol de ISP de nivel 1, y quien tiene acuerdos de peering con aquél, aceptó estos prefijos y los distribuyó por toda su red. Esto desencadenó que el resto de los ISP conectados a su red enrutaran el tráfico hacia los prefijos anunciados erronamente a través Telekom Malaysia, ocasionando lo que se conoce como un “cuello de botella” en los routers que comparten ambos ISP.

Paquetes perdidos entre Londres y Hong Kong, a través de Level 3. Fuente: www.bgpmon.net.
Paquetes perdidos entre Londres y Hong Kong, a través de Level 3. Fuente: bgpmon.net.

Por llevarlo a palabras más sencillas, Telekom Malaysia levantó una cabina de peaje en la ruta administrada por Level 3, auto-obligándose a que el tráfico intercambiado entre otros proveedores pase por ellos. Claro está, no tenían la capacidad necesaria para recibir ese caudal de tráfico.

Los primeros proveedores en detectar el incidente actuaron rápidamente, deshabilitado el flujo de tráfico hacia la red de Level 3 (algo así como un desvío en medio de la ruta).

bgp-uno-de-los-pilares-de-internet_003

A comienzos del mes de marzo de este año, el ISP ucraniano Vega, anunció 14 prefijos pertenecientes a British Telecom (BT), haciendo que el tráfico proveniente de algunos clientes de esta última sea enrutado a través de Ukrania y ocasionando demoras en el acceso a Internet.

Días más tarde, Vega anunció otros 167 prefijos de British Telecom durante aproximadamente 2 horas, generando el mismo comportamiento que en el caso anterior. La parte más preocupante de este evento fue que entre los clientes de BT afectados se encontraba la Central Atómica de Inglaterra.

bgp-uno-de-los-pilares-de-internet_004
Ruta normal vs. modificada del tráfico hacia la Central Atómica de Inglaterra. Fuente: research.dyn.com.

La versión actual de BGP es la número 4, y se encuentra desarrollada en la RFC 4271. Si bien ha evolucionado considerablemente respecto a sus primeras versiones, queda claro que aun tenemos un gran camino por recorrer.

La topología actual de Internet tal como la conocemos se ha vuelto considerablemente vulnerable a algo tan simple como un error involuntario de un ISP.

¡Hasta la próxima!

1 comentario en “BGP, uno de los pilares de Internet

Deja un comentario