L’abbreviazione BGP sta per Border Gateway Protocol. Si tratta di un cosiddetto protocollo di routing del vettore di percorso con il quale i vari sistemi autonomi (AS) di Internet possono essere collegati tra loro e i dati possono essere instradati attraverso i confini dell’AS.
Secondo i rapporti, un aggiornamento del software BGP è andato storto e ha causato l’interruzione di Facebook.
Il Border Gateway Protocol può essere utilizzato su AS. All’interno di un AS, spesso funziona con i cosiddetti Interior Gateway Protocols (IGP) come Open Shortest Path First (OSPF) o Intermediate System to Intermediate System (IS-IS).
Il Border Gateway Protocol (BGP) è uno standard di rete che stabilisce i percorsi logici di connessione tra i sistemi autonomi attraverso i quali passano i dati. Le caratteristiche principali di BGP sono descritte nella RFC 1163. La versione attualmente utilizzata è BGPv4, definita, tra le altre, nelle RFC 4271, 4760 e 4364.
Il Border Gateway Protocol non si limita al routing di IPv4 o IPv6, ma può essere utilizzato anche per altri protocolli o etichette MPLS. BGP è progettato per scalare ed essere affidabile. È un meccanismo di routing difficile da mettere in funzione e richiede tempo prima che i percorsi di connessione convergano.
Come funziona il Border Gateway Protocol?
Il Border Gateway Protocol funziona in base al vettore di percorso. Per comunicare le informazioni di routing, i router stabiliscono tra loro connessioni TCP sicure. I messaggi e le informazioni vengono inviati e ricevuti tramite queste sessioni BGP. La porta utilizzata per questo è la porta TCP 179. I possibili tipi di messaggio sono:
- OPEN: per avviare lo scambio di informazioni all’interno di una sessione
- KEEPALIVE: per confermare un messaggio OPEN e per mantenere le sessioni. Le sessioni vengono mantenute attive con messaggi KEEPALIVE regolari dai router collegati
- AGGIORNAMENTO: per informare sui cambiamenti di percorso
- NOTIFICA: per interrompere una connessione e cancellare percorsi, ad esempio, perché i messaggi KEEPALIVE non vengono più ricevuti
I messaggi UPDATE svolgono un ruolo centrale all’interno del Border Gateway Protocol. I router utilizzano queste notifiche per scoprire nuovi percorsi o per essere informati quando quelli esistenti sono scomparsi. Il router può creare un grafico che rappresenta la rete di sistemi autonomi in base ai dati ricevuti. La procedura per la generazione del grafico non tiene conto dei loop e tiene conto delle caratteristiche di quei percorsi che sono stati inclusi nell’aggiornamento. I possibili attributi di un percorso sono:
- AS_PATH: informazioni su quale AS può essere raggiunto un obiettivo. I sistemi autonomi sono rappresentati da numeri AS
- Hop successivo: indirizzo IP del prossimo nodo intermedio sulla strada per un prefisso
- Metrica IGP: Informazioni sui costi attraverso la propria rete
- Multi-Exit Discriminator (MED): per dare priorità alle connessioni parallele
- Tag o community di routing: valori lunghi a 32 bit con i quali è possibile contrassegnare i prefissi per scopi di filtraggio
- Preferenza locale: per selezionare un percorso all’interno di un AS
- Origine: fonte di un prefisso. I valori possibili sono interni, esterni o incompleti
Differenziazione tra EBGP e IBGP
Non solo diversi sistemi autonomi possono essere collegati con il Border Gateway Protocol. Il protocollo di routing può essere utilizzato anche per interconnettere i router all’interno di un AS. A seconda dell’uso, si parla di BGP esterno o interno (EBGP o IBGP).
I dati sono diretti attraverso un sistema autonomo tramite i router di un AS connesso a IBGP. A tal fine, i router propagano i percorsi appresi tramite EBGP all’interno del proprio AS. Ciò rende possibile trasmettere gli attributi specifici di BGP dei prefissi. Le sessioni BGP devono essere stabilite tra tutti i router che utilizzano il Border Gateway Protocol per comunicare.
Un protocollo IGP (Interior Gateway Protocol) come OSPF (Open Shortest Path First) o IS-IS è solitamente richiesto per la connessione effettiva tra i router. I riflettori di percorso sono un metodo utilizzato per evitare difficoltà di ridimensionamento derivanti da mesh complete in reti di grandi dimensioni. Ogni router BGP necessita solo di una connessione al route Reflector, che tiene traccia di tutti i percorsi ricevuti tramite EBGP e li distribuisce a tutti i router nell’AS tramite IBGP.