Che cos’è il BGP?

Border Gateway Protocol (BGP) è il servizio postale di Internet. Quando qualcuno lascia cadere una lettera in una casella di posta, il servizio postale elabora quel pezzo di posta e sceglie un percorso veloce ed efficiente per consegnare quella lettera al destinatario. Allo stesso modo, quando qualcuno invia dati su Internet, BGP è responsabile di esaminare tutti i percorsi disponibili che i dati potrebbero percorrere e scegliere il percorso migliore, il che di solito significa saltare tra sistemi autonomi.

BGP è il protocollo che fa funzionare Internet., Lo fa abilitando il routing dei dati su Internet. Quando un utente a Singapore carica un sito web con server di origine in Argentina, BGP è il protocollo che consente che la comunicazione avvenga in modo rapido ed efficiente.

Che cos’è un sistema autonomo?

Internet è una rete di reti; è suddiviso in centinaia di migliaia di reti più piccole conosciute come autonomous systems (AS). Ognuna di queste reti è essenzialmente un grande pool di router gestiti da una singola organizzazione.,

Se continuiamo a pensare a BGP come al servizio postale di Internet, gli AS sono come i singoli uffici postali. Una città può avere centinaia di caselle di posta, ma la posta in quelle caselle deve passare attraverso la filiale postale locale prima di essere instradata verso un’altra destinazione. I router interni all’interno di un AS sono come cassette postali, inoltrano le loro trasmissioni in uscita all’AS, che quindi utilizza il routing BGP per ottenere queste trasmissioni verso le loro destinazioni.

Il diagramma sopra illustra una versione semplificata di BGP., In questa versione ci sono solo 6 sistemi autonomi su Internet. Se AS1 ha bisogno di instradare un pacchetto su AS3, ha due diverse opzioni:

Hopping su AS2 e poi su AS3:

AS2 → AS3

O hopping su AS6, quindi su AS5, AS4 e infine su AS3:

AS6 → AS5 → AS4 → AS3

In questo modello semplificato, la decisione sembra semplice. Il percorso AS2 richiede meno luppoli rispetto al percorso AS6, e quindi è il percorso più veloce, più efficiente. Ora immagina che ci siano centinaia di migliaia di AS e che il conteggio degli hop sia solo una parte di un complesso algoritmo di selezione del percorso., Questa è la realtà del routing BGP su Internet.

La struttura di Internet è in continua evoluzione, con nuovi sistemi popping up e sistemi esistenti diventano non disponibili. Per questo motivo, ogni SA deve essere tenuto aggiornato con le informazioni relative alle nuove rotte e rotte obsolete. Questo viene fatto attraverso sessioni di peering in cui ogni AS si connette ai vicini AS con una connessione TCP / IP allo scopo di condividere le informazioni di routing. Utilizzando queste informazioni, ogni AS è equipaggiato per instradare correttamente le trasmissioni di dati in uscita provenienti dall’interno.,

Ecco dove parte della nostra analogia cade a pezzi: a differenza delle filiali degli uffici postali, i sistemi autonomi non fanno tutti parte della stessa organizzazione. Come tali, non hanno alcun motivo per essere amichevoli tra loro e sono spesso volte concorrenti di business! Per questo motivo, le rotte BGP a volte tengono conto di considerazioni commerciali. I sistemi autonomi spesso si caricano a vicenda per trasportare il traffico attraverso le loro reti e il prezzo di accesso può essere preso in considerazione in quale percorso viene infine selezionato.

Chi gestisce i sistemi autonomi BGP?,

I sistemi autonomi appartengono in genere agli ISP o ad altre grandi organizzazioni high-tech, come aziende tecnologiche, università, agenzie governative e istituzioni scientifiche. Ogni sistema autonomo che desideri scambiare informazioni di routing deve avere un numero di sistema autonomo registrato (ASN). Internet Assigned Numbers Authority (IANA) assegna ASN ai registri Internet regionali (RIR), che poi li assegna agli ISP e alle reti. ASN sono numeri a 16 bit tra 1 e 65534 e numeri a 32 bit tra 131072 e 4294967294. A partire dal 2018, ci sono circa 64.000 ASN in uso in tutto il mondo., Questi ASN sono necessari solo per BGP esterno.

Qual è la differenza tra BGP esterno e BGP interno?

Le rotte vengono scambiate e il traffico viene trasmesso su Internet utilizzando BGP o eBGP esterni. I sistemi autonomi possono anche utilizzare una versione interna di BGP per instradare attraverso le loro reti interne, che è noto come BGP interno, o iBGP in breve. Va notato che l’utilizzo di BGP interno NON è un requisito per l’utilizzo di BGP esterno. I sistemi autonomi possono scegliere tra una serie di protocolli interni per collegare i router sulla loro rete interna.,

Il BGP esterno è come la spedizione internazionale; ci sono determinati standard e linee guida che devono essere seguite quando si spedisce un pezzo di posta a livello internazionale. Una volta che quel pezzo di posta raggiunge il suo paese di destinazione, deve passare attraverso il servizio di posta locale del paese di destinazione per raggiungere la sua destinazione finale. Ogni paese ha un proprio servizio di posta interna che non segue necessariamente le stesse linee guida di quelli di altri paesi. Allo stesso modo, ogni sistema autonomo può avere il proprio protocollo di routing interno per il routing dei dati all’interno della propria rete.,

Come BGP può rompere Internet

Nel 2004 un fornitore di servizi Internet turco (ISP) chiamato TTNet pubblicizzato accidentalmente rotte BGP cattivi ai suoi vicini. Queste rotte hanno affermato che TTNet stessa era la destinazione migliore per tutto il traffico su Internet. Mentre questi percorsi si diffondevano sempre più verso sistemi più autonomi, si è verificata una massiccia interruzione, creando una crisi di 1 giorno in cui molte persone in tutto il mondo non erano in grado di accedere a Internet in parte o in tutto.

Allo stesso modo, nel 2008 un ISP pakistano ha tentato di utilizzare un percorso BGP per impedire agli utenti pakistani di visitare YouTube., L’ISP poi accidentalmente pubblicizzato questi percorsi con i suoi vicini AS e il percorso si diffuse rapidamente attraverso la rete BGP di Internet. Questo percorso ha inviato gli utenti che tentavano di accedere a YouTube in un vicolo cieco, il che ha reso YouTube inaccessibile per diverse ore.

Questi sono esempi di una pratica chiamata BGP hijacking, e non è sempre casuale. Ad aprile di 2018, gli aggressori hanno deliberatamente creato rotte BGP errate per reindirizzare il traffico destinato al servizio DNS di Amazon. Gli aggressori sono stati in grado di rubare oltre cryptocurrency 100,000 di criptovaluta reindirizzando questo traffico a se stessi.,

Incidenti come questi possono accadere perché la funzione di condivisione del percorso di BGP si basa sulla fiducia e i sistemi autonomi si fidano implicitamente delle rotte condivise con loro. Mentre ci sono state una serie di proposte ambiziose destinate a rendere BGP più sicuro, questi sono difficili da implementare perché richiederebbero ogni sistema autonomo per aggiornare simultaneamente il loro comportamento., Dal momento che questo richiederebbe il coordinamento di centinaia di migliaia di organizzazioni e potenzialmente portare a un takedown temporaneo di tutta Internet, sembra improbabile che una di queste proposte importanti sarà messo in atto in qualunque momento presto.