I sistemi di Facebook non hanno smesso di funzionare: sono proprio scomparsi da Internet, non uso il termine a caso. Tutti saprete (ok, qualcuno, non tutti) come funzionano i DNS: voi scrivete un indirizzo comprensibile all’uomo (Facebook punto com) e il vostro server DNS lo “risolve”, indicando al vostro dispositivo a quale indirizzo IP collegarsi (192.168.0.1, etc)
Se saltano i DNS, salta internet: è successo e succederà, ma ci sono diversi metodi per “recuperare” la situazione, servizi, backup, etc… inoltre spesso il problema riguarda solo una “porzione” di internet, cioè quella che si affida ad un determinato servizio DNS.
Quello che è successo ieri è diverso: il problema si è verificato nella struttura BGP di Facebook. Il Border Gateway Protocol governa come comunicano tra loro i diversi router dei sistemi autonomi (AS) che formano internet. Senza il BGP i router non saprebbero come muovere i pacchetti di dati tra loro, trovando la via più breve.
Semplificando, i DNS vi dicono dove andare, il BGP come arrivarci.
Il sistema fornisce la via più breve e qualche alternativa più lunga, nel caso la prima strada risulti non praticabile.
Ogni AS ha un ASN: un Autonomous System Number che lo identifica. Ogni sistema autonomo poi può aggiornare le tabelle di routing (le informazioni su come raggiungerlo) facendo degli aggiornamenti (BGP UPDATE) cosa che come capirete non è frequentissima, per dire agli altri sistemi dove si trova e come raggiungerlo.
Ieri Facebook poco prima di scomparire da Internet ha fatto un sacco di BGP UPDATE: in questa tabella di Cloudflare si vede bene:
Cosa stava aggiornando? A quanto pare, ma è tutto da verificare, un problema di qualche tipo ha cancellato le tabelle di routing del loro sistema autonomo. In pratica qualcuno, o qualcosa, ha cancellato Facebook da Internet: senza quelle tabelle, era impossibile trovare la strada per raggiungere Facebook e i suoi servizi.
In un articolo sul blog aziendale di Cloudflare, Tom Strickx spiega bene come funziona il BGP e cosa è successo ieri: Understanding How Facebook Disappeared from the Internet
Sono servite ore per ripristinare queste informazioni e a quanto pare è stato molto difficile: i tecnici di Facebook sono dovuti anche andare fisicamente in una server farm californiana, ripristinando alcuni file.
Quando il BGP non funziona, un intero sistema è tagliato fuori da internet. Al browser (o app, o quello che state usando) viene restituito un SERVFAIL e voi non potete usare il vostro servizio preferito.
Non solo: c’è questa tendenza naturale a riprovare, sia voi materialmente che premete “reload” sperando sia una cosa temporanea, sia il programma, che ritenta automaticamente, a volte anche molto frequentemente, a ricollegarsi da solo… tutto questo genera un sovraccarico anche nei DNS, che ha contribuito al casino di ieri ovviamente.
Ecco le richieste ai servizi di Facebook ieri, c’è stato un “leggero” incremento:
Insomma, il problema al BGP ha cancellato letteralmente Facebook e i suoi servizi da Internet.
(non sono un sistemista, spero di avervi spiegato decentemente cosa è successo, in modo comprensibile anche per chi non sa niente di queste cose, se ho scritto inesattezze macroscopiche fatemelo notare, grazie)
The Gateway è il magazine settimanale di Lega Nerd che vi parla del mondo della tecnologia e dell’innovazione.