Editorial: Der zentrale Fehler
Am Montag waren gleich alle Dienste des Facebook-Konzerns auf einmal ausgefallen, und das weltweit: Facebook, WhatsApp, Instagram, Facebook Messenger und so weiter. Nichts davon lief mehr für ca. sechs Stunden. Ursache war nicht ein Datenbank-Ausfall oder ein Computerfehler, sondern Netzwerk-Software: Diese läuft auf den hochleistungsfähigen Internet-Routern, die Datenpakete jeweils in die richtige Richtung schicken. Die schnellsten kommerziellen Router können auf allen Schnittstellen gemeinsam hunderte Terabit pro Sekunde übertragen, und dazu Milliarden Internet-Pakete pro Sekunde weiterleiten.
Nun ändert sich die Konfiguration des Internets ständig: Provider schließen neue Kunden an, sie nehmen neue Backbone-Leitungen in Betrieb oder schalten alte ab. Interconnect-Verträge zwischen Providern werden geschlossen, im Preis geändert oder wieder aufgelöst. In der Folge kann der Weg von Ihrem Computer zum teltarif-Server, der heute noch richtig ist, morgen schon in einer Sackgasse enden. Um trotz all dieser Dynamik das Internet am Laufen zu halten, gibt es ein kooperatives Protokoll aller Provider, genannt BGP, mit dem die nötigen Informationen ausgetauscht werden, welche Netze auf welchem Weg erreichbar sind.
Für die interne Kommunikation innerhalb der Struktur eines Providers oder Diensteanbieters ist BGP aber nur bedingt geeignet. Beispielsweise benötigt ein Frontend-Server für Facebooks Web-Dienst die in den BGP-Datenbanken enthaltenen Informationen, welche weltweiten Netzwerke wie erreichbar sind, überhaupt nicht. Es reicht, wenn der Web-Dienst weiß, wie er einen Router (und ggfls. noch einen Backup-Router) erreichen kann, der dann die weltweite Weiterleitung übernimmt.
Schlimmer noch, die BGP-Informationen sind regional unterschiedlich. Für ein Facebook-Datenzentrum in Dublin gelten andere Informationen, wie man Pakete am besten Richtung der Deutschen Telekom routet, als für ein Facebook-Datenzentrum in Richmond. Zugleich müssen die Facebook-Server aber in der Lage sein, über effiziente Leitungen direkt miteinander zu kommunizieren. Zwar hält der Facebook-Konzern die meisten Daten regional möglichst nah am jeweiligen User. Aber wenn ein User eben von Europa nach Amerika reist, dann loggt er sich anschließend natürlich bei einem der US-Datenzentren ein, während seine Daten sich noch in Europa befinden. Und dann muss der US-Frontend-Server auf das europäische Daten-Backend zugreifen, über die internen Facebook-Leitungen, für die eben andere Wege gelten als für "normale" Internet-Pakete.
Routing-Protokolle für "intern" und "extern"
Für jeden Messaging-Dienst, sollte man einen Plan B bereit halten.
Foto: Picture Alliance / dpa
Die Folge: Große internationale Internetkonzerne wie Google, Facebook
oder Amazon verwenden spezielle interne Routing-Protokolle sowohl
innerhalb als auch zwischen ihren Datenzentren, und BGP für die
Kommunikation mit dem Rest der Welt. Für die interne Kommunikation gibt
es ebenfalls Standard-Protokolle, beispielsweise das recht einfache OSPF,
die aber nicht immer alle Anforderungen erfüllen. Um die internen Routen
optimal zu verwalten, hatte Facebook daher eine eigene Lösung entwickelt.
Und hier passierte dann der Fehler: Bei einem Routine-Update für das interne Routing wurde ein Konfigurationsfehler gemacht. Bedingt durch Schwächen des selbst entwickelten internen Routing-Protokolls bewirkte das dann nicht nur, dass die fehlkonfigurierten Server unerreichbar wurden, sondern, dass das komplette interne Routing zusammenbrach. Und weil die Edge-Router, das sind die Router zwischen "drinnen" und "draußen", in der Folge ebenfalls keine Facebook-Dienste mehr erreichen konnten, löschten sie dann konsequent alle bis dahin über BGP veröffentlichten Routen. Schließlich wussten sie ja wegen des Zusammenbruchs des internen Routings nicht mehr, wie sie Pakete, die für Facebook bestimmt waren, weiterleiten sollten.
Somit war der interne Konfigurationsfehler damit maximal eskaliert. Nichts ging mehr. Teilweise kamen wohl nicht einmal mehr Facebook-Mitarbeiter in ihre Büros, weil, nun ja, die Schlüsselkarten nicht mehr eingelesen werden konnten, weil die zugehörige Datenbank ebenfalls im Facebook-Nirwana verschwunden war.
Management-Netz?
Spätestens hier stellt sich nun natürlich die Frage, warum es kein physisch getrenntes, manuell konfiguriertes, zwar langsames, aber eben nur für Notfälle wie diesen hier ausgelegtes Management-Netz gibt, über das man den letzten Konfigurationsstand von vor dem fatalen Update hätte zurückspielen können. Gut, die Frage werden wohl einige Netzwerk-Manager demnächst detaillierter an Mark Zuckerberg beantworten müssen; die Antwort werden wir aber wahrscheinlich nicht erfahren. "Kosten" könnte einer der Gründe sein, schließlich macht es einen Unterschied, ob man zu jedem Server und jedem Router noch eine Ethernet-Strippe zusätzlich ziehen muss und dann auch regelmäßig testen muss, ob diese auch wirklich funktioniert. Denn im Regelbetrieb braucht man ja das Management-Netz nicht.
Alternative Messenger-App
Die folgende Frage können Sie hingegen für sich selber beantworten: Wie viele alternative Messenger-Apps haben Sie betriebsbereit auf Ihrem Smartphone? Denn der nächste WhatsApp-Ausfall kostet Sie nur ein Schulterzucken, wenn Sie auch Signal, Threema und Telegram auf dem Smartphone haben. Wenn Nachrichten auf App 1 nicht durchgehen, dann nehmen Sie halt einfach App 2. Klar kann man App 2 zur Not auch dann installieren, wenn App 1 gerade in die Knie geht. Nur: Weil ja nicht nur bei Ihnen App 1 gerade zickt, laden dann viele User auf einmal App 2 herunter, und dann droht schon wieder Rückstau auf deren Registrierungsserver. Besser, Sie haben App 2 schon auf dem Handy, bevor App 1 das nächste Mal zickt.