Che cos’è il modello OSI?

Il modello Open Systems Interconnection suddivide la comunicazione di rete in sette livelli. Tali livelli sono utili nell’identificazione di eventuali problemi di rete.

Share facebook icon linkedin icon twitter icon email icon

Il modello OSI

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Definire il modello OSI
  • Identificare i 7 livelli del modello OSI
  • Comprendere il flusso dei dati attraverso il modello OSI

Che cos’è il modello OSI?

Il modello Open Systems Interconnection (OSI) è un modello concettuale creato dall'Organizzazione internazionale per la normazione che consente a sistemi di comunicazione differenti di dialogare utilizzando protocolli standard. In parole semplici, l'OSI fornisce uno standard che consente a sistemi informatici differenti di comunicare tra di loro.


Il modello OSI può essere visto come un linguaggio universale per i collegamenti in rete tra computer. Si basa sull’idea di suddividere un sistema di comunicazione in sette livelli astratti, l’uno sovrapposto all'altro.

undefined

Ciascun livello del modello OSI gestisce una fase di lavoro specifico, e comunica con il livello direttamente soprastante e sottostante. Gli attacchi DDoS prendono di mira livelli specifici della connessione di rete, mentre gli attacchi al livello applicativo aggrediscono il settimo livello egli attacchi al livello di protocollo interessano il terzo e il quarto livello.

Perché è importante il modello OSI?

Sebbene l'Internet moderno non segua rigorosamente il modello OSI (ricalca più puntualmente la suite di protocolli Internet, più semplice), questo modello è ancora estremamente utile per la risoluzione dei problemi di rete. Che si tratti di un utente che non riesce a collegare il suo laptop a Internet, o di un sito web fuori uso per migliaia di utenti, il modello OSI aiuta a scomporre il problema e a isolarne l'origine. Se si riesce a circoscrivere il problema a un livello specifico del modello, è possibile risparmiarsi moltissimo lavoro.

Quali sono i sette livelli del modello OSI?

I sette livelli di astrazione del modello OSI possono essere definiti come segue, dall'alto verso il basso:

The Application Layer

7. Il Livello di Applicazione

Questo è l'unico livello che interagisce direttamente con i dati provenienti dall'utente. I software applicativi, come i browser e i client di posta elettronica, si affidano al livello di applicazione per avviare le comunicazioni. È opportuno chiarire che i software applicativi client non fanno parte del livello applicativo, ma è piuttosto quest'ultimo ad essere responsabile per i protocolli e la manipolazione dei dati su cui si basa il software per presentare all'utente dati coerenti. Tra i protocolli del livello di applicazione figurano i protocolli HTTP e SMTP (Il Simple Mail Transfer Protocol è uno dei protocolli che rendono possibili le comunicazioni via e-mail).

The Presentation Layer

6. Il Livello di Presentazione

Questo livello si occupa principalmente di preparare i dati in modo da renderli utilizzabili dal livello di applicazione. In altre parole, il sesto livello rende i dati presentabili e permette alle applicazioni di usarli. Il livello di presentazione è responsabile del trasferimento, della cifratura e della compressione dei dati.


Poiché due dispositivi comunicanti possono utilizzare metodi di codifica diversi, il livello 6 è responsabile della conversione dei dati in arrivo in una sintassi che il livello applicativo del dispositivo ricevente possa comprendere.


Se i dispositivi comunicano tramite una connessione crittografata, il livello 6 è responsabile dell'aggiunta della crittografia dal lato mittente e della decodifica della crittografia dal lato destinatario in modo da presentare al livello applicativo dati non crittografati e leggibili.


Infine, il livello di presentazione ha il compito di comprimere i dati ricevuti dal livello applicativo prima di inviarli al quinto livello. Riducendo la quantità di dati da trasferire, la compressione migliora la rapidità e l'efficienza della comunicazione.

The Session Layer

3. Il Livello di Sessione

Il livello di sessione ha il compito di aprire e chiudere le comunicazioni che intercorrono tra due dispositivi. L'intervallo di tempo tra l'apertura e la chiusura della comunicazione prende il nome di "sessione", e l'omonimo livello si assicura che la sessione rimanga aperta per un tempo sufficiente a trasferire tutti i dati oggetto di scambio, per poi chiuderla con tempestività per evitare sprechi di risorse.


Il livello di controllo inoltre sincronizza il trasferimento di dati con l'inserimento di punti di controllo. Ad esempio, se si sta trasferendo un file da 100 megabyte, il livello di sessione può predisporre un punto di controllo ogni megabyte. Se dopo aver trasferito 52 megabyte si verifica una disconnessione o un crash, la sessione potrà essere ripresa dall'ultimo punto di controllo, e solo altri 50 megabyte di dati dovranno essere trasferiti. In assenza di punti di controllo, il trasferimento dovrebbe cominciare daccapo.

The Transport Layer

