PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER

Transcript

PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER
VOLUME_3.book Page 1 Monday, April 2, 2012 9:30 AM
QUADERNI PER LA PROGETTAZIONE ICT
PROGETTAZIONE
E CONDUZIONE DI RETI
DI COMPUTER
VOLUME III
ROUTING BGP
Per la preparazione agli esami CCNP,
CCIE-R&S e CCIE-SP
di
ENRICO CIPOLLONE
FRANCESCO CIPOLLONE
VOLUME_3.book Page 5 Monday, April 2, 2012 9:30 AM
QUADERNI
per la progettazione ICT
PIANO DELL’OPERA
VOLUME I - FONDAMENTI DI SWITCHING
PARTE PRIMA
NATURA E CARATTERISTICHE DELLE INFORMAZIONI
TRASPORTATE IN RETE
CAP. 1
Natura e caratteristiche delle informazioni trasportate da reti
TCP-IP
PARTE SECONDA
SWITCHING
CAP. 2
Ethernet e altri modelli di distribuzione in area locale
CAP. 3
Virtualizzazione e gestione della congestione e tecniche
di ridondanza in reti LAN
CAP. 4
Servizi e sicurezza in reti LAN. Sicurezza nelle reti Ethernet
PARTE TERZA
LE RETI CONDIVISE DEGLI ISP: NATURA E COMPOSIZIONE DEI SERVIZI
CAP. 5
Soluzioni e tecnologie per l’estensione WAN di reti TCP-IP
PARTE QUARTA
STRUTTURA, CONFIGURAZIONE, GESTIONE DI MACCHINE DI RETE
CAP. 6
Accesso e configurazione di macchine intermedie in reti TCP-IP
CAP. 7
Network management configurazione di SNMP, NTP, SYSLOG
in apparati di reti TCP-IP

VOLUME II - ROUTING BASE
PARTE QUINTA
ROUTING
CAP. 8
Tecnica di indirizzamento nelle reti TCP-IP
5
VOLUME_3.book Page 6 Monday, April 2, 2012 9:30 AM
CAP. 9
Principi di routing
CAP. 10 RIP versione 1 e 2
CAP. 11 Il protocollo di routing OSPF single-area
CAP. 12 Il protocollo di routing OSPF multi-area
CAP. 13 Il protocollo di routing EIGRP

VOLUME III - ROUTING BGP
PARTE SESTA
CONTROL-PLANE: INTERAZIONE DEI CLIENTI CON ISP
E SCAMBI DI INFORMAZIONI TRA ISP
CAP. 14 Border Gateway Protocol

VOLUME IV - MANIPOLAZIONI NEL CONTROL-PLANE
E DATA-PLANE
PARTE SETTIMA
MANIPOLAZIONI, CONTROLLI, ISPEZIONI NEL CONTROL-PLANE
E DATA-PLANE: ACL, NAT, FIREWALL, REDISTRIBUZIONI
CAP. 15 Tecniche di controllo dei flussi nel control-plane e nel data-plane
CAP. 16 Domini di indirizzamento pubblico e privato e relative traslazioni
CAP. 17 Completamento del control-plane in ambiente complesso:
redistribuzione di informazioni tra protocolli di routing
PARTE OTTAVA
COMUNICAZIONE SICURA PPTP, IPSEC, TUNNELING, VPN
CAP. 18 Comunicazione Sicura: IPSEC ed altri schemi

