¿Qué es BGP y qué papel jugó en la interrupción masiva de Facebook?

Trazando los mares digitales

Por Mitchell Clark

Ilustración de Alex Castro / The Verge

El lunes, Facebook quedó completamente desconectado, arrasando con Instagram y WhatsApp (sin mencionar algunos otros sitios web ). Muchos se han apresurado a decir que el incidente tuvo que ver con BGP, o Border Gateway Protocol, citando fuentes internas de Facebook, análisis de tráfico y el instinto de que “siempre es DNS o BGP”. Facebook está de vuelta y desde entonces ha publicado una explicación que detalla cómo BGP era solo una parte de sus problemas (y dice que funcionó más o menos según lo previsto), pero todo esto plantea la pregunta:

¿QUÉ ES BGP?

En un nivel muy básico, BGP es uno de los sistemas que usa Internet para llevar su tráfico a donde necesita ir lo más rápido posible. Debido a que hay toneladas de diferentes proveedores de servicios de Internet, enrutadores troncales y servidores responsables de que sus datos lleguen a, digamos, Facebook, hay un montón de rutas diferentes que sus paquetes podrían terminar tomando. El trabajo de BGP es mostrarles el camino y asegurarse de que sea la mejor ruta.

Escuché que BGP se describe como un sistema de oficinas de correos, un controlador de tráfico aéreo y más, pero creo que mi explicación favorita fue la que lo comparó con un mapa. Imagina BGP como un grupo de personas que crean y actualizan mapas que te muestran cómo llegar a YouTube o Facebook.

BGP ES COMO UN MAPA QUE LE DICE A SU COMPUTADORA QUÉ PUENTES DEBE CRUZAR PARA LLEGAR A FACEBOOK

Cuando se trata de BGP, Internet se divide en grandes redes, conocidas como sistemas autónomos. Puede imaginarlos como naciones insulares: son redes controladas por una sola entidad, que podría ser un ISP, como Comcast, una empresa, como Facebook, o alguna otra gran organización como un gobierno o una universidad importante. Sería extremadamente difícil construir puentes que conectan cada isla con todas las demás, por lo que BGP es el responsable de decirle qué islas (o sistemas autónomos) debe atravesar para llegar a su destino.

Dado que Internet siempre está cambiando, los mapas deben actualizarse; no desea que su ISP lo lleve por un camino antiguo que ya no llega a Google. Debido a que sería una empresa enorme mapear todo el Internet todo el tiempo, los sistemas autónomos comparten sus mapas. Ocasionalmente hablarán con sus vecinos de la isla para ver y copiar las actualizaciones que hayan realizado en sus mapas.

GIRE A LA IZQUIERDA HACIA EL RÍO

Usando mapas como marco, es fácil imaginar cómo pueden salir mal las cosas. Cuando los consumidores obtuvieron acceso por primera vez al GPS, siempre se bromeaba acerca de que conducía por un acantilado o hacia el medio del desierto. Lo mismo puede suceder con BGP: si alguien comete un error, puede terminar dirigiendo el tráfico a algún lugar al que no debe ir, lo que causará problemas. Si no se detecta, ese error terminará en el mapa de todos. Hay otras formas en que esto puede salir mal, pero llegaremos a ellas en un momento.

SÍ, SÍ, MAPAS. DAME UN EJEMPLO.

¡Por supuesto!

Esto está enormemente simplificado, pero imagina que quieres conectarte a un sitio web imaginario de noticias de tecnología llamado Convergence. Convergence usa el ISP NetSend y usted usa DecadeConnect. En este ejemplo, DecadeConnect y NetSend no pueden hablar directamente entre sí, pero su ISP puede hablar con Border Communications, que puede hablar con Form, que puede hablar con NetSend. Si esa es la única ruta, entonces BGP se asegurará de que usted y Convergence puedan comunicarse a través de ella. Pero si, alternativamente, tanto DecadeConnect como NetSend estuvieran conectados a ThirdLevel, BGP probablemente elegiría enrutar su tráfico a través de él, ya que es un salto más corto.

BIEN, ENTONCES BGP ES COMO MAPAS QUE DETALLAN TODAS LAS FORMAS MÁS RÁPIDAS DE LLEGAR A UN SITIO WEB.

¡Derecha! Desafortunadamente, puede complicarse aún más porque lo más corto no siempre es igual a lo mejor. Hay muchas razones por las que un algoritmo de enrutamiento elegiría una ruta sobre otra; el costo también puede ser un factor , y algunas redes cobran a otras si desean incluirlas en sus rutas.

TRAZAR MAPAS DE CARRETERAS QUE NO CAMBIAN ES DIFÍCIL; IMAGINA EL MAPEO DE INTERNET

Además, ¡los mapas son muy complicados! Descubrí esto recientemente al intentar planificar un viaje en el que las carreteras existían en un mapa y no en otro o eran diferentes entre mapas. Una carretera incluso tenía tres nombres diferentes en tres mapas. Si es tan difícil de precisar para una “ciudad” que tiene las cinco carreteras, imagínese lo que es intentar conectar todo el Internet . Las carreteras reales no cambian con tanta frecuencia, pero los sitios web pueden moverse de un país a otro o cambiar, agregar o restar proveedores de servicios, e Internet simplemente tiene que lidiar con eso.

RECUERDO ALGO COMO ESTO DE MI CLASE DE ALGORITMOS Y ESTRUCTURAS DE DATOS: TRATANDO DE CONSTRUIR ALGOS PARA ENCONTRAR LA RUTA MÁS CORTA.

Confiaré en tu palabra. Dejé los estudios tan pronto como me enteré de los gráficos.

