Reti, proprietà e Routing

Università degli Studi di Bologna
Scuola di Ingegneria
Corso di
Reti di Calcolatori T
Reti, proprietà e Routing
Antonio Corradi
Anno accademico 2014/2015
Reti
Le reti permettono ed attuano le interconnessione tra i diversi
sistemi di calcolo
Le reti sono il mezzo di interconnessione punto a punto o
via comunicazioni globali che coordinano molte entità
Un sistema globale è costituito da una o più reti e permette la
comunicazione tra tutti i partecipanti
Ragionare a livelli nasconde i dettagli in basso
Varie reti
La rete è misurata dal costo, velocità
ed affidabilità di invio dei messaggi,
nell’intero
nell
intero percorso da dove
provengono a dove devono
essere consegnati
Internet
Reti e Routing 2
P
Parametri
t i di performance
f
delle
d ll Reti
R ti
Le reti si possono misurare in molti modi e secondo molte
metriche
punto a punto
p
o via
Le reti come mezzo di interconnessione p
interconnessioni di molte entità (e.g., multicast e broadcast)
Parametri:
- tempo di latenza (tempo di ritardo sulla comunicazione)
- banda (quantità di dati trasmessi per unità di tempo)
- connettività
i i à (tipo
( i di iinterconnessione
i
e topologia)
l i )
- costo apparati
- reliability
reliabilit (affidabilità)
- funzionalità (ad esempio, attraverso operazioni sui messaggi
come combinazione e frammentazione dei messaggi e
ricomposizione)
Reti e Routing 3
Interconnessione Completa
Possiamo anche pensare di interconnettere tutti con tutti
Interconnessione completa, ossia tutti con tutti, se n elementi, n2
connessioni
con il costo conseguente di una serie di switch hardware
Processori
Processori
Memorie
1
1
1
switch
switch
switch
switch
switch
switch
switch
switch
switch
switch
switch
switch
2
2
2
switch
switch
switch
n
n
n
switch
switch
switch
n* n
connessioni
Processori
1
2
Reti e Routing 4
n
Interconnessione via bus (dinamica)
Per interconnettere tutti con tutti, possiamo usare un unico
mezzo di interconnessione, cioè un bus dinamico
Bus unico: se qualcuno lo occupa, gli altri devono aspettare
(il mezzo è unico
i e va usato
t b
bene iin accesso))
Processori
Memorie
1
2
Processori
1
1
1
2
2
2
m
n
Memorie
m
n
n*m
connessioni
Reti e Routing 5
Topologia di interconnessione
Le reti possono adottare molte topologie, o statiche (reti dirette)
o dinamiche (reti indirette)
Le reti dirette statiche prevedono architetture non variabili,
fissate definite,
fissate,
definite e regolari di interconnessione
Reti e Routing 6
Topologie speciali
Le reti possono essere descritte da molti modelli topologici
Un ipercubo è una topologia regolare che prevede un grado di
connettività crescente
Molto usata in architetture
parallele per garantire una
raggiungibilità elevata in
un numero limitato di
passi intermedi
ipercubo di dimensione 4 (con due nodi per dimensione)
ring (con due nodi solamente), mesh (4 nodi totali)
In genere, se un ipercubo ha due nodi per ogni dimensione
Il numero di nodi totali è 2n
Reti e Routing 7
Switching e interconnessioni dinamiche
A volte, la interconnettere di diverse entità deve ottimizzare l’uso
delle risorse e metterle a disposizione in modo dinamico di chi
manifesta la necessità di uso
Lo switching permette di dedicare le risorse a più richieste in
tempi diversi e non mantenerle allocate ad un unico obiettivo di
connessione
Nell caso del
N
d lb
bus, un’unico
’ i collegamento
ll
t e banda
b d viene
i
ad
d essere
usato per veicolare comunicazioni diverse (evitando interferenza)
Lo switching permette di prevedere un impegno anche condiviso
delle risorse per consentire di passare i dati in caso di nodi non in
visibilità in modi diversi
Nel caso di messaggi
gg diversi, p
possono essere frammentati in p
pezzi
corti che possono viaggiare insieme su tratte di reti disponibili
(caso di IP Internet e dei datagrammi)
Reti e Routing 8
Reti dinamiche di interconnessione
Le interconnessioni possono anche variare nel tempo, per varie
ragioni (soprattutto per limitare il costo)
Reti Omega, o Omega network: reti a stage che interconnettono p
elementi con log2(p) stage; ogni stage ha p input e p output
elementi,
Comandando gli stage composti da switch binari, si ottengono
dinamicamente le p
potenziali interconnessioni desiderate
Processori
Processori
primo
livello
secondo
livello
terzo
livello
ultimo
livello
Reti e Routing 9
Comunicazione
La comunicazione può quindi usare modi diversi
- collegamenti statici dedicati (canali fisici)
- collegamenti switch da stabilire e controllare per dare supporto a
comunicazioni specifiche (canali virtuali)
- nessun collegamento, ma uso della comunicazione da parte di
pacchetti che si possono muovere liberamente (senza garanzie di
servizio)
i i ) e usando
d lle risorse
i
lib
libere iin modo
d di
dinamico
i
Nel caso delle reti, si possono avere molte forme di switching ossia
molte forme di possibile condivisione in contrasto uso esclusivo
delle risorse di comunicazione
In caso di uso esclusivo,
esclusivo le risorse sono prenotate ed acquisite per tutto
la sessione di uso
In caso di switching, le risorse richieste contemporaneamente, possono
essere fornite
f i a soddisfare
ddi f
richieste
i hi
diverse
di
contemporaneamente
Reti e Routing 10
Switching
Per interconnettere diverse entità su reti di varie topologie,
possiamo avere o canali ((o circuiti statici)) dedicati,,
p
o ricorriamo allo switching di pacchetti, che può avvenire
- attraverso canali creati dinamicamente (circuiti virtuali) cioè
risorse dedicate nei nodi intermedi
- essere del tutto libero senza stabilire connessioni di alcun
tipo (usando frammentazione in datagrammi)
reti a mesh
switching
circuito
switching
packet
datagramma
circuito virtuale
packet
frame
Reti e Routing 11
cell
Tipi
p di dati
A livello applicativo possiamo distinguere diversi nomi per i dati che
possono essere scambiati in base alla dimensione
- cella
- frame
- pacchetto
- datagramma
- messaggio
insieme di 53 byte usato in ATM
unità del livello data link
messaggio a livello network
con dimensione da 100 a 1000 byte
associato alla comunicazione senza connessione
a livello applicativo
reti a mesh
switching
circuito
switching
packet
datagramma
circuito virtuale
packet
frame
cell
Reti e Routing 12
Circuit Switching
Ossia avere canali dedicati ((o connessioni statiche))
predeterminati e mantenuti anche se non usati
Switching di circuito (tecnica pessimista e statica)
Si mantiene un canale end-to-end per un atteso flusso di bit
(anche più circuiti multipli per supportare il flusso che diventa
fortemente garantito)
• impegno
p g
di risorse anche senza flusso di dati ((costo elevato))
• multiplexing inverso: possibile anche combinare N canali fisici
per un canale logico utente
schema molto statico e proattivo
Esempio: ISDN
Reti e Routing 13
Circuiti virtuali condivisi
Uso di più circuiti virtuali che possono permettere la condivisione
delle risorse (condivisione ottimista) perottenere un migliore uso
del sistema di comunicazione
C di i i
Condivisione
di circuiti
i
iti virtuali
i t li (tecnica
(t
i dinamica)
di
i )
Più connessioni end-to-end e trasmissione dati a pacchetti
distinguendo
g
attraverso virtual circuit identifier ((VCI)) ossia
identificatori locali unici negli intermedi per le diverse connessioni
In
out
link/VCI
li
k/VCI li
link/VCI
k/VCI
1/1
3/20
1
Dest.
Dest
B
VCI
1
PS1
3
3
2
In
out
link/VCI link/VCI
2/1
3/20
A
D
Dest.
C
VCI
1
I
In
out
link/VCI link/VCI
3/20
1/42
1
PS2
Dest.
A
VCI
42
B
2
In
out
link/VCI link/VCI
Reti
3/20
2/42
Dest.
D
VCI
42
e Routing
14
C
Switching a datagrammi
Nessun circuito o canale, ma solo datagrammi, unità di trasmissione, che possono essere mandate tra nodi vicini (politica ottimista)
mirando ad ottenere il migliore uso del sistema di comunicazione
Comunicazione a datagrammi (tecnica ottimista)
Con i datagrammi, non si garantisce nessuna connessione end-to-end, e
quindi nessun controllo flusso, nessuna garanzia (no ordine, no QoS)
ogni entità da inviare (datagramma) porta indirizzo del ricevente e viene
smistato in modo indipendente; si possono introdurre molti ritardi e jitter
1
1
2
1
3
2
1
3
2
packet switch
2
1
Reti e Routing 15
Switching a messaggi e pacchetti
Uso di messaggi di dimensione diversa (messaggi come entità
applicative)
pacchetti di dimensione fissata e tutti uguali
g
Uso di p
(frammentando messaggi applicativi)
1
2
messaggio
e pacchetti
3
1
2
3
1
2
3
host A
a)
vari passi
intermedi di
pacchetto
b)
network
Reti e Routing 16
host B
c)
d)
time
Signaling o controllo
Se dobbiamo g
gestire connessioni ((rete telefonica),
) abbiamo
necessità di operazioni per preparare la comunicazione (stabilire la
connessione), mantenerla e garantirla, e chiuderla al termine
P
Possibilità
ibilità di Segnalazione
S
l i
(o
( Controllo)
C t ll )
• in-band: usando gli stessi cammini e risorse per i i dati
• out
out-of-band:
of band: cammini separati per il controllo e il signaling
Signalling rappresentato con piani di specifica
management
• Piano User
plane
control
per i protocolli utente
plane
user
• Piano di Controllo
plane
controllo connessione
• Piano di Management
stabilire e gestire il canale
Reti e Routing 17
Reti? Di che tipo?
Spesso i sistemi di interesse sono costituiti da reti molto differenziate
…(ossia reti destinate a interconnettere entità geograficamente
molto eterogenee)
• Wide Area Network - WAN
per reti geografiche anche a copertura molto ampia (globale)
• Metropolitan
M t
lit Area
A
N
Network
t
k - MAN
area di copertura di una città
• Local Area Network - LAN
reti di dimensione limitata e con forte limitazione sui partecipanti
• Personal Area Network - PAN
reti di dimensione veramente limitata e ad uso di utenti singoli
con tecnologie
g ad hoc e p
propagazione
p g
ancora p
più limitata ((reti
wireless)
Reti e Routing 18
Reti Locali
Le reti locali, o LAN, sono state usate molto come banco di prova
e di esperienza dei protocolli, oltre che ampia palestra di uso
LAN caratterizzate da
- alta velocità ed ampia banda di trasmissione
- facilità di broadcast
- bassa
b
probabilità
b bilità di errorii
A livello di analisi possiamo partire ad analizzare le LAN,
- topologie
- mezzo trasmissivo (wired e wireless)
- controllo di accesso
Anche se ovviamente molto dell’interesse industriale è non solo sulle
LAN ((e PAN),
) ma sulla loro interconnessione in modo efficace
Reti e Routing 19
Topologie
In reti g
generiche ((WAN)) si trovano mesh, reti magliate
g
e ridondate,
come nel sistema telefonico, Public Switch Telephone Network
(PSTN)
I LAN,
In
LAN topologie
t
l i semplici:
li i
- stella, come i PABX (Private Automatic Branch Exchange)
- bus anche un insieme di bus interconnessi
- ring (anello)
hub ossia un bus inglobato in una unica unità centrale di
- hub,
connessione, simile al nodo centrale di una stella
Le LAN presentano una tendenza ad evolvere verso sistemi con
connessioni più dinamiche, ridondate per ottenere più alte
prestazioni
t i i
Reti e Routing 20
Mezzi trasmissivi
Le reti LAN hanno considerato cablaggi semplici
- doppino, schermato e non schermato
- cavo coassiale,, usando varie bande ((base o estesa))
cavo sottile o grosso
- fibra ottica, con propagazione diversa
10BaseT
100BaseT
1000BaseX
banda
10Mb/s
100Mb/s
1000Mb/s
CAT5 UTP
100m+
100m
100m
STP/coax
500m
100m
25m
fibra multi
multi-mode
mode 2Km
412m fino a 2Km
550m
fibra single-mode 25Km
20Km
5Km (10Km)
Le LAN utilizzano
L
tili
anche
h sistemi
i t i e ttecnologie
l i non cablate,
bl t
come Wi-Fi (IEEE 802.11b)
Reti e Routing 21
Controllo d
d’accesso
accesso
Tipici controlli di accesso sono (standard IEEE 802.x):
CSMA/CD (Ethernet), standard 802.3
p Access/Collision Detection
Carrier Sense Multiple
accesso ottimistico e dinamico al bus, in caso di impegno si deve
avvertire la collisione e ritrasmettere con intervallo random
T k (control
Token
(
t l token
t k o token
t k ring),
i ) standard
t d d 802.5
802 5
accesso pessimistico garantito da un ring in modo statico: un
solo possessore del token ha il diritto di trasmettere; si forza il
passaggio del token da un vicino ad un altro dopo un intervallo
Slotted ring (anello a slot), standard 802.4
accesso pessimistico usando messaggi che circolano in modo
proattivo sul ring; anello come insieme di contenitori di messaggi
circolanti
i l ti ((o slot)
l t) che
h possono essere riempiti
i
iti se vuoti
ti
Reti e Routing 22
I t
Interconnessione
i
tra
t reti
ti
Possiamo avere molti apparati per interconnettere (e separare!) entità
a diversi livelli OSI
Ripetitori: rigeneratori di un segnale a livello fisico, superando e
rimediando ad un’eventuale livello di attenuazione (livello fisico OSI)
Un ripetitore non effettua alcuna separazione
B id
Bridge:
apparati
ti che
h collegano
ll
reti
ti di
diverse, con capacità
ità di
separazione e maggiore intelligenza (livello data link)
Router (o gateway): apparati e sistemi per il passaggio da una rete
ad un'altra con obiettivo di supportare la comunicazione dei messaggi
ed il routing (livello network)
Protocol converter: sistemi che collegano reti diverse a più alto livello
con protocolli diversi di interconnessione (operazioni dal livello di
trasporto in su)
Reti e Routing 23
Bridge (livello OSI 2)
Un bridge collega e separa due (o più) reti a livello di data link,
controllando il passaggio e la separazione delle due reti, ad esempio
passando e bufferizzando i frame dall'una all'altra, solo se
necessario, e trattando anche situazioni di errore
Vantaggi
p
effettiva delle reti
• separazione
• bufferizzazione dei frame (trattando il caso di overflow)
• capacità di gestire controlli di accesso diversi
• monitoring della rete: della performance ed affidabilità
Svantaggi
• ritardo di bufferizzazione
• bufferizzazione limitata e non infinita
• trasformazione dei frame (con controllo)
Reti e Routing 24
Tipi di Bridge
I bridge
g possono lavorare in molti modi diversi
Bridge multiporta, collegano più segmenti di rete diversi
Bridge trasparenti, che operano in modo invisibile agli utenti
che devono collegare solo le entità interessate, ossia bloccare
i pacchetti che devono rimanere locali e fare passare solo ciò
che deve transitare
Si parla di routing isolato, anche se siamo a livello di frame, e
dobbiamo avere previsto un database di forwarding
• informazioni della tabella come database in PROM
• bridge
b id con capacità
ità di apprendimento
di
t osservando
d il ttraffico
ffi
Il bridge impara la allocazione vedendo il traffico della rete e dai
vicini (il tutto è ripetuto quando è necessario coordinarsi)
Reti e Routing 25
Bridge vari
Un bridge può fare learning delle esigenze
FASE di LEARNING iniziale. Alla inizializzazione (ossia
all’inserimento su una rete), il bridge comincia a controllare le
esigenze di comunicazioni nel sistema corrente e si adegua
adegua,
facendo inizialmente passare tutto, poi cominciando a filtrare…
per situazioni diverse e con molti bridge
g
Possibilità di conflitti p
In caso di più bridge, con interconnessioni varie, si tenta il coordinamento
t dei
d i di
diversii b
bridge
id
Algoritmo spanning tree - i bridge si scambiano messaggi per
trovare i costi più bassi di collegamento e costruire un albero
unico che percorre tutta la topologia di collegamenti
Si sceglie
g un bridge
g radice tra tutti e ognuno
g
degli
g altri trova il
cammino minimo per collegarsi a quello (passi e velocità)
Reti e Routing 26
ROUTE e ROUTING (Livello OSI 3)
Il problema del cammino dal sorgente al destinatario in caso di
comunicazione viene affrontato dal routing attraversando un
insieme di nomi intermedi (dinamica)
Necessità di mapping efficiente
ROUTING come la identificazione e l’uso di algoritmi di routing
Proprietà del routing
- correttezza
- semplicità
- robustezza (tolleranza ai guasti e variazioni)
- stabilità della soluzione
- ottimalità
- fairness (giustizia)
Reti e Routing 27
CLASSIFICAZIONE ROUTING
Classificazione delle strategie di ROUTING
- GLOBALE
/ LOCALE (ISOLATO)
- STATICO
/ DINAMICO
- ADATTATIVO / NON ADATTATIVO
anche non deterministico / deterministico
In caso di routing locale, si attuano decisioni a basso costo ma al
limitata visibilità; il globale richiede tabelle per mostrare lo stato di
tutte le interconnessioni possibili
In caso di routing statico si usano cammini fissi e globali di
propagazione che invece possono variare nel routing dinamico
propagazione,
In caso di routing non adattativo i cammini sono fissi e non
variano,, in caso adattativo si sfruttano anche le risorse libere in
modo dinamico
Reti e Routing 28
Strategie di ROUTING
Il routing
g può impiegare
g
politiche molto differenziate e ci sono
esempi di ogni aspetto, nei sistemi che sono stati implementati con
diverse dimensioni di utilizzo
Per la classificazione
si possono considerare molteplici attributi e ruoli
- chi prende le decisioni di routing
- chi attua le decisioni di routing
- il momento delle decisioni di routing
- il controllo del routing adattativo
Reti e Routing 29
Chi prende le decisioni di routing
Sulle strategie
g di routing,
g le decisioni prese da diverse entità
al sorgente (source)
Il mittente specifica l'intero cammino (in modo stretto e completo
o solo parzialmente); gli altri devono rispettare la decisione (statica
per il datagramma)
hop by hop
hop-by-hop
La decisione non viene guidata dal mittente, ma decisa ad ogni
passo e ad ogni
p
g intermedio in modo indipendente
p
il sorgente non conosce il cammino e neanche gli intermedi che
comandano solo la propria uscita
broadcast
Si invia ad ogni possibile entità ricevente il messaggio ed
ognuno lo riceve (costoso): non ci sono decisioni per il mittente ma
consegna a tutti (eliminando duplicati)
Reti e Routing 30
Chi attua le decisioni di routing
Sulla attuazione delle decisioni di routing, dobbiamo considerare il
ruolo dei router intermedi che provvedono funzionalità opportune
Le decisioni possono essere attuate da agenti intermedi
U i i e centralizzati
Unici
t li
ti
(
(usato
t raramente)
t )
Un unico gestore del routing prende le decisioni: questo
consente di ottenere anche decisioni ottimali sull’intero
sull intero sistema
distribuiti
g di controllo ma una serie di entità
Non esiste un unico luogo
distribuite nell’intero sistema e che si occupano del routing, in
modo più o meno coordinato
- locali
l
li (isolati)
(i l i)
- parzialmente distribuiti (propagando le variazioni di strategia)
- coordinati con scambio di informa
informazioni
ioni contin
continuo
o
Reti e Routing 31
Il momento delle decisioni di routing
Per l’aspetto di tempo delle decisioni di routing,
g si considera routing
g
statico vs dinamico
statico o
fisso o
deterministico
La strategia di routing rimane fissata nel sistema e non cambia
dinamico o
adattativo
L’algoritmo di routing evolve e si può adattare alle informazioni di
stato del sistema, in modo da ottenere un costante adattamento
alla situazione corrente
Superando problemi e guasti non previsti ad esempio
Controllo routing adattativo
prevedere una costante interazione
In caso di adattività, si deve p
con le risorse impegnate
Reti e Routing 32
St bili il route
Stabilire
t da
d seguire
i
Per la
P
l parte
t di strategia
t t i che
h id
identifica
tifi il cammino,
i
sii di
distingue
ti
statico vs dinamico
Dal punto di vista
della comunicazione
comunicazione,
possiamo avere
Switching di Pacchetto
o uso di
Circuit Switch
ossia canali predeterminati
Def. cammino
Statica
Dinamica
Circuit-Switching
Packet Switching
Packet-Switching
Reti e Routing 33
S lt del
Scelta
d l cammino
i
La scelta del cammino tra quelli possibili in modo fissato o meno,
adattandosi o meno allo stato del sistema
Selezione cammino
Si noti che normalmente
si considerano solo cammini
minimi (ottimi)
Deterministica
In alcuni casi si possono
anche prevedere
cammini non minimi
facendo misrouting
Minimo
Adattativa
Non-minimo
Parzialmente
Adattati a
Adattativa
Totalmente
Adattativa
Reti e Routing 34
Famiglie
g di Algoritmi
g
di routing
g
In generale per fare istradamento, funzione fondamentale del livello
OSI 3,
3 si possono scegliere molte strategie ed implementazioni
diverse
globale, e non solo…
Facendo riferimento ad Internet, come caso g
abbiamo la scelta tra molte famiglie:
Algoritmi isolati,
isolati senza tabelle e coordinamento tra i router
Random, Patata bollente, …
Algoritmi globali,
globali con tabelle che ogni router mantiene e che
prevedono forme di coordinamento tra i router
Distance Vector,, Link State
Queste due famiglie, in ordine storico, prevedono tabelle su ogni
router e qualche forma di propagazione di informazioni, in caso di
variazione
i i
Reti e Routing 35
Algoritmi
g
tipici
p di routing
g
Si adottano tabelle di configurazione (tabelle di routing locali ai
gateway) Algoritmi GLOBALI propagano globalmente informazioni in
gateway).
caso di modifica delle tabelle (scarsa scalabilità in caso di variazione)
Algoritmo
Al
it
SHORTEST PATH FIRST di Dijkstra
Dijk t
Ogni nodo costruisce un grafo completo dell'intera interconnessione stabilendo una metrica di distanza in base a pesi
sione,
con successive iterazioni, si calcolano le distanze minime per
ogni nodo
Il traffico di routing segue il cammino più corto determinato
Svantaggi / Vantaggi
- Costo della propagazione delle valori in caso di variazione
(e in caso iniziale di creazione delle stesse)
- Possibilità
P
ibilità di usare all meglio
li tutte
t tt le
l risorse
i
esistenti
i t ti
Reti e Routing 36
Implementazioni
p
degli
g algoritmi
g
Distance Vector
dinamico
single-path
Per ogni gateway,
gateway la tabella mantiene la sola distanza in passi
e il primo passo di uscita per il routing. Le tabelle sono minime
e consentono un istradamento statico facile
Problemi nei cambiamenti e nella propagazione delle variazioni
Link State
dinamico
multi-path
Ogni nodo mantiene tutto il grafo e tende a limitare la propagazione delle informazioni, rendendo facili anche cammini multipli
V i i i sono propagate
Variazioni
t iin b
broadcast,
d
t spesso uso di spanning
i
tree
Algoritmi Spanning tree
statico
single-path
Si tende ad identificare un albero di interconnessione tra tutti i
nodi della rete, consentendo la eliminazione dei cicli e
determinando cammini senza problemi in modo globale
Reti e Routing 37
Altri algoritmi a cammini multipli
Sono interessanti ed usati anche algoritmi MULTIPATH ossia
strategie che permettano di utilizzare anche più possibili percorsi
per uno stesso destinatario
Ogni nodo mantiene una tabella propria, con più possibilità per
ogni destinazione, considerando più cammini possibili per la
route tra due nodi
Scelta random (probabilistica) del cammino, partendo dai
cammini determinati per primi (anche con bilanciamento di
carico)
Vantaggi
- Bilanciamento del traffico di routing
- Affidabilità
Affid bilità iin caso di guasti
ti ((anche
h multipli)
lti li)
Reti e Routing 38
Algoritmi adattativi
Algoritmi BACKWARD LEARNING
Ogni messaggio porta l'indicazione del mittente e, quindi, consente
g messaggio
gg
di inferire la distanza del mittente stesso ad ogni
I nodi intermedi possono stimare la distanze e la topologia
La fase iniziale di apprendimento dell'algoritmo deve lavorare in
base ad una politica, da cui dipendono le stime successive
La conoscenza d
L
della
ll topologia
l i d
della
ll interconnessione
i
i
completa
l
(globale) > permette di evitare situazioni di ciclo o livelock in cui
un messaggio si perde in passaggi inutili ripetuti
Algoritmi globali costosi in ambiente dinamico
Reti e Routing 39
Algoritmi isolati ed adattativi
Strategie dinamiche indipendenti dalla topologia di interconnessione
che si basano su informazioni solo locali (isolati) o solo di vicinato
(distribuiti e locali) possono essere molto efficaci
Mancano del tutto i costi delle fasi di coordinamento e si limita
fortemente overhead in caso di variazioni, e di cammini diversi
Si possono introdurre problemi per la perdita della visibilità della
topologia e del coordinamento: sono possibili cicli o livelock
Algoritmo Random, scelta casuale dell’uscita
Al
Algoritmo
it
Patata
P t t Bollente
B ll t
Un messaggio viene smistato (se non a destinazione) attraverso
la coda di uscita più scarica del nodo
Non si può predire il numero di passi per arrivare a destinazione:
il numero di hop ed i cammini dipendono dal traffico
Reti e Routing 40
Algoritmi isolati
Nel caso si conosca la topologia, si possono sovrapporre anche
informazioni di direzione per raggiungere il destinatario (ad es. su
una mesh)
Si noti che un algoritmo isolato adattativo trova il ricevente
anche se questo si muove!
Algoritmo FLOODING
Un messaggio viene smistato (se non è arrivato a destinazione)
attraverso tutte le code di uscita del nodo (nella direzione giusta)
Uso di contatori per limitare i passi di un messaggio
Uso di identificatori per evitare generazione senza fine
(per quanto tempo si mantiene lo stato sui nodi?)
Reti e Routing 41
Algoritmi ulteriori isolati
Algoritmo
g
RANDOM Ogni
g messaggio
gg viene smistato, se non a
destinazione, usando una coda di uscita scelta a caso (non input)
Teorema per sistemi ideali di interconnessione (a messaggi)
Algoritmo di routing ottimale in un sistema dinamico con un numero
infinito di nodi è una combinazione del routing random
se M mittente e D destinatario, si determina in modo random un nodo
R (diverso da M e D) e si manda il messaggio in due hop: la prima fase
da M ad R e la seconda da R a D
In sistemi globali le tabelle devono essere aggiornate spesso: algoritmi
senza tabelle limitano l'overhead e possono consentire di raggiungere
destinatari anche in movimento
IIn sistemi
i t i molto
lt di
dinamici
i i e a rapida
id variazione,
i i
ma con indicazioni
i di
i i di
località per le entità da raggiungere, si cercano di determinare
direzioni di orientamento o p
polarizzazione che p
possano orientare le
decisioni non informate attuate da algoritmi locali
Reti e Routing 42
Problemi nel routing
Alcune situazioni sono critiche per il supporto al routing:
Congestione, Deadlock, Livelock
Congestione
Le entità diverse devono predisporre risorse per evitare i problemi
C’è necessità di controllare gli asincronismi che possono impegnare
le risorse e mantenerle
È opportuno
t
un buon
b
controllo
t ll dei
d i buffer
b ff per evitare
it
il problema
bl
- si inviano indicazioni al mittente (messaggi di choke)
- si scartano tutti i messaggi successivi (tecnica reattiva)
- si prevede un numero massimo fisso di messaggi circolanti
(tecnica proattiva)
Reti e Routing 43
Ancora situazioni da evitare
Deadlock impegno
g
totale dei buffer con blocco critico
Avoidance si numerano i buffer e si acquisiscono in ordine
Prevention si mantengono buffer per fare scambi in caso di
saturazione
Recovery si tratta il problema quando rilevato
Li l k con messaggii che
Livelock
h continuano
ti
a permanere nell sistema
i t
senza giungere a destinazione (persi in cicli o altro)
Soluzioni a priori
si mantiene il cammino percorso e si evitano i loop
Soluzioni a posteriori
si elimina il messaggio oltre un certo numero di passi
(time-to-live del messaggio)
Reti e Routing 44
Livello Network: Indirizzi IP
Per considerare un livello,
livello dobbiamo partire dal sistema dei nomi
INDIRIZZAMENTO GERARCHICO a livello di IP
Ogni connessione di un host a una rete ha un indirizzo IP
unico di 32 bit, costituito di due parti, NETID, HOSTID
NETID
un identificatore di rete e
HOSTID
un identificatore di host
La distinzione nelle due parti, in gerarchia, facilita il routing
ll’indirizzo
indirizzo individua le connessioni nella rete virtuale
- se un host usa una connessione diversa nella stessa rete, cambia il suo
IP, in particolare hostid (non in dipendenza dalla locazione di accesso)
- se un host
h t sii collega
ll
iin una rete
t di
diversa, anche
h con lla stessa
t
connessione, cambia il suo IP, in particolare il netid, ma può mantenere hostid
- host con diverse connessioni hanno più indirizzi (multiporta per gateway)
Reti e Routing 45
Livello Network: Indirizzi IP
STANDARD
I nomi di IP sono dati di autorità dal Network Information Center (NIC)
che assegna i numeri di rete, cioè informazione usata nei gateway per
routing
La parte di rete quindi è assegnata di autorità
La p
parte di nodo in IP è soggetta
gg
a 3 classi p
primarie ((in base al
numero di reti e al numero di host collegabili) e differisce per numero
di bit delle singole parti: analizzando un indirizzo IP si può distinguere
la classe in modo automatico
Le WAN hanno generalmente un IP di classe A
1
classe A
0
7 8
NETID
31
HOSTID
Le LAN hanno un IP di classe B o C
1 2
classe
l
B
1
0
16
NETID
31
HOSTID
1
2
3
10 1NETID
0
24
NETID
31
HOSTID
HOSTID
classe
l
C
Reti e Routing 46
Livello Network: Indirizzi IP
Per considerare un livello,
livello dobbiamo partire dal sistema dei nomi
Parliamo di protocollo IPv4 e nomi IP relativi (a 32 bit): ogni
protocollo deve definire i p
p
propri
p nomi
Un nodo è qualificato come Rete e Host, per un totale di 32 bit
Tre classi di indirizzi fisici (a byte) suddivisi in parte Network e Host
0 1 2 3 4
netid
classe A 0
classe B 1 0
8
16
24
hostid
hostid
netid
classe
l
C 1 1 0
netid
tid
classe D
1 1 1 0
classe E
1 1 1 1 0
31
h tid
hostid
indirizzo multicast
indirizzi riservati ad usi futuri
Reti e Routing 47
Livello
Li ll Network:
N t
k Indirizzi
I di i i IP
Formati delle tre classi di indirizzi fisici (a byte): Network e Host
classe A:
Network
Host
es: arpa
10
0 7 bit
24 bit
1.#.#.# .. 126.#.#.#
(127 riservato per usi locali)
classe B:
Network
Host
almanet 137.204.#.#
10 14 bit
16 bit
128.0.#.# .. 191.255.#.#
classe C:
Network
Host
cnrbologna 192.94.70.#
110 21 bit
8 bit
192.0.0.# .. 223.255.255.#
classe D:
224.#.#.#
1110 28 bit multicast
..
239.#.#.#
Reti e Routing 48
Livello
Li ll Network
N t
k
Cominciamo a considerare la struttura del datagramma IP
Un DATAGRAMMA IP è la unità base di informazione che viaggia
in Internet
Suddiviso in due parti principali:
parte intestazione
parte dati
DATAGRAM HEADER
DATAGRAM DATA
da 20 byte ...
IP non specifica il formato dell'area dati
Ma prescrive in modo preciso la parte di header, che ovviamente
viene a contenere le parti dei protocolli superiori e ad essere
incapsulata in un header (e footer) dei frame di più basso livello
Reti e Routing 49
Formato dell'Header
dell Header e Dati IP
In un datagramma: Header (minimo 20 byte, max 64), Dati
0
4
8
16
19
24
31
VERS HLEN SRV TP
TOTAL LENGHT
IDENTIFICATION
FLAGS FRAGMENT OFFSET
TIME TO LIVE PROTCL
HEADER CHECKSUM
SOURCE
SOU
C IP ADDRESS
SS
DESTINATION IP ADDRESS
IP OPTIONS (if any)
PADDING
DATA
...
0
3
PRECEDENCE
Do not fragment
D
SeRVice TyPe
T
R
C
FLAGS
More fragments
Parole
1
2
3
4
5
(6..16)
6
UNUSED
UNUSED
Reti e Routing 50
Campi
p dell'Header IP
5 parole di 32 bit (o più, se attive opzioni)
1) versione del protocollo, lunghezza header e totale, service type
- precedenza (0-7)
- tipo
ti di ttrasporto
t desiderato
d id t (bit di th
throughput
h tT
T, di affidabilità
ffid bilità R
R,
di ritardo D, di costo C)
2) identificazione del datagramma (usato per ricomporre i frammenti)
- flag (3 bit: non frammentare e altri frammenti) e
frammentazione (13 bit moltiplicato x8)
3) time to live, tempo di permanenza del datagramma
- tipo di protocollo superiore (TCP 6, UDP 17, ICMP 1, ...)
- checksum per il controllo (complemento a 1 a 16 bit)
4-5) indirizzo IP sorgente e destinazione
oltre) opzioni: monitoraggio e controllo rete
Reti e Routing 51
Header IP
In g
generale, IP protocollo senza qualità
I datagrammi viaggiano in modo indipendente e autonomo (anche
come sottoparti o frammenti)
IP il protocollo di base di Internet
IP specifica anche il routing
S
Service
i type,
t
di i iin:
diviso
- precedenza (primi tre bit service type)
- indicazioni di preferenza di scelta tra route
- D minimo delay
- T massimo throughput
- R massima reliability
- C minimo costo
- un bit non usato (1 bit non usato, 7 utili)
Reti e Routing 52
IP e QoS (Quality
(Quality of Service)
In generale, IP protocollo base di Internet senza qualità
IP è un protocollo best-effort a basso costo e non garantisce
Quality of Service QoS
evoluzioni
l i i iin atto
tt per garantirlo
ti l …
Service type, anche come codepoint, ossia possibilità di
identificare raggruppamenti del traffico e di dividere in classi il traffico
- tipo di traffico (ultimi due bit del service type)
precedenza tra classi di traffico
- indicazioni di p
- tre classi diverse distinte dai bit finali (0 11 01)
- relativa precedenza
Esempio: x x x x x 0
Le classi differenziate permettono di dividere, distinguere e
classificare il traffico
Reti e Routing 53
Livello IP
IPv4 specifica il servizio accoppiato al relativo protocollo
Il servizio è quello che ci impegniamo a fornire ai livelli superiori
Il protocollo è la specifica di come si deve lavorare nella
realizzazione
li
i
Per il SERVIZIO si specifica che il tutto è:
connectionless: ciascun pacchetto è trattato indipendentemente
dagli altri. Diversi pacchetti possono seguire percorsi diversi ed
essere consegnati fuori ordine
unreliable: la consegna non è garantita, cioè non si effettua alcun
controllo sull
sull'avvenuta
avvenuta ricezione di un pacchetto
best-effort: l'inaffidabilità del trasferimento è dovuta a cause esterne
e non al software di rete; nessun messaggio di errore è previsto
per il richiedente in caso di non inoltro o di perdita
Reti e Routing 54
P t
Protocollo
ll IP
Il protocollo IPv4 prescrive come si deve realmente implementare
l’instradamento dei datagrammi, obiettivo fondamentale del livello
prescrive p
per ogni
g nodo che deve comportarsi
p
Il PROTOCOLLO p
come un router, ossia fare routing, due funzioni principali da
svolgere
- elaborazione
l b
i
del
d l messaggio
i del
d l lilivello
ll superiore
i
nell fformato
t per
la trasmissione
• incapsulamento / frammentazione
il datagramma deve contenere le informazioni di livello superiore,
eventualmente i dati devono essere frammentati ((se possibile))
- instradamento (routing) cioè:
• traduzione da indirizzo logico IP a indirizzo fisico di frame (ARP)
• scelta della porta di uscita (in base al percorso)
Reti e Routing 55
Invio
I i di Datagramma
D t
IP
Un datagramma deve essere smistato da un nodo ad un nodo
successivo secondo le normali regole di incapsulamento
g nodo deve incapsulare
p
ogni
g datagramma
g
in un frame di livello
Ogni
data link
datagramma
header
area dati
frame
frame header
area dati
Ovviamente
O
iamente questo
q esto a
avviene
iene anche per ogni singolo datagramma
datagramma, e
senza legami tra i diversi frammenti e datagrammi, che vengono
trattati in modo indipendente
p
dalla driver di routing
g ((FIFO))
Reti e Routing 56
Datagramma IP
Un datagramma deve essere mosso da un nodo ad un altro e ogni
intermediario può operare sul messaggio, a partire dal mittente
g nodo p
può frammentare il datagramma
g
Ogni
- DECOMPOSIZIONE al mittente
- DECOMPOSIZIONE ad ogni intermedio
- RICOMPOSIZIONE solo al destinatario
header
datagramma
data 1
data 2
header
frammento
data 1
frammento 1
header
frammento
data 2
frammento 2
header
frammento
data 3
data 3
frammento 3
Reti e Routing 57
Frammentazione Datagramma IP
I datagrammi
g
devono essere incapsulati nei frame di livello data link
su cui transitano in base alla MTU (maximum transfer unit), ossia la
lunghezza massima dei frame a livello fisico (di Internet cioè 2 OSI)
Come si può determinare la dimensione massima del datagramma
dalla partenza all
all’arrivo?
arrivo?
1°possibilità: calcolo statico da parte del mittente
g
incapsulato
p
nel singolo
g
frame fisico ((dimensioni del
il datagramma
datagramma minore o uguale alla più piccola MTU presente in
Internet)
- a livello
li ll utente
t t ttrasmissione
i i
con ttempii molto
lt llunghi
hi per il ttrasferimento
f i
t
di un messaggio (se MTU molto piccole)
- efficiente solo p
per reti fisiche con MTU a lunghezza
g
elevata ed
omogenea
Reti e Routing 58
Frammentazione
F
t i
Datagramma
D t
IP
2 possibilità: decisione passo passo (QUELLA USATA)
2°
MTU scelta indipendente dalle tecnologie sottostanti per rendere
efficiente la comunicazione a livello utente ((fissata tipicamente
p
a
64Kbyte)
Il pacchetto originale viene suddiviso in frammenti su reti con
MTU a di
dimensione
i
iinferiore
f i
((a 64Kb
64Kbyte)
t )
La frammentazione del pacchetto può avvenire ad ogni passo
nelle reti intermedie e potendo fare solo al destinatario la
ricomposizione o riassemblaggio dei diversi frammenti che
possono essere stati attuati durante l’instradamento
Il destinatario riceve i diversi frammenti, li identifica in base allo
stesso ID e li mette insieme in base all’offset: se l’intero datagramma è stato ricevuto,
ricevuto allora viene considerato; altrimenti
altrimenti, il tutto viene
eliminato
Reti e Routing 59
OPZIONI: Monitoraggio e controllo rete
Alcune opzioni interessanti
interessanti, con informazioni diverse memorizzate
sulla parte di opzioni, sono:
record route: genera una lista degli indirizzi IP dei gateway che il
frame ha attraversato (al massimo 9 intermedi)
> otteniamo una indicazione dei gateway intermedi attraversati dal
datagramma
timestamp: genera una lista dei tempi di attraversamento sugli
intermedi
> possiamo ottenere una indicazione dei tempi di passaggio e della
permanenza del datagramma nei gateway intermedi (vedi mail)
per attuare anche azioni correttive e cercare strade diverse
Reti e Routing 60
OPZIONI Source
OPZIONI:
S
R
Route
t
source route o instradamento al sorgente: il sorgente fornisce
indicazioni sul cammino da seguire nel routing del frame
• strict source: il datagramma porta nella parte opzione una
indicazione di tutti i gateway intermedi da attraversare
• loose source: indicazione di un insieme di percorsi da
attraversare non in modo contiguo ed unico
Numero massimo di parole nella parte opzione del datagramma
limite al controllo del percorso:
al massimo spazio per registrare 9 passi
Reti e Routing 61
Famiglie di Algoritmi di routing
Due famiglie principali globali, basate su tabelle, e dinamiche
(le tabelle possono cambiare)
Distance Vector
dinamico con overhead
Per ogni gateway, la tabella mantiene la sola distanza in
passi e il primo
p
p
passo
p
di uscita per
p il routing.
g Le tabelle
sono minime e consentono un istradamento statico facile
Problemi nella costruzione delle tabelle, nei cambiamenti e
nella propagazione delle variazioni
Link State
dinamico con overhead
O i nodo
Ogni
d mantiene
ti
t tt il grafo,
tutto
f rendendo
d d possibili
ibili anche
h
cammini multipli
Si tende a limitare la p
propagazione
p g
delle informazioni
Le variazioni sono propagate in broadcast
Reti e Routing 62
Creazione tabelle Distance Vector
FASE di
PROPAGAZIONE
Rete
Rete
G1
R0
Tabelle
T
b ll all primo
i
passo
R0 0
R1 0
R1 0
R2 0
R2 0
R3 0
T b ll all secondo
Tabelle
d scambio
bi
R0 0
R1 0
R1 0
R2 0
R2 1 G2
R0 1 G1
R3 1 G3
R2 0
R3 0
R1 1 G2
R4 1 G4
Rete
G2
R1
R2
...
Rn-1 0
Rn 0
...
Rn 0
Rn-1 0
Rn-2 1 Gn-1
Rete
G3
A regime, ogni gateway contiene la distanza di ogni rete
G1
G2
G3
Gn
R0 0
R1 0
R2 0
Rn 0
R1 0
R2 0
R3 0
Rn-1 0
R2 1 G2
R0 1 G1
R1 1 G2 ... Rn-2 1 Gn-1
R3 2 G2
R3 1 G3
R4 1 G4
Rn-3 2 Gn-1
…
…
…
Rn-4 3 Gn-1
Gn
Rn
Reti e Routing 63
Propagazione Distance Vector
FASE di
PROPAGAZIONE
Molto lenta
Rete
R0
G1
R0
R1
R2
R3
0
0
1 G2
2 G2
0
0
1 G1
1 G3
2 G1
0
0
1
2
3
4
G2
G2
G2
G2
G3
R2
R3
R1
R4
R0
R5
G2
R1
R2
R0
R3
R4
R5
R6
0
0
1
1
2
3
4
G1
G3
G1
G3
G1
0
0
1
1
2
2
G2
G4
G2
G4
G3
R2
R3
R1
R4
R0
R5
R6
R7
0
0
1
1
2
2
3
4
Rete
G2
R1
G2
R1
R2
R0
R3
R4
G1
R0
R1
R2
R3
R4
R5
Rete
G1
G2
G4
G2
G4
G2
G4
R2
Rete
G3
Gn
Gn
Rn 0
Rn-1
Rn
1 0
Rn-2 1
Rn-3 2
Rn-4 3
Rn-5
Rn
5 4
Gn-1
Gn-1
Gn-1
Gn-1
Gn 1
Gn
Rn 0
R 1 0
Rn-1
Rn-2 1
Rn-3 2
Rn-4 3
R 5 4
Rn-5
Rn-6 4
Gn-1
Gn-1
Gn-1
G
Gn-1
1
Gn-1
Reti e Routing 64
Rn
Formazione delle tabelle Distance Vector
Rete
Rete
Rete
FASE di
G1
G2
R0
R1
R2
PROPAGAZIONE
p
nel numero dei nodi))
Molto lenta ((esponenziale
G1
G2
R0 0
R1 0
R2 1 G2
R3 2 G2
R4 3 G2
R5 4 G2
...
...
…
Rn n-1 G2
R1 0
R2 0
R0 1 G1
R3 1 G3
R4 2 G1
R5 3 G3
R6 4 G1
...
…
Rn n-2 G3
G3
Rete
G3
Gn
Rn
Gn
R2 0
R3 0
R1 1 G2
R4 1 G4
R0 2 G2
R5 2 G4
R6 3 G2
R7 4 G4
...
Rn n-3 G4
Rn 0
Rn-1 0
Rn-2 1 Gn-1
Rn-3 2 Gn-1
Rn-4 3 Gn-1
R 5 4 G
Rn-5
Gn-1
1
Rn-6 4 Gn-1
...
R1 n-2 Gn-1
R0 n-1 Gn-1
I t t dobbiamo
Intanto
d bbi
ffare routing
ti
Reti e Routing 65
Propagazione Variazione
Variazione tabelle per una variazione di configurazione
Rete
Inserimento di nuova rete
RQ
ep
possibili
Rete
Rete
Rete
Rete
shortcut
G1
G2
G3
G4
R0
G1
R0 0
R1 0
RQ 0
R2 1 G2
R3 2 G2
...
G1
R0 0
R1 0
RQ 0
R2 1 G2
R3 1 G3
...
G2
R1 0
R2 0
R0 1 G1
R3 1 G3
R4 2 G3
...
G2
R1 0
R2 0
R0 1 G1
R3 1 G3
R4 2 G3
...
R1
R2
R3
G3
G5
G3
G3
G3
G4
Gn
R2 0
R3 0
RQ 0
R1 1 G2
R0 2 G2
...
R3 0
R4 0
R2 1
R5 1
R1 2
R0 3
Rn-1 0
Rn-2 0
Rn-3 1 Gn-1
Rn 4 2 Gn-1
Rn-4
Gn 1
Rn-5 3 Gn-1
...
G3
R2 0
R3 0
RQ 0
R1 1 G2
R0 1 G1
...
G4
R3 0
R4 0 …
R2 1 G3
R1 2 G3
RQ 1 G3
R0 2 G3
Gn
Rete
Rn
Gn
Rn-1 0
Rn-2 0
Rn-3 1 Gn-1
Rn-4 2 Gn-1
Rn-5 3 Gn-1
...
Reti e Routing 66
P
Propagazione
i
cambiamenti
bi
ti in
i DV
Ogni gateway decide la politica di routing in base alla tabella di
routing locale
p g
locale delle tabelle di routing
g ad ogni
g vicino a
Propagazione
tempi determinati: si disseminano le tabelle in modo asincrono
Chi riceve una offerta aggiorna la propria tabella se la proposta è
conveniente
i t iin b
base alla
ll metrica
t i ((ad
d esempio
i di
distanza
t
iin h
hop))
In caso di CAMBIAMENTO (crash o di aggiunta di nuovi gateway)
Possibilità di problemi (come cicli) e non convergenza delle
tabelle che possono portare a situazioni non stabili
SVANTAGGI ULTERIORI
• tutti i messaggi seguono gli stessi cammini
gg di aggiornamento
gg
con p
propagazione
p g
lunga
g e lenta
• messaggi
convergenza
Reti e Routing 67
P bl i del
Problemi
d l DV:
DV countingcounting
ti -to
t -infinity
toi fi it
Problemi in Riconfigurazione
A
C
D
E
B
In caso di g
guasto del link da D verso C,, E ha un valore precedente
p
e
lo manda a D, poi ottiene il valore da D ed incrementa il valore
locale, etc.
P d
Producendo
d un lento
l
aumento fino
fi
all’infinito:
ll’i fi i
counting-to-infinity
Problema generale dovuto al non tenere traccia di chi fornisce
una distanza da un nodo (e cammino relativo) che rende
possibile utilizzare l’offerta anche se non rilevante o affidabile
Spesso si usa la limitazione dell'infinito a 16
Reti e Routing 68
P bl i del
Problemi
d l DV:
DV instabilità
i t bilità
Ancora problemi in Riconfigurazione
A
Rete
D
10
C
B
Per ogni
g nodo,, si riporta
p
la riga
g di tabella p
per raggiungere
gg g
la rete Rete
dopo il guasto del link BD (in figura la entry per Rete per ogni gateway)
prima Tabelle
Rete 1 D Rete 1
D 2 B no
B3 C B3
B3 A B3
dopo
Rete 1
C 4
A 4
C 4
1
A 5
A 5
C 5
Rete
Tabelle fine
Rete 1
Rete 1
Rete 1
C 6
A 11
C 12
A 6
A 11
D 11
C 12
C 6
C 11
A , B e C sii danno
d
informazioni
i f
i i sbagliate
b li t l'l'un l'l'altro
lt
Reti e Routing 69
Strategie migliorative nel DV
Split Horizon
per evitare di passare informazioni sbagliate, non si offrono
cammini ai nodi da cui le abbiamo ottenute (necessarie maggiori
informazioni)
Si noti la lenta convergenza del sistema
i messaggi vanno veloci a regime
le cattive notizie si propagano con lunghi intervalli di time-out
Hold-down
dopo una notifica di un problema, si ignorano le informazioni di
cammino
i per un certo
t iintervallo:
t
ll ttutti
tti h
hanno modo
d di accorgersii d
dell
problema e non ci sono propagazioni errate
Il problema dei loop che si sono già creati non si risolve e vengono
mantenuti durante l'hold-down
Reti e Routing 70
Strategie migliorative nel DV
Split Horizon con poisoned reverse e triggered broadcast
In caso di variazione, ogni nodo invia immediatamente un broadcast
con la indicazione del p
problema ed il cammino
si usano evoluzioni dello split horizon con conoscenza di
cammini (limite di 16)
A invia a C un messaggio di non raggiungibilità se crede di
raggiungere D via C
C non può più rifarsi ad A (che pure non raggiungeva D)
Ulteriori problemi
Queste politiche generano fasi di broadcast in caso di variazioni
Evoluzione della famiglia di algoritmi per privilegiare variazioni
Reti e Routing 71
Famiglia dei protocolli link state (LS)
Algoritmi
g
link-state
Ogni gateway mantiene una conoscenza completa della
topologia di interconnessione (grafo completo)
Tabelle di routing basate sulla conoscenza dell'intero cammino e
tipicamente percorsi unici da ogni nodo ad ogni rete
Il grafo di interconnessione,
interconnessione per evitare cicli,
cicli viene gestito con
algoritmi che possono favorire decisioni locali (routing
dinamico))
Dijkstra shortest-path-first
Il LS permette intrinsecamente la possibilità di fare source routing e
anche di spedire messaggi diversi su cammini diversi (routing
dinamico) e di utilizzare tutte le risorse di interconnessione
Reti e Routing 72
Strategie link state (LS)
A REGIME, ogni
g gateway
g
y tiene sotto controllo le proprie
connessioni e le verifica periodicamente
• invio periodico di un messaggio ai vicini per controllo della
correttezza
tt
delle
d ll risorse
i
llocalili
• identificazione del guasto (uso di messaggi specifici per evitare
transitori in caso di variazione)
Non appena
pp
si verifica un p
problema,, chi ha rilevato il problema
p
invia
il messaggio di variazione a tutti i partecipanti (broadcast o
flooding del messaggio)
IIn sostanza
t
le
l variazioni
i i i non sono di
dipendenti
d ti da
d possibili
ibili iintermediari
t
di i
I messaggi sono gli stessi qualunque sia la dimensione del sistema
(velocità di propagazione con triggering)
Reti e Routing 73
Proprietà degli algoritmi Link State (LS)
Vantaggi
• si controlla solo il vicinato
propagate
p g
rapidamente
p
((senza ambiguità)
g
)
• azioni di variazione p
• possibilità di scelte differenziate dei cammini nella topologia
• conoscenza dei cammini completi e source routing
Svantaggi
• necessità di mantenere tutta la topologia
• azioni costose (broadcast) in caso di variazione
In generale, necessità di limitare i domini di conoscenza reciproca
Conclusione
Tutti i protocolli dinamici sono poco scalabili in caso di variazioni
(causa broadcast)
Reti e Routing 74
Shortest Path First SPF
Protocollo usato in sistemi Link State per determinare i percorsi
da usare nel routing, univocamente e senza cicli (non multipath)
Algoritmo Shortest Path First (OSPF) Dijkstra
O i nodo
Ogni
d costruisce
t i
una propria
i tabella
t b ll di cammini
i i in
i modo
d
iterativo e la usa per il normale routing
Per ogni altro nodo
nodo, si deve memorizzare il cammino che
permette di raggiungerlo, tenendo come base il grafo di
interconnessione (che viene mantenuto aggiornato)
L’algoritmo permette di calcolare il routing di tutti i cammini
minimi considerando l’albero che parte dal nodo stesso (spanning
tree)
L’algoritmo funziona in modo iterativo per passi, e comincia a
calcolare le distanze dai vicini adiacenti, poi i nodi di distanza due
hop, poi …. fino a trovare un albero completo di cammini minimi
Reti e Routing 75
Sh t t Path
Shortest
P th First
Fi t di Dijkstra
Dijk t
1
B
6
3
2
5
A
C
1
1
D
1
E
• D(x): costo corrente del
1 percorso, dalla sorgente al nodo x
F
4
Notazioni
• c(i,j): costo collegamento dal
nodo i a j:
infinito se non c’è collegamento
• p(x): precedente (collegato a x)
nel cammino dal sorgente a x
• N:
N insieme
i i
di nodi
di già
ià verificati
ifi ti
come cammino
Reti e Routing 76
Algoritmo SPF
<Inizializzazione> N = {{A}}
for tutti i nodi x
do if (x è adiacente a A)
th D(x)
then
D( ) = c(A,x)
(A ) else
l D(x)
D( ) = infinito
i fi it
1
B
6
3
2
5
A
C
1
E
1
1
1
F
D
<Ciclo principale>
4
do <consideriamo un nodo alla volta>
scelto un nodo y tale che D(y) sia minimo, aggiungi y a N
aggiorna D(x) per ogni x adiacente a y e non ancora in N:
D(x) = min( D(x), D(y) + c(y,x) )
< il nuovo costo fino a x è o il vecchio costo
costo, oppure il costo del
cammino più breve fino a y più il costo da y a x >
until tutti i nodi sono in N
Reti e Routing 77
Passi per Algoritmo SPF
Si calcola a partire dal nodo A
per ogni nodo possibile quali sono i
per corsi minimi di raggiungibilità
Dopo N-1 cicli abbiamo aggiunto tutti i nodi
e trovato
t
t tutti
t tti i percorsii minimi
i i i
Passo Nodi Considerati
0
1
2
3
4
5
A
AB
ABC
ABCD
ABCDE
ABCDEF
1
B
6
3
2
5
A
C
1
1
D
1
E
1
F
4
D(B),p(B)
( ),p( ) D(C),p(C)
( ),p( ) D(D),p(D)
( ),p( ) D(E),p(E)
( ),p( ) D(F),p(F)
( ),p( )
6,A
5,A
1,A
infinito
infinito
6,A
5,A
1,A
7,B
infinito
6A
6,A
5A
5,A
1A
1,A
7B
7,B
6
6,C
C
4,C
2,D
1,A
5,C
3,C
4,C
2,D
1,A
5,C
3,C
4C
4,C
2D
2,D
1
1,A
A
4
4,F
F
3
3,C
C
Reti e Routing 78
ROUTING INTERNET
Internet prevede una strategia
g precisa per raggiungere
gg g
tutti i
possibili nodi che possono intervenire in una comunicazione
basata sulla separazione delle reti e sulla loro interconnessione
• Ogni connessione appartiene ad una rete ed una sola
per connessioni punto-a-punto
• Ogni connessione è libera di indirizzare nella rete facendo
operazioni solo locali e a basso costo
per comunicazioni p
p
punto-a-punto
p
o broadcast
• Ogni connessione può indirizzare in Internet (in modo globale)
ma deve usare opportuni intermediari
routing previsto per Internet basato su router responsabili della
comunicazione globale a costo più elevato
L insieme delle reti Internet tende a minimizzare il costo di
L’insieme
supporto del routing
Reti e Routing 79
ROUTING e RETI
Internet prevede una separazione tra reti
RETI uniche logicamente connesse
RETI fisiche separate
Indirizzamento diretto solo nell’ambito di nodi della stessa rete,
altrimenti si devono usare gateway, ossia nodi intermediari con
almeno due indirizzi IP,
IP ossia connessioni su reti diverse che
tendono a connettere
deis33
dida02 e deis33 si vedono
perché in classe B stessa rete
GATEWAY
dida02 e cineca non possono
intervento di un router
HOST
dida02
cineca
Reti e Routing 80
SUBNETTING o SOTTORETI
Ulteriore protezione di restrizione su una rete o politica locale
Una rete può essere divisa in sottoreti al suo interno introducendo
maggiore granularità nella località (all'esterno la suddivisione non è
visibile
i ibil iin alcun
l
modo)
d )
La sottorete è rispettata riconoscendola solo nella sottorete stessa,
anche rafforzandola tramite g
gateway
y interni
Una connessione su una sottorete
• può comunicare direttamente con ogni nodo della sottorete
• non può comunicare direttamente con nodi di altre sottoreti
In modo operativo, ogni nodo divide il campo host in subnet e host
In reti di classe B, subnet host
dida01 137.204.56 subnet 56
suddiviso in 8 bit e 8 bit
deis33 137.204.57 subnet 57
e riconosce le proprie limitazioni
limitazioni, usando i router anche per
comunicazioni all’interno della sua rete stessa
Reti e Routing 81
SUBNETTING MASCHERE
SUBNETTING:
Meccanismo: maschere di chiusura e protezione che
segnalano le capacità locali alla driver di comunicazione
NETMASK come maschera di specifica di subnet per reti delle
varie classi che determina le sottoreti stesse
NETMASK ad esempio maschera in classe B (per 3 byte)
11111111 11111111 11111111 0000000 o 255
255.255.255.000
255 255 000
La MASCHERA come insieme di bit a livello di rete che determina quali
siano i limiti di comunicazione che richiedono un router apposito
pp
p
per
uscire FUORI dalla SOTTORETE
La decisione di mascherare è locale ad ogni connessione e si potrebbe
anche non rispettare (?)
DALL'ESTERNO DELLA RETE Ö il subnetting è invisibile e
non produce alcuna differenza
Reti e Routing 82
SUBNETTING: MASCHERE
DALL‘INTERNO
DALL
INTERNO DELLA RETE Ö organizzazione diversa
quando il messaggio è arrivato alla rete, il routing locale deve
coordinarsi per rendere attiva la suddivisione, usando un router
per portare il messaggio alla corretta sottorete fino alla
destinazione con un coordinamento di tabelle di routing
All’interno della rete, si devono individuare tutti i router per le altre sottoreti
network logica
network IP
gateway di routing
cineca
i
didalan
deislan
cciblan
default
137.204.56
137.204.57
137.204.58
137.204.57.253
13
20
2 3
137.204.57.33
137.204.57.33
137.204.57.33
Il subnetting rende possibili ulteriori suddivisioni dello spazio dei
nomi IP (non deducibili automaticamente dal nome IP)
Reti e Routing 83
ROUTING INTERNET
In Internet si attua un
Routing Gerarchico
per aree distinte di gestione
e con domini amministrativi diversi
unico protocollo di routing per area
La connessione tra le aree
avviene attraverso
gerarchie di router
Routing per livelli
le informazioni di routing
possono essere aggregate
level 1 router
level 2 router
Reti e Routing 84
ROUTING GLOBALE INTERNET
Distinzione tra sistemi core e noncore (ARPANET)
core insieme di gateway chiave con tabelle complete (e replicate)
non core con informazioni di routing solo parziali (e locali)
i nodi CORE si scambiano tutte le informazioni di routing
(algoritmo Distance Vector e Link State)
Nella prima Internet, alcuni core e tutti gli altri non core in modo piatto
Scalabilità? problemi aumentando il numero delle reti
necessità di routing con astrazione e gerarchia
Introduzione dei sottosistemi autonomi
insieme di reti e gateway controllati da una autorità unica centrale, con
proprie politiche di routing interne e non visibili
alcuni gateway di controllo provvedono al protocollo verso l'esterno
i sistemi AUTONOMI devono scambiarsi informazioni di routing e
coordinamento solo intra
intra-sistema
sistema
Reti e Routing 85
ROUTING GLOBALE INTERNET
Necessità di routing con astrazione e gerarchia
Ogni sistema autonomo deve provvedere alla
comunicazione con l’esterno in modo predeterminato
comunicazione
i
i
con l’interno
l’i t
in
i modo
d libero
lib
Exterior Gateway Protocol (EGP)
protocollo del gateway di controllo per trovare il percorso fino ai core
struttura ad albero con i core come radice
Interior Gateway Protocol (IGP)
protocollo per trovare il percorso all'interno di un sistema autonomo
(intra-sistema)
politica che consente percorsi multipli e con possibilità di tollerare i
guasti (algoritmi multipath IGRP CISCO)
Reti e Routing 86
ROUTING LOCALE INTERNET
Routing Information Protocol (RIP) implementato in routed UNIX
nodi attivi e passivi
ATTIVI partecipano a determinare i percorsi
PASSIVI restano ad ascoltare le decisioni degli altri
si manda un messaggio ogni 30 secondi nel vicinato con la tabella di
routing locale
Si aggiornano le tabelle in base ai messaggi ricevuti: se i messaggi
rilevano cammini più brevi di quelli noti si stabiliscono nuovi cammini
Un cammino ha un time
time-out
out associato e scade dopo un certo intervallo
Ogni nodo viene dichiarato guasto se non ha mandato un messaggio per un
certo intervallo (180 sec)
Metrica senza costi di link e valore massimo a 10
Introduciamo una limitata capacità di riconfigurazione
Ad tt solo
Adatto
l per reti
ti di piccole
i
l dimensioni
di
i i
Reti e Routing 87
ROUTING NON GLOBALE IP
IP_ROUTING servizio di instradamento non globale (routing IP)
L'IP
L
IP routing determina l'indirizzo
l indirizzo IP del nodo successivo a cui inviare il
datagramma, usando ad ogni passo l’indirizzo del ricevente, e passa il
datagramma all'interfaccia di rete
routing con indirizzi IP
decisione del percorso sull'indirizzo di destinazione con tabella di
instradamento (Internet Routing Table) presente sia sugli host che sui
gateway
informazioni sulla destinazione e su come raggiungerla
routing
i IP b
basato su informazioni
i f
i i
analisi o
datagramma da
di rete e non di nodo
aggiornamento
instradare
dei percorsi
per ridurre dimensioni della tabella e
p
algoritmo
tabella di
per aumentare efficienza nella
di routing
routing
protocollo IP
scelta percorso
utilizzo indirizzi IP
utilizzo
tili
iindirizzi
di i i fifisici
i i
invio datagramma
alla successiva
Reti e Routing
destinazione
88
PROPRIETÀ ROUTING IP
routing statico
t tt il traffico
tutto
t ffi per una data
d t rete
t →
stesso percorso e non eventuali percorsi alternativi
(vedi problemi in caso di limiti di tempo ed urgenze)
autonomia
ogni gateway è autonomo: ogni datagramma da A verso B può
g
un p
percorso differente rispetto
p
aq
quello da B verso A
seguire
i gateway devono cooperare per garantire le due vie di
comunicazione nei due sensi
visibilità
solo il gateway finale comunica con il destinatario e verifica se
l'host esiste ed è operativo: quindi può rimandare al mittente
indicazioni dei problemi di mancata consegna
gli intermediari mandano il datagramma in base alla tabella
corrente o alle decisioni di routing attuali
Reti e Routing 89
PROPRIETÀ del ROUTING IP
PERCORSO A DEFAULT
In genere, il routing IP cerca nella tabella locale una eventuale uscita
ad hoc, poi invia il datagramma al gateway di default
scelta di un gateway cui inviare i messaggi se non si conosce alcuna
informazione correttamente
Strategia default come unica per host che servono una piccola
quantità
tità di utenti
t ti e sono collegati
ll
ti attraverso
tt
una sola
l connessione
i
ad Internet
PERCORSO DIRETTO AD UNO SPECIFICO HOST
Indirizzamento diretto ad un host in modo diretto e specifico, per
esigenze
i
particolari
ti l i
con un migliore controllo delle risorse in caso di traffico speciale
si veda netstat -r
Reti e Routing 90
ALGORITMO di ROUTING IP
function Route_IP_Datagram (datagram, routing_table)
Separazione indirizzo IP destinatario (Idest) datagramma
Valutazione indirizzo IP della rete di destinazione (Inet)
if
Inet un indirizzo raggiungibile direttamente
then invio diretto del datagramma sulla rete destinataria
(trasformazione indirizzo IP in indirizzo fisico e incapsulamento
del datagramma in frame)
else if
Idest un host con un cammino proprio
then invio del datagramma in base alla tabella di routing
else
l
if
I t sii può
Inet
ò ottenere
tt
d
da una entry
t nella
ll ttabella
b ll di routing
ti
(tenendo conto di subnet)
g
al p
prossimo g
gateway
y
then si invia il datagramma
else
percorso di default per tutti i restanti datagrammi
Si tiene conto della sottorete usando la maschera ed Idest
Reti e Routing 91
ALGORITMO di ROUTING IP
DATAGRAMMI in ingresso
Ogni
g host o g
gateway
y tratta i datagrammi
g
ricevuti
Tabella di routing → interfaccia chiara tra IP che instrada i
datagramma e la gestione di alto livello dei percorsi
host
if
then
else
livello IP verifica se destinatario utente locale
arrivato,
lo accetta e lo passa al protocollo di alto livello
controllo destinazione
evitando rinvii di datagrammi consegnati per errore
gateway
gate
a
due casi: destinazione finale o ulteriore routing e altro invio
instradamento con algoritmo standard usando informazioni della
tabella di indirizzamento locale
Reti e Routing 92
ROUTING
Routing Information Protocol (RIP)
(
(con
split
lit horizon
h i
triggered
ti
d update
d t poisoned
i
d reverse))
ispirato a Distance-Vector (con modifiche) basato su
• ruoli attivi e passivi
• broadcast (30 secondi) di messaggi di cambiamento
• mantiene vecchi cammini
• elimina problemi di non convergenza
Open SPF Protocol (Link-State o Shortest Path First)
con servizi ulteriori
• cammini multipli e load balancing, cammini specifici
• introduzione di aree auto-contenute
auto contenute
• autenticazione
• definizione di risorse virtuali
• ottimizzazione delle risorse (broadcast)
Reti e Routing 93