2. Di cosa parlemo?
Caratteristiche del routing
Differenze tra IGP e EGP
Algoritmi base di routing
Implementazioni
Prof. Marcello Missiroli
3. Caratteristiche del routing
Ottimizzazione
Deve a scegliere la strada migliore. La strada dipende
dalla metrica (unità di misura per calcolare la
lunghezza del percorso).
Semplicità
Minimizzare 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à *
Prof. Marcello Missiroli
4. 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)
Prof. Marcello Missiroli
5. Il routing statico
Richiede intervento umano
Accettabile solo in reti elementari
No fault tolerance
Prof. Marcello Missiroli
6. Il routing dinamico
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)
Prof. Marcello Missiroli
7. PProtocolli di routing
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.
Prof. Marcello Missiroli
8. PProtocolli di routing
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)
Prof. Marcello Missiroli
9. PIGP
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
Prof. Marcello Missiroli
10. PIGP – Distance Vector
Per I protocolli IGP si usano di solito due tipi di
algoritmi: Distance vector e Link State
Distance vector
Metafora: 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”
Prof. Marcello Missiroli
11. IGP – Distance Vector
TABELLA DI A
DEST NEXT C
C
C B 2
D B 2
A B
“Manda a me I pacchetti per
raggiungere C e D” D
Prof. Marcello Missiroli
12. PIGP – Link State
Link State
Metafora: 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
Prof. Marcello Missiroli
13. IGP – Link State
DATABASE
A B
Esempio
B
B
A
C
B D
C B C
D B “Io sono connesso a B
D B
A B
“Io sono connesso a C e D”
D
“Io sono connesso a B
Prof. Marcello Missiroli
14. Esempi
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.
Prof. Marcello Missiroli
15. Cold Start – Distance Vector
v A B
1
3 2
4
D C
Prof. Marcello Missiroli
16. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
v A B
1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C
Prof. Marcello Missiroli
17. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
v A B
1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C
Prof. Marcello Missiroli
18. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
v A B A 1 1
1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C
A 3 1
Prof. Marcello Missiroli
19. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
v A B A 1 1
1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C
A 3 1
Prof. Marcello Missiroli
20. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
Prof. Marcello Missiroli
21. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
Prof. Marcello Missiroli
22. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
B 2 1
A 2 2
Prof. Marcello Missiroli
23. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
B 2 1
A 2 2
Prof. Marcello Missiroli
24. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
C 4 1 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
25. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
C 4 1 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
26. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
C 4 1 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
27. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
C 4 1 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
28. Gestire i problemi
Ora la rete ha assunto una configurazione stabile
Vediamo che accade se un nodo diventa
indisponibile
Prof. Marcello Missiroli
29. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 1
A 3 1
C 4 1 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
30. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
31. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
32. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 ∞ D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
33. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 ∞ D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
34. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 ∞ D 2 ∞
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
35. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 ∞ D 2 ∞
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
36. DEST LINK C DEST LINK C
A* Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 ∞
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
37. DEST LINK C DEST LINK C
A* Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 ∞
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 ∞ B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
38. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 3 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
39. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 ∞
A 3 1
C 4 3 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
40. DEST LINK C DEST LINK C
A Loc 0 B Loc 0
D v
3 1
A B A 1 1
B 1 1 1 C 2 1
C 3 2 D 2 2
3 2
DEST LINK C DEST LINK C
D Loc 0 4 C Loc 0
D C D 4 3
A 3 1
C 4 3 B 2 1
B 4 2 A 2 2
Prof. Marcello Missiroli
41. Link State
Esempi
In questo caso mostreremo solo il database
presente in un nodo (gli altri sono una replica di
quello)
Prof. Marcello Missiroli
42. A B
1
Da A Link Costo
3 2
4
D C
Prof. Marcello Missiroli
43. A B
1
Da A Link Costo
A B 1 1
A D 3 1
3 2
4
D C
Prof. Marcello Missiroli
44. A B
1
Da A Link Costo
A B 1 1
A D 3 1
3 2
4
D C
Prof. Marcello Missiroli
45. A B
1
Da A Link Costo
A B 1 1
A D 3 1
B A 1 1 3 2
B C 2 1
4
D C
Prof. Marcello Missiroli
46. A B
1
Da A Link Costo
A B 1 1
A D 3 1
B A 1 1 3 2
B C 2 1
4
D C
Prof. Marcello Missiroli
47. A B
1
Da A Link Costo
A B 1 1
A D 3 1
B A 1 1 3 2
B C 2 1
C B 2 1
C D 4 1
4
D C
Prof. Marcello Missiroli
48. A B
1
Da A Link Costo
A B 1 1
A D 3 1
B A 1 1 3 2
B C 2 1
C B 2 1
C D 4 1
4
D C
Prof. Marcello Missiroli
49. A B
1
Da A Link Costo
A B 1 1
A D 3 1
B A 1 1 3 2
B C 2 1
C B 2 1
C D 4 1
4
D A 3 1 D C
D C 4 1
Prof. Marcello Missiroli
50. Gestire i problemi
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 messaggio
se 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
Prof. Marcello Missiroli
51. A B
1
Da A Link Costo Count
A B 1 1 1
A D 3 1 1
B A 1 1 1 3 2
B C 2 1 1
C B 2 1 1
C D 4 1 1
4
D A 3 1 1 D C
D C 4 1 1
Prof. Marcello Missiroli
52. A B
1
Da A Link Costo Count
A B 1 1 1
A D 3 1 1
count=2
B A 1 1 1 3 2
B C 2 1 1
C B 2 1 1
C D 4 1 1
4
D A 3 1 1 D C
D C 4 1 1
Prof. Marcello Missiroli
53. A B
1
Da A Link Costo Count
A B 1 1 1
A D 3 1 1
B A 1 1 1 3 2
B C 2 1 1
C B 2 1 1
C D 4 1 1
4
D A 3 1 1 D C
D C 4 ∞ 2
Prof. Marcello Missiroli
54. A B
1
Da A Link Costo Count
A B 1 1 1
A D 3 1 1 count=1
B A 1 1 1 3 2
B C 2 1 1
C B 2 1 1
C D 4 1 1
4
D A 3 1 1 D C
D C 4 ∞ 2
Prof. Marcello Missiroli
55. A B
1
Da A Link Costo Count
A B 1 1 1
A D 3 1 1 Obsoleto,
Invia
B A 1 1 1 3 aggiornamento 2
B C 2 1 1
C B 2 1 1
C D 4 1 1
4
D A 3 1 1 D C
D C 4 ∞ 2
Prof. Marcello Missiroli
56. A B
1
Da A Link Costo Count
A B 1 1 1
A D 3 1 1 count=2
B A 1 1 1 3 2
B C 2 1 1
C B 2 1 1
C D 4 1 1
4
D A 3 1 1 D C
D C 4 ∞ 2
Prof. Marcello Missiroli
57. Protocolli reali: RIP
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
Prof. Marcello Missiroli
58. Protocolli reali: OSPF
Acronimo di Open Shortest Path First
Basato su Link State
database distribuito
procedura di flooding
definizione di adjacency
records speciali per routes esterne.
Prof. Marcello Missiroli
59. Protocolli reali: OSPF(2)
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
Prof. Marcello Missiroli
60. Protocolli Esterni
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)
Prof. Marcello Missiroli
61. Protocolli Reali: EGP
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
Prof. Marcello Missiroli
62. Protocolli Reali: BGP
Successore di EGP
Connessione affidabile
i 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.
Prof. Marcello Missiroli
63. Protocolli Reali: BGP (2)
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 Process
Ogni router ha un algoritmo per fare una classifica dei
percorsi alternativi.
Prof. Marcello Missiroli
65. Licenza
Prof. Marcello Missiroli
(prof.missiroli@gmail.com)
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