ISO/OSI

Verso gli anni 80, la International Standard Organization (ISO), decise di predisporre un modello di rete che potesse aiutare nello sviluppo di infrastrutture di rete con determinati standard. Nacque quindi il modello di riferimento Opens System Interconnection (OSI) che è costituito dai seguenti sette livelli distinti:

  1. Livello Applicazione
  2. Livello Presentazione
  3. Livello Sessione
  4. Livello Trasporto
  5. Livello Rete
  6. Livello Collegamento
  7. Livello Fisico

Questo modello, descrive il modo in cui le informazioni si muovono da un’applicazione su un sistema host a un’applicazione su un altro sistema host. Le informazioni, discendendo attraverso i livelli sull’host mittente, mutano il proprio formato in ciascun livello ed, i dati che provengono dai livelli superiori, sono incapsulati con l’aggiunta di informazioni di intestazione dal livello subito inferiore. Quest’operazione di aggiunta di un’intestazione ad ogni discesa di lvello, si chiama incapsulamento o imbustamento (vedi figura).

incapsulamentoCome si evince dalla figura, i dati che discendono (sending process) fra i vari livelli, sono incapsulati assieme alle intestazioni dei livelli successivi. Questo procedimento assicura, durante il processo di invio / ricezione, che la comunicazione fra le parti coinvolte (host) sia attendibile.

Livello Fisico

Questo livello definisce i fattori coinvolti nel trasporto dei dati dalla scheda di rete (corrente elettrica, impulsi fisici o ottici) ed i requisiti sono definiti solitamente in standard V.35 o RS-232. Il livello fisico è responsabile della trasimissione di bit da un host all’altro.

Livello Collegamento

Questo livello invia le trame dal livello rete al livello fisico. Quando questo riceve i bit dal livello fisico, li traduce in trame. Una trama, generalmente, è composta dai seguenti componenti:

  • ID destinatario, che solitamente è l’indirizzo MAC del computer di destinazione o del gateway predefinito
  • ID mittente, che di solito è l’indirizzo MAC del computer sorgente.
  • Informazione di controllo, che comprende informazioni sul tipo di trama, sull’instradamento e la segamentazione.
  • Controllo ciclico di ridondanza (Cyclical Redundancy Check, CRC), che ha lo scopo di rilevare gli errori in fase di trasimissione / ricezione. E’ un codice che viene aggiunto alla trama, generato dal mittente e ricalcolato dal destinatario.

Il livello di collegamento è suddiviso in due sottolivelli:

  1. Logical Link Control, LLC
  2. Media Access Control, MAC

Il primo si occupa di verificare gli errori, mentre il secondo fornisce l’accesso al mezzo di trasmissione della rete.

Livello Rete

Questo livello funziona come una sorta di “ottimizzatore”, determinando il modo migliore per spostare i dati da un host all’altro che, nel caso fossero troppo grandi, verrebbero divisi in pacchetti più piccoli e riassemblati una volta giunti a destinazione.

Livello Trasporto

Questo livello, spezza e ricostruisce un flusso di dati in modo da segementarli in un insieme di tanti piccoli dati. Questi dati vengono numerati in maniera sequenziale e inviati all’host destinatario. L’host destinatario, invia una conferma per ogni segmento ricevuto e, nel caso si verifichi la perdita di un segmento, ne richiede il re-invio.

Livello Sessione

Questo livello permette a due applicazioni su host separati, di stabilire una connessione appunto chiamata sessione.

Livello Presentazione

Questo livello determina il modo in cui i dati sono formattati nello scambio tra host in una rete. I dati ricevuti dal livello applicazione, sono tradotti in un formato comunemente riconosciuto. Questo è anche responsabile per tutte le traduzioni, codifiche dei dati,  conversioni dei set di caratteri e dei protocolli.

Livello Applicazione

Questo livello è quello che consente ai programmi di accedere ai servizi di rete ma, per usare questo livello, il programma in questione deve prevedere una componente che richiede risorse di rete. Alcuni programmi che prevedono il coinvolgimento di tale livello sono per esempio, i browser, i programmi di posta elettronica, etc.