6
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 7 Monday, April 2, 2012 9:30 AM
QUADERNI
per la progettazione ICT
INDICE GENERALE
PIANO DELL’OPERA ...................................................................... 5
PARTE SESTA
CONTROL-PLANE:
INTERAZIONE DEI CLIENTI
CON ISP E SCAMBI DI INFORMAZIONI TRA ISP
CAPITOLO 14
BORDER GATEWAY PROTOCOL .................................................. 15
SEZIONE PRIMA: Fenomenologia ...................................................... 15
14.1
14.1.1
Protocollo per comunicazioni EGP ................................... 15
Cosa è un autonomous-system ......................................... 16
14.2
Quando usare BGP........................................................ 17
14.3
Cosa comunicare con BGP ............................................. 20
14.4
Con chi si comunica in BGP ............................................ 22
14.4.1
Scenario di comunicazione tra ISP ................................... 22
14.4.2
Scenario di comunicazione tra un large end-user
con uno o più ISP .......................................................... 24
14.5
E-bgp ed I-bgp .............................................................. 26
14.6
Terminologia BGP e riferimenti RFC ................................. 27
14.7
Come funziona il protocollo ............................................ 28
14.7.1
I neighbor..................................................................... 28
7
VOLUME_3.book Page 8 Monday, April 2, 2012 9:30 AM
14.7.2
I messaggi BGP ed il loro trasporto .................................. 30
14.7.3
Uso del TCP per il trasporto affidabile in BGP.................... 32
14.7.4
Messaggi update, retire .................................................. 34
14.7.5
I controlli di BGP per avviare o accettare
una sessione.................................................................. 35
14.7.6
I ruoli di server e client nell’avvio di una sessione BGP ...... 37
14.7.7
La cattura dei principali pacchetti BGP ............................. 39
14.8
14.8.1
14.9
Annunci in BGP: NLRI ed attributi ..................................... 41
La complessità degli annunci ........................................... 41
Come sono composti gli attributi ...................................... 43
14.9.1
Come si applicano i filtri agli annunci .............................. 44
14.9.2
Significato e uso degli attributi......................................... 46
14.9.2.1
Attributo WEIGHT
(un router ricevente due trasmittenti da altro AS) ........... 46
14.9.2.2
Attributo LOCAL-PREFERENCE
(due router riceventi due trasmittenti da altro AS) .......... 47
14.9.2.3
MED: multi-exit discriminator ...................................... 49
14.9.2.4
ORIGIN ................................................................... 50
14.9.2.5
AS_PATH Attribute ................................................... 50
14.9.2.6
Attributo Next-hop in ambiente BMA ........................... 54
14.9.2.7
Attributo Next-hop in ambiente NBMA ......................... 55
14.9.2.8
Attributo next-hop in ambiente AS di transito (ISP):
problemi di scalabilità e full mesh .............................. 56
14.9.2.9
Attributo Community .................................................. 58
14.9.2.10 La stabilizzazione di annunci e gli attributi relativi ........ 59
14.9.2.10.1 BGP distance vector: l’autosommarizzazione
e la sommarizzazione manuale ...............................59
14.9.2.10.2 Sommarizzazione con l’attributo
Atomic aggregate ..................................................60
14.9.2.10.3 Sommarizzazione: l’argomento AS-SET ....................61
14.9.2.10.4 Sommarizzazione: la clausola attribute-map ............64
8
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3TOC.fm Page 9 Monday, April 2, 2012 9:45 AM
14.9.2.10.5 Sommarizzazione: la clausola advertise-map .......... 66
QUADERNI
per la progettazione ICT
14.9.2.10.6 Sommarizzazione: la clausola suppress-map
in combinazione con altri comandi .......................... 67
14.9.2.10.7 Sommarizzazione: Attributo Aggregator .................. 68
14.9.2.11 Classificazione degli attributi ......................................68
14.9.2.12 Uso degli attributi per la scelta delle rotte ottimali
da presentare come candidate alla tabella di routing .....69
14.9.2.13 La sequenza con cui sono considerati gli attributi ..........71
SEZIONE SECONDA: prime configurazioni ......................................... 72
14.10
14.10.1
Elementi base di configurazione ...................................... 72
Il commando router BGP per la creazione
di una sessione ............................................................. 73
14.10.1.1 Il comando Router-ID per il controllo dell’indirizzo
sorgente dei pacchetti ................................................74
14.10.2
Il comando neighbor per la creazione
di una conversazione ..................................................... 75
14.10.2.1 Creazione di gruppi di neighbor ed il comando
peer-group ...............................................................76
14.10.2.2 Neighbor password ...................................................76
14.10.3
Il comando update source loopback................................. 77
14.10.4
Il comando EBGP-multihop .............................................. 78
14.10.5
Configurazione di nuove destinazioni
negli annunci BGP ........................................................ 80
14.10.5.1 Redistribuzione di rotte statiche ...................................81
14.10.5.2 Redistribuzione di rotte annunciate da protocolli
di routing dinamici .....................................................82
14.10.5.3 Il commando network ................................................82
SEZIONE TERZA: Configurazioni avanzate ......................................... 85
14.11
14.11.1
Filtri sugli annunci .......................................................... 85
Filtri per rimozione e per modifica .................................. 85
9
VOLUME_3.book Page 10 Monday, April 2, 2012 9:30 AM
14.11.2
Comando distribuite list in ............................................... 86
14.11.3
Distribute-list out ............................................................. 87
14.11.3.1 Esempi di utilizzo dei comandi
distribuite-list.............................................................. 88
14.11.4
Filtri mediante route map ................................................ 90
14.11.4.1 Route map applicazione: Esempio 1 ........................... 93
14.11.4.2 Route map applicazione: Esempio 2 ........................... 94
14.11.4.3 Route-map applicazione: Esempio 3 ........................... 94
14.11.4.4 Route-map applicazione: Esempio 4 ............................ 95
14.11.4.5 Route-map applicazione: Esempio 5 ............................ 95
14.11.4.6 Route-map applicazione: esempio 6 ............................ 96
14.11.4.7 Route-map applicazione: esempio 7 ............................ 96
14.11.5
Route map con uso della struttura prefix-list ....................... 96
14.11.6
Route map per conditional-injection .................................. 99
14.11.6.1 Cosa si può usare per selezionare rotte:
le opzioni del comando match .................................. 100
14.11.6.2 Cosa si può modificare negli annunci di rotte:
le opzioni del commando SET ................................... 101
14.11.7
Filtraggio di rotte mediante ispezione
dell’attributo AS-PATH................................................... 102
14.11.7.1 Significato e simboli delle REGULAR EXPRESSION ....... 103
14.11.7.2 Come scrivere una Regular Expressions ...................... 104
14.11.7.3 Regex costituite da un solo carattere........................... 105
14.11.7.4 Regex costituite da molti caratteri ............................... 105
14.11.7.5 Moltiplicatori ........................................................... 106
14.11.7.6 Match di Due sequenze Alternative di caratteri ............ 107
14.11.7.7 Match tipo “comincia per... finisce
per “ (Anchoring) ..................................................... 107
14.11.7.8 Uso della parentesi per memorizzare
una sequenza per successivo richiamo........................ 108
10
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 11 Monday, April 2, 2012 9:30 AM
14.12
La tabella delle rotte scambiate .................................... 109
14.13
Il rapporto tra tabella BGP e la tabella di routing............. 111
14.13.1
QUADERNI
per la progettazione ICT
SEZIONE QUARTA: configurazione scalabilità .................................. 109
Client collegato con due service provider........................ 112
14.13.1.1 Service provider di transito .......................................115
14.13.2
La sincronizzazione e le sue eccezioni
(confederazioni e route reflector) ................................... 125
14.13.2.1 La scalabilità della soluzione full-mesh .......................126
14.13.2.2 I route reflector ........................................................126
14.13.2.3 Le confederazioni ....................................................132
14.13.3
Configurazione del Route Dampening ............................ 134
14.13.4
BGP Soft Reconfiguration .............................................. 136
SEZIONE QUINTA: Il controllo ....................................................... 138
14.14
I comandi di show e debug del protocollo ...................... 138
11
QUADERNI
per la progettazione ICT
VOLUME_3.book Page 13 Monday, April 2, 2012 9:30 AM
PARTE SESTA
CONTROL-PLANE:
INTERAZIONE DEI CLIENTI
CON ISP E SCAMBI
DI INFORMAZIONI TRA ISP
VOLUME_3.book Page 15 Monday, April 2, 2012 9:30 AM
CAPITOLO 14
QUADERNI
per la progettazione ICT
BORDER GATEWAY PROTOCOL
SEZIONE PRIMA: Fenomenologia
14.1 Protocollo per comunicazioni EGP
Figura 14.1
Il protocollo
per gli scambi
di informazioni
di routing tra
Amministrazioni
Il protocollo BGP è utilizzato prevalentemente ma non esclusivamente per lo
scambio di informazioni di routing tra Autonomous-systems ovvero tra diversi
responsabili di aree dell’internet.
È cioè il programma con cui ciascun grande utente o service provider completa
il control plane del suo piano di indirizzamento descrivendo i percorsi esterni
al suo AS attraverso cui raggiungere tutte le destinazioni dell’internet.
Nel control plane le destinazioni sono descritte in termini di indirizzi ip dei target con prefisso l’autonomous system di appartenenza.
Le destinazioni sono specificate in modo sommarizzato per contenere il loro
15
VOLUME_3.book Page 16 Monday, April 2, 2012 9:30 AM
numero che comunque raggiunge le molte centinaia di migliaia.
Le informazioni di destinazione sono accompagnate da una serie di altri parametri detti correntemente attributi.
Su tali attributi possono essere effettuate molte diverse operazioni di manipolazione per consentire all’amministratore la più ampia scelta tra possibili percorsi verso i target.
In conformità alle informazioni del control plane fa seguito il traffico del data
plane.
Il passaggio di questo traffico da un AS all’altro è effettuato a titolo oneroso:
gli operatori richiedono dei compensi per recapitare il traffico verso le destinazioni.
Pertanto il protocollo BGP è spesso definito come strumento per le politiche
di instradamento ovvero della regolazione dei rapporti economici tra operatori.
Due garanzia importanti sono offerte per le destinazioni annunciate da questo
protocollo:

