Un día después de la masiva caída en los servicios de Whatsapp, Instagram y Facebook durante seis horas, el vicepresidente de Infraestructura de la compañía, Santosh Janardhan, explicó que hubo dos problemas: un error durante una tarea de mantenimiento cortó todas las conexiones con los datacenters y, como consecuencia, provocó una desconexión entre dos aspectos fundamentales para que funcione un sitio web: el BGP y el DNS.

El director de Tecnologías de Cloudfare, una compañía que provee servicios de infraestructura y seguridad de sitios web, John Graham, dio a través de su cuenta en Twitter una posible explicación a lo sucedido. Para esto hace falta entender cómo funcionan el protocolo de puerta de enlace de frontera, conocido como BGP, por sus siglas en inglés, y el sistema de nombres de dominio, o DNS.

Los BGP funcionan como un mapa de ruta de cada red autónoma de internet (como pueden ser una red social o un sitio de noticias), que indica dónde se pueden encontrar los sitios que le corresponden. Si se pierde esa ruta, no se puede encontrar el sitio.

Por otro lado, los DNS son una suerte de libreta de direcciones que traducen los palabras a las direcciones numéricas de los sitios web. Para cada sitio que el usuario teclea con letras (facebook.com, por ejemplo), existe una versión numérica, o IP, donde ese sitio se aloja. El DNS asocia la información de las IP y las “traduce” para el usuario. Si una computadora (que también tiene su IP) quiere ingresar al sitio, lo que hace es consultárselo al DNS con letras, y este las relaciona con la dirección IP del sitio.

Según reveló el jerarca de Cloudfare, los DNS de Facebook dejaron de funcionar, pero cinco minutos antes de que esto ocurriera “vimos un aumento de las BGP [en su mayoría retiradas de ruta] en los sistemas autónomos de Facebook”. ¿Qué significa esto? Que desde Facebook se estaba intentando hacer cambios en las rutas de su BGP, una práctica que no es común, lo que derivó en que también se perdieran las ubicaciones en el DNS y que tanto los navegadores como las aplicaciones no supieran encontrar el contenido de Whatsapp, Facebook e Instagram.

Recién seis horas después la empresa logró restablecer sus BGP y tomó unos 30 minutos más que el servicio regresara en la mayoría de los países. Sin una confirmación oficial por parte de la compañía hasta el momento, la duda que queda es por qué Facebook estaba realizando esos cambios en sus BGP.

Lo que adelantó Graham fue confirmado este martes por la tarde. Primero, Janardhan, vicepresidente de Infraestructura de Facebook, escribió el lunes por la noche en el blog del área de Ingeniería de la compañía que “nuestros equipos de ingeniería han aprendido que los cambios de configuración en los enrutadores troncales que coordinan el tráfico de red entre nuestros datacenters causaron problemas que interrumpieron la comunicación. Esta interrupción del tráfico de la red tuvo un efecto en cascada en la forma en que se comunican nuestros datacenters, lo que paralizó nuestros servicios”. También aseguró que “no hubo actividad maliciosa detrás de esta interrupción”, sino que “su causa principal fue un cambio de configuración defectuoso por nuestra parte”.

Luego, este martes, Janardhan amplió la información y explicó que mientras se estaba realizando un mantenimiento de rutina, “se emitió un comando con la intención de evaluar la disponibilidad de la capacidad de la red troncal global, que accidentalmente cortó todas las conexiones” y desconectó todos los datacenters de Facebook en el mundo.

Esa desconexión provocó “un segundo problema”, que fue lo que sucedió con la desconexión entre los BGP y los DNS. “En la interrupción reciente, toda la red troncal se retiró de la operación, lo que hizo que estas ubicaciones se declararan insalubres”, lo que provocó que “nuestros servidores DNS se volvieran inalcanzables, a pesar de que todavía estaban operativos, haciendo imposible que el resto de internet encontrara nuestros servidores”, indicó.

Estos problemas provocaron que ingenieros de la compañía fueran enviados a los datacenters para reiniciar manualmente los sistemas. “Cada fracaso como este es una oportunidad para aprender y mejorar, y hay mucho que aprender de este”, concluyó Janardhan.

Disculpas

En la noche del lunes, el CEO de Facebook Inc., Mark Zuckerberg, pidió disculpas por lo sucedido.

Con las redes sociales y la aplicación de mensajería nuevamente activas, Zuckerberg pidió en su página en Facebook “perdón por la interrupción de hoy” y afirmó que era consciente de “lo mucho que dependen de nuestros servicios para mantenerse conectados con las personas que quieren”.