Architettura OSI

Il modello OSI (Open Systems Interconnection) è un modello di riferimento utilizzato per comprendere e descrivere come funziona una rete di computer. È suddiviso in sette livelli o strati, ognuno dei quali svolge una specifica funzione all’interno del processo di comunicazione. Durante questa lezione, esamineremo ciascuno dei sette strati del modello OSI, dalla parte superiore (livello 7) a quella inferiore (livello 1).

Standard

Il modello OSI (Open Systems Interconnection) è stato sviluppato dall’International Organization for Standardization (ISO) ed è il risultato di un progetto a lungo termine finalizzato a creare un framework standardizzato per le reti di computer. Il processo di sviluppo del modello OSI ha richiesto diversi anni ed è iniziato negli anni ’70 con l’obiettivo di fornire una base concettuale comune per la progettazione delle reti e per facilitare l’interoperabilità tra dispositivi e sistemi provenienti da fornitori diversi.

Negli anni ’70, il mondo stava assistendo a una crescita esplosiva delle reti di computer e all’espansione delle comunicazioni tra sistemi informatici. Le reti stavano diventando sempre più complesse, e c’era una crescente necessità di standard che potessero consentire a diverse organizzazioni di comunicare tra loro in modo coerente e affidabile.

L’ISO (International Organization for Standardization) è un’organizzazione internazionale che sviluppa standard in vari settori, comprese le tecnologie dell’informazione e delle comunicazioni. L’ISO ha avviato un progetto per sviluppare uno standard di rete globale, chiamato “ISO/OSI,” che avrebbe stabilito un modello di riferimento per le reti.

Gli sforzi per sviluppare il modello OSI hanno coinvolto esperti da tutto il mondo. Il modello è stato diviso in sette strati, ognuno dei quali svolge una funzione specifica nell’ambito della comunicazione di rete. Questi strati sono, nell’ordine dall’alto verso il basso: Applicazione, Presentazione, Sessione, Trasporto, Rete, Collegamento Dati e Fisico.

Anche se il modello OSI non è stato ampiamente implementato come tale, ha avuto un impatto significativo nell’industria delle reti. Ha fornito una base teorica che ha influenzato lo sviluppo di numerosi protocolli e standard di rete, tra cui il protocollo TCP/IP, che è diventato il pilastro di Internet

Architettura a strati

Un’architettura a strati, nota anche come architettura a livelli, è un approccio di progettazione che suddivide un sistema complesso in componenti o livelli distinti, ognuno dei quali svolge una funzione specifica e comunica con gli strati adiacenti attraverso interfacce ben definite. Questa suddivisione in strati rende il sistema più modulare, facilitando la progettazione, lo sviluppo e la manutenzione. L’architettura a strati è ampiamente utilizzata in vari settori, tra cui l’informatica, le reti, i sistemi embedded, il software e molti altri. Ecco le caratteristiche proprie di un’architettura a strati:

  1. Separazione delle responsabilità: Ogni strato ha un compito specifico e definito. Questa separazione delle responsabilità semplifica la progettazione, in quanto ciascun strato può concentrarsi su un aspetto particolare del sistema.
  2. Interfacce ben definite: Gli strati comunicano tra loro attraverso interfacce chiaramente definite. Questo consente una comunicazione standardizzata tra gli strati e facilita la sostituzione o l’aggiornamento di uno strato senza influire sugli altri.
  3. Modularità: Gli strati sono moduli indipendenti, il che consente una maggiore flessibilità. È possibile aggiungere, rimuovere o sostituire strati senza dover riscrivere l’intero sistema.
  4. Isolamento degli errori: Se si verifica un problema in uno strato, l’architettura a strati limita la propagazione degli errori agli altri strati. Ciò contribuisce a migliorare la robustezza del sistema.
  5. Riutilizzo del codice: Gli strati possono essere progettati in modo che siano riutilizzabili in diversi contesti. Ad esempio, una libreria di funzioni a un certo livello può essere utilizzata in più applicazioni.
  6. Facilità di sviluppo collaborativo: L’architettura a strati favorisce lo sviluppo collaborativo poiché diversi team possono lavorare su strati diversi del sistema senza interferire l’uno con l’altro.
  7. Manutenzione semplificata: Quando è necessario apportare modifiche o correzioni a un sistema basato su architettura a strati, è più semplice identificare e risolvere problemi in uno strato senza influire sugli altri.
  8. Scalabilità: L’architettura a strati facilita l’aggiunta di nuovi strati per migliorare o estendere le funzionalità del sistema, rendendo il sistema scalabile.

Strati del modello OSI

Livello 1: Strato Fisico

Definisce le caratteristiche dei segnali e dei dispositivi necessari per connettere due o più DTE mediante il mezzo trasmissivo visto come un canale pronto a trasportare segnali elettrici o ottici, prodotti dalla trasformazione fisica dell’informazione che i DTE devono trasmettersi.

  • caratteristiche meccaniche
  • caratteristiche elettriche
  • regole di attivazione e disattivazione del collegamento
  • caratteristiche dei cavi e dei connettori
  • operazioni di multiplazione e modulazione