di raggiungibilità;

di assenza di loop.
Il protocollo effettua infatti alcuni controlli preliminari prima di trasmettere le
destinazioni.
Il protocollo controlla l’esistenza nella tabella di routing di una riga per la destinazione che si va ad annunciare.
Il traffico conseguente a questo annuncio troverà così una destinazione cui
essere inoltrato.
Questo meccanismo innesca a sua volta delle protezioni assunte automaticamente dal protocollo (sincronizzazione).
L’assenza di loop è invece garantita controllando che nella sequenza degli
autonoumous system attraversata dagli annunci di una destinazione non sia
presente l’AS in cui l’annuncio è ricevuto.
Questo attributo è sempre presente in ogni annuncio di BGP.
14.1.1 Cosa è un autonomous-system
Un autonomous system è un insieme di reti rete sotto un unico controllo amministrativo.
Gli autonomous-system number possono essere considerati alla stregua dei
16
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 17 Monday, April 2, 2012 9:30 AM
QUADERNI
per la progettazione ICT
prefissi telefonici internazionali che si prepongono ai piani di numerazione
nazionale per rendere univoci i piani telefonici di ciascuna nazione su scala
mondiale (volendo individuare un autonomous-system in telefonia questo può
coincidere con gli stati).
Il rilascio dei numeri degli autonomous system è effettuato da IANA su scala
mondiale attraverso gli uffici regionali.
Il prefisso autonomous system è un indirizzo a 16 bit.
A differenza dell’indirizzamento IP, non è prevista nessuna manipolazione dei
singoli bit componenti il prefisso ovvero l’uso è piatto e non progressivo.
Per il prefisso sono utilizzati numeri che in notazione decimale sono tra 1 e
65535 (2^15+2^14+……2^2+2^1+2^0).
Sono già stati assegnati oltre 48000 numeri per cui è stata standardizzata
(RFC 4893) la notazione a 32 bit anche per questo prefisso.
Analogamente alle classi di indirizzamento private usate per le reti, anche per
i prefissi esistono quelli riservati ad uso privato (non assegnati in modo esclusivo, range 64512 – 65535).
Figura 14.2
Un protocollo
per lo scambio
che garantisce
dai loop
14.2 Quando usare BGP
BGP non è l’unico modo di comunicare informazioni di routing negli scenari
rappresentati.
17
VOLUME_3.book Page 18 Monday, April 2, 2012 9:30 AM
Esistono situazioni in cui possono essere adottate soluzioni più semplici.
Ad esempio in figura è illustrata la situazione più frequente in ambito Soho
(Small Office Home Office) in cui non è necessario usare BGP per completare
la tabella di routing.
Altre situazioni un cui non è opportuno usare BGP sono:
1) quando si ha un solo punto di contatto con internet;
2) quando non si ha possibilità di effettuare opportuno filtraggio di rotte da
immettere in BGP;
3) quando non si hanno macchine con adeguata capacità di memoria e di
calcolo;
4) quando non si dispone di banda per gestire un protocollo dinamico con il
service-provider;
5) quando il servizio acquistato non prevede interconnessione dinamica con
il service-provider.
In tutte queste situazioni è opportuno far uso di rotte statiche o di default route.
Figura 14.3
Quando non
usare BGP
User
ip route 0.0.0.0 0.0.0.0 S0
!
!router
t rip
i
S0
network 172.16.0.0
S0
A
172.16.0.0
10.1.1.1
ISP
Running BGP
AS 65000
10.1.1.2
NON USARE BGP
quando non si ha possibilità di effettuare opportuno filtraggio di rotte;
quando non si hanno macchine con adeguata capacità di memoria;
quando non si dispone
q
p
di banda p
per g
gestire un p
protocollo dinamico;;
quando il servizio acquistato non prevede interconnessione dinamica.
Si deve usare BGP quando:
1) si amministra un AS di transito, come è il caso di un service provider;
18
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 19 Monday, April 2, 2012 9:30 AM
QUADERNI
per la progettazione ICT
2) un grande utente ha molte connessioni con l’internet magari mediante collegamenti con diversi service provider e con diversa tipologia di SLA (Service level agreement e conseguentemente di prezzo) sono stati
concordati;
3) le informazioni di rotte e destinazioni ricevute sono manipolate prima di
essere ritrasmesse;
4) si dispone di personale esperto con sa valutare gli effetti e le conseguenze
delle configurazioni messe in atto. Infatti le conseguenze di misconfigurazioni di questo protocollo hanno risonanza e effetti sull’intero internet.
Figura 14.4
Quando usare
BGP
Annuncio in
Figura 14.5
an
nu
n
nci
i
Annuncio in
Selezione
Rotte valide
e migliori
Annuncio in
Tabella di
Filtro annunci
out
Filt
ro
Annuncio in
Cap 14-fig 5 quando
usare bgp
routing
Nu
e
ov
ro
Quando usare
BGP
Annuncio out
Annuncio out
tt e
Usare BGP quando:
Le informazioni di rotte e destinazioni ricevute devono essere manipolate prima di essere ritrasmesse
Si dispone di personale esperto
19
VOLUME_3.book Page 20 Monday, April 2, 2012 9:30 AM
Gli errori di misconfigurazione commessi da carrier sono sanzionati in modo più o
meno grave mediante l’oscuramento delle rotte gestite dal carrier stesso con conseguente disservizio per gli utenti che attraverso quel carrier raggiungono l’internet.
Alcuni numeri caratterizzano l’importanza ed il significato di queste configurazione e rendono evidente le attività di manipolazioni delle informazioni condotta con questo protocollo:
-
Numero degli AS assegnati 48000;
-
Numero di AS che annunciano un solo prefisso 13000;
-
Prefissi manipolati 350000.
14.3 Cosa comunicare con BGP
Il protocollo trasmette informazioni sulle destinazioni raggiungibili attraverso il
partner con cui avviene lo scambio.
In uno scambio si può distinguere tra informazioni ricevute e informazioni trasmesse.
La scelta delle informazioni da trasmettere e la scelta delle informazioni da accettare sono i due elementi più rilevanti del progetto di comunicazione tramite BGP.
Lo scambio di informazioni è solitamente del tutto asimmetrico.
Le informazioni ricevute dal partner sono contenute in un database e sono processate prima di essere utilizzate in tabella di routing.
Le informazioni trasmesse al partner hanno varia origine (ricevute in altro
scambio BGP, originate nella locale macchina per redistribuzione da un protocollo IGP) e sono opportunamente filtrate prima di essere trasmesse.
Il contenuto di queste manipolazioni delle informazioni sono l’essenza del protocollo
insieme con i criteri con cui sono scelti i partner con si attuano gli scambi (neighbor).
Figura 14.6
Cosa comunica
BGP
B
BGP
AS
64520
B
C
BGP
F
A
BGP
D
20
AS
65000
AS
65250
E
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
AS
65500
VOLUME_3.book Page 21 Monday, April 2, 2012 9:30 AM
-
rotta di destinazione ovvero indirizzo del destinatario nel piano di indirizzamento mondiale (indirizzo IP pubblico del destinatario e AS si appartenenza). BGP manipola informazioni del piano di indirizzamento mondiale
perciò le destinazioni sono qui rappresentate in modo sommario e non di
dettaglio. In questo modo si riesce a contenere il numero di destinazioni da
conoscere senza peraltro inficiare la precisione;
-
next-hop ovvero indirizzo della macchina a cui affidare il traffico nel percorso verso la destinazione finale. Il next hop è un indirizzo che deve essere
raggiungibile dalla macchina che sta indirizzando il traffico ovvero deve
essere presente nella tabella di routing della macchina una indicazione
esplicita (rotta) di come raggiungere il prossimo step intermedio verso il target descritto nell’annuncio di BGP;
-
la sequenza degli AS finora attraversati dall’annuncio. Questo dato è cruciale per poter garantire che gli scambi avvengano senza che si generino loop;
-
origine per precisare se una rotta e stata ricevuta da uno scambio precedento o se è stata aggiunta al flusso BGP da questo neighbor.
QUADERNI
per la progettazione ICT
Prescindendo dai contesti in cui avviene lo scambio (E o I –BGP), si possono
comunque precisare alcune informazioni che devono essere contenute nel
messaggio:
La presenza e la consistenza di questi parametri (detti attributi) è controllata
nella catena di eventi che costituiscono la trasmissione e prima di rendere
disponibili le informazioni scambiate tra neighbor per successive elaborazioni.
Il controlli sono bloccanti:
1) il primo controllo è la presenza di tutti questi dati nella informazione da trasmettere;
2) un controllo puntuale su ciascuna destinazione che si intende comunicare
al neighbor è la presenza in tabella di routing (del destinatario) di una rotta
per raggiungere il next hop contenuto nell’annuncio BGP.
La raggiungibilità piò essere espressa da una rotta esplicita in tabella di
routing oppure essere ricavata attraverso la combinazione di informazioni
contenute su più righe della tabella (recursive lookup).
L’importanza della raggiungere il next-hop è essenziale affinché l’eventuale
traffico nel data plane, che volesse essere instradato seguendo le informazioni scambiate da BGP, possa raggiungere la destinazione (controllo di
black-hole).
Le rotte che non sono conformi alle regole sono considerate invalide e non
sono accettate.
21
VOLUME_3.book Page 22 Monday, April 2, 2012 9:30 AM
3) l’informazione sulla sequenza di AS attraversati è determinante per evitare
l’insorgenza di loop negli scambi di control plane.
Questo parametro è esaminato quando una informazione è ricevuta da un
neighbor. Se nella lista è già presente AS cui il router appartiene la rotta è
considerata invalida e non è né trasmessa né considerata;
4) il controllo sull’origine è effettuato in corrispondenza degli scambi i-BGP.
Altri controlli sono effettuati in relazione al contesto in cui si sta operando e
sono specificati nel seguito della trattazione.
Altri parametri (attributi) possono accompagnare le informazioni per consentire una vasta scelta di criteri con cui preferire i percorsi ridondati verso lo stresso target.
14.4 Con chi si comunica in BGP
Contrariamente a quanto accade nei protocolli IGP, ma coerentemente con il
contesto generale già presentato, la scelta dei neighbor con cui avviare scambi
di informazioni non è automatica ma rigorosamente manuale ed è uno dei
maggiori aspetti delle scelte condotte da BGP.
Distinguendo due scenari di riferimento diversi e distinti si riesce a caratterizzare la tipologia di scambi da eseguire.
14.4.1 Scenario di comunicazione tra ISP
Gli operatori scambiano rotte e destinazioni raggiungibili attraverso le proprie
reti.
Informano cioè altri operatori degli end user serviti sono perciò aree di transito nei percorsi end-to-end.
Offrono, inoltre ai propri clienti i servizi di raggiungere tutte le destinazioni
nell’internet.
Per amministrare questi servizi non è necessario anzi è deleterio informare gli
altri ISP (Internet Service Provider) di composizione e percorsi delle proprie reti.
Gli ISP hanno ricavi sia per il traffico generato dai propri clienti sia per il traffico recapitato agli stessi.
22
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 23 Monday, April 2, 2012 9:30 AM
P
cli8
P
QUADERNI
per la progettazione ICT
cli9
as1243
PE
cli5
PE
P
as1234
p
bg
P
P
bg
p
cli7
as3421
bg
p
bgp
P
as4321
bgp
cli4
PE
cli1
cli3
Scambi tra isp
Sono comunicate le
destinazioni dei clienti e non
quelle delle reti isp
cli2
Ad esempio il service provider che ospita il sito di Google frequentato da milioni di utenti dovrà rendere disponibile una infrastruttura di adeguata capacità.
Questo operatore richiederà pertanto il pagamento di un onere per collegare
a se altri operatori attraverso cui pervengono le richieste al sito Google.
Figura 14.7
Scambio
di informaioni di
routing tra ISP
sono annunciate
le rotte dei clienti
e non le rotte
interne
Le interconnessioni tra operatori avvengono spesso in locali comuni all’uopo
predisposti con servizi di misurazione del traffico e di housing di apparati,
continuità elettrica, condizionamento….
Questi locali sono gli spazi dove le reti degli operatori entrano in contatto.
Nella pratica sono utilizzati due tipi di interconnessioni:

