Concetti Chiave
- Il livello di rete opera sia su host che su router, gestendo la comunicazione host-to-host e offrendo servizi di consegna dei pacchetti tramite modelli a datagrammi e circuiti virtuali.
- Due funzioni chiave del livello di rete sono l'inoltro, che trasferisce pacchetti tramite router, e l'instradamento, che stabilisce i percorsi dei pacchetti attraverso la rete.
- L'inoltro utilizza tabelle per determinare l'uscita appropriata per i pacchetti, mentre l'instradamento può essere centralizzato o distribuito per configurare queste tabelle.
- Il livello di rete può includere un'impostazione della connessione, simile all'handshake TCP, per architetture che richiedono uno stato prima del flusso di pacchetti.
- I servizi di rete variano da consegna garantita e ritardo limitato a consegna in ordine e jitter limitato, mentre Internet offre il servizio best-effort senza garanzie specifiche.
Il primo implica il trasferimento di un pacchetto da un collegamento in ingresso a un collegamento in uscita all’interno di un singolo router. Il secondo coinvolge tutti i router di una rete, le cui interazioni collettive (attraverso i protocolli d’instradamento) determinano i percorsi (path o route) seguiti dai pacchetti nel loro viaggio dal nodo di origine a quello destinazione. Osserviamo la figura in cui viene illustrata una rete, e consideriamo il ruolo del livello di rete nell’ambito di una trasmissione da H1 a H2 e il compito dei router. Il livello di rete in H1 prende i segmenti dal livello di trasporto, li incapsula in un datagramma che trasmette al proprio router limitrofo (quello più vicino),R1. Nell’host H2, il livello di rete riceve i datagrammi dal proprio router contiguo R2, estrae i segmenti li consegna al livello di trasporto. In questo processo, il ruolo dei router è inoltrare i datagrammi dai loro collegamenti d’ingresso a quelli di uscita. La pila di protocolli dei router non ha ulteriori livelli sopra quello di rete, in quanto questi non eseguono applicazioni, se non a scopo di controllo.
- inoltro (forwarding). Quando un router riceve un pacchetto, lo trasferisce sull’appropriato collegamento d’uscita.
- instradamento (routing). Il livello di rete determina, tramite algoritmi d’instradamento (routing algorithm), il percorso che i pacchetti devono seguire.
Con inoltro faremo quindi riferimento all’azione con cui il router trasferisce i pacchetti da un’interfaccia d’ingresso a quella in uscita. Con instradamento indicheremo, invece, il possesso di rete che determina i percorsi dei pacchetti nel loro viaggio dall’origine alla destinazione. A titolo esemplificativo, supponiamo che Giacomo stia viaggiando sull’autostrada da Roma a Bologna. In questo caso, l’instradamento corrisponde al processo di pianificazione dell’intero viaggio cui ha provveduto consultando una cartina stradale e scegliendo uno tra i molteplici percorsi possibili. Lungo l’itinerario prestabilito, Giacomo percorre una serie di segmenti di strada e incontra numerosi svincoli il cui attraversamento può essere paragonato all’inoltro: l’auto entra nello svincolo, prende la direzione desiderata e si immette sul tratto di strada che porterà allo svincolo successivo. Per inoltrare i pacchetti, i router estraggono dal campo intestazione il valore che utilizzano come indice nella tabella d’inoltro (forwarding table). Il risultato indica a quale interfaccia di collegamento il pacchetto debba essere diretto. A seconda del protocollo, il valore nell’intestazione del pacchetto può rappresentare l’indirizzo di destinazione o la connessione cui appartiene. La figura ne fornisce un esempio. Il pacchetto con valore del campo intestazione pari a 0111 giunge a un router che,tramite l’indice della propria tabella d’inoltro, individua che l’interfaccia di collegamento in uscita è la 2. Come si vede in figura l’algoritmo d’instradamento determina i valori inseriti nelle tabelle d’inoltro dei router. L’algoritmo d’inoltro può essere centralizzato (ad esempio, con un algoritmo in esecuzione su un sito centrale che scarica informazioni d’instradamento a ciascuno dei router) o decentralizzato (ad esempio, con una parte dell’algoritmo d’instradamento distribuito in esecuzione su ciascun router). In entrambi i casi, il router riceve messaggi d’instradamento, che vengono utilizzati per configurare la sua tabelle d’inoltro. Importante ricordare che:
- commutatore di pacchetto (packet switch) indica il dispositivo che si occupa del trasferimento dell’interfaccia in ingresso a quella in uscita, in base al valore del campo nell’intestazione del pacchetto;
- router: sono i commutatori che prendono le decisioni d’inoltro basandosi sul valore nel campo a livello di rete.
Consideriamo ora alcuni servizi che il livello di rete potrebbe offrire quando il livello di trasporto dell’host mittente passa un pacchetto al livello di rete.
• Consegna garantita. Questo servizio assicura che il pacchetto giunga, prima o poi,alla propria destinazione.
• Consegna garantita con ritardo limitato. Questo servizio non solo garantisce la consegna del pacchetto, ma anche il rispetto di un limite di un ritardo specificato.
• Consegna in ordine. Questo servizio garantisce che i pacchetti giungano alla destinazione nell’ordine in cui sono stati inviati.
• Minima ampiezza di banda garantita. Questo servizio a livello di rete emula il comportamento trasmissivo dal bit rate specificato tra host d’invio e di ricezione anche se l’effettivo percorso da capo a capo può attraversare diversi collegamenti fisici. Finchè l’host d’invio trasmette bit ( come parte di pacchetti) a una frequenza inferiore al bit rate specificato, non si verifica perdita di pacchetti che giungono entro un ritardo predeterminato.
• Jitter limitato. Questo servizio garantisce che il lasso di tempo tra la trasmissione di due pacchetti consecutivi sia uguale a quello di ricezione. Si tratta di una lista parziale in quanto esistono innumerevoli possibili variazioni.
Il livello di rete di Internet mette a disposizione un solo servizio noto come servizio best-effort, ossia “col massimo impegno possibile”. Il servizio best-effort non garantisce di preservare la temporizzazione tra pacchetti, né la loro ricezione nel medesimo ordine d’invio e nemmeno che vengano consegnati. In questi termini, una rete che on consegna alcun pacchetto alla destinazione soddisfarebbe la definizione di servizio best-effort. E in effetti Internet talvolta potrebbe apparire come un esempio di rete che si comporta in tal modo.
Domande da interrogazione
- Qual è il ruolo principale del livello di rete nella comunicazione tra host?
- Qual è la differenza tra inoltro e instradamento nel contesto del livello di rete?
- Quali sono i modelli di consegna dei pacchetti offerti dal livello di rete?
- Cosa si intende per impostazione della connessione a livello di rete?
- Qual è il servizio offerto dal livello di rete di Internet?
Il livello di rete ha il compito di trasferire pacchetti da un host a un altro, gestendo le funzioni di inoltro e instradamento per determinare il percorso dei pacchetti.
L'inoltro si riferisce al trasferimento di pacchetti da un'interfaccia d'ingresso a quella d'uscita di un router, mentre l'instradamento determina il percorso che i pacchetti devono seguire attraverso la rete.
Il livello di rete può offrire vari servizi come consegna garantita, consegna con ritardo limitato, consegna in ordine, minima ampiezza di banda garantita e jitter limitato.
L'impostazione della connessione è un processo in cui i router effettuano un handshake per impostare lo stato prima che i pacchetti inizino a fluire, simile al processo di handshake a tre vie del TCP.
Il livello di rete di Internet offre un servizio noto come best-effort, che non garantisce la temporizzazione, l'ordine di ricezione o la consegna dei pacchetti.