I BGP Update possono essere scambiati tra router appartenenti allo stesso AS oppure tra router appartenenti ad AS differenti. Nel primo caso parleremo di Interior BGP (iBGP), nel secondo invece di External BGP (eBGP) Come puoi vedere router appartenenti allo stesso Autonomous System (es. ASN 200) utilizzano il protocollo iBGP e di conseguenza scambiano BGP Update di tipo iBGP; viceversa router appartenenti ad AS differenti, ad esempio R1 e ISP1-2 scambiano update di tipo eBGP.
Un path attributes è quello che prende il nome di AS_Path e utilizzato per elencare gli autonomous system da attraversare per raggiungere un dato prefix. Per il protocollo BGP una rotta è “tanto migliore” quanto più il valore di As Path è piccolo: in altri termini per raggiungere un Prefix, meno autonomous system si attraversano e maggiore sarà la probabilità che tale rotta sia inserita in routing table. Chiariamo meglio il concetto con la figura seguente. Un router BGP appartenente all’AS 3 riceve due rotte per il Prefix 185.25.128.0/24. La prima rotta afferma che è possibile raggiungere la destinazione transitando in tre autonomous system differenti: 2,1 e 1001
Architetture BGP Single-Homed & Multi-Homed
Con il termine Internet Edge si è soliti riferirsi al collegamento esistente tra un provider ISP e un suo cliente. Un’architettura Single Homed è una particolare configurazione di Internet edge realizzata utilizzando un singolo link tra provider e cliente, come illustrato in figura.
Un’architettura Single Homed può essere realizzata con qualsiasi tipo di connettività WAN: Dsl, Via cavo, Fibra e persino con connessioni mobile LTE. Il principale svantaggio di un’architettura Single Homed è la totale assenza di ridondanza: se il collegamento subisce un malfunzionamento, il cliente non potrà più accedere alle reti dell’ISP e quindi ad Internet. Del resto utilizzare un singolo link è vantaggioso soprattutto da un punto di vista economico. Gli svantaggi di una rete Single-Homed possono essere risolti facendo uso di un’infrastruttura Dual Homed o ancora meglio di un’infrastruttura Single Multihomed.
Per evitare che il fault di un link pregiudichi la raggiungibilità esterna, in una rete Dual Homed i router del cliente e dell’ISP sono interconnessi per mezzo di due o più link.
Tale soluzione non è però in grado di arginare un malfunzionamento interno all’ISP. In altre parole: una rete Dual Homed è in grado di far funzionare la rete customer enterprise qualora uno dei due link subisca un fault, ma non sarebbe in grado di far nulla qualora il problema fosse interno all’ISP.
Quest’ultimo problema è risolto dalle reti Single Multihomed realizzate utilizzando differenti provider. Per ciascun provider il collegamento tra Cliente (o Customer) e ISP rispecchia il modello Single-Homed visto in precedenza. La figura seguente mostra un esempio di rete Single Multihomed.
Annuncio e ricezione rotte Analizziamo ora più da vicino i meccanismi utilizzati dal protocollo BGP per annunciare e ricevere le rotte in un’infrastruttura di tipo Single Homed. Analizziamo per un momento il contenuto della nuvola “Customer Enterprise” della figura precedente. Nella realtà troveremo al suo interno sicuramente un firewall, ovvero un apparato di sicurezza impiegato per proteggere le reti interne del cliente. In genere all’interno di un’infrastruttura Enterprise vengono utilizzati classi di indirizzamento privato. In tal caso il firewall esegue il NAT ovvero la traduzione degli indirizzi privati interni con quelli pubblici esposti su rete Internet.
In genere è poi presente un’ulteriore rete (non riportata in figura) detta DMZ (demilitarized zone) associata ad indirizzi IP pubblici e utilizzata per rendere raggiungibili su Internet servizi come Web server, server di posta ecc. Nell’annuncio di una rotta, il router Cliente non invierà mai un Prefix relativo ad uno spazio di indirizzamento di tipo privato. Infatti il protocollo di routing BGP scarta qualsiasi annuncio contenente al suo interno porzioni di indirizzamento privato. 19 Di conseguenza ciascun router BGP invierà esclusivamente Prefix relativi a blocchi di indirizzamento pubblico. Riepilogando: “Router Cliente” annuncia a “Router ISP” un Prefix relativo al blocco 185.25.128.0/24. In che modo tale gruppo di indirizzi sarà raggiungibile dall’intera rete Internet? Rouer ISP non farà altro che annunciare a tutti gli altri provider la rete 185.25.128.0/24, lo stesso sarà fatto dagli altri provider, che a loro volta annunceranno la rete ad ulteriori provider innestando quindi un processo a catena.
Vediamo ora il problema inverso: come può “Router Cliente” raggiungere Internet, ovvero tutte le reti pubbliche presenti nel mondo?
In tal caso è necessario che “Router Cliente” riceva da “Router ISP” dei Prefix. Considerando che l’intera tabella di routing di Internet è attualmente composta da circa 600000 rotte, piuttosto che trasferire l’intera tabella in genere “Router ISP” annuncia un default route a “Router Cliente”. Il concetto dunque è del tutto simile a quanto visto per RIP con il comando default-information originate Il trasferimento dell’intera tabella di routing è comunque ovviamente possibile grazie a un procedimento detto Route redistribution e comunque utile in situazioni di tipo Multihomed..
Stato del BGP
Stato BGP | Descrizione |
Idle | Il neighbor e’ in stato “administratively down” |
Connect | La connessione TCP no e’ stata completata |
Active | La connessione TCP è stata completata, ma non è stato inviato ancora nessun messaggio BGP |
Opensent | La connessione TCP è stata completata e il router ha inviato il primo messaggio BGP per stabilire la neighborship |
Openconfirm | Esiste una connessione TCP e il router ha ricevuto un messaggio dall’altro apparato. La relazione di neighborship potrebbe però ancora essere rifiutata |
Established | I router sono neighbor/peer e possono scambiare i Prefix |
Cerchero di fare un esempio piu’ semplice possibile per spiegare il Multihomming.
Prendiamo la figura sopra, abbiamo due ISP dietro al nostro router ICTVITY abbiamo dei servizi tra cui: VPN, WWW, FTP etc etc.
Tutti sappiamo che ad esempio le VPN hanno bisogno di un’indirizzo statico che nel nostro esempio facciamo finta sia 172.16.100.1/23. Come detto precedentemente noi dobbiamo acquistare un blocco di IP dopo di che grazie al BGP noi di fatto diaciamo ad internet: Hey questo e’ il mio blocco IP e questo il mio ASN. Tutti i router inizieranno a propagare tale informazione nelle loro tabelle di routing cosi che il provider il provider sapra’ che potra’ raggiungere i nostri IP.