Conéctate

Reportajes

Facebook no puede desaparecer de Internet ¿o sí?

El lunes 4 de octubre Facebook Whatsapp e Instagram tuvieron una caída prolongada. Estos son los pormenores técnicos de este hecho sin precedentes.

Octubre cumplió el sueño de muchos y comenzó con todo: el 1 de octubre se estrenó «Sin tiempo para morir» en 54 territorios internacionales arrasando en la taquilla, el 2 de octubre se celebró el Día Internacional de la No Violencia y el 3 de octubre el mundo supo por primera vez sobre sobre los Pandora Papers.

Sin embargo, durante el día lunes 4 de octubre, sucedería un hecho sin precedentes: Facebook, Instagram y WhatsApp, sufrirían una interrupción de sus servicios a nivel mundial, dejando a millones de personas desconectadas de sus plataformas. Te cuento qué sucedió y cómo sucedió desde un punto de vista técnico.

El incidente comenzó alrededor de las 12:00 GMT-4(hora de Bolivia) y afecto aproximadamente a 3.000 millones de personas según reporta BBC News.

Aun cuando no se tenía una versión oficial del motivo de la caída, a medida que transcurrían las horas empezaron a aparecer distintas versiones y conjeturas, que iban desde una simple caída de servidores DNS, hasta un ataque coordinado, e inclusive el fin del mundo. Los datos fueron hablando poco a poco, y esos datos gritaban algo insólito: Facebook había desaparecido de internet.

¿Como es esto posible? ¿Llegó el día del juicio final? ¿Puede un gigante como Facebook desaparecer?

La respuesta es un poco más compleja, por eso trataré de elaborarla a lo largo de este artículo. De manera sorprendente, los servidores de Facebook dejaron de estar disponibles, se eliminaron de Internet varias rutas BGP que apuntaban a las redes donde se alojan los servidores de WhatsApp, Facebook e Instagram, dejando los servicios en tinieblas, como si no estuvieran ahí. Así nos lo hacía saber a través de Twitter Dane Knecht, vicepresidente senior de Cloudflare, el CDN más importante del planeta.

Además, ingresando en más detalle, John Graham-Cumming, CTO de la misma empresa, hacía notar que 5 minutos antes de la caída de Facebook ocurría un gran número de retiro de rutas BGP en los sistemas autónomos de Facebook.

Habitualmente, cuando tenemos la caída de algún grande en Internet, los motivos, aun cuando técnicos, contienen términos o causas comunes y conocidos para una gran mayoría de usuarios. Me refiero a problemas de DNS, siniestros en los centros de datos, actualizaciones corruptas, hackeos, etc. Sin embargo, en esta ocasión el problema nos introduce algunos términos nuevos, mas conocidos en el ámbito profesional, como: BGP, AS, ASN, etc.

A continuación voy a tratar a fondo el incidente para comprenderlo de manera técnica, pero clara para cualquier persona, ¿Cómo fue posible que repentinamente un gigante como Facebook, así como varios de sus servicios, pasaran a parecer apagados o desconectados de la red?.

Internet, definida como una red de redes, es literalmente eso: una red que va desde la pequeña red creada por el router en tu casa, hacia la red conformada por los distintos dispositivos de tus vecinos, subiendo a la gran red general de clientes que forma un proveedor de Internet ISP(Internet Service Provider). Estos proveedores, a su vez, interconectan sus grandes redes de clientes entre si, además de otras redes de bancos, cooperativas, universidades, etc. Seguimos subiendo y pasamos a interconexiones internacionales y trasatlánticas, dando forma al coloso que hoy conocemos como internet.

Cuando hablamos de grandes redes, las formadas por ISPs, que son las encargadas de hacer funcionar internet, encontramos que estas también «hablan» entre ellas. Como es lógico, cada una debe saber constantemente cómo encontrar a las otras y viceversa; esta «conversación» para ubicarse entre sí, se logra a través de un protocolo de comunicación llamado BGP.

¿Que es BGP?

Son las siglas de Border Gateway Protocol, traducido como protocolo de puerta de enlace de frontera, término conocido por los profesionales de redes, pero no tanto por otras personas, es un mecanismo para intercambiar información de rutas entre distintos sistemas autónomos (AS) en Internet. Las grandes redes actualizan constantemente estas listas entre sí, para saber cómo entregar un paquete de datos a su destino final. En otras palabras, sin el protocolo BGP, el internet como tal no funcionaría.

Estos sistemas autónomos (AS) se identifican a través de un número llamado ASN (Autonomous System Number). Un AS representa comúnmente a un ISP(Tigo, Entel, Viva), una gran empresa(Banco Mercantil Santa Cruz), o una organización y son como una mini-internet, cuentan con políticas de rutas propias e independientes. Estos sistemas, además, pueden generar los llamados prefixes (prefijos), que son la forma de hacer conocer que controlan un grupo de direcciones IP. y también generar los transit prefixes (prefijos de tránsito), que son la forma de decir que conocen como llegar a otros grupos específicos de direcciones IP.

