Quasi nessuno sa cosa sia, in pochi sanno che esiste, ma miliardi di persone dipendono da esso per le loro quotidiane attività su Internet: stiamo parlando del Border Gateway Protocol (BGP), uno dei tanti protocolli che regolano il funzionamento della rete globale. Ma anche uno dei più importanti, da quando Internet ha raggiunto dimensioni mastodontiche.
Il BGP è il classico esempio di tecnologia che deve funzionare sempre, in silenzio ma con efficienza e che, quando non funziona, provoca guai seri. Un esempio di quanto seri possano essere questi guai, quando il protocollo BGP ha un problema, è stato il down totale di Facebook del 4 ottobre 2021, durato oltre sei ore.
All'origine della completa "sparizione" di Facebook dal Web e dalle app di tutto il mondo, infatti, c'è stato proprio un problema al Border Gateway Protocol.
Border Gateway Protocol: che cos'è
Il Border Gateway Protocol è, come dice il nome stesso, un protocollo. Cioè un 'insieme di regole che l'infrastruttura hardware su cui si basa Internet deve seguire per funzionare correttamente. Grazie ai protocolli, infatti, tutte le macchine possono parlare la stessa lingua, capirsi e portare a termine i compiti per i quali restano accese 24 ore su 24.
Il protocollo BGP, nello specifico, ha un ruolo che in molti descrivono come quello di ufficio postale di Internet
BGP è il protocollo che indica alle richieste di dati in arrivo quale percorso devono seguire per raggiungere il server dove si trovano i dati di interesse. Non è detto che sia il percorso più breve, in termini di distanza fisica tra client e server, ma in teoria è il migliore perché BGP instrada le richieste in modo ottimizzato, ovvero minimizzando i tempi di attesa. In questo senso il percorso seguito per raggiungere uno specifico dato può essere sempre diverso in base alla situazione della rete e al traffico Internet presenti in quel momento.
Per questo motivo, se il BGP ha un problema, non è possibile stabilire da dove devono passare i dati per andare dal punto A al punto B. Di protocolli BGP, a dire il vero, ce ne sono due: il BGP "esterno" (eBGP) e quello "interno" (iBGP). Il protocollo iBGP è quello usato all'interno dei cosiddetti "sistemi autonomi", quello eBGP è usato per connettere tra loro i sistemi autonomi e, in pratica, contribuisce a tenere in piedi l'intera rete Internet.
Per sistemi autonomi si intendono strutture complesse, come gli Internet Service Provider (ISP), una grande organizzazione online come un Governo o una Università e, infine, una grande azienda che offre servizi online come Facebook
Si tratta, in pratica, di grandi “isole” all'interno del mare magnum di Internet, al cui interno circolano dei dati seguendo le regole del protocollo iBGP. Quando bisogna far circolare i dati da un'isola all'altra, invece, viene usato il protocollo eBGP.
BGP non è DNS
In molti, a questo punto, staranno pensando ad un altro protocollo famoso di Internet: il DNS, Domain Name System. Si tratta in effetti di due protocolli molto diversi, con ruoli altrettanto diversi. Se BGP è l'ufficio postale, infatti, DNS è l'indirizzario: serve infatti a tradurre i nomi dei siti Web nei rispettivi indirizzi IP.
BGP e DNS, però, lavorano insieme: quando un utente vuole accedere ad un sito e inserisce nella barra del browser il suo indirizzo Web (ad esempio www.fastweb.it), il server DNS dell'ISP dell'utente traduce il nome del sito nel corrispondente indirizzo IP, ma è poi il protocollo BGP a decidere quale “giro” debbano fare i dati per arrivare dal sito richiesto al computer (o smartphone, o altro dispositivo connesso) dell'utente. E viceversa.
Per trasferire i messaggi con la "rotta" dei dati, però, il BGP usa un altro famosissimo protocollo di Internet: il TCP, Transmission Control Protocol. E questa è l’ennesima conferma di quanto sia oggi complessa l’infrastruttura sulla quale poggia la rete Internet.
Geopolitica e sicurezza del BGP
Sebbene tutto ciò possa sembrare molto teorico, in realtà il protocollo BGP ha effetti molto pratici sul funzionamento di Internet: decide da quali router passano i dati, quali computer e server vengono coinvolti negli scambi di pacchetti. Per questo il BGP viene gestito anche in base a esigenze geopolitiche e di sicurezza.
Per fare un esempio: se lo Stato A e lo Stato B sono in guerra, o comunque in pessimi rapporti, è chiaro che ognuno di loro non vuole che i dati delle comunicazioni tra i propri cittadini (o, peggio ancora, tra i propri funzionari) passino da router fisicamente posizionati nello Stato avversario. Nemmeno in Stati amici del nemico.
Questo perché esiste un concreto rischio di sicurezza nell'affidarsi al BGP: si tratta del cosiddetto "BGP hijacking", cioè “dirottamento del BGP”, e consiste in un attacco informatico mirato a modificare artificiosamente il percorso fatto dai dati intervenendo proprio sulle istruzioni fornite dal BGP.
Dirottando i pacchetti di dati e facendoli passare attraverso un router sotto il proprio controllo, infatti, gli attaccanti possono copiare quei dati e tentare di decriptarli per leggerne il contenuto.