¡Pero Facebook no lo hizo! De hecho, ha construido su propio sistema BGP, que le permite realizar “actualizaciones incrementales rápidas”, según un documento presentado a principios de este año. Dicho esto, el sistema que la compañía describe allí está destinado a la comunicación dentro de los centros de datos; en este punto, es difícil decir qué causó los problemas de Facebook el lunes, y haría falta alguien más inteligente que yo para decir si las comunicaciones del centro de datos de Facebook podrían causar esto. tipo de problema. El reportero de ciberseguridad Bryan Krebs afirma que la interrupción fue causada por una “actualización rutinaria de BGP”.

En la actualización de ingeniería de Facebook, la compañía dijo que el problema fue causado por “cambios de configuración en los enrutadores troncales que coordinan el tráfico de red entre nuestros centros de datos”. Eso luego llevó a un “efecto en cascada en la forma en que los centros de datos [de Facebook] se comunican, lo que paralizó [sus] servicios”. Al menos en mi opinión, parece que el problema era que Facebook se comunicaba dentro de sí mismo, no con el mundo exterior (aunque eso obviamente puede causar una interrupción mundial, dada la cantidad de su propia red que controla Facebook).

¿QUÉ TIENE QUE VER EL DNS CON TODO ESTO?

Para tomar prestada una explicación de Cloudflare: DNS le dice a dónde va y BGP le dice cómo llegar allí. DNS es la forma en que las computadoras saben en qué dirección IP se puede encontrar un sitio web u otro recurso, pero ese conocimiento en sí mismo no es útil: si le preguntas a tu amigo dónde está su casa, es probable que todavía necesites GPS para llegar allí.

Cloudflare también tiene un gran resumen técnico de cómo los errores de BGP también pueden estropear las solicitudes de DNS: el artículo trata específicamente sobre el incidente de Facebook del lunes, por lo que vale la pena leerlo si está buscando una explicación de cómo se veía desde la perspectiva de un sistema autónomo.

¿QUÉ PUEDE SALIR MAL CON BGP?

Muchas cosas. Según Cloudflare, dos incidentes notables incluyen un ISP turco que le dijo accidentalmente a todo Internet que enrutara su tráfico a su servicio en 2004 y un ISP paquistaní que prohibió accidentalmente YouTube en todo el mundo después de intentar hacerlo solo para sus usuarios. Debido a la capacidad de BGP para extenderse de un sistema autónomo a un sistema autónomo (que, como recordatorio, es una de las cosas que lo hace tan útil), un grupo que comete un error puede caer en cascada.

BGP A VECES SE LLAMA LA CINTA ADHESIVA DE INTERNET.

La adquisición de un grupo también puede causar problemas: en 2018, los piratas informáticos pudieron secuestrar solicitudes al DNS de Amazon y robar miles de dólares en Ethereum al comprometer los servidores BGP de un ISP separado. Amazon no fue el que fue pirateado, pero el tráfico destinado a él terminó en otro lugar.

O puede estropear una configuración y eliminar todo su servicio de Internet con una mala actualización de BGP. BGP se llama cariñosamente la cinta adhesiva de Internet, pero ningún adhesivo es perfecto.

ENTONCES, ¿QUÉ PASÓ CON FACEBOOK?

Resulta que BGP jugó un papel en los problemas de Facebook, pero no fue la causa principal. En su explicación detallada, publicada el martes, la compañía dice que un comando emitido como parte del mantenimiento de rutina desconectó accidentalmente todos los centros de datos de Facebook (¡Ups!). Cuando los servidores DNS de la empresa vieron que la red troncal ya no se comunicaba con Internet, dejaron de enviar anuncios BGP porque estaba claro que algo había salido mal.

Para la Internet en general, esto parecía que Facebook les decía a todos que quitaran sus servidores de sus mapas. El CTO de Cloudflare informó que el servicio vio una tonelada de actualizaciones de BGP de Facebook (la mayoría de las cuales fueron retiradas de rutas o borrado de líneas en el mapa que conducen a Facebook) justo antes de que se oscureciera. Uno de los líderes tecnológicos de Fastly tuiteó que Facebook dejó de proporcionar rutas a Fastly cuando se desconectó, y KrebsOnSecurity respaldó la idea de que fue una actualización del BGP de Facebook lo que eliminó sus servicios.

Recomendaría la explicación de Cloudflare si desea detalles técnicos esenciales de cómo se ve cuando BGP sale mal.

Sin embargo, en resumen, sí: el sistema BGP de Facebook esencialmente sacó su servicio del mapa. Sin embargo, solo lo hizo porque la infraestructura de la compañía estaba inactiva por otras razones: la isla de Facebook a la que apuntaban los mapas más o menos ya no existía.

SI BGP HUBIERA SIDO EL PROBLEMA, ¿CÓMO LO SOLUCIONARÍA FACEBOOK?

Si derribara las redes internas de Facebook, no habría sido fácil. Facebook detalló las dificultades que tuvo para restablecer sus sistemas en su publicación de blog del martes, y hubo informes de empleados de Facebook bloqueados en puertas protegidas con credenciales y de empleados que luchan por comunicarse. En situaciones como estas, no solo debe averiguar quién tiene el conocimiento para resolver el problema y quién tiene los permisos para resolver el problema, sino también cómo conectar a esas personas. Y cuando toda su empresa se cierra esencialmente, no es una tarea fácil: The Verge recibió informes de ingenieros enviados físicamente a un centro de datos de Facebook en California para tratar de solucionar el problema.

Si el problema hubiera sido una configuración incorrecta de BGP, Facebook habría tenido que asegurarse de que estaba anunciando los registros correctos y que esos registros fueron recogidos por Internet en general. En otras palabras, tendría que asegurarse de que sus mapas fueran correctos y que todos pudieran verlos.

Comentarios