1 16: Network layer: 16: Network layer: introduzione introduzione, , algoritmi algoritmi di routing di routing R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010 1 Funzioni dello strato di rete Funzioni dello strato di rete Allo strato di trasporto la comunicazione tra i processi paritari di livello 4 deve apparire come una comunicazione punto-punto Lo strato di rete ha quindi come funzione quella di fornire allo strato di trasporto un servizio per la consegna dei dati in modo da mascherare l’infrastruttura della rete (la sottorete) Nomenclatura: ⇒ host o end-node: stazione su cui opera lo strato di trasporto che deve trasmettere o ricevere i dati utilizzando il servizio dello strato di rete ⇒ pacchetto: insieme di dati+header+trailer che lo strato di rete costruisce e deve trasmettere fino a destinazione ⇒ router: stazione intermedia che opera a livello 3, che riceve i pacchetti e li inoltra attraverso la (sotto)rete R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010 2
20
Embed
16: Network layer: introduzioneintroduzione, algoritmi ...infocom.uniroma1.it/~rinauro/tlc2010/lucidi/Tlc10_16_NetworkLayer... · Altro esempio di algoritmo statico, prevede di inoltrare
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1
16: Network layer:16: Network layer:
introduzioneintroduzione, , algoritmialgoritmi di routingdi routing
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
1
Funzioni dello strato di reteFunzioni dello strato di rete
� Allo strato di trasporto la comunicazione tra i processi paritari di livello 4 deve
apparire come una comunicazione punto-punto
� Lo strato di rete ha quindi come funzione quella di fornire allo strato di
trasporto un servizio per la consegna dei dati in modo da mascherare
l’infrastruttura della rete (la sottorete)
� Nomenclatura:
⇒ host o end-node: stazione su cui opera lo strato di trasporto che deve
trasmettere o ricevere i dati utilizzando il servizio dello strato di rete
⇒ pacchetto: insieme di dati+header+trailer che lo strato di rete costruisce e
deve trasmettere fino a destinazione
⇒ router: stazione intermedia che opera a livello 3, che riceve i pacchetti e li
inoltra attraverso la (sotto)rete
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
2
2
Funzioni dello strato di rete (Funzioni dello strato di rete (contcont.).)
� In generale due host sono separati da un certo numero di nodi, interconnessi
da svariate linee
� Spesso sono possibili più tragitti tra i due nodi (ad esempio nelle reti magliate)
� Potenzialmente i nodi sono separati da reti funzionanti con tecnologie
differenti
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
3
Funzioni dello strato di rete (Funzioni dello strato di rete (contcont.).)
� Lo strato di rete deve quindi occuparsi dei seguenti argomenti
⇒ determinare quale tragitto tra quelli disponibili dovranno seguire i dati
(instradamento, routing) - questo può richiedere che lo strato di rete
conosca la topologia della rete
⇒ reagire a modifiche di topologie della rete - se esiste un meccanismo
dinamico per l’apprendimento della topologia, questo permetterà di
apprenderne anche le modifiche nel tempo
⇒ evitare di sovraccaricare linee quando sono disponibili percorsi alternativi
(congestione)
⇒ risolvere i problemi connessi al transito attraverso reti differenti
(internetworking) - quest’ultima funzione è caratteristica del TCP/IP
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
4
3
Servizi offerti allo strato superioreServizi offerti allo strato superiore
� Inizialmente OSI prevedeva che lo strato di rete fornisse solo un servizio
connection oriented
⇒ analogo al funzionamento del servizio telefonico
⇒ questo servizio, caldeggiato dalle compagnie telefoniche, permette di
operare fatturazione a tempo e di offrire servizi di qualità riservando le
risorse a priori
� In seguito c’è stata forte richiesta di introdurre nello standard anche un
servizio connection less, e così è stato fatto
⇒ l’inaffidabilità intrinseca della sottorete fa si che comunque lo strato di
trasporto dovrà occuparsi della integrità dei dati
⇒ può quindi essere opportuno un meccanismo più leggero per il recapito
dei dati a livello 3
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
5
ServizioServizio connectionconnection--lessless
� Richiede che i pacchetti siano instradati indipendentemente l’un l’altro
� Generalmente un router dispone di una tabella che definisce la linea di uscita
dove trasmettere un pacchetto in base alla destinazione finale
⇒ il router riceve il pacchetto, lo memorizza per analizzarlo, decide su quale
linea in uscita instradarlo, lo accoda, quindi lo trasmette in base alla
tabella (store and forward)
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
6
4
ServizioServizio connectionconnection--lessless
� Ogni pacchetto deve quindi contenere l’indirizzo di destinazione
� Le tabelle possono modificarsi nel tempo � i pacchetti possono non seguire
la stessa strada
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
7
Servizio Servizio connectionconnection--orientedoriented
� Ad una connessione si associa un circuito (eventualmente virtuale) nella
sottorete a lei dedicato
� Sequenza di router del cammino: è definita a priori, durante la fase di
inizializzazione della connessione
� Tutti i pacchetti della stessa connessione seguono la stessa strada
� L’instradamento del pacchetto viene quindi fatto in base alla sua appartenenza
ad una connessione e non alla sua destinazione finale
� L’intestazione del pacchetto sarà più semplice, dovendo contenere solo
l’identificativo della connessione
� La connessione potrà essere stabilita in modo da garantire le risorse necessarie
alla trasmissione, rendendola più affidabile
� Una connessione successiva tra gli stessi nodi potrebbe definire un circuito
virtuale differente dal precedente
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
8
5
Tabelle per la definizione dei circuiti virtualiTabelle per la definizione dei circuiti virtuali
� Il nodo sceglie un identificativo per il circuito virtuale, utilizzando un numero (il
più basso disponibile)
� Il router adiacente non è detto abbia disponibile l’identificativo scelto dal nodo
⇒ potrebbe averlo già assegnato ad un’altro circuito virtuale proveniente da
un altro nodo
� In generale sceglie un identificativo differente, ma lo associa all’identificativo
scelto dal nodo per i pacchetti provenienti dal nodo stesso
� Questo processo viene iterato fino a destinazione
� Ogni router avrà quindi una tabella del tipo:
Nodo provenienza
Circuito virtualeNodo
destinazioneCircuito virtuale
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
9
Tabelle per la definizione dei circuiti virtualiTabelle per la definizione dei circuiti virtuali
� Ad ogni pacchetto in arrivo da un certo nodo (host o router) contenente un
certo identificativo, il router cercherà nella tabella l’host a cui inoltrare il
pacchetto e l’identificativo relativo
� Sostituirà l’ID vecchio col nuovo ed inoltrerà il pacchetto
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
10
6
ConfrontoConfronto
Problema Datagrammi Circuito virtuale
Impostazione circuito Non necessaria Richiesta
Indirizzamento Ogni pacchetto contiene l’indirizzo completo di mittente e destinatario
Ogni pacchetto contiene un numero di circuito virtuale
Informazioni sullo stato I router non conservano informazioni sullo stato delle connessioni
Ogni CV richiede spazio nella tabella dei router per la connessione
Routing Ogni pacchetto viene instradato indipendentemente
Il percorso è definito all’impostazione del CV
Effetto dei guasti Nessuno tranne i pacchetti che si trovano in coda sul router che si guasta al momento del guasto
Tutti i CV che attraversano il router che si guasta vengono terminati
Qualità del servizio Realizzazione complessa Semplice
Controllo congestione Difficile Semplice
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
11
RoutingRouting ed inoltroed inoltro
� La funzione principale dello strato di rete è il routing
� Questo è il processo che permette al router di scegliere – tramite un algoritmo
– la linea di uscita verso cui instradare i dati
� Si possono distinguere le due operazioni:
⇒ inoltro: il processo che, in base all’indirizzo di destinazione o al circuito
virtuale, sceglie la linea di uscita in funzione di dati noti (tabelle, stato
delle linee, …)
⇒ definzione delle tabelle: il processo di creazione ed aggiornamento della
tabella (detta tabella di routing) che associa alla destinazione la linea di
uscita da utilizzare; questa operazione viene eseguita in base ad
algoritmi detti algoritmi di routing
� In molti casi queste sono operazioni distinte eseguite in momenti diversi da
processi distinti all’interno dello strato di rete
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
12
7
Caratteristiche di un algoritmo di Caratteristiche di un algoritmo di routingrouting
� è desiderabile che un algoritmo di routing abbia le seguenti caratteristiche
⇒ correttezza: ovvio
⇒ semplicità: meno soggetto ad errori in implementazione o in esecuzione
⇒ robustezza: la rete non è stabile, e l’algoritmo deve poter fare fronte alle
modifiche di topologia
⇒ stabilità: convergenza verso l’equilibrio
⇒ imparzialità: servire qualunque tragitto possibile senza penalizzare
nessuno
⇒ ottimizzazione: efficienza globale
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
13
Algoritmi adattivi e non adattiviAlgoritmi adattivi e non adattivi
� Esistono due classi di algoritmi di routing
⇒ non adattivi: l’algoritmo per l’instradamento viene calcolato a priori e non
si modifica più (routing statico)
⇒ adattivi: questi algoritmi modificano le tabelle in funzione di cosa accade
sulla rete (modifiche di topologia, carico sulla rete)
� Gli algoritmi adattivi si differenziano in base a:
⇒ sorgente delle informazioni, che possono essere il router stesso, i soli
router adiacenti o tutti i router della rete
⇒ al momento in cui effettuano le modifiche, che possono avvenire ad
intervalli regolari, in funzione del carico della rete o in funzione di
modifiche della topologia
⇒ al tipo di informazioni su cui si basano le decisioni (la metrica): la
distanza, il numero di salti, il tempo di transito stimato, …
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010
14
8
RoutingRouting staticostatico
� Esempio più semplice di algoritmo non adattivo
� La tabella di routing viene inserita a mano nella configurazione del router, e non
viene modificata dinamicamente; eventualmente può essere modificata
manualmente anche in corso d’opera
� Virtualmente ingestibile in condizioni di reti anche banalmente complesse, ma
utilizzato diffusamente per circostanze particolari:
1. un router ha una unica connessione
2. un router ha più di una connessione, ma per tutte le connessioni tranne una c’è
una destinazione che non può
cambiare per motivi di topologia,
e l’ultima connessione deve
essere utilizzata per tutte le altre
destinazioni
R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010