Sei sulla pagina 1di 24

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

PIANO DELL’OPERA

QUADERNI
per la progettazione ICT
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

INDICE GENERALE

QUADERNI
per la progettazione ICT
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 Protocollo per comunicazioni EGP ................................... 15

14.1.1 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 Annunci in BGP: NLRI ed attributi ..................................... 41

14.8.1 La complessità degli annunci ........................................... 41

14.9 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


14.9.2.10.6 Sommarizzazione: la clausola suppress-map
in combinazione con altri comandi .......................... 67

QUADERNI
per la progettazione ICT
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 Elementi base di configurazione ...................................... 72

14.10.1 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 Filtri sugli annunci .......................................................... 85

14.11.1 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

SEZIONE QUARTA: configurazione scalabilità .................................. 109

14.12 La tabella delle rotte scambiate .................................... 109

QUADERNI
14.13 Il rapporto tra tabella BGP e la tabella di routing............. 111

per la progettazione ICT


14.13.1 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
VOLUME_3.book Page 13 Monday, April 2, 2012 9:30 AM

QUADERNI
per la progettazione ICT
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

BORDER GATEWAY PROTOCOL

QUADERNI
per la progettazione ICT
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 tar-
get 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 para-
metri detti correntemente attributi.
Su tali attributi possono essere effettuate molte diverse operazioni di manipo-
lazione per consentire all’amministratore la più ampia scelta tra possibili per-
corsi 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 desti-
nazioni.
Pertanto il protocollo BGP è spesso definito come strumento per le politiche
di instradamento ovvero della regolazione dei rapporti economici tra opera-
tori.
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 desti-
nazione 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 automatica-
mente 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 ammi-
nistrativo.
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

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).

QUADERNI
per la progettazione ICT
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 esclu-
sivo, 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 rou-
te.

Figura 14.3 User


Quando non
ip route 0.0.0.0 0.0.0.0 S0
usare BGP
!
!router
t rip
i ISP
S0
network 172.16.0.0 S0 Running BGP
A
10.1.1.1 AS 65000
172.16.0.0 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 pper ggestire 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

2) un grande utente ha molte connessioni con l’internet magari mediante col-


legamenti con diversi service provider e con diversa tipologia di SLA (Ser-
vice level agreement e conseguentemente di prezzo) sono stati
concordati;

QUADERNI
per la progettazione ICT
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 misconfigura-
zioni di questo protocollo hanno risonanza e effetti sull’intero internet.

Figura 14.4
Quando usare
BGP

Annuncio in

Figura 14.5
Annuncio in
Filt

Quando usare
ro

out
an

Selezione BGP
nu

Annuncio in
Filtro annunci
nci

Rotte valide
i

e migliori
n

Annuncio out
Annuncio in

Tabella di Annuncio out


Cap 14-fig 5 quando usare bgp
routing
tt e
ro
e
ov
Nu

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 conse-
guente disservizio per gli utenti che attraverso quel carrier raggiungono l’internet.
Alcuni numeri caratterizzano l’importanza ed il significato di queste configu-
razione e rendono evidente le attività di manipolazioni delle informazioni con-
dotta 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 accet-
tare 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 pro-
cessate 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 proto-
collo 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 AS
BGP B 65000 C
BGP B

AS BGP AS
64520 A F 65500

BGP AS
D 65250 E

20 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III


VOLUME_3.book Page 21 Monday, April 2, 2012 9:30 AM

Prescindendo dai contesti in cui avviene lo scambio (E o I –BGP), si possono


comunque precisare alcune informazioni che devono essere contenute nel
messaggio:

QUADERNI
per la progettazione ICT
- rotta di destinazione ovvero indirizzo del destinatario nel piano di indiriz-
zamento mondiale (indirizzo IP pubblico del destinatario e AS si apparte-
nenza). 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 per-
corso 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 tar-
get descritto nell’annuncio di BGP;
- la sequenza degli AS finora attraversati dall’annuncio. Questo dato è crucia-
le per poter garantire che gli scambi avvengano senza che si generino loop;
- origine per precisare se una rotta e stata ricevuta da uno scambio prece-
dento o se è stata aggiunta al flusso BGP da questo neighbor.

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 tra-


smettere;
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 informa-
zioni 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 consen-


tire una vasta scelta di criteri con cui preferire i percorsi ridondati verso lo stres-
so 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 caratteriz-


zare 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 tran-
sito 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 traf-
fico 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

cli9 cli8 P
P

QUADERNI
per la progettazione ICT
as1243
cli7 P
PE P
as1234 p
bg p P
bg

as3421
cli5 PE
bg bgp
p P
as4321
cli4 bgp
Scambi tra isp
PE
Sono comunicate le
destinazioni dei clienti e non
cli1 quelle delle reti isp Figura 14.7
cli3 cli2 Scambio
di informaioni di
routing tra ISP
Ad esempio il service provider che ospita il sito di Google frequentato da milio- sono annunciate
ni di utenti dovrà rendere disponibile una infrastruttura di adeguata capacità. le rotte dei clienti
e non le rotte
Questo operatore richiederà pertanto il pagamento di un onere per collegare interne
a se altri operatori attraverso cui pervengono le richieste al sito Google.
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 funzio-
ne degli accordi economici e di SLA raggiunti.
In definitiva Il service provider annuncia le reti dei suoi clienti e non le reti inter-
ne 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 colle-


gato 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,
Annuncio in
AS3 sono
ricevute filtrate e
Annuncio in Selezione
non ritrasmesse
Filt

Rotte
ro

Filtro annunci out

AS1
ann

AS3
200.0.0.0/18 valide e
un
ci i

migliori
n

Annuncio out
0.0.0.0
Tabella
di
/1
9 routing
0
.0
.0
2 01

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

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.

QUADERNI
per la progettazione ICT
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 pro-
cessi 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 effet-
tivamente 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 proto-
colli IGP.
Questo aspetto è molto importante ed ha valenza più generale riguardan-
do 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 com-
plessive 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 lascian-
do AS3 come percorso per le rotte dispari.

Figura 14.9
Sommarizza- AS2

zioni e
Control -PLANE
redistribuzione
da BGP ad OSPF
e OSPF
efetto nel data ut r ed
rib istr
ist ib u te
plane Rotte pari secondaria r ed
BGP
AS1 BGP AS3
Rotte dispari-primaria

Rotte pari primaria


0.0.0.0
Tabella di
Routing Rotte dispari secondaria
re
i na
rm
te
a
od
ffic DATA-PLANE
t ra

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 è de-
nominata 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 pro-
fonda 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

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.

QUADERNI
per la progettazione ICT
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 cam-
biati;
 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 tra-
smesse, sono classificati per gruppi in obbligatori e opzionali;
 Path vector: uno degli attributi più importanti che accompagnano le infor-
mazioni 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’indi-
rizzo 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 è mol-
to 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).

La raggiungibilità tra due neighbor all’interno di uno stesso AS è, nella mag-

QUADERNI
per la progettazione ICT
gior 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 sce-
nario 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 automa-
tico 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à reci-
proca.

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 nei-
ghbor è 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

Potrebbero piacerti anche