De urenlange storing bij Facebook en zijn diensten werd veroorzaakt door een verkeerd commando tijdens routine-onderhoud. Het commando haalde onverhoopt het hele backbone-netwerk offline, wat een volgend probleem met het border gateway-protocol veroorzaakte.
Het betreffende commando dat bij het reguliere onderhoud werd gegeven zou de "wereldwijde beschikbaarheid van de backbone" in kaart hebben moeten brengen, zo legt Facebook in een blogpost uit. In plaats daarvan werd onbedoeld het hele backbone-netwerk offline gehaald, waardoor Facebooks datacenters als het ware volledig ontkoppeld werden van het internet. "Onze systemen zijn ontworpen om dit soort foutieve commando's tegen te houden om zo fouten als deze tegen te gaan, maar door een bug in de audit-tool gebeurde dat niet."
Daaropvolgend ontstond er een tweede fout, in dat geval bij kleinere datacenters waar DNS-verzoeken verwerkt worden. "Om te zorgen dat die betrouwbaar werken, trekken [de betreffende datacenters] BGP-advertisements in als ze niet kunnen communiceren met onze datacenters." Die BGP-advertisements zorgen ervoor dat andere netwerken de Facebook-diensten kunnen vinden op het internet. Vanwege het offline geraken van het backbone-netwerk waren de DNS-servers niet bereikbaar en werden de BGP-advertisements geweigerd. "Het eindresultaat was dat onze DNS-servers onbereikbaar werden, ook al deden ze het nog wel."
Uiteindelijk kon de kettingreactie van technische problemen niet op tijd opgelost worden omdat werknemers fysiek bij de servers moesten komen. Vanwege fysieke- en systeemtechnische beveiligingsmaatregelen bij Facebooks datacenters is dit extra moeilijk; op deze manier wordt misbruik voorkomen. Ook het aanpassen van de routers, servers en andere systemen is om diezelfde reden extra moeilijk gemaakt, wat voor langere debugtijden zorgde.
Na de wereldwijde storing van Facebook en zijn diensten werd veel gespeculeerd over de mogelijke onderliggende redenen. Kort daarna kwam het sociale medium met een relatief beknopte verklaring over wat er de avond ervoor gebeurd was. Tweakers publiceerde dinsdagavond een achtergrondartikel over de storing en de rol van het BGP-protocol, waarbij dieper op de onderliggende techniek ingegaan wordt.
Update, 22.00: In het oorspronkelijke artikel werd 'border gateway-protocol' meermaals foutief afgekort als 'BPG'. Dat is gecorrigeerd. Met dank aan mario963 en markvw.