Explicación de BGP: el protocolo que puede estar detrás de la desaparición de Facebook


Los lunes, Facebook quedó completamente desconectado, tomando Instagram y WhatsApp (sin mencionar algunos otros sitios web) abajo con eso. Muchos se han apresurado a decir que el incidente tuvo que ver con BGP, o Border Gateway Protocol, citando fuentes de dentro de Facebook, Análisis de tráficoy el instinto de que «siempre es DNS o BGP». Facebook está en camino de volver a subir, pero todo esto plantea la pregunta:

¿Qué es BGP?

En un nivel muy básico, BGP es uno de los sistemas que utiliza Internet para lleve 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.

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 importante universidad. Sería extremadamente difícil construir puentes que conecten 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 cambia, 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 tarea enorme mapear todo el Internet todo el tiempo, los sistemas autónomos comparten sus mapas. De vez en cuando, hablarán con sus vecinos de la isla para ver y copiar las actualizaciones que hayan realizado en sus mapas.

Al usar 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 se supone que no debe ir, lo que causará problemas. Si no se detecta, ese error terminará en el mapa de todos. Hay otras formas en las que esto puede salir mal, pero las veremos 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 comunicarse directamente entre sí, pero su ISP puede comunicarse con Border Communications, que puede comunicarse con Form, que puede comunicarse 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, con algunas redes cobrando a otras si quieren incluirlas en sus rutas.

Además, ¡los mapas son muy complicados! Descubrí esto recientemente tratando de planea un viaje donde existían carreteras 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, imagina cómo es tratando de conectar todo el internet juntos. Las carreteras reales no cambian con tanta frecuencia, pero los sitios web pueden moverse de un país a otro o cambiar, agregar o quitar 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.

Tomaré su palabra en eso. 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 empresa describe allí está destinado a la comunicación. dentro de centros de datos: en este punto, es difícil decir qué causó los problemas de Facebook el lunes, y se necesitaría alguien más inteligente que yo para decir si las comunicaciones del centro de datos de Facebook podrían causar este tipo de problema. Reportero de ciberseguridad Bryan Krebs afirma que la interrupción fue causada por una «actualización de rutina de BGP».

Actualización de ingeniería de InFacebook, 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 provocó un «efecto en cascada en el camino [Facebook’s] los centros de datos se comunican, trayendo [its] servicios paralizados «. 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, dado que cuánto de su propia pila de red Controles de Facebook).

¿Qué tiene que ver el DNS con todo esto?

Pedir prestado 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.

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 comprometiendo 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 estropearlo 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?

Parece que los servidores de Facebook, por alguna razón, les dijeron a todos que los quitaran de sus mapas. Facebook ha emitido un informe inicial, pero hay pocos detalles: es posible que Facebook planee publicar una explicación más detallada más adelante, diciendo por qué se realizaron los cambios, pero esto también puede ser lo último que sepamos (al menos oficialmente).

Sin embargo, CTO de Cloudflare informa 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 respalda la idea que fue una actualización del BGP de Facebook lo que eliminó sus servicios.

Yo lo recomiendo La explicación de Cloudflare si quieres detalles técnicos esenciales.

Si BGP fue el problema, ¿cómo lo soluciona Facebook?

Dado que la interrupción se prolongó durante horas, la respuesta parece ser «no es fácil». Facebook necesitaba asegurarse de anunciar los registros correctos y de que esos registros fueran recogidos por Internet en general. En otras palabras, necesitaba asegurarse de que sus mapas fueran correctos y que todos pudieran verlos.

Sin embargo, es más fácil decirlo que hacerlo. Hubo informes de empleados de Facebook. ser bloqueado de puertas protegidas con placa 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 está muerta en el agua, no es una tarea fácil: El borde informes recibidos de ingenieros enviados físicamente a un centro de datos de Facebook en California para intentar solucionar el problema.

¿Web3 resolvería este problema?

Para. Lloraré.

Pero para responder rápidamente a la pregunta, probablemente no, incluso si Facebook se subiera al tren descentralizado, todavía tendría que haber algún protocolo que le diga dónde encontrar sus recursos. Hemos visto que es posible configurar incorrectamente o estropear los contratos de blockchain antes, por lo que sospecharía un poco de cualquiera que dijera que un contrato y una Internet basada en blockchain serían inmunes a este tipo de problema.

Seguro que fue un momento sospechoso en ese apagón dadas todas las malas noticias de Facebook, ¿eh?

Bien, tan obviamente, el hecho de que todo esto sucedió mientras un denunciante iba a la televisión y aireaba los trapos sucios de Facebook hace que sea muy fácil encontrar explicaciones alternativas. Pero es posible que se trate de un error inocente que cometió alguna persona (muy, muy desafortunada) del personal de TI de Facebook.

Por lo que vale, esa es la explicación de Facebook. Echa la culpa a un «cambio de configuración defectuoso» que hizo, no a ningún truco tortuoso.

Actualización 4 de octubre, 10:44 p.m. ET: Actualizado con información de la publicación oficial de ingeniería de Facebook.





Fuente: The Verge

Compartir:

Deja una respuesta

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

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para fines de afiliación y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Ver Política de cookies
Privacidad