connessioni di operatori a nodi di interconnessione Mix, Namex dove gli
scambi di informazioni di routing sono paritetiche (senza tariffe di accesso);

connessione diretta a carrier (a pagamento).
Nei nodi di interconnessione avvengono gli scambi di informazioni circa le
destinazioni raggiunte dai diversi operatori.
Le informazioni sono trasportate e distribuite all’interno delle reti di ciascun
operatore.
In funzione delle informazioni acquisite gli ISP indirizzano il traffico generato
dei clienti.
È bene notare che il Service Provider tende a non propagare le informazioni
23
VOLUME_3.book Page 24 Monday, April 2, 2012 9:30 AM
delle destinazioni intermedie all’interno della sue reti.
In questo modo infatti ogni ISP mantiene autonomia ed indipendenza per la
scelta dei percorsi all’interno del suo AS.
Sarà così possibile che ogni ISP possa applicare tariffe differenziate in funzione degli accordi economici e di SLA raggiunti.
In definitiva Il service provider annuncia le reti dei suoi clienti e non le reti interne al suo backbone.
14.4.2 Scenario di comunicazione tra un large end-user
con uno o più ISP
Uno scenario molto differente è quello di comunicazione tra un end-user collegato a più service provider che offrono con servizi diversi.
In questo caso di parla di un AS multihomed.
Figura 14.8
AS2
AS multihomed
le rotte da AS1,
AS3 sono
ricevute filtrate e
non ritrasmesse
Filt
ro
Annuncio in
ann
AS1
n
ci i
un
200.0.0.0/18
Selezione
Rotte
valide e
migliori
0.0.0.0
2
0
.0
.0
01
9
/1
Tabella
di
routing
Filtro annunci out
Annuncio in
AS3
Annuncio out
Le rotte ricevute da AS1,AS3 sono ricevute filtrate
e non ritrasmesse.
Le rotte sono manipolate ed introdotte in IGP di AS2
In questo scenario la comunicazione di BGP ha alcuni obiettivi:
1) primo obiettivo quello di evitare di rendere il proprio AS una area di transito.
Con riferimento allo schema in figura 14.8, in cui un grande cliente gestisce
l’AS2 ed è collegato con AS1 ed AS3 medianti due connessioni distinte, con
un costo per l’utilizzo e service level agreement diversi.
24
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 25 Monday, April 2, 2012 9:30 AM
QUADERNI
per la progettazione ICT
Negli annunci ricevuti da AS1 è presente la rotta di default che deve essere
propagata all’interno di AS2 per fornire a tutte le utenze interne la rotta
verso l’internet.
L’obiettivo del progetto di comunicazione è quindi quello di instradare verso
AS1 tutto il traffico verso l’internet.
Il collegamento con AS3 è stato invece acquisito e deve essere riservato alla
comunicazione tra le sedi.
Questa politica genera una sequenza di decisioni di instradamento e di
configurazione di apparati che attuano questi processi (si pensi solo ai processi nat da attuare per il solo traffico verso internet).
Nella configurazione degli annunci verso AS3, erroneamente l’annuncio di
rotta di default non è rimosso.
Gli utenti di AS2 hanno quindi due possibili destinazioni di default ma anche gli
utenti di AS3 scoprono una rotta di default che attraversa AS2e raggiunge AS1.
L’end user è penalizzato sia perché il collegamento con as3 è utilizzato in
senso inverso a quello per cui è stato predisposto sia perché il collegamento
con AS1 risulterà molto carico per effetto del traffico generato dai clienti di
AS3 e riversato in AS2.
2) Il secondo aspetto caratteristico di questo scenario è il diverso ruolo dei filtri
sui messaggi in ed out.
Infatti gli annunci di rotte di AS1ed AS3 verso AS2 saranno ricevuti ma non
ritrasmessi.
Sarà adottata una opportuna politica di selezione per le rotte annunciate
dai due carrier per realizzare la ripartizione del traffico generato in AS2
verso AS1 ed AS3.
Negli annunci di AS2 verso AS1 ed AS3 saranno presenti solo le rotte effettivamente terminate all’interno di AS2.
3) Le rotte apprese da AS1, e AS3 rappresentano il complessivo internet.
Si tratta quindi di una gran mole di annunci.
Pur opportunamente limitati questi annunci sono gestibili dal protocollo
BGP.
Gli annunci non possono invece riversati nelle tabelle di routing dei protocolli IGP.
Questo aspetto è molto importante ed ha valenza più generale riguardando lo scambio di informazioni tra protocolli di routing diversi.
Pertanto, alle interazioni di scambio di informazioni tra protocolli di routing
è dedicato un capitolo ad hoc.
25
VOLUME_3.book Page 26 Monday, April 2, 2012 9:30 AM
Qui invece è importante notare che un approccio generale da seguire negli
scambi di BGP con i protocolli Igp è quello di redistribuire al protocollo IGP
solo la scelta di quando inoltrare verso AS3 e quando inoltrare verso AS1
lasciando alle macchine di interfaccia il compito di gestire le tabelle complessive di routing.
Un buon criterio è quello di ridistribuire delle rotte di default con metriche
condizionate in modo da dare preminenza al percorso attraverso AS1
lasciando AS3 come percorso di riserva per certe rotte e viceversa per altre.
Nell’esempio che segue le rotte dispari sono indirizzate verso AS1 lasciando AS3 come percorso per le rotte dispari.
Figura 14.9
Sommarizzazioni e
redistribuzione
da BGP ad OSPF
efetto nel data
plane
AS2
Control -PLANE
Rotte pari secondaria
BGP
AS1
ist
r ed
e OSPF
ut
rib
r ed
istr
ib
u te
BGP
Rotte dispari-primaria
AS3
Rotte pari primaria
0.0.0.0
Tabella di
Routing
od
ffic
t ra
a
re
i na
rm
te
Rotte dispari secondaria
DATA-PLANE
14.5 E-bgp ed I-bgp
Pur essendo lo stesso il protocollo si è soliti distinguere due contesti differenti:
-
l’applicazione di BGP per scambio tra due o più Autonomous System è denominata EBGP dove E sta per Exetermal,
-
l’applicazione di BGP per lo scambio all’interno dello stesso autonomous
system è denominata IBGP dove “I” sta per Internal.
Pur essendo lo stesso protocollo la differenza di contesti di applicazione dà
luogo a scelte di default per l’utilizzo del protocollo che a loro volta hanno profonda implicazione nelle caratteristiche e nel funzionamento del protocollo
stesso.
26
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 27 Monday, April 2, 2012 9:30 AM
QUADERNI
per la progettazione ICT
Lo scenario di riferimento per E-Bgp è l’assenza di un protocollo di routing
dinamico tra le macchine che intendono effettuare scambi mentre per I-Bgp si
suppone presente tra esse un protocollo dinamico.
Questi due diversi scenari producono a loro volta molte implicazioni:

