Am Montag wurde Facebook komplett offline geschaltet, was Instagram und WhatsApp (ganz zu schweigen von einigen anderen Websites) mit sich brachte. Viele sagten schnell, dass der Vorfall mit BGP oder Border Gateway Protocol zu tun hatte, und zitierten Quellen aus Facebook, Verkehrsanalysen und das Bauchgefühl, dass “es immer DNS oder BGP ist”. Facebook ist auf dem Weg zurück, aber all das wirft die Frage auf:
Was ist BGP?
Auf einer sehr grundlegenden Ebene, BGP ist eines der Systeme, die das Internet verwendet, um Ihren Datenverkehr so schnell wie möglich dorthin zu bringen, wo er benötigt wird. Da es unzählige verschiedene Internetdienstanbieter, Backbone-Router und Server gibt, die dafür verantwortlich sind, dass Ihre Daten beispielsweise zu Facebook gelangen, gibt es eine Menge verschiedener Routen, auf denen Ihre Pakete enden können. Die Aufgabe von BGP ist es, ihnen den Weg zu zeigen und sicherzustellen, dass es die beste Route ist.
Ich habe gehört, dass BGP als ein System von Postämtern, Fluglotsen und mehr beschrieben wird, aber ich glaube, meine Lieblingserklärung war eine, die es mit einer Karte verglich. Stellen Sie sich BGP als eine Gruppe von Leuten vor, die Karten erstellen und aktualisieren, die Ihnen zeigen, wie Sie zu YouTube oder Facebook gelangen.
BGP ist wie eine Karte, die Ihrem Computer sagt, welche Brücken er überqueren muss, um zu Facebook zu gelangen
Bei BGP wird das Internet in große Netzwerke, sogenannte autonome Systeme, zerlegt. Sie können sie sich als Inselstaaten vorstellen – es sind Netzwerke, die von einer einzigen Einheit kontrolliert werden, die ein ISP wie Comcast, ein Unternehmen wie Facebook oder eine andere große Organisation wie eine Regierung oder eine große Universität sein kann. Es wäre extrem schwierig, Brücken zu bauen, die jede Insel mit allen anderen verbinden, daher ist BGP dafür verantwortlich, Ihnen mitzuteilen, welche Inseln (oder autonomen Systeme) Sie passieren müssen, um an Ihr Ziel zu gelangen.
Da sich das Internet ständig ändert, müssen die Karten aktualisiert werden – Sie möchten nicht, dass Ihr ISP Sie auf einen alten Weg führt, der nicht mehr zu Google führt. Da es ein gewaltiges Unterfangen wäre, das gesamte Internet ständig abzubilden, teilen autonome Systeme ihre Karten. Sie sprechen gelegentlich mit ihren Inselnachbarn, um alle Aktualisierungen zu sehen und zu kopieren, die sie an ihren Karten vorgenommen haben.
Biegen Sie links in den Fluss
Wenn Sie Karten als Rahmen verwenden, können Sie sich leicht vorstellen, wie etwas schief gehen kann. Als Verbraucher zum ersten Mal Zugang zu GPS bekamen, gab es immer Witze darüber, dass man von einer Klippe oder mitten in die Wüste fährt. Dasselbe kann mit BGP passieren – wenn jemand einen Fehler macht, kann es dazu führen, dass der Verkehr an eine Stelle geleitet wird, an die er nicht gehen soll, was zu Problemen führt. Wenn es nicht erwischt wird, wird dieser Fehler auf jedermanns Karte landen. Es gibt noch andere Möglichkeiten, wie dies schief gehen kann, aber dazu kommen wir gleich.
Ja, ja, Karten. Gib mir ein Beispiel.
Natürlich! Dies ist massiv vereinfacht, aber stellen Sie sich vor, Sie möchten eine Verbindung zu einer imaginären Tech-News-Website namens Convergence herstellen. Convergence verwendet den ISP NetSend, und Sie verwenden DecadeConnect. In diesem Beispiel können DecadeConnect und NetSend nicht direkt miteinander kommunizieren, Ihr ISP kann jedoch mit Border Communications kommunizieren, die mit Form kommunizieren kann, die mit NetSend kommunizieren kann. Wenn dies die einzige Route ist, würde BGP sicherstellen, dass Sie und Convergence darüber kommunizieren können. Aber wenn alternativ sowohl DecadeConnect als auch NetSend mit ThirdLevel verbunden wären, würde BGP wahrscheinlich Ihren Datenverkehr darüber leiten, da es sich um einen kürzeren Hop handelt.
Okay, BGP ist also wie Karten, die die schnellsten Wege von Ihnen zu einer Website detailliert beschreiben?
Rechts! Leider kann es noch komplizierter werden, denn das Kürzeste ist nicht immer gleich das Beste. Es gibt viele Gründe, warum ein Routingalgorithmus einen Pfad einem anderen vorzieht – auch die Kosten können ein Faktor sein, da einige Netzwerke andere Gebühren erheben, wenn sie sie in ihre Routen einbeziehen möchten.
Das Kartieren unveränderlicher Straßen ist schwierig; Stellen Sie sich vor, das Internet zu kartieren
Außerdem sind Karten super knifflig! Ich habe dies erst kürzlich entdeckt, als ich eine Reise planen wollte, bei der Straßen auf einer Karte und nicht auf einer anderen existierten oder sich zwischen den Karten unterschieden. Eine Straße hatte sogar drei verschiedene Namen auf drei Karten. Wenn es so schwer ist, eine „Stadt“ mit allen fünf Straßen festzulegen, stellen Sie sich vor, wie es ist, das gesamte Internet miteinander zu verbinden. Echte Straßen ändern sich nicht so oft, aber Websites können von einem Land in ein anderes wechseln oder Serviceanbieter wechseln, hinzufügen oder entfernen, und das Internet muss sich einfach damit auseinandersetzen.
Ich erinnere mich an so etwas aus meiner Klasse für Algorithmen und Datenstrukturen – ich habe versucht, Algos zu bauen, um die kürzeste Route zu finden.
Ich nehme Ihr Wort darauf . Ich brach ab, als ich von Diagrammen hörte.
Aber Facebook nicht! Tatsächlich hat es ein eigenes BGP-System entwickelt, mit dem es „schnelle inkrementelle Updates“ durchführen kann, so ein Papier, das Anfang dieses Jahres vorgestellt wurde. Das dort beschriebene System ist jedoch für die Kommunikation innerhalb von Rechenzentren gedacht – zu diesem Zeitpunkt ist es schwer zu sagen, was die Probleme von Facebook am Montag verursacht hat, und es braucht jemanden, der klüger ist als ich, um zu sagen, ob die Kommunikation von Facebook dies verursachen könnte Art von Problem. Der Cybersicherheitsreporter Bryan Krebs behauptet, dass der Ausfall durch ein „routinemäßiges BGP-Update“ verursacht wurde.
In dem technischen Update von InFacebook heißt es, dass das Problem durch “Konfigurationsänderungen an den Backbone-Routern verursacht wurde, die den Netzwerkverkehr zwischen unseren Rechenzentren koordinieren”. Das führte dann zu einem „kaskadierenden Effekt auf die Art und Weise, wie [die] Rechenzentren von [Facebook] kommunizieren und [seine] Dienste zum Erliegen brachten“. Zumindest in meinen Augen liest es sich so, als ob das Problem darin bestand, dass Facebook in sich selbst kommunizierte, nicht mit der Außenwelt (obwohl dies offensichtlich zu einem weltweiten Ausfall führen kann, wenn man bedenkt, wie viel von seinem eigenen Netzwerkstapel Facebook kontrolliert).
Was bedeutet DNS hat das alles damit zu tun?
Um eine Erklärung von Cloudflare zu leihen: DNS sagt Ihnen, wohin Sie gehen, und BGP sagt Ihnen, wie Sie dorthin gelangen. Durch DNS wissen Computer, unter welcher IP-Adresse eine Website oder eine andere Ressource zu finden ist, aber dieses Wissen selbst ist nicht hilfreich – wenn Sie Ihren Freund fragen, wo sein Haus ist, benötigen Sie wahrscheinlich immer noch GPS, um dorthin zu gelangen .
Cloudflare bietet auch einen großartigen technischen Überblick darüber, wie BGP-Fehler auch DNS-Anfragen durcheinanderbringen können – der Artikel befasst sich speziell mit dem Facebook-Vorfall vom Montag. Es lohnt sich also, ihn zu lesen, wenn Sie nach einer Erklärung suchen, wie er aus der Perspektive eines autonomen Systems aussah .
Was kann bei BGP schief gehen?
Viele Dinge. Laut Cloudflare gibt es zwei bemerkenswerte Vorfälle, darunter ein türkischer ISP, der 2004 versehentlich dem gesamten Internet mitteilte, seinen Datenverkehr an seinen Dienst weiterzuleiten, und ein pakistanischer ISP, der YouTube versehentlich weltweit verbot, nachdem er dies nur für seine Benutzer versucht hatte. Aufgrund der Fähigkeit von BGP, sich von autonomen Systemen zu autonomen Systemen auszubreiten (was zur Erinnerung eines der Dinge ist, die es so verdammt nützlich machen), kann eine Gruppe, die einen Fehler macht, kaskadieren.
BGP wird manchmal als Kanal bezeichnet Band des Internets
Der Besitz einer Gruppe kann ebenfalls Probleme verursachen – im Jahr 2018 konnten Hacker Anfragen an das DNS von Amazon kapern und Tausende von Dollar in Ethereum stehlen, indem sie die BGP-Server eines separaten ISPs kompromitierten. Amazon war nicht derjenige, der gehackt wurde, aber der dafür vorgesehene Verkehr landete woanders.
Oder Sie können es durcheinander bringen und Ihren gesamten Dienst mit einem fehlerhaften BGP-Update aus dem Internet löschen. BGP wird liebevoll das Klebeband des Internets genannt, aber kein Klebstoff ist perfekt.
Und was ist mit Facebook passiert?
Es scheint, als hätten die Server von Facebook aus irgendeinem Grund allen gesagt, sie sollen sie von ihren Karten nehmen. Facebook hat einen ersten Bericht veröffentlicht, aber es sind keine Details – es ist möglich, dass Facebook plant, später eine ausführlichere Erklärung zu veröffentlichen, in der erklärt wird, warum die Änderungen vorgenommen wurden, aber dies könnte auch das letzte sein, was wir davon hören (zumindest offiziell). .
Der CTO von Cloudflare berichtet jedoch, dass der Dienst eine Menge BGP-Updates von Facebook gesehen hat (die meisten davon waren Routenrücknahmen oder das Löschen von Linien auf der Karte, die zu Facebook führen), kurz bevor es dunkel wurde. Einer der Tech-Leads von Fastly twitterte, dass Facebook die Bereitstellung von Routen für Fastly eingestellt habe, als es offline ging, und KrebsOnSecurity bestätigt die Idee, dass es ein Update von Facebooks BGP war, das seine Dienste ausgefallen ist.
Ich würde die Erklärung von Cloudflare empfehlen, wenn Sie grundlegende technische Details wünschen.
Wenn BGP das Problem war, wie behebt Facebook es?
Da der Ausfall stundenlang andauerte, scheint die Antwort „nicht leicht“ zu sein. Facebook musste sicherstellen, dass es die richtigen Aufzeichnungen annonciert und dass diese Aufzeichnungen vom Internet im Allgemeinen aufgenommen werden. Mit anderen Worten, es musste sicherstellen, dass die Karten richtig waren und jeder sie sehen konnte.
Das ist aber leichter gesagt als getan. Es gab Berichte über Facebook-Mitarbeiter, die von durch Badges geschützten Türen ausgesperrt wurden, und über Mitarbeiter, die Schwierigkeiten hatten, zu kommunizieren. In Situationen wie diesen müssen Sie nicht nur herausfinden, wer das Wissen zur Lösung des Problems hat und wer die Berechtigungen zur Lösung des Problems hat, sondern auch, wie Sie diese Personen verbinden können. Und wenn Ihr gesamtes Unternehmen tot ist, ist das keine leichte Aufgabe – The Verge erhielt Berichte über Ingenieure, die physisch in ein Facebook-Rechenzentrum in Kalifornien geschickt wurden, um zu versuchen, das Problem zu beheben.
Verwandt
Ausgesperrt und total down: Facebook versucht, massiven Ausfall zu beheben
Würde Web3 dieses Problem lösen?
Hör auf. Ich werde weinen.
Aber um die Frage schnell zu beantworten, wahrscheinlich nicht – selbst wenn Facebook in den dezentralen Zug einsteigen würde, müsste es immer noch ein Protokoll geben, das Ihnen sagt, wo Sie seine Ressourcen finden. Wir haben schon früher gesehen, dass es möglich ist, Blockchain-Verträge falsch zu konfigurieren oder durcheinander zu bringen, daher wäre ich etwas misstrauisch gegenüber jedem, der sagt, dass ein Vertrag und ein Blockchain-basiertes Internet gegen diese Art von Problem immun wären.
< p id="7sIC21">Natürlich war das Timing bei diesem Ausfall angesichts all der schlechten Facebook-Nachrichten faul, oder?
Richtig, also offensichtlich, die Tatsache, dass Das alles geschah, während ein Whistleblower im Fernsehen lief und das Ausstrahlen der schmutzigen Wäsche von Facebook macht es wirklich einfach, alternative Erklärungen zu finden. Aber es ist genauso gut möglich, dass dies ein unschuldiger Fehler ist, den eine (sehr, sehr unglückliche) Person des IT-Teams von Facebook gemacht hat.
Das ist die Erklärung von Facebook. Es macht eine “fehlerhafte Konfigurationsänderung” verantwortlich, die es vorgenommen hat, nicht irgendwelche hinterhältigen Hacks.
Update 4. Oktober, 22:44 Uhr ET: Aktualisiert mit Informationen aus dem offiziellen technischen Beitrag von Facebook.