4. Il Livello di Trasporto

Il quarto livello si occupa delle comunicazioni end-to-end tra i due dispositivi. Ciò comporta prelevare dati dal livello di sessione e suddividerli in partizioni denominate "segmenti", prima di inviarli al terzo livello. Il livello di trasporto del dispositivo ricevente dovrà quindi ricomporre i segmenti per ricostituire dati utilizzabili dal livello di sessione.


Il livello di trasporto effettua anche il controllo di flusso e il controllo di errore. Il controllo di flusso stabilisce una velocità di trasmissione ottimale, in modo che un mittente dotato di una connessione veloce non travolga un destinatario con una connessione più lenta. Il livello di trasporto effettua il controllo di errore sul lato ricevente, accertandosi che i dati ricevuti siano completi e richiedendo una ritrasmissione se non lo sono.

The Network Layer

3. Il Livello di Rete

Il compito del livello di rete è facilitare il trasferimento dati tra due reti differenti. Se i due dispositivi in comunicazione si trovano sulla medesima rete, l'intervento di questo livello è superfluo. Il livello di rete prende i segmenti del livello di trasporto e li suddivide nel dispositivo mittente in unità ancora più piccole, dette "pacchetti", che vengono poi riassemblati nel dispositivo ricevente. Il livello di rete ha anche il compito di trovare il percorso fisico migliore per far arrivare i dati a destinazione, in un processo denominato "routing" o "indirizzamento".

The Data Link Layer

2. Il Livello di Collegamento Dati

Il livello di collegamento dati è molto simile al livello di rete, con la differenza che il livello di collegamento dati semplifica il trasferimento dati tra due dispositivi che sussistono nella STESSA rete. Il livello di collegamento dati prende i pacchetti dal livello di rete e li suddivide ulteriormente in frammenti più piccoli denominati "frame". Esattamente come il livello di rete, il livello di collegamento dati detiene la responsabilità per il controllo di flusso e il controllo di errore nelle comunicazioni all'interno della medesima rete (il livello di trasporto effettua questi controlli unicamente per le comunicazioni tra reti diverse).

The Physical Layer

1. Il Livello Fisico

Il livello fisico comprende le apparecchiature fisiche coinvolte nel trasferimento dei dati, come cavi e commutatori. Questo è anche il livello in cui i dati vengono trasformati in un flusso di bit, ovvero in una successione di "0" e "1". Inoltre, il livello fisico di entrambi i dispositivi deve concordare su una convenzione di segnale, in modo che entrambi su entrambi i dispositivi gli "1" possano essere distinti dagli "0".

Come i dati fluiscono attraverso il modello OSI

Affinché le informazioni leggibili dall'essere umano possano essere trasferite su una rete da un dispositivo a un altro, i dati devono fluire lungo i sette livelli del modello OSI sul dispositivo mittente, quindi sui sette livelli del destinatario.


Supponiamo che il signor Rossi desideri inviare una e-mail alla signorina Neri. Il signor Rossi compone la sua missiva su un'applicazione di posta elettronica installata sul suo laptop e poi preme "invio". L'applicazione di posta elettronica trasmetterà il messaggio al livello di applicazione, che sceglierà un protocollo (SMTP) e passerà i dati al livello di presentazione. Il livello di presentazione comprime i dati e poi attiverà il livello di sessione, che inizializzerà la sessione di comunicazione.


I dati approderanno quindi al livello di trasporto del mittente dove verranno suddivisi in segmenti. I segmenti saranno poi ulteriormente suddivisi in pacchetti nel livello di rete, e saranno ancora "sminuzzati" in frame nel livello di collegamento dati, che li trasporterà al livello fisico. Il livello fisico trasformerà i frame in un flusso di bit composto da "0" e "1" e li invierà attraverso un vettore fisico, come ad esempio un cavo.


Una volta che la signorina Neri avrà ricevuto il flusso di bit attraverso un supporto fisico (come la sua wi-fi), i dati attraverseranno sul suo dispositivo i medesimi livelli, ma a ritroso. Innanzitutto il livello fisico trasformerà il flusso di "0" e "1" in frame, che verranno passati al livello di collegamento dati. Il livello di collegamento dati ricostituirà i pacchetti unendo i frame, e li passerà al livello di rete. Il livello di rete prenderà i pacchetti e ricostruirà i segmenti per il livello di trasporto, che riassemblerà i segmenti e andrà a ricostituire i dati originali.


I dati verranno quindi convogliati sul livello di sessione del ricevente, che li passerà al livello di presentazione e provvederà a chiudere la sessione di comunicazione. Il livello di presentazione provvederà a togliere la compressione e trasmetterà i dati grezzi al livello di applicazione. Il livello di applicazione fornirà i dati in formato leggibile al programma di posta elettronica della signorina Neri, consentendole di leggere l'e-mail del signor Rossi sullo schermo del suo laptop.