A continuación y para ilustrar mejor, muestro algunos ASN utilizados en Bolivia y el número de direcciones IP que tienen en control:

Ejemplo de ASNs utilizadas en Bolivia
Fuente: ipinfo.io

Ahora, todos los ASN deben hacer conocer, sus prefixes y transit prefixes a todo Internet, de otra manera, no habría forma de ser encontrados y conectarse a sus respectivas redes y servidores en ellas, así que los routers de cada ASN se dedican a «hablar» entre ellos, regidos claro, bajo las normas del protocolo BGP.

En el gráfico a continuación puedes observar un simple ejemplo de lo expuesto anteriormente, sistemas autónomos «conversando» entre sí.

Ejemplo sencillo de BGP
Fuente: Elaboración Propia.

Antes de entrar en detalle de lo ocurrido con Facebook, debo también mencionar a los servidores DNS. Un servidor DNS juega un rol muy importante en Internet, ya que se encarga de almacenar y «traducir» la relación entre las direcciones IP de los servidores en internet y los nombres de dominio correspondiente, por ejemplo: al solicitar la URL «www.facebook.com», el navegador(Chrome, Firefox, Edge, etc.) consultará al servidor DNS que tenga asignada la conexión, la dirección IP del servidor que almacena dicha web, para así llamar al servidor y obtener la web en pantalla del usuario.

Grafica simple del proceso de resolución DNS
Fuente: Elaboración Propia

Entonces, ¿que pasó con Facebook?

Facebook es una red, una gran red, con servidores y servicios propios, por lo tanto tiene un ASN y la capacidad de actualizar a los demás AS acerca de su estado y las direcciones IP que controla.

En el siguiente gráfico de Cloudflare podemos ver que aproximadamente a las 11:50 GMT-4 del 4 de octubre repentinamente se realizan cambios en las tablas BGP de Facebook y desaparecen todas.

Borrado de Tablas BGP
Fuente: Cloudflare

A continuación, también vemos cómo en el gráfico de actividad ASN, tenemos grandes picos de actividad en las solicitudes de borrado de ASNs(en azul claro), cabe destacar que de manera regular este gráfico es muy calmado.

Peticiones de borrado de ASNs
Fuente: Cloudflare

Posteriormente, aproximadamente a las 12:00 GMT-4 y gracias a los datos brindados por Cloudflare se confirmaba que no existían las rutas BGP hacia los prefijos DNS de Facebook. Esto se puede evidenciar con la respuesta «Network not in table» al realizar una consulta en una línea de comandos.

route-views>show ip bgp 185.89.218.0/23
% Network not in table
route-views>

route-views>show ip bgp 129.134.30.0/23
% Network not in table
route-views>

Por lo tanto, y como consecuencia, los principales servicios gratuitos de resolución DNS del planeta como Google, OpenDNS, Level 3, Cloudflare, etc. dejaron de resolver («traducir») todos los nombres de dominio asociados a la empresa: facebook.com whatsapp.com instagram.com, etc. devolviendo errores SERVFAIL en cada consulta.

~ dig @1.1.1.1 facebook.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;facebook.com.			IN	A
~ dig @1.1.1.1 whatsapp.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;whatsapp.com.			IN	A
~ dig @8.8.8.8 facebook.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;facebook.com.			IN	A
~ dig @8.8.8.8 whatsapp.com
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 31322
;whatsapp.com.			IN	A

Observando desde afuera, se podría considerar que toda la infraestructura de Facebook estaba «apagada o no existía», sin embargo, en algunas ubicaciones aún se tenía acceso a una página estática de «facebook.com», es decir, la página se visualizaba, aun cuando no era funcional, ¿por qué?

Los grandes servicios utilizan CDNs para distribuir y optimizar el acceso a sus servicios, un CDN («Content Delivery Network») o red de entrega de contenido, está formado por un grupo de servidores distribuidos geográficamente que se encargan de ofrecer una entrega rápida de contenido de Internet a los usuarios cercanos, páginas HTML, archivos javascript, hojas de estilo, imágenes y videos, cuando navegamos en Internet, utilizamos estos servicios sin darnos cuenta, estan ahí para mejorar nuestra experiencia en la velocidad de carga.

Al no existir conectividad entre el CDN y los servidores de Facebook por los motivos expuestos arriba, en algunas zonas geográficas, estos devolvían en los navegadores de los usuarios la última instantánea tomada de los servidores de Facebook antes del «apagón».

Funcionamiento de un CDN
Fuente: Internet

En este punto y recapitulando es donde podríamos afirmar sin miedo al error, que Facebook literalmente, desapareció de Internet. Ningún servicio en el mundo tenia idea de la ruta de llegada a sus servidores.

Posteriormente, comienza el efecto cascada en Internet. Las apps de todo tipo, al recibir un código de error, se dedican a reintentar automáticamente el acceso; algunas de manera muy agresiva y corta en el tiempo, incrementando el número de peticiones de resolución DNS a los principales servicios (Google, OpenDNS, Level 3, Cloudflare), el humano también juega su papel en la desesperación de intentar refrescar o actualizar las apps debido al no funcionamiento.