Livello 2: Strato Collegamento Dati

Questo strato è responsabile della suddivisione dei dati in frame (quadri) e del controllo di accesso al mezzo (MAC) su reti locali. A livello fisico i bit non hanno significato mentre a livello di collegamento (datalink) si definisce la struttura del messaggio dividendolo in frame. I protocolli come Ethernet e Wi-Fi operano a questo livello. Il livello ha i seguenti compiti:

  • suddivide i bit in frame
  • individua la presenza di errori e gestisce i meccanismi di correzione
  • definisce l’accesso multiplo di più utenti al canale di comunicazione
  • regola la trasmissione tra dispositivi che lavorano a velocità diverse.

Livello 3: Strato Rete

Il livello di rete gestisce il routing dei dati attraverso la rete, compresa la determinazione del percorso migliore da seguire per raggiungere la destinazione. I protocolli di routing, come IP (Internet Protocol), operano a questo livello. Il livello di rete si preoccupa di fare arrivare il messaggio al destinatario. E’

necessario che in base all’indirizzo dei due DTE interessati, il messaggio attraversi tutta la rete per giungere a destinazione creando un canale di transito mediante tecniche di instradamento e commutazione. Il livello ha i seguenti compiti:

  • instradamento (routing) dalla stazione di partenza all’arrivo
  • controllo congestione della rete
  • interconnessione di rete (internetworking)

Livello 4: Strato Trasporto

Il livello di trasporto si occupa del trasferimento dei dati tra le sorgenti e le destinazioni, assicurandosi che i dati siano consegnati in modo affidabile e nell’ordine corretto. I protocolli più comuni a questo livello sono TCP (Transmission Control Protocol) e UDP (User Datagram Protocol). Il messaggio che un host deve trasmettere viene scomposto in segmenti che numerati progressivamente vengono messi in sequenza sulla rete. A causa della dinamicità del traffico non è detto che arrivino a destinazione con lo stesso ordine con cui sono partiti. E’ compito del livello di trasporto ricostruire i messaggi:

  • segmentazione e assemblaggio dei dati 
  • garantire il servizio di affidabilità della trasmissione

Livello 5: Strato Sessione

Questo strato è responsabile dell’avvio, della gestione e della terminazione delle sessioni di comunicazione tra dispositivi. Può includere la gestione della sincronizzazione tra le applicazioni in comunicazione.

Livello 6: Strato Presentazione

Questo strato gestisce la traduzione, la cifratura e la compressione dei dati, in modo che possano essere compresi da applicazioni diverse. Ad esempio, può tradurre dati da un formato a un altro.

Livello 7: Strato Applicazione

Questo è il livello più alto del modello OSI ed è responsabile delle applicazioni e dei servizi visibili agli utenti. Include protocolli come HTTP (per il web), SMTP (per la posta elettronica) e FTP (per il trasferimento di file).

Incapsulamento

Nel contesto del modello OSI (Open Systems Interconnection), l’incapsulamento è un concetto fondamentale che si riferisce al processo di aggiunta di informazioni di controllo e di intestazione a un dato mentre si sposta attraverso i vari strati del modello OSI.

Come abbiamo visto precedentemente, il modello OSI è suddiviso in sette strati, ognuno dei quali svolge un ruolo specifico nel processo di comunicazione tra dispositivi di rete. Durante la trasmissione dei dati da un dispositivo all’altro, i dati attraversano questi strati. Ad ogni strato, vengono aggiunte informazioni di controllo e intestazioni specifiche di quel livello. Questo processo è noto come incapsulamento.

Ecco come funziona l’incapsulamento nei primi tre strati del modello OSI:

  • Livello Fisico (Strato 1):
    • In questa fase, i dati grezzi vengono convertiti in segnali fisici, ad esempio, impulsi elettrici o segnali ottici, per la trasmissione attraverso il mezzo fisico.
  • Livello Collegamento dati (Strato 2):
    • In questo strato, vengono aggiunte le intestazioni del livello datalink (frame), che contengono informazioni come gli indirizzi MAC del mittente e del destinatario. L’incapsulamento implica quindi l’inserimento dei dati del livello fisico all’interno dei frame del livello datalink.
  • Livello Rete (Strato 3):
    • Qui, vengono aggiunte le intestazioni del livello di rete (pacchetti), contenenti informazioni di routing come gli indirizzi IP del mittente e del destinatario. L’incapsulamento coinvolge quindi l’inserimento dei frame del livello datalink all’interno dei pacchetti del livello di rete.

Questo processo continua attraverso gli altri strati del modello OSI durante la trasmissione. Quando i dati raggiungono la destinazione, l’incapsulamento viene invertito, e le informazioni di controllo specifiche di ogni strato vengono estratte man mano che i dati attraversano i vari livelli.

L’incapsulamento permette di gestire la comunicazione in maniera modulare, in quanto ciascun livello si occupa di compiti specifici senza dover preoccuparsi degli altri strati.

Ritorna a reti di calcolatori