le informazioni apprese da uno scambio I-BGP non sono trasmesse in altri
scambi I-BGP. (regola della sincronizzazione);

in scambi I-BGP gli attributi ed in particolare il next-hop, non sono cambiati;

il next-hop è cambiato automaticamente negli scambi E-BGP;

la sequenza degli AS attraversati dalla rotta non è modificata nello scambio
I-BGP;

quando avviene un nuovo scambio E-BGP il AS path si arricchisce del
l’ultimo AS attraversato.
14.6 Terminologia BGP e riferimenti RFC

Internal ed External BGP: sessioni di scambio all’interno o all’esterno di un AS.

Neighbor: i partner con cui sono scambiate le informazioni di routing.
Contrariamente ai protocolli IGP in questa situazione nessun automatismo
è ragionevole nella scelta dei partners della comunicazione. Essi pertanto
saranno configurati manualmente. Si specifica talvolta neighbor interni e
esterni riferendosi ad internal o esternal BGP.

Attributi: parametri che accompagnano le informazioni di rotte trasmesse, sono classificati per gruppi in obbligatori e opzionali;

Path vector: uno degli attributi più importanti che accompagnano le informazioni di rotte. È l’elenco degli AS che la destinazione ha attraversato
in scambi successivi;

NLRI: Network Layer Reachability Information: le destinazioni conosciute
espresse in termini di indirizzo IP del target. Nel presente capitolo NLRI
equivale all’indirizzo IP dei target conosciuti. In generale il concetto è più
ampio e possono essere descritti instradamenti che prescindono dall’indirizzo di destinazione ed aggregano tipologie diverse di traffico
(real-time, non real-time, classi di servizio, Sla…).