En el grafico a continuación podemos ver cómo estas peticiones (que obviamente recibían un error como respuesta) se incrementan hasta x30 en las horas siguientes al «apagón», específicamente para los servicios afectados: facebook, whatsapp, messenger e instagram.

Peticiones de Resolución DNS hacia servicios de Facebook posterior a la caída
Fuente: Cloudflare

Esto provocó una saturación en los proveedores DNS(¿recuerdas? esos que traducen numeritos en direcciones legibles), afectando la velocidad de solicitudes de resolución para otros servidores en Internet, afectando por lo tanto otros servicios sin relación alguna con Facebook.

Siguiendo la lógica del comportamiento humano, al transcurrir las horas y no obtener respuesta, el grueso de usuarios en Internet comenzó a buscar alternativas, desnudando la gran dependencia que tenemos hoy en día de la comunicación digital, por lo tanto, servicios como Telegram, Signal, Twitter o Tik Tok, vieron incrementadas sus peticiones de resolución en los principales proveedores DNS.

Peticiones de resolución DNS hacia otros servicios en internet posterior a la caída.
Fuente: Cloudflare

Además, el uso de estos servicios se incrementó de manera exponencial, por lo que independientemente, también sufrieron colapsos temporales. Telegram, por ejemplo, pasó del 56° a 5° lugar en el ranking de aplicaciones más descargadas, y sufrió pequeñas caídas de saturación durante todo el día, esto de acuerdo con lo reportado por la firma SensorTower.

El tiempo transcurría, y sin los principales servicios muchos seres humanos se daban cuenta que existía una vida mas allá de Facebook, Whatsapp e Instagram, los libros se desempolvaban, los parques se llenaban y servicios como Twitter, Signal o Telegram tenían el mejor día de su historia, con picos récord de usuarios.

Para bien (o mal) de nosotros, aproximadamente a las 17:00 GMT-4 la gráfica de actividad BGP de Facebook comenzó a tener nuevamente actividad inusual, una indicación de que estábamos ante la recuperación del acceso a sus servicios.

Picos de Actividad en las tablas BGP de Facebook después del «apagón»
Fuente: Cloudflare

Al volver a existir las rutas BGP de la empresa, todo Internet nuevamente tenía conocimiento dónde se encontraban los servidores DNS de Facebook, por lo tanto, también la gráfica de actividad de estos comenzó a dar signos de vida. A continuación podemos observar cómo el dominio «facebook.com» no tenía resolución DNS, o «no existía» en Internet durante todo el periodo de corte.

Una vez actualizadas y restauradas las rutas BGP, comenzó el proceso de propagación DNS, y redistribución de contenido al CDN (Content Delivery Network). Este proceso puede llevar horas debido al gran tiempo de «desaparición» de los servicios y su correspondiente falta de sincronización con los servidores alrededor del mundo.

Además, se tiene un último obstáculo: pequeñas micro caídas, identificadas por nosotros como «intermitencia de servicio», estas ocurren por la avalancha de usuarios que intentan ingresar de manera masiva a los servicios que están en línea nuevamente, saturándolos por completo y dejándolos inaccesibles. Muy parecido a lo que se conoce como ataque de denegación de servicios (DDoS).

A medida que se restablecieron los servicios comenzó a salir más información tanto oficial, como de terceros, con datos que confirman el análisis previamente expuesto, como este comunicado de Facebook, realizado en su blog oficial, posterior a la resolución del incidente:

«Nuestros equipos de ingeniería descubrieron que cambios de configuración en los routers troncales que coordinan el tráfico entre nuestros centros de datos fueron la causa de la interrupción de comunicación.»
Fuente: Facebook Blog
«Creemos que la causa fue un cambio de configuración incorrecto, además no tenemos evidencia que los datos de nuestros usuarios hayan sido comprometidos durante esta caída»
Fuente: Facebook Blog

Para concluir, un recordatorio

Los eventos durante esta caída son un recordatorio del complejo entramado de conexiones entre sistemas independientes que componen Internet hoy en día. Todos deben trabajar de manera coordinada para lograr que mas de 5 billones de seres humanos estén constantemente interconectados entre sí, al fallar uno de estos sistemas, todos los demás comienzan a tambalear, además queda demostrado que incluso un gigante como Facebook, puede desaparecer de Internet en un instante.

Hugo Loza Guzman es actualmente Especialista en Tecnología y Administrador de Plataformas Digitales de la Universidad Católica Boliviana Sede Tarija, también es Director Ejecutivo de la empresa de servicios en la nube Piensahost.

Escrito por

1 Comment

1 Comment

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ultimas Publicaciones

Bolivia: 7 de cada 10 niñas sintieron acoso en línea en algún momento de su vida

Tinta Mujer

Educación: Romantizando la desigualdad para las niñas

Tinta Mujer

Héroes: la aplicación boliviana para conectar voluntarios con organizaciones

Tinta Empresarial

Bolivia ocupa el puesto 69 en el Índice Mundial de la Felicidad

En el Tintero

Conectar
Lista de Correo