Struttura e routing di InternetStruttura e routing di Internet
RETI INTERNET RETI INTERNET MULTIMEDIALIMULTIMEDIALILucidi delle Lezioni - Capitolo IVLucidi delle Lezioni - Capitolo IV
UNIVERSITA' DEGLI STUDI DI BERGAMODipartimento di IngegneriaA.A. 2016/17 - II° Semestre
Prof. Giuseppe F. RossiE-mail: [email protected]
Struttura del capitoloStruttura del capitolo
Il problema dell'instradamento ottimo
Brevi richiami alla Teoria dei grafi
L'algoritmo di Bellman-Ford
L'algoritmo di Dijkstra
Il sistema di instradamento di Internet
I protocolli di tipo IGP
RIP
OSPF
I protocolli di tipo EGP
BGP
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 1-2/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmi di Algoritmi di routing (unicast)routing (unicast)I criteri di scelta dei percorsiI criteri di scelta dei percorsi
Quali sono i criteri secondo i quali si sceglie un dato percorso per collegare un nodo mittente con un nodo destinatario?
Routing statico: qualunque criterio (a discrezione di chi ha configurato la rete)
Routing dinamico: il criterio più comunemente utilizzato é quello del "percorso più corto" (in inglese "shortest path routing")
Ad ogni connessione esistente tra ogni coppia di nodi adiacenti viene associata una lunghezza L i > 0
Viene scelto il percorso PA-B che minimizza L A-B = Σ L i
In presenza di reti complesse (Internet) vengono utilizzati approcci più articolati che verranno analizzati nella seconda parte del presente capitolo
Teoria dei grafiTeoria dei grafiRichiami alle definizioni di baseRichiami alle definizioni di base
{ } { } { }
e nodi sui ntesempliceme dice si arcol' caso In tal
. , se solo e se dice si grafoUn :
in ed da dice si arcol' caso In tal
. se solo e se dice si grafo Un :
con e
:atirappresent così essere possono grafo il formano che e insiemi gli cuiper , nodo
un versoarco solo 1 massimo al partire possa nodoun da che erestrizion la imporrà si poiin qui Da
chiamati elementi di insiemeun e o chiamati
elementi di non vuoto e finito insiemeun da formata matematica Struttura :
321
jiij
jiijjiij
Def
jiij
jiijij
Def
jijiijk
Def
nnincidentea
aa/AaAaorientato nonG(N, A)
nentrantenuscentea
aa/AaorientatoG(N, A)
N,nn), ... ,n ... ,(n, ... ... ,aA,...,n,n,n nN
(N,A)GANj
i
archiAverticinodi
NG(N, A)
≡∈∃∈∀
≠∈∃
∈====
orientato non Grafo
orientato Grafo
Grafo
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 3-4/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Teoria dei grafiTeoria dei grafiRichiami alle definizioni di baseRichiami alle definizioni di base
). 1, costante peso il associato è emente,equivalent (o, peso
alcun associato ènon archi agli se dice si grafoUn :
o
detto un associato è archi agli se dice si grafoUn :
.su incidenti archi di numero
. da uscenti archi di numero
.in entranti archi di numero
. ,, se solo e se dice si grafoUn :
,
,
,,
Aad
apesato nonG(N, A)
arco.dell' costopeso
dapesatoG(N, A)
n
nuscente Grado
nentrante Grado
AaNnncompletoG(N, A)
ijji
ji
Def
jiji
Def
i
Def
i
Def
i
Def
ijji
Def
∈∀=
ℜ∈
=
=
=
∈∃∈∀
pesato non Grafo
pesato Grafo
A) G(N, orientato non Grafo un di n nodo un di Grado
A) G(N, orientato Grafo un di n nodo un di Grado
completo Grafo
i
i
Teoria dei grafiTeoria dei grafiRichiami alle definizioni di baseRichiami alle definizioni di base
[ ]hk
khkihkh
Def
hk
kh
kihkh
Def
Pnni,jh,k
Def
kihkh
Def
nn
cicloCCard, ... ,n, ... , nnC
nn
C
cammino, ... ,n, ... , nnC
dL
A
percorso, ... ,n, ... , nnP
h,kji
≡≥=
≡
=
=
⇒
=
∑∈
se solo e se
dice si 3con )( camminoUn :
) eparticolar caso il ammesso
solo (è ripetuti nodi hanon e percorsoun è se solo e se
dice si )( nodi di sequenza Una:
:
arco)l' esiste( di elementi
sono sequenza nella adiacenti nodi di coppia ogni se solo e se
dice si )( nodi di sequenza Una:
,,
,
,
),(
,
A)G(N, grafo un su Ciclo
A)G(N, grafo un su (Path) Cammino
A)G(N, pesato grafo un su P percorso un di LLunghezza
A)G(N, grafo un su (Walk) Percorso
kh,kh,
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 5-6/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Teoria dei grafiTeoria dei grafiRichiami alle definizioni di baseRichiami alle definizioni di base
NN
G(N, A)), A(NG
), A(NG
G(N, A)
tree spanning), A(NG
AA'NN'G(N, A)sottografoG'(N', A')
CNnalberoG(N, A)
CNnnconnessoG(N,A)
aciclicoG(N,A)
S
SSS
SSS
SSS
Def
Def
iii
Def
jiji
Def
Def
≡
⊆⊆
¬∃∈∀
∃∈∀
di sottografoun è
alberoun è
:se solo e se grafo datoun
di definisce si grafoUn :
. e se solo e se di definisce si grafoUn :
. , e connesso è se solo e se dice si grafoUn :
,, se solo e se dice si grafoUn :
cicli esistononon se solo e se dice si grafoUn :
,
A)G(N, grafo dato un diTree Spanning
Sottografo
(Tree) Albero
connesso Grafo
aciclico Grafo
Problemi di ottimizzazione trattati conProblemi di ottimizzazione trattati conla la Teoria dei grafiTeoria dei grafi
Problemi di ricerca di particolari percorsi Ph,k su un grafo
Percorsi Ph,k a lunghezza Lh,k minima
Per esempio
Algoritmo di Bellman-Ford
Algoritmo di Dijkstra
Problemi di trasformazione di un grafo
Trasformazione di un grafo in un suo spanning tree avente costo minimo
Problemi di flusso
Calcolo della capacità di trasporto di un grafo (in tal caso i costi/pesi rappresentano le capacità degli archi)
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 7-8/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di Bellman-FordAlgoritmo di Bellman-Ford
Algoritmo iterativo per il calcolo del percorso minimo Pi,z su un grafo G(N,A) tra un qualunque nodo mittente i e un nodo destinatario fissato z
Principio di funzionamento
Inizialmente tutti i nodi (eccetto il destinatario) distano D = ∞ dal destinatario
L'algoritmo procedendo iterativamente calcola le distanze minime (finite) Li,z dei nodi i che raggiungono il destinatario z attraverso un percorso Pi,z formato da:
1 arco (prima iterazione)
2 archi (seconda iterazione)
3 archi (terza iterazione)
...
Algoritmo di Bellman-FordAlgoritmo di Bellman-Ford
Descrizione dell'algoritmo di Bellman-Ford applicato su un grafo G=(N,A) per il calcolo del percorso Pi,z con Li,z minima, dove i è un qualsivoglia nodo mittente e z è un destinatario prefissato
[ ]
zihi
ihi
hi
ziijhj
j
hi
zii
hhz
hi
ijij
LD
DDh'
dDDh
Dh
zD
hziD
jiad
,'
1''
1
0
min caso In tal
. :quando iterazioni dopo terminaalgoritmoL' -
ripetuto min :)1( iterativo Passo -
:)0( iniziale Passo -
stesso) sé da di distanza la (é 0 :pone si econvenzionPer -
:Algoritmo
algoritmodell' iterativi passi dopo one)(destinazi nodo al nodo dal cammino del costo
nodo al arriva e nodo dal parte che diretto arcoall' associato costo
:Posizioni
=
∀=
∀+=+
∀∞==
∀=
=
=
−
≠+
≠
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 9-10/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di Bellman-FordAlgoritmo di Bellman-Ford
Si può dimostrare quanto segue
L'algoritmo termina dopo un numero h' finito di iterazioni se e solo se tutti i cicli non contenenti il nodo z (cioé la destinazione) hanno una lunghezza non negativa
Se l'algoritmo termina dopo un numero h' finito di iterazioni, allora h'MAX = n, dove n è il numero di nodi del grafo
I valori Di ottenuti sono il costo del percorso più corto da i a z
La complessità computazionale è O(n3). Infatti (caso peggiore) si ha:
Max numero di passi iterativi = n
Ogni passo iterativo deve essere ripetuto su (n-1) nodi
Ogni passo iterativo su ogni nodo comporta la comparazione al massimo di (n-1) alternative
Algoritmo di Bellman-FordAlgoritmo di Bellman-Ford: un esempio: un esempio
Dato il grafo non orientato riportato qui sotto, si calcolino i percorsi minimi per raggiungere il nodo destinatario 'A'
A
B
F
C
E
D
1
3
3
2
15
6
2
1
A
B
F
C
E
D
h = 1
D=0
D=1(B,A) D=∞
D=∞
D=∞D=3(F,A)
A
B
F
C
E
D
h = 0
D=0
D=∞
D=∞
D=∞
D=∞
D=∞
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 11-12/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Continuazione dell'esempio ...
A
B
F
C
E
D
13
32
15
6
2
1
A
B
F
C
E
D
h = 2
D=0
D=1(B,A)
D=4(C,B,A)
D=9(D,F,A)
D=5(E,F,A)
D=2(F,B,A)
A
B
F
C
E
D
h = 3
D=0
D=1(B,A)
D=4(C,B,A)
D=6(D,E,F,A)
D=4(E,F,B,A)
D=2(F,B,A)
A
B
F
C
E
D
h = 4
D=0
D=1(B,A)
D=4(C,B,A)
D=5(D,E,F,B,A)
D=4(E,F,B,A)
D=2(F,B,A)
A
B
F
C
E
Dh = 5
(come h = 4)=> FINE
D=0
D=1(B,A)
D=4(C,B,A)
D=5(D,E,F,B,A)
D=4(E,F,B,A)
D=2(F,B,A)
Algoritmo di Bellman-FordAlgoritmo di Bellman-Ford: un esempio (cont.): un esempio (cont.)
Algoritmo iterativo che fornisce come risultato l'albero dei cammini minimi su un grafo pesato (con dij ≥ 0) ed orientato (nel caso di grafo non orientato evidentemente si ha dij = dji )
L'algoritmo può essere formulato in 2 modi
Calcolo dell'albero dei cammini a costo minimo su un grafo G=(N,A) tra un qualunque nodo mittente e un nodo destinatario fissato
Calcolo dell'albero dei cammini a costo minimo su un grafo G=(N,A) tra un nodo mittente fissato ed qualunque nodo destinatario
Principio alla base dell'algoritmo di Dijkstra
I nodi del grafo vengono suddivisi in 2 insiemiP = nodi per i quali è già stato identificato il percorso minimo (al passo iniziale P è vuoto)(N-P) = nodi per i quali non è ancora stato identificato il percorso minimo
Ad ogni passo iterativo si sceglie un nodo di (N-P) e lo si trasporta in P
Algoritmo di DijkstraAlgoritmo di Dijkstra
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 13-14/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di DijkstraAlgoritmo di Dijkstra
{ }
[ ] (a) punto al vaie ,min :etichette le Aggiorna b)
(b) punto al vaialtrimenti ; terminatoè algoritmol' allora Se
:
min / )( nodo il Seleziona a)
:iterativo Passo -
;0 ; :iniziale Passo -
ALGORITMO
a da percorso del Costo
) arcol' manca se pone (si a da direttolink del Costo
) da min. distanza la calcolata già é si quali iper (nodi ietichettat mentepermanente nodi dei Insieme =
grafo del nodi dei Insieme
:Posizioni
)(
)(
PNjjiijj
jPNj
i
zjjz
j
ijij
dDDD
NP
iPP
DDPNi
DDP
zjD
(i,j)djid
zP
(N,A)GN
−∈
−∈
≠
∀+==∪=
=−∈
∀∞==∅=
=
∞==
==
Descrizione dell'algoritmo di Dijkstra applicato su un grafo G=(N,A) per il calcolo dei cammini a costo minimo da un qualsivoglia nodo i mittente ad un prefissato nodo z destinatario
{ } { }
[ ] (a) punto al vaie ,min :etichette le Aggiorna b)
(b) punto al vaialtrimenti ; terminatoè algoritmol' allora Se
)(:)( e :
min / )( nodo il Seleziona a)
:iterativo Passo -
; 0 ; O :iniziale Passo -
ALGORITMO
a da percorso del Costo
) arcol' manca se pone (si a da direttolink del Costo
)definitiva è da min. distanza la quali iper (nodi ietichettat mentepermanente nodi dei Insieme =
grafo del nodi dei Insieme
:Posizioni
)(
)(
PNjijijj
jPNj
i
sjjs
j
ijij
dDDD
NP
iN-PN-PiPP
DDPNi
DDP
jsD
(i,j)djid
sP
(N,A)GN
−∈
−∈
≠
∀+==
−=∪=
=−∈
∀∞==/=
=
∞==
==
Descrizione dell'algoritmo di Dijkstra applicato su un grafo G=(N,A) per il calcolo dei cammini a costo minimo da un nodo s mittente prefissato ad un qualsivoglia nodo i destinatario
Algoritmo di DijkstraAlgoritmo di Dijkstra
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 15-16/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di DijkstraAlgoritmo di Dijkstra
Dato il grafo non orientato riportato qui sotto, si calcoli l'albero dei cammini a costo minimo, avente il nodo 'A' come sorgente (radice) ed i restanti nodi come destinatari
A
B
F
C
E
D
P = {A}
D=0
D=1 D=∞
D=∞
D=∞D=3
A
B
F
C
E
DD=0
D=1 D=4
D=∞
D=6D=2
P = {A,B}
A
B
F
C
E
D
1
3
3
2
15
6
2
1
Grafo G=(N,A) di partenza
A
B
F
C
E
D
P = ∅∅∅∅
D=0
D=∞ D=∞
D=∞
D=∞D=∞
Algoritmo di DijkstraAlgoritmo di Dijkstra
Continuazione dell'esempio ...
A
B
F
C
E
D
P = {A,B,F,E,C}
D=0
D=1 D=4
D=5
D=4D=2
A
B
F
C
E
D
P = {A,B,F,E,C,D}
D=0
D=1 D=4
D=5
D=4D=2
A
B
F
C
E
DD=0
D=1 D=4
D=5
D=4D=2
P = {A,B,F,E}
A
B
F
C
E
D
13
32
15
6
2
1
A
B
F
C
E
D
P = {A,B,F}
D=0
D=1 D=4
D=8
D=4D=2
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 17-18/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Sia dato un grafo G=(N,A) con Card[N]=n su cui viene calcolato l'albero dei cammini minimi da un nodo prefissato s ai restanti nodi di N
Il passo iniziale viene eseguito una sola volta (quindi indipendente da n), anche se in esso vi sono istruzioni di assegnazione il cui numero è linearmente dipendente da n
Il passo iterativo viene eseguito n volte. Il k-esimo passo prevede le seguenti operazioni (notare che il numero di operazioni deve essere calcolato sul caso peggiore):
selezione del nodo i in (N-P) tra (n-k+1) nodi:
(n-k) confronti tra le distanze D non definitive dei nodi in (N-P)
aggiornamento delle etichette dei nodi j∈(N-P) che ora sono diventati (n-k) in conseguenza della scelta del nodo i
(n-k) somme(n-k) confronti tra le somme appena calcolate e i "vecchi" valori D j
La complessità è pertanto O(n2)
Avendo complessità computazionale polinomiale, l'algoritmo di Dijkstra è detto efficiente
Algoritmo di DijkstraAlgoritmo di DijkstraComplessità computazionaleComplessità computazionale
Algoritmo di DijkstraAlgoritmo di DijkstraDimostrazione della correttezzaDimostrazione della correttezza
Poniamoci ora il problema di dimostrare la correttezza dell'algoritmo di Dijkstra (ad esempio per la formulazione: cammini a costo minimo da un nodo s mittente prefissato ad un qualsivoglia nodo i destinatario)
La dimostrazione della correttezza dell'algoritmo di Dijkstra applicato su un generico grafo G=(N,A) pesato e orientato di n nodi procede, per induzione, sulla cardinalità k dell'insieme P, dimostrando la seguente asserzione:
La distanza Di di i da s è minima (ed il relativo cammino è formato da nodi tutti contenuti in P), ∀i ∈ P, ∀k ∈{ 1,2, ... ,n}
s
P N-P
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 19-20/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di DijkstraAlgoritmo di DijkstraDimostrazione della correttezzaDimostrazione della correttezza
Componenti della dimostrazione per induzione
Base induttiva (dimostrazione che l'asserzione è vera per k=1)
Ipotesi
Passo iniziale dell'algoritmo ( P =∅ , Ds =0 , Dj =∞ ∀j ∈ (N-P) )
TesiP={s} contiene nodi i con distanza Di minima da s
Passo induttivo (dimostrazione che, se l'asserzione è vera per k, allora è vera anche per k+1)
IpotesiP, con card(P)=k, contiene un sottografo i cui nodi i sono a distanza Di minima da s
TesiDopo aver applicato il (k+1)-esimo passo iterativo dell'algoritmo, P (che ora possiede card(P)=k+1) contiene ancora un sottografo i cui nodi i sono a distanza Di minima da s
Algoritmo di DijkstraAlgoritmo di DijkstraDimostrazione della correttezzaDimostrazione della correttezza
Dimostrazione della base induttiva
Alla prima iterazione, nell'insieme N-P viene scelto il nodo s in quanto possiede l'etichetta D di valore più basso (infatti Ds =0, mentre gli altri sono all'infinito)
Una volta che s è entrato in P, visto che s è chiaramente a distanza minima Ds =0 da sé stesso, l'asserzione della base induttiva è immediatamente dimostrata
s
P N-P
contiene 0 nodiprima della prima
iterazione
contiene n nodiprima della prima
iterazione
nodo scelto allaprima iterazione
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 21-22/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di DijkstraAlgoritmo di DijkstraDimostrazione della correttezzaDimostrazione della correttezza
s
mP N-P
i
Dimostrazione del passo induttivo
Nell'insieme N-P viene scelto il nodo i avente etichetta Di di valore più piccolo
Sia Cs,m ∪ (m,i) il corrispondente cammino (indicato in rosso) da s a i il cui costo è pari a Di , cioè L [Cs,m∪(m,i)] = Di
Essendo Di un valore al finito, il nodo m, predecessore di i sul percorso Cs,m ∪ (m,i), deve appartenere all'insieme P
Bisogna dimostrare che L [Cs,m∪(m,i)] è minimo, e cioè che non esiste un secondo cammino da s a i diverso da Cs,m∪(m,i) avente costo strettamente minore
contiene k nodiprima della (k+1)-esima iterazione
contiene (n-k) nodiprima della (k+1)-esima iterazione
nodo scelto alla (k+1)-esima iterazione
cammino con possibilinodi interni
D i
Algoritmo di DijkstraAlgoritmo di DijkstraDimostrazione della correttezzaDimostrazione della correttezza
s
mP
N-Pi
hv
Dimostrazione del passo induttivo (cont.)
Si supponga, per assurdo, che il cammino a costo minimo da s a i non sia Cs,m∪(m,i) (cammino rosso), bensì sia Cs,v ∪ (v,h) ∪ Ch,i (cammino verde), contenente in generale sia nodi di P che uno o più nodi (oltre a i) di N-P
Il costo del cammino verde dovrà quindi essere:
L [Cs,v ∪ (v,h) ∪ Ch,i] < L [Cs,m∪(m,i)]
nodo scelto alla (k+1)-esima iterazione
cammini con possibilinodi interni
arco (v,h)contiene k nodiprima della (k+1)-esima iterazione
contiene (n-k) nodiprima della (k+1)-esima iterazione
D i
D h
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 23-24/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Algoritmo di DijkstraAlgoritmo di DijkstraDimostrazione della correttezzaDimostrazione della correttezza
s
mP
N-Pi
hv
Dimostrazione del passo induttivo (cont.)
Se Cs,v ∪ (v,h) ∪ Ch,i è il cammino a costo minimo da s a i, allora il suo sotto-camminoCs,v ∪ (v,h) è il cammino a costo minimo da s a h, con L [Cs,v ∪ (v,h)] = Dh prima dell'esecuzione del passo (k+1)
Pertanto: L [Cs,v ∪ (v,h) ∪ Ch,i] = Dh + L [Ch,i] ≥ Dh essendo i costi degli archi ≥ 0
Combinando le disuguaglianze Dh ≤ L [Cs,v ∪ (v,h) ∪ Ch,i] < L [Cs,m∪(m,i)] = Di si deduce che Dh < Di , cosa assurda in quanto contrasta con l'ipotesi iniziale secondo la quale Di è l'etichetta con il valore più basso tra i nodi appartenenti a N-P
nodo scelto alla (k+1)-esima iterazione
cammini con possibilinodi interni
arco (v,h)contiene k nodiprima della (k+1)-esima iterazione
contiene (n-k) nodiprima della (k+1)-esima iterazione
D i
D h
Il problema dell'instradamentoIl problema dell'instradamentoRouting tableRouting table IP: chi le costruisce ... ? IP: chi le costruisce ... ?
IP (come molti altri protocolli di livello 3) esegue l'inoltro dei pacchetti sulla base di informazioni di instradamento contenute nelle routing table presenti su ciascun router
Nel caso più generale il problema della scelta dell'instradamento (quindi, nel caso dell'IP, della generazione del contenuto delle routing table) può essere affrontato con 2 diversi approcci
Routing statico
L'instradamento viene impostato 'a mano' dall'utente in fase di configurazione e quindi é prefissato
Routing dinamico
L'instradamento viene calcolato automaticamente dai nodi di rete attraverso algoritmi di routing e tenuto costantemente aggiornato (in modo più o meno veloce) in base allo stato della rete
In questo caso, generalmente, viene scelto il percorso "più corto"
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 25-26/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Un'importante approccio al routing é quello che va sotto il nome di routing dinamico distribuito e viene correntemente utilizzato nelle reti IP
I vari nodi di rete calcolano automaticamente le routing table attraverso un algoritmo (più o meno sofisticato) eseguito in modalità distribuita (= su più calcolatori)
In generale ogni nodo esegue localmente una serie di calcoli, importando/esportando informazioni da/verso gli altri nodi della rete (cooperative processing)
Il problema dell'instradamentoIl problema dell'instradamentoIl Il "routing dinamico distribuito""routing dinamico distribuito"
Anche gli host possono partecipareal routing dinamico distribuito.Tuttavia di norma possono soloricevere informazioni di instradamento(un host non può commutare pacchetti,quindi non ha senso che propaghiinformazioni di routing)
Il problema dell'instradamentoIl problema dell'instradamentoCosa si usa nelle reti IP ?Cosa si usa nelle reti IP ?
Nelle reti aventi topologia non magliata (= esiste un unico percorso che porta da un nodo mittente ad un nodo destinatario) si utilizza il routing statico
L'utente definisce 'a mano' gli instradamenti (route statiche)
Ha il pregio di non introdurre traffico di servizio sulla rete
Nei restanti casi si usa l'approccio del routing dinamico distribuito
In reti relativamente semplici
La rete viene vista come una dorsale unica
In reti complesse (ad esempio ... Internet)
La rete viene vista come costituita da più dorsali
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 27-28/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Il problema dell'instradamento in reti complesseIl problema dell'instradamento in reti complesseIl caso InternetIl caso Internet
Si supponga di avere una rete IP avente una struttura molto complessa costituita dall'interconnessione di varie dorsali (si pensi al caso Internet)
I router delle dorsali devono conoscere esplicitamente (= avere nelle proprie routing table) tutti i lotti di indirizzi assegnati: le uniche eccezioni sono quei router periferici che possono utilizzare la regola sintetica "default gateway"
Si pone il problema ( ... tutt'altro che banale) del routing complessivo
Interconnessione tra 2 router IP di 2 diversi ISP
Punto d'interscambio del traffico Internet
L'incredibile infrastruttura (MAE-East) di Internet nel '97 (da DATA COMMS, Sept 1997)
Il problema dell'instradamento in reti complesseIl problema dell'instradamento in reti complesseIl caso InternetIl caso Internet
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 29-30/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Il problema dell'instradamento nelle reti complesseIl problema dell'instradamento nelle reti complesseIl caso Internet: gli Il caso Internet: gli "Autonomous Systems""Autonomous Systems"
Per quanto riguarda la problematica del routing su una rete complessa IP, di norma si procede nel seguente modo (naturalmente non é l'unico approccio possibile)
Suddivisione della rete complessa in porzioni (p. es. le dorsali che la costituiscono)
Calcolo e propagazione delle informazioni di routing all'interno delle singole porzioni (scambio intra-dorsale)
Calcolo e propagazione delle informazioni di routing tra porzioni (import/export delle informazioni tramite uno scambio inter-dorsale tra i nodi di confine)
Seguendo questo approccio, la rete Internet viene quindi trattata com'è di fatto, cioè formata dall'unione di tante dorsali (ciascuna appartenente ad in ISP) tra loro interconnesse
La porzione di rete gestita da un'unica authority (per esempio un ISP) prende il nome di "Autonomous System" (AS)
Nel caso Internet un ISP potrebbe anche gestire più AS
Il problema dell'instradamento nelle reti complesseIl problema dell'instradamento nelle reti complesseIl caso Internet: gli Il caso Internet: gli "Autonomous Systems""Autonomous Systems"
Per quanto concerne lo scambio delle informazioni di routing alla base del funzionamento dell'approccio illustrato nella slide precedente, nell'architettura TCP/IP sono stati definiti degli strumenti ad hoc chiamati protocolli di routing
Interior Gateway Protocol (IGP)
Tipologia di protocolli per lo scambio delle informazioni di routing tra nodi (router; solo in rarissimi casi potrebbero essere coinvolti anche nodi host) appartenenti allo stesso AS
Exterior Gateway Protocol (EGP)
Tipologia di protocolli per lo scambio delle informazioni di routing tra nodi (router) appartenenti a diversi AS
EGP ( ... tanto per far un po' di confusione ... ) è anche il nome di un primissimo protocollo di routing di tipo EGP ora non più utilizzato (RFC904 Exterior Gateway Protocol formal specification. D.L. Mills. Apr-01-1984. (Status: HISTORIC))
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 31-32/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Il problema dell'instradamento nelle reti complesseIl problema dell'instradamento nelle reti complesseIl caso Internet: gli Il caso Internet: gli "Autonomous Systems""Autonomous Systems"
Applicazione del concetto di "Autonomous System": rete formata da 2 AS
Gli interior router gestiscono solo il proprio AS
I border router devono annunciare le reti interne al proprio AS, nonché apprendere dagli altri border router ciò che appartiene ad altri AS
Border Router Interior Router
IGPEGP
IGP
Protocolli di Protocolli di routingrouting per reti IP per reti IP
I diversi protocolli di routing di tipo IGP eseguono le scelte dei percorsi all'interno di un AS in base ad una serie di criteri
Il criterio più comunemente utilizzato è il criterio del percorso più corto
L'identificazione di un preciso percorso secondo un determinato criterio avviene attraverso l'uso di algoritmi di calcolo implementati nei protocolli di routing
Visto che l'approccio seguito è quello del routing dinamico distribuito, gli algoritmi di calcolo utilizzati saranno eseguiti su più calcolatori
Gli algoritmi più comunemente utilizzati appartengono a due importanti famiglie chiamate distance-vector e link-state
I protocolli di tipo EGP, invece, propagano informazioni di instradamento più secondo criteri che rispecchiano gli accordi tra ISP, che secondo criteri metrici (minimizzazione del percorso)
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 33-34/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocollo IGP di tipo distance-vector derivato da una vecchia idea sviluppata presso il PARC (Palo Alto Research Center) della Xerox Corp.
RIP V.1 é documentato in RFC 1058: Routing Information Protocol. C.L. Hedrick. Jun-01-1988 (Status: HISTORIC)
Ha avuto una grande diffusione soprattutto dovuta alla implementazione nel BSD UNIX (daemon routed)
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Il funzionamento del RIP è basato sull'algoritmo di Bellman-Ford (implementato in versione distribuita)
Ogni router conosce inizialmente solo le destinazioni (Net_Addr) cui é direttamente connesso
Periodicamente i router adiacenti si scambiano i vettori delle distanze relative a tutte le destinazioni (Net_Addr) conosciute
I vettori delle distanze sono un insieme di coppie (Net_Addr, Distanza)
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Destinazione Distanza
Net1 1
Net2 1
Net3 1
Routing table iniziale di R1
R1
Net1
Net2
Net3
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 35-36/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Un router K riceve la coppia (Net1, d) da J. Allora K aggiorna la propria tabella con la riga (Net1, d+1) Next_Hop=J se si verifica una di queste condizioni
K non conosce alcuna altra strada verso Net1
La entry (Net1, d+1) é strettamente migliore di quanto conosce già K
K raggiunge già Net1 via J ma la distanza é cambiata (in meglio o in peggio)
I router non possiedono alcuna informazione circa la topologia della intera rete
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
(Net1, d )
Destinazione Distanza Next Hop.... ... ...
Net1 d+1 J.... ... ...
Routing tabledel router K
Router J Router K
Net1
RIP v.1 viene implementato sia sugli host che sui router e può lavorare in 2 modalità
ACTIVE MODE
Il nodo può sia inviare che ricevere i vettori delle distanze
Modalità usata di norma sui router
PASSIVE MODE
Il nodo può solo ricevere i vettori delle distanze
Modalità usata di norma sugli host
I nodi funzionanti in ACTIVE MODE inviano ogni 30-60 sec. via broadcast IPv4 ai nodi adiacenti i vettori delle distanze relativi a tutte le destinazioni (Net_Addr) conosciute
I processi che implementano il RIP v.1 comunicano attraverso il well-known-port UDP 520
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 37-38/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Esempio di cooperative processing tra i processi (daemon) RIP v.1
Physical
DLC
Physical
DLC
IPv4
UDP
Physical
DLC
IPv4
UDP
Physical
DLC
Physical
DLC
IPv4
UDP
RIP daemon
RIP daemon
RIP daemon
Port = 520 Port = 520 Port = 520
Dest_IP_Addr = 255.255.255.255 Dest_IP_Addr = 255.255.255.255
Tutti i nodi (ACTIVE e PASSIVE) che ricevono un messaggio RIP aggiornano le proprie tabelle di instradamento secondo l'algoritmo di Bellman-Ford
RIP v.1 usa una metrica molto semplice: gli hop
Un router dista 1 hop dai link cui é adiacente
Esiste un numero massimo di hop: 15 (Hop=16 significa "infinito" o "non raggiungibile")
Ad ogni entry in tabella é associato un timer di 180 sec, scaduto il quale la riga viene cancellata (a meno che nel frattempo non venga riconfermata)
La propagazione delle informazioni é lenta e vi possono essere periodi abbastanza lunghi nei quali alcuni instradamenti non sono consistenti
RIP v.1 può essere utilizzato solo su reti semplici
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol) v.1) v.1
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 39-40/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Alcuni problemi
Non é possibile effettuare una diagnosi esplicita circa la presenza di loop di instradamento
Al fine di prevenire fenomeni di instabilità RIP v.1 stabilisce HopMAX =15
Non é possibile utilizzare RIP su grosse reti
Esiste un problema di convergenza lenta della rete a fronte di certe condizioni, che viene mitigata (ma non risolta) dalla scelta hopMAX =15
Problema della slow convergence (o counting to infinity)
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Il problema del counting to infinity
Il router C raggiunge Net1 in 3 hop via router BIl router A si guasta => Net1 non é più raggiungibileB e C continuano a scambiare i vettori delle distanze credendo che Net1 sia raggiungibileDopo 3 min. (time-out) B cancella dalla propria tabella Net1 via router AC continua a propagare i propri vettori delle distanze a B tra cui (Net1, 3)B inserisce in tabella Net1 via C con 4 hop, inviando (Net1, 4) a CC aggiorna l'instradamento verso Net1 via B con 5 hopIl loop di instradamento permane fino al raggiungimento di Hop=16 (Net1 diventa irraggiungibile)
Net1 Net2 Net3
Router A Router B Router C
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 41-42/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Il problema del counting to infinity é causato da un fatto (intrinseco al RIP)
Le buone notizie si propagano più velocemente delle cattive
Il problema della counting to infinity viene mitigato attraverso l'introduzione di alcune tecniche
Split horizon update
Un router non può propagare un informazione di instradamento attraverso la stessa interfaccia dalla quale é stata ricevuta tale informazione
Poison reverse + Triggered update (provoca nei router la cancellazione quasi immediata di una entry non più valida)
Quando un router si accorge che non riesce più a raggiungere una certa rete per un po' di tempo non cancella la entry, ma la imposta a Hop=16=infinito (poison reverse)
Quando vi é una qualunque 'cattiva notizia', il router la invia immediatamente agli altri router senza attendere il prossimo periodo di broadcast (triggered update)
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Il formato del messaggio RIP Version 1
0 8 16 31
Command (1-6) Version (1) 000 .... 000
IP Address of Net-1
000 .... 000
. . . . . . . . .
Family of Net-1 (2)
000 .... 000
000 .... 000
Distance to Net-1
IP Address of Net-2
000 .... 000Family of Net-2
000 .... 000
000 .... 000
Distance to Net-2
Fino a 25regole
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 43-44/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Command 8
Specifica l'operazione:Command=1 (Request of information)Command=2 (Reply with (V,D) information)Vi sono altri valori attualmente obsoleti o non più utilizzati
Version 8 Versione di RIP (1 in questo caso)
Family of Net-x 16 Identifica la famiglia cui appartiene il protocollo del quale si trasporta l'informazione di instradamento; per IP questo valore é 2
IP Addr of Net-x 32 E' l'informazione 'V' della coppia (V,D)Per convenzione IP_Addr = 0.0.0.0 significa "default route"
Distance to Net-x 32 E' l'informazione 'D' della coppia (V,D), cioé la distanza dalla rete Net-x secondo le metriche del RIP
Campo Lung. (in bit) Descrizione
Il significato dei campi del messaggio RIP v.1
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Esempio di funzionamento di RIP v.1 (con split-horizon) su una semplicissima rete
Physical
DLC
Physical
DLC
IPv4
UDP
Physical
DLC
Physical
DLC
IPv4
UDP
RIP daemon
RIP daemonPort = 520 Port = 520
Net=196.1.1.0 Hop=1
Net = 195.1.1.0
Net = 196.1.1.0
Net = 197.1.1.0
Net=197.1.1.0 Hop=2
Net=195.1.1.0 Hop=1 Net=197.1.1.0 Hop=1 Net=196.1.1.0 Hop=1
Net=195.1.1.0 Hop=2
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 45-46/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Nel 1993 vengono proposte delle estensioni a RIP v.1 al fine di utilizzare i campi bloccati a zero della versione 1
RIP v.2 é documentato in RFC 2453: RIP Version 2. G. Malkin. November 1998. (Status: STANDARD)
RIP v.1 e RIP v.2 possono interoperare a patto che RIP v.1 ignori i valori impostati nei campi che erano bloccati a zero
Principali novità introdotte da RIP v.2
Introduzione del ROUTE TAG nel quale inserire il numero di AS (per cooperare con i protocolli ti tipo EGP)
Possibilità di associare una subnet-mask ad ogni entry (supporto di subnetting e CIDR)
Utilizzo delle trasmissioni IPv4 multicast, in aggiunta alle trasmissioni IPv4 broadcast
Protocolli di routing IGPProtocolli di routing IGPRIP (RIP (Routing Information ProtocolRouting Information Protocol))
Il formato del messaggio RIP Version 2
0 8 16 31
Command (1-6) Version (2) Routing Domain
IP Address - 1
Route TagAddress Family (2)
Subnet Mask - 1
Next Hop IP Address - 1
Distance - 1
IP Address - 2
Route TagAddress Family (2)
Subnet Mask - 2
Next Hop IP Address - 2
Distance - 2
Fino a 25regole
. . . . . . . . .
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 47-48/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocollo IGP di tipo link-state proposto dall'IETF (Internet Engineering Task Force) nel 1989
La prima versione di OSPF é stata formalizzata nel documento RFC 1131: OSPF specification. J. Moy. Oct-01-1989 (Status: PROPOSED STANDARD, ora obsoleto)
Versioni successive: OSPFv2 e OSPFv3 (quest'ultima risultante dalle modifiche introdotte per il supporto di IPv6)
Il principio di funzionamento
Ogni router verifica periodicamente la raggiungibilità dei propri nodi adiacenti
L'informazione di raggiungibilità tra adiacenti, detto LSP (Link State Packet) viene inviata da ogni nodo a tutti gli altri nodi della rete, permettendo così la costruzione, in ogni nodo, della mappa completa (grafo) della rete
Ogni nodo, utilizzando l'algoritmo di Dijkstra sul grafo di rete, ricerca i percorsi minimi verso le varie destinazioni
Protocolli di routing IGPProtocolli di routing IGPOSPF (OSPF (Open Shortest Path FirstOpen Shortest Path First))
Il principio di funzionamento é duale rispetto agli algoritmi distance-vector
Tutti i router della rete (di un AS) si scambiano solo le informazioni sulla raggiungibilità dei loro neighbor gateway (= router adiacenti cui sono direttamente connessi)
Ogni router si costruisce lo stesso database nel quale é codificato il grafo della rete e lo stato (con eventuali costi) di tutti i link che collegano i router adiacenti
Ogni router calcola, mediante l'algoritmo Shortest Path First di Dijkstra i percorsi a costo minimo
Protocolli di routing IGPProtocolli di routing IGPOSPF (OSPF (Open Shortest Path FirstOpen Shortest Path First))
Grafo della rete presente sul router CRouter C
Router A
Router B
Router D
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 49-50/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Alcune caratteristiche di OSPF
Utilizzo di metriche più sofisticate rispetto ai semplici hop del RIP
Load balancing su cammini di ugual costo
Possibilità di partizionare la intera rete in aree, la cui topologia interna risulta invisibile all'esterno
Possibilità di associazione di una subnet-mask ad una entry (quindi supporto di subnetting e supernetting)
Uso del multicast IPv4 al posto del broadcast
Veloce convergenza e bassisima probabilità di temporanei loop negli instradamenti
Protocolli di routing IGPProtocolli di routing IGPOSPF (OSPF (Open Shortest Path FirstOpen Shortest Path First))
Protocolli di routing IGPProtocolli di routing IGPIS-IS (IS-IS (Intermediate System-to-Intermediate SystemIntermediate System-to-Intermediate System))
IS-IS è un protocollo di tipo link-state, inizialmente scelto da ISO per l'architettura OSI nel 1988 (il nome ufficiale completo di IS-IS riportato nella specifica ISO 10589 era un po' prolisso: "Intermediate-system to Intermediate-system Intra-Domain routing information exchange protocol for use in Conjuction with the Protocol for providing the Connectionless-mode Network Service")
IS-IS non è un'invenzione in ambito ISO/OSI, bensì non è altro che l'algoritmo di routing inventato nel 1985 da R. Perlman ed implementato in DECNet Phase V
Nel 1990 IS-IS è stato adottato come ulteriore protocollo di routing di tipo IGP per l'architettura TCP/IP (RFC1195 Use of OSI IS-IS for routing in TCP/IP and dual environments. R.W. Callon. Dec-01-1990. (Updated by RFC1349) (Status: PROPOSED STANDARD))
IS-IS condivide gli stessi principi di funzionamento di OSPF
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 51-52/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing IGP 'proprietari'Protocolli di routing IGP 'proprietari'IGRP (IGRP (Interior Gateway Routing ProtocolInterior Gateway Routing Protocol))
Protocollo di tipo distance-vector proprietario CISCO
Metriche più sofisticate del RIP
Ritardo
Banda
Carico
...
Permette il multipath routing
Ha subito una (sostanziale) evoluzione con EIGRP (Enhanced Interior Gateway Routing Protocol)
Protocolli di routing EGPProtocolli di routing EGPEGP (EGP (Exterior Gateway ProtocolExterior Gateway Protocol))
Definito nel 1984 dall'RFC904, ha lo stesso nome della famiglia di protocolli cui appartiene
RFC 904 Exterior Gateway Protocol formal specification. D.L. Mills. Apr-01-1984. (Updates RFC0827, RFC0888) (Status: HISTORIC)
Propaga solo la "network reachability"
Non ha metriche associate
Non ammette magliature nella topologia
.... non é più utilizzato da parecchio tempo
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 53-54/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing EGPProtocolli di routing EGPBGP (BGP (Border Gateway ProtocolBorder Gateway Protocol))
Protocollo EGP utilizzato per la comunicazione tra router appartenenti a diversi AS su Internet
Su BGP vi sono moltissimi RFC ...
RFC1105: Border Gateway Protocol (BGP). K. Lougheed, Y. Rekhter. Jun-01-1989. (Obsoleted by RFC1163)
....
RFC4271: A Border Gateway Protocol 4 (BGP-4). Y. Rekhter, T. Li, S. Hares. January 2006. (Obsoletes RFC1771)
...
Protocolli di routing EGPProtocolli di routing EGPBGP (BGP (Border Gateway ProtocolBorder Gateway Protocol))
BGP é un protocollo di tipo path-vector
Un router scambia informazioni di routing con ogni altro router (appartenente ad un altro AS) che gli é stato configurato come peer (o neighbor)
Diversamente dai protocolli distance-vector le informazioni di instradamento (verso una certa rete destinazione) comprendono la sequenza (path) degli AS da attraversare per raggiungere tale destinazione
L'informazione di instradamento scambiata dai router BGP é incrementale, per cui si scambiano solo le differenze: i messaggi pertanto possono essere di 2 tipi
Announcements (nuova regola)
Withdrawals (cancellazione di una regola non più valida)
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 55-56/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet
Protocolli di routing EGPProtocolli di routing EGPBGP (BGP (Border Gateway ProtocolBorder Gateway Protocol))
L'intera topologia della rete complessiva viene vista dai sistemi BGP come una interconnessione di vari AS
BGP permette il policy-based-routing
Scelta di uno specifico percorso tra molti possibili (i criteri possono essere economici, legati alla sicurezza, ... )
Controllo della redistribuzione delle informazioni di routing
BGP utilizza il trasporto TCP
Periodicamente (ogni 30 sec.) i peer BGP verificano la loro 'vita' scambiandosi il messaggio KEEPALIVE attraverso le connection TCP
Badare che per il TCP tale messaggio é di tipo application-level e non ha nulla a che fare con la keepalive timer del TCP
AUTORE: Prof. Giuseppe F. Rossi Università degli Studi di Bergamo RETI INTERNET MULTIMEDIALI Dipartimento di Ingegneria
Capitolo IV 57-58/57 © Copyright Ing. Giuseppe F. Rossi, 1995-2017 Struttura e routing di Internet