Instradamento
Dr. S. Greco Polito,
Servizi: datagramma(DG) e circuito
virtuale(CV)
q DG -> connectionless -> non si ha garanzia che
i pacchetti immessi in rete possano essere
trasferiti con successo
q CV -> connection-oriented ->le risorse vengono
riservate nella fase di instaurazione del circuito
Domanda:
Come viene viene scelto il ramo di uscita per ogni
pacchetto arrivato nel nodo (instradamento)?
Dr. S. Greco Polito,
Servizio datagramma(DG): tabella di
instradamento
q Ogni nodo contiene una tabella di intradamento
q La tabella contiene per ogni destinazione il collegamento
uscente da selezionare per raggiungere la destinazione
q Normalmente l’instradamento viene scelto in modo da
minimizzare le risorse di rete necessarie. Es: percorso piu’
breve.
q Il contenuto delle tabelle di instradamento puo’ essere
cambiato per migliorare le prestazioni
->algoritmi di instradamento dinamici
Dr. S. Greco Polito,
Esempio: tabella di instradamento
del nodo A
Dest
A
B
C
D
E
F
Dr. S. Greco Polito,
costo
1
4
5
4
2
Next-hop
B
B
B
B
B
Come valutare un percorso?
Le metriche di costo
La scelta del percorso sorgente destinazione dipende da una
valutazione del costo del percorso
Il costo puo’ essere valutato usando diverse metriche:
§ 
§ 
§ 
§ 
Numero di salti
Traffico smaltito lungo il percorso
Livello di riempimento dei buffer nei nodi attraversati
Ritardo totale di trasferimento sorgente-destinazione
q OSS: per la metrica basata sul numero dei salti il costo è
unitario per ogni ramo. Nelle altre il costo varia per
collegamento e direzione
Dr. S. Greco Polito,
Instradamento dinamico a distanza
minima
….è il tipo di instradamento usato nella rete Internet
Aspetti principali:
1.  Dinamicità: Aggiornamento periodico tabelle
2.  Scelta del percorso in funzione della distanza minima che tiene
conto delle variazioni di prestazione della rete dovuti a:
§  Traffico offerto
§  Guasti
Metriche usate:
§  Riempimento del buffer
§  Ritardo end-to-end
Dr. S. Greco Polito,
Esempio instradamento con tabella
dinamico
q A) tabella iniziale
del nodo B
q B) tabella
successiva
q Ha emette
pacchetti per Hb
Oss: I
pacchetti
possono
arrivare fuori
sequenza
Dr. S. Greco Polito,
Esempio: tabella di instradamento
del nodo A
Dest
A
B
C
D
E
F
costo
1
4
5
4
2
Next-hop
B
B
B
B
B
-l’uomo, noti i costi di ogni link, riesce facilmente a ricavare la tabella per
reti piccole
-Domande: (a) i nodi della rete come fanno a ricavare la tabella in modo
automatico?; (b) come scoprono i costi dei link?
….algoritmi di Distance Vector e Link State
Dr. S. Greco Polito,
Algoritmo Distance Vector
q Tabella di instradamento in ogni nodo
q La tabella contiene per ogni destinazione il link di uscita e il
costo stimato (fino alla destinazione)
q L’insieme dei costi stimati verso tutte le destinazioni
costituisce un Distance Vector(DV)
q Ogni nodo comunica periodicamente il DV a tutti i nodi
adiacenti
q Ogni nodo stima il costo del link verso i nodi adiacente e
somma a questa stima il costo letto nel vettore DV ricevuto
q Proprietà: Algortmo distribuito
Dr. S. Greco Polito,
--Ipotesi dell’esempio: tutti i nodi hanno tabelle vuote all’istante t=0;
aggiornameto con passo T
--Al tempo 4T (dopo 4 aggiornamenti) la tabella è completa. 4 è la profondità
del
cammino
piu’ lungo
Dr. S.
Greco Polito,
Algoritmo di Bellman-Ford
q L’agoritmo di Distance Vector è
un’implemtazione dell’algoritmo di BellmanFord per la costruzione dell’albero dei cammini
minimi
Dr. S. Greco Polito,
Algoritmo di Bellman-Ford
Algoritmo:
Si compone di diversi passi. Ci si ferma quando non si verificano piu’ riduzioni
di costo
Siano:
§  Djh= costo della via a costo minimo dalla sorgente s al nodo j con un
numero massimo di salti pari a h
§  dij= costo collegamento diretto fra i e j
§  dij=∞ se non esiste percorso fra i e j
q  Passi:
§  1.
h=0,
Djh= ∞ ∀ j≠ s
§  2.
h=h+1, Djh= mini {Dih-1+dij, Djh-1 }
§  3.
If Djh=Djh-1
∀ j≠ s
allora hmax=h-1
else go to 2.
stop
Dr. S. Greco Polito,
§  Djh= costo della via a costo minimo dalla sorgente
s al nodo j con un numero massimo di salti pari a
h
§  dij= costo collegamento diretto fra i e j
§  dij=∞ se non esiste percorso fra i e j
q  Passi:
§  1. h=0,
D jh= ∞
∀ j≠ s
§  2.h=h+1,
Djh= mini {Dih-1+dij, Djh-1 }
§  3.If Djh=Djh-1
∀ j≠ s
allora hmax=h-1
else go to 2.
stop
Dr. S. Greco Polito,
Dest
costo
A
-
B
1
C
Nexthop
Dest
costo
A
-
B
1
B
∞
C
4
B
D
∞
D
9
F
E
∞
E
5
F
F
3
F
2
B
Dest
costo
Nexthop
A
-
B
F
Nexthop
Nexthop
Dest
costo
A
-
B
1
B
B
1
B
C
4
B
C
4
B
D
6
F
D
5
B
E
4
B
E
4
B
F
2
B
F
2
B
L’applicazione dell’algoritmo
produce l’albero dei cammini
minimi con radice la sorgente
Dr. S. Greco Polito,
Dest
costo
A
-
B
1
C
Nexthop
Dest
costo
A
-
B
1
B
∞
C
4
B
D
∞
D
9
F
E
∞
E
5
F
F
3
F
2
B
Dest
costo
Nexthop
A
-
B
F
Nexthop
Nexthop
Dest
costo
A
-
B
1
B
B
1
B
C
4
B
C
4
B
D
6
F
D
5
B
E
4
B
E
4
B
F
2
B
F
2
B
Algoritmo distance vector
q Convegenza lenta
q Usato per la rete Arpanet con:
§  Aggiornamenti O(100 ms)
§  Metrica di costo basata su misure di riempimento del buffer
Dr. S. Greco Polito,
Algoritmo link state
q Ogni nodo misura la distanza dai propri vicini
q Ogni nodo comunica tale distanza a tutti gli altri nodi
q Ogni nodo sorgente riceve info sulle distanze da tutti
gli altri nodi e puo’ individuare i percorsi a minima
distanza
Dr. S. Greco Polito,
Algoritmo link state
q  Link State Packet (LSP): unità informativa per la notifica
delle distanze.
q  Instradamento LSP di tipo flooding con riconiscimento
pacchetti duplicati
q  Proprietà:
§  Puo’ essere implementato usando l’algoritmo di Dijkstra per la
ricerca degli alberi dei cammini minimi
Un nodo, ricevuti gli LSP da tutti gli altri nodi, puo’ ricavare la
topologia della rete
Dr. S. Greco Polito,
Esempio (i)
LSP recevuti
Scoperta del network
2
B
C
4
6
B
a
c
f
Router A
4
2
6
A
F
C
4
b 2
d 3
e 1
3
7
6
4
B
A
3
1
E
E
Dr. S. Greco Polito,
C
A
D
c
f
2
B
D
F
2
6
C
3
1
D
F
7
Esempio (ii)
LSP recevuti
Scoperta del network
E
a
c
f
Router A
Dr. S. Greco Polito,
5
1
8
4
A
5
B
E
2
6
8
C
1
D
F
F
b 6
d 7
e 8
3
Conferma
7
Algoritmo di Dijkstra
Siano:
§  Dj= costo della via a costo minimo dalla sorgente s al nodo j
§  dij= costo collegamento diretto fra i e j , dij=∞ se non esiste percorso fra i e j
§  N= insieme nodi della rete
§  M= insieme nodi dell’albero corrente
§  V(M)=insime dei nodi raggiungibili con un solo salto dai uno dei nodi ∈ M.
q  Passi:
§  1.
M={s}
Dj= dsj
∀ j ∈ V(s)
Dj= ∞ otherwise
§  2.
Select k ∈ V(M) | Dk= mini ∈ V(M) {Di}
M=M+ {k}
Dj= min{Dk+dkj,, Dj }
∀ j ∈ V(s)
§  3.
If M=N stop
else go to 2
Dr. S. Greco Polito,
Dj= costo della via a costo minimo dalla sorgente s al nodo j
dij= costo collegamento diretto fra i e j , dij=∞ se non esiste percorso fra i e j
N= insieme nodi della rete
M= insieme nodi dell’albero corrente
V(M)=insime dei nodi raggiungibili con un solo salto dai uno dei nodi ∈ M.
Passi:
1. M={s};
Dj= dsj
∀ j ∈ V(s); Dj= ∞
otherwise
2.
Select k ∈ V(M) | Dk= mini ∈ V(M) {Di}
M=M+ {k}
Dj= min{Dk+dkj,, Dj }
∀ j ∈ V(M)
3. If M=N stop
else go to 2
Dest
M= {A}
V(M)={B,F}
M= {A,B}
V(M)={F,E,C}
M= {A,B,F}
V(M)={E,D,C}
M= {A,B,E,F}
V(M)={C,D}
M= {A,B,C,E,F}
V(M)={D}
M= {A,
B,C,D,E,F}
Costo
Cost
Cost
Cost
Cost
Cost
Next
hop
A
-
-
B
1
1
C
∞
Next
hop
Next
hop
B
1
4
4
Next
hop
B
1
B
1
4
D
∞
∞
8
5
E
∞
6
4
4
B
4
F
3
2
2
2
B
2
Dr. S. Greco Polito,
B
B
1
4
B
B
5
B
B
4
B
B
2
B
5
Tabella instaradamento del nodo A
Next
hop
-
-
4
B
Next
hop
Algoritmo di Dijkstra
q Proprietà:
Possibile implementazione sia centralizzata che
distribuita
Utilizzato nella rete Internet con tempi di aggiornamento
pari a 10 sec.
Dr. S. Greco Polito,
Confronto: Algoritmo di Dijkstra e di
Bellman-Ford
q Convergono sempre alla stessa soluzione in assenza
di variazione dei costi
q In presenza di variazione dei costi è possibile
instabilità:
§  Variano i costi -> varia la distribuzione del carico in rete ->
variano i costi
Dr. S. Greco Polito,
Instradamento gerarchico
q Problema: reti grandi richiedono tabelle di
instradamento molto grandi ->
§  Richiesta memoria nei nodi
§  Alto carico di segnalazione per aggiornamento
tabelle
q Soluzione: organizzazione gerarchica delle reti:
§  Divisione della rete in aree
§  Ogni nodo conosce:
•  il percorso verso ogni altro nodo della propria
area
•  I nodi che fanno da tramite verso le altre reti
Dr. S. Greco Polito,
Totale voci= numero
nodi della rete +
(numero reti -1)
Dr. S. Greco Polito,Tabella Instradamento nodo A4: metrica del numero minimo dei salti