Ayer WhatsApp, Facebook e Instagram desaparecieron de internet. Estos servicios estuvieron caídos durante más de seis horas, pero finalmente todo volvió a la normalidad.
Esa enorme caída fue debida al llamado BGP o Border Gateway Protocol, uno de los sistemas que se utiliza en internet para llevar lo más rápido posible el tráfico a donde se necesita. ¿Cómo funciona el BGP y cómo es posible que la caída fuera tan grave? Es lo que explicamos a continuación.
Qué es y cómo funciona el BGP
Como indican en CloudFlare, este protocolo es un mecanismo para intercambiar información de enrutamiento entre los llamados sistemas autónomos (AS) en internet.
Internet es una red de redes, y hace uso de grandes routers que tienen a su vez enormes listas actualizadas de las posibles rutas que se pueden usar para llevar un paquete de datos desde el origen al destino.
Con BGP es posible que una red (como la de Facebook) avise a las demás redes de que está ahí, accesible, en internet. El problema es que Facebook ya no estaba avisando a las demás redes y a las operadoras de internet: es como si desapareciera de esas listas y de ese "mapa".
Cada una de esas redes individuales (como la de Facebook o la de Cloudflare) tiene el llamado ASN (Autonomous System Number), una red individual con una serie de normas internas y unificadas de enrutamiento de paquetes.
Cada sistema autónomo (AS) puede originar los llamados prefijos —que controlan un grupo de direcciones IP— y los prefijos de tránsito —que indican cómo alcanzar ciertos grupos específicos de IPs—. Los ASN van "anunciando" sus rutas prefijadas a través del BGP, y eso permite que otras redes sepan cómo comicarse con esa.
#facebookdown
— GGreg (@GGreg) October 4, 2021
BGPlay vizualization of AS32934 route withdraw between 15:43UTC and 15:54UTC. Not real time ~10x speed. pic.twitter.com/yTqyhks7FD
Facebook dejó de anunciar las rutas a los prefijos de sus servidores de nombres de dominio (DNS) a las 16:58 UTC. Ese hizo que aunque otras direcciones IP de Facebook estuvieran aún enrutadas, no pudieran ser accedidas: daba igual que esa parte estuviera activa, porque la caída de las DNS las hacía inaccesibles.
En Cloudflare monitorizan las actualizaciones que se van realizando al BGP para poder actuar en consecuencia con sus servicios, y normalmente Facebook apenas hace cambios. Sin embargo a las 15:40 UTC notaron un pico de cambios de enrutamiento que fueron los que hicieron que el problema real se viese en nuestros ordenadores y en nuestros móviles.
Ese fallo provocó que los servicios que resuelven DNS fallaran. Estos servicios, como ya hemos explicado alguna vez, permiten que cuando escribamos por ejemplo "www.xataka.com" en el navegador este sepa que las peticiones tienen que ir a la máquina con dirección IP 52.85.187.42.
Cuando Facebook dejó de anunciar el prefijo de enrutamiento o encaminamiento de sus DNS a través del BGP, los servicios de resolución de DNS no tuvieron forma de conectar a sus servidores de nombres: todos acabaron dando error, y eso causó más y más efectos colaterales.
Entre otras cosas, se incrementaron las peticiones a sitios como Twitter, Signal y otras plataformas de mensajería como Telegram, algo que también notaron en Cloudflare y con lo que de hecho hicieron una pequeña broma en Twitter diciendo "hola literalmente a todos" porque efectivamente muchísimos usuarios acudieron a Twitter en busca de respuestas. Incluso Facebook usó esta red para confirmar que tenían un problema técnico y estaban tratando de resolverlo.
Afortunadamente en Facebook lograron restablecer la situación a las 21:20 UTC: la actividad de su BGP volció a ser importante a eso de las 21:00 UTC según CloudFlare, y tuvo un pico a las 21:17 UTC.
Eso dejaba claro que en Facebook estaban volviendo a anunciar todos sus prefijos de enrutamiento, lo que permitió que aproximadamente a las 21:28 UTC el acceso normal a Facebook, WhatsApp e Instagram se restableciese.
¿Qué dice Facebook del problema?
Los ingenieros de Facebook también explicaban brevemente las causas del problema que les afectó. Lo hicieron en su blog Facebook Engineering.
Allí se disculpaban en primer lugar por las molestias qu eeste problema pudiera haber causado a los usuarios. Según ese artículo, el problema fue causado por lo siguiente:
"Cambios de configuración en los routers troncales que coordinan el tráfico de red entre nuestros centros de datos. Esa interrupción del tráfico de la red tuvo un efecto en cascada en la forma en que se comunican nuestros centros de datos, lo que provocó la paralización de nuestros servicios".
No había más detalles al respecto y en Facebook quisieron aclarar que en ningún momento la caída se debió a un ciberataque: "en este momento creemos que la causa de raíz de la caída fue un cambio erróneo de la configuración".
Además en Facebook quisieron aclarar que "no tenemos evidencias de que datos de los usuarios hayan estado comprometidos como resultado de esta caída del servicio".
Ver 31 comentarios