Sincronizzazione: una destinazione è valida se e solo se esiste nella
tabella di routing un next-hop valido per la destinazione annunciata o
ricevuta.
27
VOLUME_3.book Page 28 Monday, April 2, 2012 9:30 AM
I riferimenti RFC in cui è descritto il protocollo sono:

RFC 3392, Capabilities Advertisement with BGP-4;

RFC 3065, Autonomous System Confederations for BGP;

RFC 2918, Route Refresh Capability for BGP-4;

RFC 2796, BGP Route Reflection - An Alternative to Full Mesh IBGP;

RFC 1965, (obsoleta) - Autonomous System Confederations for BGP;

RFC 1772, Application of the Border Gateway Protocol in the Internet;

RFC 1771, A Border Gateway Protocol 4 (BGP-4);

RFC 1657, Definitions of Managed Objects for the Fourth Version of the
Border Gateway Protocol (BGP-4) using SMIv2;

RFC 1655, (obsoleta) - Application of the Border Gateway Protocol in the
Internet;

RFC 1654, (obsoleta) - A Border Gateway Protocol 4 (BGP-4);

RFC 1105, (obsoleta) - Border Gateway Protocol (BGP).
14.7 Come funziona il protocollo
Il protocollo pur avendo il compito di trasmettere informazioni di routing è molto diverso dai protocolli di routing IGP.
I membri con cui è instaurata la conversazione sono accuratamente scelti e non
semiautomatici (non è stato ritenuto utile un protocollo simile ad HELLO per BGP).
Le informazioni sono filtrate prima di essere trasmesse.
Le informazioni sono controllate prima di essere dichiarate valide.
Alcuni meccanismi dei protocolli IGP sono stati mantenuti:

annunci affidabili;

calcolo di metrica simile a distance vector.
Un gran numero di informazioni accompagnano le rotte e rendono il processo
di selezione molto più articolato e ricco.
Nei paragrafi che seguono ciascuno di questi temi è esaminato nel dettaglio.
14.7.1 I neighbor
Innanzitutto i partecipanti alle comunicazioni sono esplicitamente selezionati
non tra i router di next-hop come negli IGP ma tra macchine raggiungibili
nell’internet.
28
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III
VOLUME_3.book Page 29 Monday, April 2, 2012 9:30 AM
Si distinguono i collegamenti interni allo stesso AS (IBGP peer) e quelli tra AS
(EBGP PEERS).
QUADERNI
per la progettazione ICT
La raggiungibilità tra due neighbor all’interno di uno stesso AS è, nella maggior parte dei casi, garantita dalla presenza di un protocollo di routing interno
(IGP). Scopo del protocollo IGP è quello di rendere ogni nodo accessibile a tutti
gli altri e tutte le destinazioni a tutti i membri della rete. Molto diverso è lo scenario della raggiungibilità e degli scambi in internet.
Quando invece la raggiungibilità deve essere garantita tra due macchine
appartenenti a differenti AS non è pensabile che ci sia un protocollo automatico di instradamento che renda le due macchine comunque raggiungibili:
Questa differenza si traduce nell’affermazione pratica che i due neighbor di
una sessione di external bgp devono essere direttamente connessi mentre
quelli di una sessione internal non lo saranno, sempre che sia disponibile un
protocollo di routing interno che definisca le rotte per la raggiungibilità reciproca.
Figura 14.10
Sessione BGP
tra due loopback
per sfruttare
la ridondanza
dei circuiti fisici
L’uso di questa definizione deve essere spesso conciliata con altre esigenze. In
figura è rappresentata una sessione External BGP in cui la relazione di neighbor è creata tra interfacce loopback per utilizzare al meglio la ridondanza
di collegamenti.
Le interfacce di loopback non sono direttamente raggiungibili. Sono perciò
necessarie istruzioni di instradamento ulteriori. In figura sono aggiunte rotte
statiche.
29