Facebook, Instagram e WhatsApp sono tornati operativi dopo il lungo down che li ha colpiti a partire dalle 17:30 di ieri, 4 ottobre, con causa sconosciuta. In serata erano comparse alcune ipotesi, anche in seguito ad alcune dichiarazioni di un misterioso utente di Reddit, ora cancellato. Ipotesi che si è rivelata essere la realtà: Facebook ha confermato che il problema dietro i disservizi è legato a un cambio di configurazione nei peering router dell’azienda. Con un post sul blog ufficiale di Facebook Santosh Janardhan, vice presidente del team ingegneristico, ha spiegato l’accaduto. Ma cosa è successo davvero? E perché c’è voluto così tanto tempo per risolvere il problema?
Il 4 ottobre rimarrà nella storia: ieri si è verificato il down più lungo mai registrato per Facebook, Instagram e WhatsApp. Il disservizio ha colpito tutto il mondo, scatenando il panico tra gli utenti, che si sono riversati su Twitter per scambiarsi battute e cercare di capire cosa fosse successo. Se inizialmente si pensava a un disservizio temporaneo, non il primo per Facebook e le altre piattaforme, dopo un paio d’ore la situazione è diventata molto seria. Tra le diverse indiscrezioni, sia fake che più veritiere, è spuntata una possibile causa, che poi è diventata realtà: il problema del down di Facebook, Instagram e WhatsApp si è originato in seguito ad una modifica della configurazione dei router dei servizi.
Il nostro team di ingegneri ha scoperto che le modifiche alla configurazione dei backbone routers, che coordinano il traffico di rete tra i nostri data center, ha causato l’interruzione della comunicazione. La sospensione del traffico ha causato un effetto a cascata sui data center, fermando tutti i servizi.
Santosh Janardhan, Vicepresidente dell’area Engineering and Infrastructure
I backbone routers nominati da Janardhan sono i responsabili della comunicazione tra diverse sotto-reti. Nel caso di Facebook la backbone network formata da questi router si occupa di gestire il traffico tra i diversi data center dell’azienda. Nel dettaglio, il “colpevole” dietro la sospensione dei servizi è la configurazione del BGP – Border Gateway Protocol. Questo protocollo si occupa di connettere router (detti “router di confine”) che appartengono a sistemi autonomi e distinti, che sono a loro volta dei pool di router. Il BGP è responsabile di scegliere la via migliore per trasferire i pacchetti da un sistema all’altro, ed è alla base della comunicazione Internet moderna.
Cosa è successo quindi? E cosa c’entra il BGP? Per poter usare il protocollo e realizzare la comunicazione tra i sistemi, ognuno di essi deve comunicare la propria presenza per poter essere individuato. L’identificativo di ogni sistema è l’Autonomous System Number o ASN, che determina una policy di routing unica per quel sistema, ovvero la lista di indirizzi IP presenti nella sua rete. Queste informazioni sono condivise col BGP per realizzare la rete inter-sistema.
Secondo quanto riportato sul blog di Cloudfare, Facebook avrebbe smesso di comunicare i dettagli sul proprio routing, cancellando di fatto le connessioni con gli altri sistemi. L’aggiornamento della configurazione di cui il web parlava ieri riguardava per l’appunto una modifica alle informazioni del BGP che ha reso irraggiungibili i domini di Facebook. I servizi delle piattaforme si sarebbero quindi “disconnessi” dal web. I tre social hanno sostanzialmente smesso di comunicare i dettagli sul proprio routing, rendendo i resolver DNS incapaci di connettersi ai nameserver dell’azienda.
A peggiorare la situazione c’è stato l’incremento di traffico verso i server Facebook e i resolver DNS. Sia le app, sia gli utenti, hanno cominciato a generare un enorme volume di richieste verso i resolver DNS nel tentativo di aggiornare il feed. Come molti utenti hanno notato, ci sono stati problemi di timeout anche su altre piattaforme, in quanto i resolver di tutto il mondo hanno dovuto fare i conti con una quantità di richieste 30 volte superiore al normale.
L’aggiornamento della configurazione del BGP ha causato problemi anche alla comunicazione interna dei sistemi. Questo ha portato a grosse difficoltà nella risoluzione tempestiva del problema, in quanto gli ingegneri di Facebook avevano difficoltà a comunicare sia tra di loro che con i sistemi. In questo caso l’unica soluzione era avere accesso fisico ad essi, con conseguenti ritardi dovuti alla logistica. Non solo: nella maggior parte dei casi coloro che avevano accesso fisico ai sistemi non avevano le conoscenze per risolvere il problema, e viceversa. I dipendenti giunti sul posto, inoltre, hanno segnalato problemi coi badge di accesso, rimanendo di fatto chiusi fuori dagli uffici.
C’è voluta tutta la notte per riportare i servizi online in tutto il mondo. Santosh Janardhan avverte che potrebbero esserci ancora dei piccoli disservizi, dovuti alla risoluzione ancora in atto del problema. Eliminata l’ipotesi di un attacco hacker, Facebook ci tiene a rassicurare gli utenti sull’integrità dei loro dati, dichiarando di non aver registrato alcuna compromissione.