Il modello ISO-OSI

Un approccio molto utilizzato nel disegno e nello studio delle architetture di rete è quello della divisione in livelli. Ogni livello assolve solo ad alcuni compiti e fornisce servizi al livello soprastante il quale li utilizza per assolvere i propri compiti. In questo modo è possibile dividere i compiti tra i vari livelli semplificando il progetto. La figura [*] mostra un esempio di modello a livelli.

Figure: Il modello stratificato.
\resizebox*{!}{7cm}{\includegraphics{immagini/CAP2/1-9.eps}}

Viene mostrata la comunicazione tra due host, anche se in realtà la comunicazione avviene al livello più basso (collegamento fisico) il livello i-esimo di un host comunica con il livello i-esimo dell'altro host tramite il protocollo di livello i-esimo. Sono inoltre evidenziate le interfacce tra i vari livelli: è tramite queste ultime che ogni livello accede ai servizi offerti dal livello sottostante.

La ISO (International Standard Organization) ha prodotto nel 1983 uno standard per l'interconnessione di sistemi denominato OSI (Open System Interconnection). OSI è un modello a 7 livelli, non ha avuto molto successo da un punto di vista delle implementazioni ma è tuttora molto utilizzato per scopi didattici, la figura [*] mostra la sua architettura.

Figure: Il modello ISO-OSI.
\resizebox*{!}{9cm}{\includegraphics{immagini/CAP2/1-16.eps}}

Si vedono 2 host che comunicano tra di loro a partire dal livello trasporto, anche se in realtà il collegamento fisico passa attraverso più host.

Il livello fisico si occupa della trasmissione vera e propria dei dati, al livello superiore fornisce un astrazione di un canale virtuale sul quale viaggiano i bit.

Il livello data link offre un canale virtuale per pacchetti, i compiti svolti vanno dal controllo di errore e di flusso al framing.

Il livello rete offre un canale virtuale per pacchetti end-to-end, quindi risolve problemi come il routing, ed eventualmente si può occupare del controllo di congestione. Nei livelli sottostanti si ha la visibilità dei soli host collegati fisicamente, dal livello rete in poi si ha la visibilità di tutti gli host collegati alla rete.

Il livello di trasporto realizza un canale virtuale per messaggi end-to-end, si occupa quindi della divisione dei messaggi in pacchetti, inoltre se richiesto è al livello trasporto che viene garantita l'affidabilità del collegamento.

Il livello sessione implementa una sessione virtuale all'interno della quale trasmettere messaggi anche di tipo diverso in modo del tutto trasparente ai livelli superiori, a questo livello, se necessario, vengono risolti problemi come la sincronizzazione o la gestione dei token.

Il livello presentazione offre funzioni come la conversione tra i formati oppure come la compressione o la cifratura dei dati, a questo livello diviene determinante la semantica della informazioni trasmesse.

Il livello applicazione contiene una serie di applicazioni che sfruttano i meccanismi sottostanti, quindi si possono trovare applicazioni per il trasferimento di dati, di video, oppure applicazioni di terminale remoto, ecc.

Debian User 2003-06-05