reti internet multimediali · 2018. 2. 7. · problemi di ottimizzazione trattati con la teoria dei...

29
Struttura e routing di Internet Struttura e routing di Internet RETI INTERNET RETI INTERNET MULTIMEDIALI MULTIMEDIALI Lucidi delle Lezioni - Capitolo IV Lucidi delle Lezioni - Capitolo IV UNIVERSITA' DEGLI STUDI DI BERGAMO Dipartimento di Ingegneria A.A. 2016/17 - II° Semestre Prof. Giuseppe F. Rossi E-mail: [email protected] Struttura del capitolo Struttura 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

Upload: others

Post on 17-Nov-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

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