Cloudflare spiega come Facebook, WhatsApp e Instagram sono scomparsi da Internet

Dopo più di 6 ore senza Facebook, WhatsApp e Instagram, Cloudflare È stato il primo a spiegare cosa è successo, perché una spiegazione molto lunga e tecnica, al punto che l’hanno scritta due ingegneri dell’azienda.

Una spiegazione dettagliata di questo tipo non è mai troppa, ed è che questo problema ha generato una perdita di più di $ 1 miliardo a Facebook, che possiede l’applicazione di messaggistica istantanea WhatsApp e il principale social network in postura, Instagram.

Oggi alle 16:51 UTC abbiamo aperto un problema interno intitolato “Ricerca DNS di Facebook che restituisce SERVFAIL” perché eravamo preoccupati che qualcosa potesse essere sbagliato con il nostro risolutore DNS 1.1.1.1. Ma quando stavamo per pubblicare l’incidente sulla nostra pagina Stato pubblico (servizi), ci siamo resi conto che stava succedendo qualcosa di più serio.

I social media sono esplosi rapidamente, riportando ciò che anche i nostri ingegneri hanno rapidamente confermato. Facebook e i suoi servizi affiliati, WhatsApp e Instagram, sono infatti in calo. I loro nomi DNS hanno smesso di essere risolti e gli IP delle loro infrastrutture erano irraggiungibili. Era come se qualcuno avesse “tirato i fili” dai propri data center tutti in una volta e li avesse presi disconnesso da internet.

Come è possibile?

Ti presentiamo BGP

BGP sta per Border Gateway Protocol. È un meccanismo per lo scambio di informazioni di routing tra sistemi autonomi (AS) su Internet. I grandi router che fanno funzionare Internet hanno elenchi enormi e costantemente aggiornati di possibili percorsi che possono essere utilizzati per consegnare ogni pacchetto di rete alle sue destinazioni finali. Senza BGP, i router Internet non saprebbero cosa fare e Internet non funzionerebbe..

Internet è letteralmente una rete di reti ed è collegata da BGP. BGP consente a una rete (ad esempio Facebook) di pubblicizzare la propria presenza ad altre reti che compongono Internet. Quando diciamo che Facebook non pubblicizza la sua presenza, gli ISP e le altre reti non riescono a trovare la rete Facebook e quindi non sarà disponibile.

Ciascuna delle reti ha un ASN: un numero di sistema autonomo. Un sistema autonomo (AS) è una rete individuale con una politica di routing interna unificata. Un AS può originare prefissi (dicendo che controlla un gruppo di indirizzi IP), così come prefissi di transito (dicendo che sa come raggiungere gruppi specifici di indirizzi IP).

L’ASN di Cloudflare è AS13335. Ogni ASN deve pubblicizzare i suoi percorsi prefissi su Internet utilizzando BGP; altrimenti nessuno saprà come collegarsi e dove trovarci.

L’inizio del caos

Alle 16:58 UTC ci siamo resi conto che Facebook aveva smesso di pubblicizzare i percorsi dei suoi prefissi DNS. Ciò significava che almeno i server DNS di Facebook non erano disponibili. Per questo motivo, il risolutore DNS 1.1.1.1 di Cloudflare non è più in grado di rispondere alle domande che richiedono l’indirizzo IP di facebook.com o instagram.com.

Teniamo traccia di tutti gli aggiornamenti e gli annunci BGP che vediamo sulla nostra rete globale. Alla nostra scala, i dati che raccogliamo ci danno informazioni su come Internet è connesso e dove il traffico dovrebbe fluire da e verso qualsiasi parte del pianeta.

Un messaggio BGP UPDATE informa un router di eventuali modifiche apportate a un annuncio di prefisso o rimuove completamente il prefisso. Possiamo vederlo chiaramente nel numero di aggiornamenti che riceviamo da Facebook quando controlliamo la nostra cronologia dal database BGP temporaneo. Di solito questo grafico è piuttosto silenzioso: Facebook non apporta molte modifiche alla sua rete minuto per minuto.

Ma intorno alle 15:40 UTC abbiamo visto un picco di modifiche al routing da Facebook. Fu allora che iniziarono i problemi.

Se i server dei nomi non sono raggiungibili o non rispondono per qualche altro motivo, viene restituito un SERVFAIL e il browser invia un errore all’utente.

Poiché Facebook ha smesso di pubblicizzare i suoi percorsi con prefisso DNS su BGP, i nostri resolver DNS e tutti gli altri non hanno avuto modo di connettersi ai loro server dei nomi. Di conseguenza, 1.1.1.1, 8.8.8.8 e altri importanti DNS pubblici hanno iniziato a emettere (e memorizzare nella cache): risposte SERVFAIL.

Ma non è tutto. Ora il comportamento umano e la logica dell’applicazione entrano in gioco e causano un altro effetto esponenziale. C’è uno tsunami di traffico DNS aggiuntivo. Quindi ora, poiché Facebook e i suoi siti sono così grandi, abbiamo DNS in tutto il mondo.o che gestiscono 30 volte più query del solito, che può causare problemi di latenza e timeout su altre piattaforme (ad esempio, il rallentamento di Telegram).

Ciò si verifica in parte perché le applicazioni non accettano un errore come risposta e iniziano a riprovare, a volte in modo aggressivo, e in parte perché anche gli utenti finali non accettano un errore come risposta e iniziano a ricaricare le pagine o a terminare e riavviare le loro applicazioni. , a volte anche in modo aggressivo .

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *