Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Betti
Reti di calcolatori
Lezione 14
Lez. 14 — 1 M. Cesati / E. Betti
Il modello di riferimento
5 Application
4 Transport
3 Network
2 Data Link
1 Fisico
Lez. 14 — 2 M. Cesati / E. Betti
Il livello Network non si occupa più del singolo canale di comunicazione, ma di una
intera subnet di comunicazione
Esistono due scuole di pensiero sul tipo di servizi che il livello Network dovrebbe
offrire al livello Transport:
La scuola “connectionless”
Dato che non esiste connessione, ciascun pacchetto deve contenere l’indirizzo del-
l’host destinazione, e viaggia indipendentemente dagli altri
Lez. 14 — 5 M. Cesati / E. Betti
La scuola “connection-oriented”
Le ragioni della scuola di pensiero che caldeggia un servizio connection-oriented:
Ogni connessione deve essere preparata dai due host coinvolti, assegnando un
identificatore e stabilendo i parametri
• basata su circuiti virtuali (preferita quando il servizio del livello Network offerto al
livello Transport è di tipo connection-oriented)
Circuiti virtuali
Ogni router mantiene una propria tabella: per ciascun circuito virtuale sono memo-
rizzati i router adiacenti nelle due direzioni
Gli identificatori di circuito virtuale sono locali ai router: i router possono sostitui-
re il valore dell’identificatore nel pacchetto ritrasmesso per evitare sovrapposizioni
(commutazione di etichetta)
Tutti i pacchetti dello stesso circuito virtuale seguono lo stesso percorso fisico
(attraversano gli stessi router della communication subnet)
Lez. 14 — 8 M. Cesati / E. Betti
Datagram
ritardo di setup
ritardo di routing
controllo congestione
vulnerabilità ai guasti
Lez. 14 — 10 M. Cesati / E. Betti
Il routing
L’algoritmo di routing
• robusto (deve funzionare anche in caso di guasti o cambio della topologia della
subnet)
Equità e ottimalità
Criteri di ottimizzazione
• Negli algoritmi di routing statici la scelta dei percorsi viene effettuata una volta
per tutte, e non dipende dall’andamento del traffico reale (può però dipendere da
una stima del traffico atteso).
• Negli algoritmi di routing adattivi la scelta del percorso è basata su una strategia
che può cambiare in funzione
• quando si “adattano” cambiando percorsi e/o strategia (ogni tot secondi, quando
cambia il carico, quando cambia la topologia, . . . )
Principio di ottimalità
Corollario L’insieme dei percorsi ottimali tra tutti i router ed una fissata destinazione
costituisce un albero (sink tree)
Lez. 14 — 17 M. Cesati / E. Betti
Algoritmi di routing
• flooding (statico)
Cammino minimo
Flooding (1)
Quando un router riceve un pacchetto, lo instrada su tutte le linee eccetto quella dal
quale il pacchetto è arrivato
Flooding (2)
L’algoritmo flooding è
Ripete questo procedimento per vari algoritmi di routing, ed alla fine sceglie quello
che minimizza il ritardo medio della subnet
Lez. 14 — 24 M. Cesati / E. Betti
Ogni router mantiene una tabella di routing con un record per ciascun altro router
nella subnet
Ciascun record contiene una stima della “distanza” dal router e la linea da utilizzare
per il percorso migliore conosciuto (la stima non è necessariamente accurata)
Ciascun router non conosce la topologia della subnet, conosce solo quali sono i
propri vicini, la distanza tra se ed i vicini, ed una stima della distanza tra ciascun
vicino e gli altri router nella subnet.
Lez. 14 — 25 M. Cesati / E. Betti
per ciascun router, sceglie il vicino che minimizza la somma della propria distanza
dal vicino e della distanza comunicata dal vicino verso il router
Lez. 14 — 26 M. Cesati / E. Betti
Count-to-Infinity (1)
L’algoritmo distance vector routing è molto rapido ad adattarsi alle buone notizie (una
linea di comunicazione migliora)
È invece pessimo nell’adattarsi alle cattive notizie, in quanto i router non conoscono
realmente la topologia della subnet, ma solo la distanza tra se e i propri vicini
Molti rimedi sono stati proposti, ma ciascuno dei rimedi non funziona in qualche
configurazione particolare oppure introduce altri problemi
Lez. 14 — 27 M. Cesati / E. Betti
Count-to-Infinity (2)
A B C D E
~
X ~ ~ ~ ~
1 2 3 4 inizialmente
L’idea di base consiste nell’utilizzare le misurazioni della qualità dei collegamenti con
i vicini per ricostruire la topologia dell’intera subnet
Lo scambio di informazioni sulle rispettive metriche dei router non è più limitato ai
vicini, ma è generale
Poiché non sarebbe saggio basarsi sulle tabelle di routing precedenti, si adotta il
flooding, inserendo in ciascun pacchetto:
Routing gerarchico
Quando una internetwork cresce oltre un certo numero di nodi, qualunque strategia
di routing globale diventa inefficace