Routing dinamico
-
Upload
marcello-missiroli -
Category
Technology
-
view
1.707 -
download
3
Transcript of Routing dinamico
Slide 1
Routing Dinamico
Di cosa parlemo?
Caratteristiche del routing
Differenze tra IGP e EGP
Algoritmi base di routing
Implementazioni
Caratteristiche del routing
OttimizzazioneDeve a scegliere la strada migliore. La strada dipende dalla metrica (unit di misura per calcolare la lunghezza del percorso).
SemplicitMinimizzare uso delle risorse hw e sw.
Robustezza a fronte di guasti hardware, alto traffico, l'algoritmo deve continuare a lavorare.
Rapidita' di convergenza
Flessibilit
Imparziailt *
Classificazioni del routing
Statico o Dinamico
Percorso singolo o multiplo
Gerarchici (divisione in zone, dominii o AS9
Tipo di algoritmo
Tipo di Metrica (Hops o Cost)
Il routing statico
Richiede intervento umano
Accettabile solo in reti elementari
No fault tolerance
Il routing dinamico usa protocolli che gli permette di scambiare dati aggiornati sullo stato della rete
Sulla base di questi dati, calcola la strada migliore per raggiungere la destinazione
Permette ai routers di adattarsi rapidamente alle modifiche della topologia della rete
Molto scalabile (al contrario del routing statico)
Il routing dinamico
P
I protocolli di routing dinamico usano vari meccanismi per distribuire le informazioni sullo stato della rete.
Fatto questo, possibile calcolare I percorsi tra due punti qualunque della rete.
Gli algoritmi fanno riferimento ad una branca della matematica nota come Teoria dei Grafi.
Non semplice.
Proprio no.
Protocolli di routing
P
Le varie reti e nodi che fanno parte di una organizzazione sono raggruppate in entit chiamate Sistemi Autonomi
Definizione formale: un sistema autonomo (Autonomous System, AS), in riferimento ai protocolli di routing, un gruppo di router e reti sotto il controllo di una singola e ben definita autorit amministrativa
I protocolli usati all'interno di un dato AS vengono definiti IGP (Interior Gateway Protocols)
I protocolli che collegano diversi AS (si dicono invece EGP (Exterior Gateway Protocols)
Protocolli di routing
P
Gli IGP distribuiscono solo dati relativi all'organizzazione, nulla dell'ambiente esterno
Devono adattarsi rapidamente agli errori e alle modifiche della rete
Tipicamente calcolano il percorso pi breve tra due punti (di solito utilizzando la somma dei costi di ogni percorso)
Esempi: RIP, IS-IS, OSPF
IGP
P
Per I protocolli IGP si usano di solito due tipi di algoritmi: Distance vector e Link State
Distance vectorMetafora: Chiamate un amico e gli chiedete di passare il messaggio a un altro amico.
Chiamato anche Routing per pettegolezzo!
Basato sull'algoritmo di Bellman-Ford
Poco overhead
Soggetto a incertezze e variabilit
Non vedono l'intera rete, ma si basano sulle informazioni ricevute dai vicini.
Soggetto a routing loops e count to infinity
IGP Distance Vector
Manda a me I pacchetti per raggiungere C e D
A
B
C
D
TABELLA DI A
DESTNEXTC
CB2
DB2
IGP Distance Vector
P
Link StateMetafora: Chiamate tutti gli amici che conoscete e date a tutti lo stesso messaggio.
Rimuove l'incertezza, al prezzo di elevato Overhead
Ogni router ha una visione completa della rete
Converge rapidamente a uno stato stabile
IGP Link State
Esempio
Io sono connesso a C e D
A
B
C
D
DATABASE
AB
BA
BC
BD
CB
DB
DB
IGP Link State
Io sono connesso a B
Io sono connesso a B
Esempi
Vediamo ora due simulazioni di Routing
Una piccola rete di soli 4 router. Si suppone che il costo da un router all'altro sia 1 (molto spesso non cos, e non neppure un costo simmetrico)
Simuliamo di accendere I router, per cui all'inizio non hanno alcuna idea di come sia strutturata la rete.
Esempi
v
A
B
D
C
1
4
3
2
Cold Start Distance Vector
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
DESTLINKC
ALoc0
DESTLINKC
BLoc0
DESTLINKC
CLoc0
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
DESTLINKC
ALoc0
DESTLINKC
BLoc0
DESTLINKC
CLoc0
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
DESTLINKC
ALoc0
DESTLINKC
BLoc0
A11
DESTLINKC
CLoc0
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
DESTLINKC
ALoc0
DESTLINKC
BLoc0
A11
DESTLINKC
CLoc0
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
DESTLINKC
ALoc0
D31
DESTLINKC
BLoc0
A11
DESTLINKC
CLoc0
D41
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
DESTLINKC
ALoc0
D31
DESTLINKC
BLoc0
A11
DESTLINKC
CLoc0
D41
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
DESTLINKC
ALoc0
D31
B11
DESTLINKC
BLoc0
A11
DESTLINKC
CLoc0
D41
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
DESTLINKC
ALoc0
D31
B11
DESTLINKC
BLoc0
A11
DESTLINKC
CLoc0
D41
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C41
B42
DESTLINKC
ALoc0
D31
B11
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D41
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C41
B42
DESTLINKC
ALoc0
D31
B11
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D41
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C41
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D41
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C41
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D41
B21
A22
Ora la rete ha assunto una configurazione stabile
Vediamo che accade se un nodo diventa indisponibile
Gestire i problemi
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C41
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D41
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
ALoc0
D31
B11
C3
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
ALoc0
D31
B11
C3
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
ALoc0
D31
B11
C3
DESTLINKC
BLoc0
A11
C21
D2
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
ALoc0
D31
B11
C3
DESTLINKC
BLoc0
A11
C21
D2
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
A*Loc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D2
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C4
B42
DESTLINKC
A*Loc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D2
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C43
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C43
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D4
B21
A22
v
A
B
D
C
1
4
3
2
DESTLINKC
DLoc0
A31
C43
B42
DESTLINKC
ALoc0
D31
B11
C32
DESTLINKC
BLoc0
A11
C21
D22
DESTLINKC
CLoc0
D43
B21
A22
Esempi
In questo caso mostreremo solo il database presente in un nodo (gli altri sono una replica di quello)
Link State
A
B
D
C
1
4
3
2
DaALinkCosto
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
BA11
BC21
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
BA11
BC21
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
BA11
BC21
CB21
CD41
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
BA11
BC21
CB21
CD41
A
B
D
C
1
4
3
2
DaALinkCosto
AB11
AD31
BA11
BC21
CB21
CD41
DA31
DC41
Per gestire I problemi come la caduta di una connessione necessario un campo in pi, solitamente un timestamp o un contatore progressivo.
Quando il router riceve un messaggiose il timestamp del database e' minore del timestamp del messaggio, rimpiazza il record con il nuovo valore e diffonde il messaggio.
se il timestamp del database e' maggiore trasmette il valore del database in un nuovo messaggio, attraverso l'interfaccia di arrivo.
se sono uguali, non fa nulla
Gestire i problemi
A
B
D
C
1
4
3
2
DaALinkCostoCount
AB111
AD311
BA111
BC211
CB211
CD411
DA311
DC411
A
B
D
C
1
4
3
2
DaALinkCostoCount
AB111
AD311
BA111
BC211
CB211
CD411
DA311
DC411
count=2
A
B
D
C
1
4
3
2
DaALinkCostoCount
AB111
AD311
BA111
BC211
CB211
CD411
DA311
DC42
A
B
D
C
1
4
3
2
DaALinkCostoCount
AB111
AD311
BA111
BC211
CB211
CD411
DA311
DC42
count=1
A
B
D
C
1
4
3
2
DaALinkCostoCount
AB111
AD311
BA111
BC211
CB211
CD411
DA311
DC42
Obsoleto,Invia aggiornamento
A
B
D
C
1
4
3
2
DaALinkCostoCount
AB111
AD311
BA111
BC211
CB211
CD411
DA311
DC42
count=2
E' il protocollo pi semplice e diffuso
Usa l'algoritmo Distance Vector
Esite in due versioni: RIP-1 (classful) e RIP-2 (classless)
La metrica numero dei salti (15 salti il massimo, 16 considerato infinito)
I pacchetti RIP sono impacchettati dentro normali pacchetti IP e UDP (porta 520)
Aggiornato via broadcast ogni 30 secondi. 3 minuti di inattivit la distanza fissata all'infinito
Protocolli reali: RIP
Acronimo di Open Shortest Path First
Basato su Link Statedatabase distribuito
procedura di flooding
definizione di adjacency
records speciali per routes esterne.
Protocolli reali: OSPF
Utilizza il concetto di gerarchia
Garantisce un basso utilizzo di CPU e memoria.
Utilizzato su Internet.
Raccomandato dalla IAB in sostituzione di RIP.
Progettato per : Separare hosts e routers
Utilizzo su reti broadcast (Ethernet, Token Ring o FDDI)
Utilizzo su reti non broadcast X.25 o ATM
Suddividere grandi reti in aree
Protocolli reali: OSPF(2)
In questo caso, la politica di routing permette di riunire le informazioni
Permette una maggiore scalabilit, perch le tabelle di routing risultano ridotte.
Permette inoltre di scegliere la strada migliore basandosi su molti aspetti (spesso non del tutto imparziali)
Protocolli Esterni
Il primo protocollo usato in questo aspetto fu Exterior Gateway Protocol (EGP) v3, ideato nell'1982
Permetteva il controllo polucy-based, ma Soggetto a routing loop
Non supportava CIDR
ORA E' CONSIDERATO OBSOLETO
Protocolli Reali: EGP
Successore di EGP
Connessione affidabilei router adiacenti comunicano attraverso una connessione di livello trasporto (TCP), che ne garantisce l'affidabilita'.
Protocollo Path Vector Variante del Distance vector: per ogni destinazione IP fornita la sequenza di (AS) da attraversare; inoltre, elimona il proil problema del conteggio a infinito.
Protocolli Reali: BGP
Destinazioni IP sono espresse tramite prefissi di indirizzo (CIDR) I router possono aggregare le informazioni di routing ricevute prima di propagarle
diminuzione del traffico di routing
diminuzione delle dimensioni delle basi dati nei router.
Decision ProcessOgni router ha un algoritmo per fare una classifica dei percorsi alternativi.
Protocolli Reali: BGP (2)
Riferimenti
http://netgroup-serv.polito.it/nettuno/ di Stefano Barberis ([email protected])
http://www.slideshare.net/sfouant/ip-routing-tutorial-2495478 (IP Routing Tutorial, di Stefan Fouant)
Reti di Calcolatori (A. Tanenbaum)
Licenza
Prof. Marcello Missiroli ([email protected])
You are free: to Share to copy, distribute and transmit the work
to Remix to adapt the work
to make commercial use of the work
Under the following conditions: Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
Share Alike If you alter, transform, or build upon this work, you may distribute the resulting work only under the same or similar license to this one.
Prof. Marcello Missiroli