De urenlange downtime waar Facebook en zijn diensten maandagavond mee te maken had, kwam door een wijziging bij de backbonerouters voor zijn datacenters. Er waren al aanwijzingen dat de oorzaak bij een BGP-update van Facebook lag.
Details over de configuratiewijzigingen die tot de grootschalige problemen leidden geeft Facebook niet. Wel meldt het bedrijf dat de verstoring resulteerde in een sneeuwbaleffect waardoor de diensten van het bedrijf onbereikbaar werden. "De onderliggende oorzaak van de uitval had ook impact op veel interne tools en systemen die we in ons dagelijks werk gebruiken, waardoor het moeilijk was om snel het probleem te constateren en te verhelpen", meldt het bedrijf. Facebook biedt zijn verontschuldigingen aan gebruikers aan.
De melding bevestigt berichten die al snel na de downtime van maandag online verschenen, onder andere van een Reddit-gebruiker met de naam Ramenporn die werkzaam zou zijn bij het team dat de verstoring onderzocht. In berichten die inmiddels zijn verwijderd, beweerde hij dat de oorzaak lag bij configuratiewijzigingen met betrekking tot BGP-peering.
Die zou maken dat de Facebook-netwerken niet meer bereikbaar waren via de routingtables en de beheerders dus niet meer op afstand de routers konden benaderen om het probleem te fixen. Systeembeheerders moesten daarom fysiek bij de routers komen om wijzigingen door te voeren, maar die zouden niet de juiste kennis daarvoor hebben, waarbij het gebrek aan communicatie de kennisoverdracht zou bemoeilijken. Volgens een redacteur van de New York Times zou een extra obstakel zijn dat medewerkers de datacenters niet konden betreden omdat hun badges niet meer werkten.
Facebook past BGP op zijn eigen wijze op grote schaal toe in de netwerken van zijn datacenters, zo omschreven technici van het bedrijf eerder in een paper met de titel Running BGP in Data Centers at Scale. De Facebook-technici stellen hierdoor onder andere 'snelle incrementele updates' door te kunnen voeren.
Cloudflare legt in een analyse uit dat Facebook voorafgaand aan de problemen inderdaad BGP-updates bij zijn netwerken doorvoerde. BGP staat voor Border Gateway Protocol en is het protocol dat de netwerkcommunicatie tussen netwerken van Autonomous Systems regelt. Via BGP adverteren netwerken zich met prefixes op internet, zodat deze bereikbaar zijn met routingtables. Door de update bij zijn backbonerouters stopte Facebook met zich aankondigen, waardoor netwerken wereldwijd niet meer reageerden op DNS-queries met betrekking tot Facebook en zijn diensten. Dit leidde op zijn beurt tot verdere problemen omdat clients wereldwijd de nameservers van Facebook bleven benaderen, met een stortvloed aan DNS-verkeer tot gevolg, waardoor DNS-resolvers overbelast konden raken. Ook nam het verkeer naar andere diensten toe, zoals Twitter. De uitval duurde uiteindelijk zo'n zes uur.