07 Oct 21

El día que Facebook hizo famosos el DNS y el BGP

DNS y BGP

Con la caída de Facebook, Instagram y WhatsApp en octubre de 2021, el mundo experimentó una vuelta al pasado.  Durante varias horas, las notificaciones de nuestros móviles pararon de sonar, dejando a muchas personas desconectadas de la realidad en la que vivimos con el desarrollo de Internet. Otras veces ya habíamos visto caídas que quedaban solucionadas en cuestión de minutos, pero, en esta ocasión, no fue así. En este artículo queremos explicarte por qué, lo cual nos lleva a hablar de dos términos que para nosotros en Transparent Edge son muy conocidos pero quizá no lo son para muchos fuera de nuestro ámbito: el DNS y el BGP.

 La caída de Facebook, Instagram y WhatsApp

En un primer momento, la caída de los tres gigantes de las redes sociales propiedad de Facebook (Instagram, WhatsApp y el mismo Facebook) parecía culpa del DNS. El error, que provenía de que los navegadores no fueran capaces de encontrar la dirección IP de los servicios de Facebook, parecía confirmar que el culpable era el sistema de nombres de dominio, ese sospechoso habitual.

El sistema de nombres de dominio o domain name system (DNS) se utiliza para convertir el nombre de host de un ordenador en una dirección IP en Internet. Por ejemplo, si un ordenador necesita comunicarse con el servidor web example.net, necesita la dirección IP del servidor web example.net. Cuando nos referimos al DNS, estamos hablando de algo muy importante en el mundo del Internet: es una forma de asignar nombres (el nombre de dominio que se está buscando) a números (la dirección IP numérica del sitio web), permitiendo usar nombres mucho más fáciles de recordar que las IP.

Sin embargo, aunque el DNS era el culpable directo de que las apps y webs de Facebook no funcionasen, esta vez el error de DNS era la consecuencia y no la causa. El problema era aún más profundo: el enrutamiento BGP.

¿Qué es el BGP?

El BGP (border gateway protocol) es el protocolo subyacente al sistema de enrutamiento global de Internet. Gestiona cómo se enrutan los paquetes de una red a otra a través del intercambio de información de enrutamiento y accesibilidad entre los routers en el edge. En otras palabras, el BGP es el sistema postal de Internet. Es un protocolo mediante el cual los routers de los proveedores de Internet saben cómo enviar los paquetes de red a los segmentos de red y a las direcciones IP concretas que corresponden.

Cada una de esas redes individuales tiene lo que llamamos autonomous system number (ASN), que no es más que un identificador único global que define un grupo de uno o más prefijos de dirección IP gestionados por uno o más operadores de red que mantienen una política de enrutamiento única y claramente definida. Estos ASN, a través del BGP, anuncian sus rutas permitiendo que otras redes sepan cómo comunicarse. Que esto fallara provocó que los propios servidores DNS de Facebook, que traducen los nombres de dominio a direcciones IP, fuesen inaccesibles a todo el resto de la red, con la consiguiente caída de todos sus servicios.

¿Por qué se cayeron las tres redes sociales a la vez?

En este punto, es probable que te estés haciendo alguna pregunta. ¿Por qué se cayeron las tres redes sociales? ¿No tiene servidores distintos cada una de ellas? Internet es una red de redes y todas las redes están interconectadas entre sí. Las rutas BGP son el sistema que conecta estos distintos trozos de Internet. Y es como si Facebook fuera un pueblo en el que hay varias casas (las tres redes sociales) en distintas calles del mismo pueblo. Al retirar las rutas BGP es como si se retirara la carretera que lleva al pueblo, dejándolo sin acceso al exterior. En definitiva, al sacar sus rutas del sistema de anuncios BGP, fue como si las redes sociales de Facebook desaparecieran del mapa de Internet.