Un po’ di storia
Il Modello di Riferimento ISO/OSI venne sviluppato nel 1984. Lo scopo era quello di definire uno standard in grado di facilitare la comunicazione tra i continenti che avevano sviluppato ognuno le proprie tecnologie. Successivamente prese il nome di modello ISO/OSI:
- OSI sta per «Open Systems Interconnection» e rappresenta la
linea guida per la progettazione di protocolli di rete.
- ISO è riferito al fatto che sia uno standard (International
Organization for Standardization).
Cos’è
Il modello ISO/OSI è un modello teorico di riferimento nel quale i protocolli di rete vengono suddivisi in 7 livelli gerarchici, che rappresentano le “fasi” in cui è stata scomposta la comunicazione, con lo scopo di facilitarla.
Il suo punto forte è la capacità di rilevare i malfunzionamenti in autonomia e di agire in funzione di essi. Ad esempio se uno dei nodi della rete è guasto, automaticamente non verrà utilizzato nella comunicazione). All’interno di questa architettura ogni livello superiore svolge una funzione specifica e sfrutta i servizi dei livelli inferiori, senza conoscere le modalità adoperate da questi ultimi per svolgerli.
Livelli
Un livello (layer) è un insieme di tecnologie sviluppate per la risoluzione dei problemi nella rete. Ogni livello deve fornire servizi al livello superiore nascondendo i dettagli dell’implementazione.
L’utilizzo di un architettura a livelli è vantaggioso poiché questo tipo di modelli :
- Forniscono modularità e interfacce chiare
- Permettono l’estendibilità di funzioni
I primi 3 livelli dello stack vengono detti livelli applicativi, poiché regolano gli aspetti software della comunicazione, mentre gli altri 4 vengono definiti livelli tecnici dato che regolano la parte più tecnica di essa.
In particolare gli ultimi due livelli gestiscono gli aspetti hardware della comunicazione e vengono detti livelli di accesso ai dispositivi di comunicazione (molto spesso vengono uniti in un unico livello).
Tutti i nodi finali della rete (server, computer ecc..) saranno dotati di tutti e 7 i livelli.
A differenza di quelli finali, i nodi tecnici di una rete sono privi dei livelli applicativi e nella maggior parte dei casi utilizzano solamente gli ultimi 3 livelli in quanto la loro unica funzione è quella di trasmettere i dati. (in alcuni casi utilizzeranno anche il 4 livello).
Le rispettive funzioni dei 7 livelli dell’architettura ISO/OSI sono le seguenti:
Applicazione [7]
Il livello Applicazione rappresenta l’interfaccia delle applicazioni in rete, quindi è il livello che interagisce con l’utente direttamente. Ad esempio se l’utente riceve un messaggio, questo livello si occuperà di mostrarglielo sullo schermo.
Presentazione [6]
Il livello Presentazione si occupa di preparare i dati, la sua funzione principale è quella di codificare i dati in un formato comune, in modo da renderli comprensibili per il destinatario (adatti alla presentazione). Oltre a ciò si occupa della compressione e de-compressione dei dati e della cifratura di essi.
Sessione [5]
Il livello Sessione, come lascia intendere il nome stesso, ha la funzione di creare una sessione di comunicazione (necessaria affinché avvenga la comunicazione) tra mittente e destinatario e di mantenerla fino al completo trasferimento dei dati. Un esempio riguardante l’applicazione di questo livello è rappresentato dal log-in su una qualsiasi piattaforma in rete.
Trasporto [4]
Il livello Trasporto si occupa di suddividere i dati in PDU (chiamati segmenti a questo livello) e oltre a ciò di garantire la loro trasmissione end-to-end, gestendo eventuali errori (come la perdita dei PDU o la loro corruzione).
Rete [3]
Il livello Rete ha la funzione di gestire il traffico dei pacchetti sulla rete (che prendono il nome di datagrammi), sviluppando un percorso per ognuno di essi in base allo stato della rete in quel momento. Quest’ultimo è determinato dal livello di congestionamento della rete e dallo stato dei dispositivi.
Collegamento [2]
Il livello Collegamento si occupa della coordinazione del livello fisico, stabilendo le regole da utilizzare nella trasmissione dei dati in modo da renderla efficiente (gestendo gli errori). In questo livello i pacchetti prendono il nome di trame.
Fisico [1]
Il livello Fisico è quel livello che ha la funzione di codificare i dati e trasmettere i segnali attraverso le interfacce a livello fisico.