Hoe Facebook zichzelf in achttien minuten van de kaart veegde

Technologie Een urenlange storing bij enkele van ’s werelds meest gebruikte internetdiensten was te wijten aan een eigen netwerkfout van Facebook. Een automatisering die het wilde doorvoeren, liep mis.

Een vrouw checkt haar Instagram-account op straat in New York. Instagram, WhatsApp en Facebook lagen er maandag urenlang uit.
Een vrouw checkt haar Instagram-account op straat in New York. Instagram, WhatsApp en Facebook lagen er maandag urenlang uit. Foto Ed Jones/AFP

„Het ligt niet aan jou, het ligt aan ons.”

Dit bericht van WhatsApp gaat maandagavond om 19.18 uur, Nederlandse tijd, rond op Twitter. Zo probeert de chatdienst twee miljard gebruikers gerust te stellen die niet meer konden communiceren via ’s werelds meest gebruikte chatdienst.

De oorzaak zo blijkt al snel, is een storing bij moederbedrijf Facebook. Een kleine maar cruciale fout maakte alle Facebook-diensten onklaar, inclusief Instagram, WhatsApp en de software die Facebooks eigen personeel gebruikt om het netwerk aan de praat te houden. Het duurde ruim zes uur om het probleem op te lossen – voor internetbegrippen een langdurige storing.

Wat ging er mis?

Border Gateway Protocol

Daarvoor moeten we afdalen in de krochten van het internet, naar de techniek die losse computernetwerken met elkaar verbindt. Het internet is een verzameling van ruim 65.000 netwerken die met elkaar communiceren via het Border Gateway Protocol (BGP). Dat is een dynamische wegenkaart, een tabel met de snelste routes om computers van netwerk A met de computers in netwerk B te verbinden. Deze infrastructuur bestaat al sinds de begintijd van het internet en is sindsdien niet wezenlijk veranderd.

De BGP-database is gigabytes groot en bevat ook verwijzingen naar Facebook, met zo’n drie miljard gebruikers een reus in het dataverkeer. Bedrijven als Facebook zorgen zelf voor BGP-updates om optimale routes aan te bieden. ‘Adverteren’, heet dat in netwerkjargon. Daar ging maandag iets mis: de routes naar Facebook bleken niet aangepast, maar compleet verwijderd.

Facebook had zichzelf van de kaart geveegd met een verkeerde ‘advertentie’. Want omdat updates in de BGP-database door alle centrale schakelpunten van het internet worden overgenomen, verdwenen de routes naar Facebook, Instagram en WhatsApp wereldwijd. Een tweet die WhatsApp even na 18.00 uur maandagavond verstuurde – „we weten dat sommige gebruikers met problemen kampen” – leek de omvang van het probleem te onderschatten.

De verklaring van Facebooks eigen experts, die dinsdag online verscheen, rept over een „configuratiefout in de routers die het netwerkverkeer coördineren tussen onze datacenters”.

Internetdienst Cloudfare

Internetdienst Cloudflare – zelf ook eens getroffen door een soortgelijke storing – biedt meer details. Daar merkten ze om 15.58 uur UTC (standaardtijd, 17.58 uur in Nederland) dat er iets mis was met de verbinding met Facebook. „We dachten eerst dat het onze fout was.”

Achttien minuten eerder, om 15.40 uur, zag Cloudflare een piek in het aantal updates die naar de ‘BGP-routeringstabellen’ door Facebook werden doorgegeven. In die achttien minuten verdween Facebook van het internet.

Lees ook: Als het het internet een hartaanval krijgt

Wat veroorzaakte de fout? Mogelijk heeft het iets te maken met automatisering die Facebook doorvoerde bij het sluiten van ‘peering-overeenkomsten’ (de manier waarop serviceproviders verbinding maken met een internetreus als Facebook). Facebook heeft daarover nog geen uitsluitsel gegeven.

Handmatige aanpassing nodig

In ieder geval moest de fout handmatig hersteld worden. Facebooks netwerkbeheerders hadden zichzelf namelijk buitengesloten; door de onbedoelde wijziging was het niet langer mogelijk om de servers op afstand aan te passen. Er moest een team fysiek afreizen naar Facebooks datacenter in Santa Clara, Californië, om het probleem op te lossen.

Ook interne Facebook-software bleek niet meer te werken door de routing-fouten; de toegangspasjes van Facebook-kantoren weigerden dienst en medewerkers moesten noodgedwongen andere methoden gebruiken om met elkaar te communiceren.

Geautomatiseerde systemen die domeinnamen registreren bleken ook van slag. Daardoor leek het alsof domeinnaam Facebook.com ook te koop was, voor iedereen die interesse had – en genoeg geld. Jack Dorsey, oprichter en topman van het concurrerende sociale netwerk Twitter, had maar twee woorden nodig voor zijn sneer: „How much?”

Twitter had maandag een topdag, omdat zowel Facebook- als Instagram-gebruikers hun heil elders zochten en nu besloten hun Twitter-accounts af te stoffen. Ook sms bleek een redmiddel voor velen. KPN, de Nederlandse provider, constateerde maandagavond een verdubbeling van het gebruikelijke aantal sms’jes. Maar via sms groepsgesprekken voeren of bijlagen versturen, is niet mogelijk.

Lees ook deze column van Marc Hijink: Laatste waarschuwing van WhatsApp

De storing confronteerde gebruikers wereldwijd met foutmeldingen als „Sorry, something went wrong. Please try again.”’ Dat ging verder dan ongemak, twitterde Eva Cukier, NRC-correspondent in Rusland. „Vervelend voor de vele Russen en andere inwoners van semi-autoritaire landen die Facebook gebruiken als eerstelijns nieuwsbulletin.”

Facebooks storing was in de loop van de nacht van maandag op dinsdag weer verholpen. Daarna kwamen de diensten voorzichtig op gang, met excuses voor het ongemak. Sindsdien zijn geen nieuwe storingen meer gemeld. Het bedrijf benadrukte dinsdag dat er geen sprake was van kwaadaardige opzet, bijvoorbeeld door hackers. Zakelijke klanten – bedrijven die adverteren op Facebook – krijgen dinsdag wel de melding dat het advertentiesysteem nog „herstellende” is. Blijkbaar is Facebook de schok nog niet helemaal te boven.