Cos'è il modello OSI?

Vista laterale ravvicinata di uno spazio appena affittato trasformato in una startup di ingegneria del software. Ci sono due uomini e una donna che si occupano di alcuni errori nel codice.

Autori

Chrystal R. China

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

Cos'è il modello OSI?

Il modello OSI (Open Systems Interconnection), chiamato anche modello di riferimento OSI, è un modello concettuale che divide la comunicazione di rete e l'interoperabilità in sette livelli astratti. Fornisce un modello standardizzato che consente la comunicazione tra diverse applicazioni, sistemi informatici e reti.

Il modello OSI è emerso come soluzione alle incompatibilità di comunicazione tra i diversi protocolli di rete in uso all'inizio del secolo. I livelli di OSI hanno fornito a sviluppatori e ingegneri un framework per la costruzione di hardware e software interoperabili tra le reti, fornendo un approccio categorico al networking.

In ogni livello dello stack, in genere mostrato in ordine inverso per illustrare come i dati si spostano attraverso una rete, il modello OSI fornisce linee guida e criteri per i componenti di rete e le loro funzioni di elaborazione uniche.

I livelli sono:

  • Livello 7: il livello di applicazione avvia la comunicazione con la rete, inclusi i protocolli e i processi di manipolazione dei dati che convertono i dati di rete leggibili dal computer in risposte leggibili dall'utente.
  • Livello 6: il livello di presentazione prepara i dati per il livello di applicazione, includendo la traduzione, la compressione e la crittografia dei dati.
  • Livello 5: il livello di sessione avvia e termina le connessioni tra due dispositivi che interagiscono sulla rete, assicurandosi che le risorse non vengano né sovrautilizzate né sottoutilizzate.
  • Livello 4: il livello di trasporto trasmette i dati end-to-end tra due dispositivi che interagiscono sulla rete, assicurando che i dati non vengano persi, mal configurati o corrotti.
  • Livello 3: il livello di rete gestisce i processi di indirizzamento, routing e inoltro dei dati per i dispositivi che interagiscono su reti diverse. Se i dispositivi si trovano sulla stessa rete, non hanno bisogno del livello di rete per interagire.
  • Livello 2: a differenza del livello di rete, il livello di collegamento dati gestisce il routing dei dati tra due dispositivi interagenti sulla stessa rete.
  • Livello 1: il livello fisico comprende gli asset fisici, come i router e i cavi USB, che convertono i dati in stringhe di 1 e 0 per la trasmissione ai livelli superiori.

Il modello OSI si concentra sulla fornitura di un elenco di attività che gli ingegneri devono completare nella creazione di ogni livello di un'architettura di rete, invece di specificare i protocolli per la comunicazione tra i livelli. Il suo approccio teorico consente agli sviluppatori di visualizzare e costruire reti di calcolo altamente complesse, anche senza una conoscenza preliminare del sistema di rete stesso. Inoltre, aiuta i team a comprendere meglio il modo in cui i dati attraversano una rete e a personalizzare le funzioni di rete con una codifica specifica per livello.

Design 3D di palline che rotolano su una pista

Le ultime notizie e insight sull'AI


Scopri notizie e insight selezionati da esperti in materia di AI, cloud e molto altro nella newsletter settimanale Think. 

Da dove proviene il modello OSI?

Sebbene il modello OSI non costituisca la base diretta delle moderne tecnologie di rete informatica, ha avuto un profondo impatto sullo sviluppo degli standard informatici, contribuendo a plasmare la comprensione contemporanea dell'architettura di rete.

Alla fine degli anni '70 e all'inizio degli anni '80, i sistemi informatici stavano diventando sempre più interconnessi, ma i produttori spesso sviluppavano le proprie soluzioni di rete, creando un mosaico di sistemi proprietari e non interoperabili.

Diversi primi sforzi di rete hanno tentato di affrontare i problemi di compatibilità con ARPANET (che ha gettato le basi per l'Internet moderno) e la suite di protocolli TCP/IP (commissionata dal Dipartimento della Difesa). Entrambi hanno rappresentato progressi significativi, ma hanno anche evidenziato la necessità di un approccio più completo e universalmente accettato.

Riconoscendo la crescente importanza del networking e la necessità di un framework universale, l'International Organization for Standardization (ISO) e l'International Telegraph and Telephone Consultative Committee (CCITT) hanno avviato lo sviluppo di un modello di rete standardizzato.

L'ISO ha pubblicato formalmente il modello OSI, un framework fondamentale per lo sviluppo di soluzioni di rete interoperabili, nel 1984. A differenza dei precedenti tentativi di standardizzazione, la configurazione a più livelli dell'OSI consente a sistemi diversi di comunicare nonostante le differenze nelle architetture e nei protocolli sottostanti.

AI Academy

Prepararsi all'AI con l'hybrid cloud

Condotto dai migliori leader di pensiero di IBM, il programma di studi è stato progettato per aiutare i dirigenti aziendali ad acquisire le conoscenze necessarie per dare priorità agli investimenti in AI che possono favorire la crescita.

Come funziona il modello OSI?

Il modello OSI rimane parte integrante della comprensione dell'architettura di rete anche quando le tecnologie si evolvono ed emergono nuovi modelli. Che un team stia progettando una semplice rete locale (LAN) o gestendo una rete globale complessa, i principi del modello OSI forniscono un approccio chiaro e strutturato al networking.

Il modello OSI comprende sette livelli distinti. Il livello di applicazione (livello 7), il livello di presentazione (livello 6) e il livello di sessione (livello 5) comprendono i livelli software di un OSI, in cui avvengono tutte le trasmissioni da e verso le app software (inclusi i sistemi operativi e le Utility, come browser web e client di posta elettronica).

Il livello di trasporto (livello 4) è il "cuore dell'OSI" e gestisce tutte le comunicazioni di dati tra reti e sistemi. Infine, il livello di rete (livello 3), il livello dati (livello 2) e il livello fisico (livello 1) comprendono i livelli hardware dell'OSI, in cui i dati si spostano attraverso i componenti fisici della rete durante l'elaborazione.

I dati si spostano in modo bidirezionale attraverso il modello OSI; ogni livello comunica con i livelli sottostanti e superiori nello stack. Inoltre, sia i dispositivi di invio che quelli riceventi trasmettono i dati attraverso i livelli di dati; e mittenti e destinatari spesso cambiano ruolo nel processo.

Ad esempio, se un utente desidera inviare un'e-mail a un'altra persona, l'utente deve prima scrivere l'e-mail e inviarla. Quando l'utente preme "invio", l'e-mail passa al livello dell'applicazione, che sceglierà il protocollo corretto (in genere SMTP) e invierà l'e-mail al livello di presentazione. Il livello di presentazione comprime quindi i dati del messaggio e li invia al livello di sessione, che avvia una sessione di comunicazione e invia i dati al livello di trasporto per la segmentazione.

Poiché l'e-mail va a un'altra rete, i dati dell'e-mail devono andare al livello di rete, dove vengono divisi in pacchetti e quindi al livello di collegamento dati, dove vengono ulteriormente suddivisi in frame. Questi frame vengono successivamente trasmessi attraverso il livello fisico (il Wi-Fi del destinatario), a quel punto il dispositivo del destinatario riceve il flusso di bit e i dati dell'e-mail attraversano gli stessi livelli al contrario. Al termine del processo, i dati dell'e-mail arrivano al livello di applicazione del dispositivo del destinatario dove vengono consegnati, in forma leggibile dall'uomo, alla casella di posta del destinatario.

Quali sono i 7 livelli del modello OSI?

Il modello OSI è fondamentale per lo sviluppo del protocollo, in cui ogni livello del framework gestisce specifici processi di rete.

Livello 7: livello di applicazione

Il livello di applicazione è il livello OSI più vicino all'utente finale. Fornisce servizi di rete direttamente alle applicazioni utente e facilita la comunicazione tra gli endpoint API e i livelli inferiori del modello OSI. In altre parole, le applicazioni software utilizzano il livello di applicazione per avviare la comunicazione con la rete e inviare i dati al livello di presentazione.

Le applicazioni stesse non fanno parte di questo livello. Piuttosto, il livello di applicazione fornisce i protocolli (HTTP, FTP, DNS e SMTP, ad esempio) che consentono al software di inviare e ricevere dati. È responsabile di processi quali:

  • Trasferimento di file. Il livello di applicazione prende i file di dati leggibili dall'uomo dal dispositivo dell'utente e li trasmette al livello di presentazione.
  • Comunicazione e autenticazione. Il livello di applicazione si assicura che il dispositivo ricevente possa accettare i dati e che esistano le interfacce di comunicazione necessarie per il trasferimento. Può anche essere utilizzato per autenticare i dispositivi coinvolti nel trasferimento.
  • Accesso remoto. Il livello di applicazione consente agli utenti di accedere ai browser web, ai client di posta elettronica e ad altri servizi da diverse località geografiche. Consente inoltre agli utenti di accedere e gestire i file su un computer remoto.
  • Servizi di directory. Il livello di applicazione fornisce servizi di directory, ovvero un database condiviso di informazioni su dispositivi e utenti di rete, per facilitare la gestione delle risorse di rete.

Livello 6: livello di presentazione

Il livello di presentazione trasforma i dati in un formato che il livello di applicazione può accettare per la trasmissione in rete (ad esempio, da un file di testo codificato EBCDIC a un file codificato ASCII). A causa del suo ruolo nella conversione di dati e grafici in un formato visualizzabile per il livello di applicazione, a volte viene definito livello di sintassi.

Supporta i protocolli Secure Sockets Layer/Transport Layer Security (SSL/TLS), i protocolli JPEG (per la compressione delle immagini) e i protocolli MPEG (per la compressione video Il livello di presentazione trasforma i dati in un formato che il livello di applicazione può accettare per la trasmissione in rete (ad esempio, da un file di testo codificato EBCDIC a un file codificato ASCII). A causa del suo ruolo nella conversione di dati e grafici in un formato visualizzabile per il livello di applicazione, a volte viene definito livello di sintassi.

Supporta i protocolli SSL / TLS (Secure Sockets Layer/Transport Layer Security), i protocolli JPEG (per la compressione delle immagini) e i protocolli MPEG (per la compressione video). Il livello di presentazione ha le seguenti responsabilità:

  • Traduzione dei dati. Il livello di presentazione converte i dati nel formato corretto (specificato dal livello di applicazione) durante il processo di incapsulamento, poiché i messaggi in uscita si spostano lungo lo stack del protocollo dal mittente al destinatario.

  • Crittografia e decrittografia dei dati. Il livello di presentazione crittografa i dati per una trasmissione sicura e li decrittografa al momento della consegna.
  • Compressione dei dati. Il livello di presentazione riduce le dimensioni di un flusso di dati per le trasmissioni e lo decomprime per l'uso.

A volte la formattazione e la traduzione vengono invertite durante il processo di deincapsulamento, man mano che i messaggi in arrivo salgono nello stack del protocollo. In questi casi, i messaggi in uscita vengono convertiti nel formato specificato durante l'incapsulamento, mentre i messaggi in arrivo subiscono una conversione inversa durante il deincapsulamento.

Livello 5: livello di sessione

Il livello di sessione è responsabile della gestione delle sessioni, il processo di stabilimento, gestione e terminazione delle connessioni, denominate "sessioni", tra due o più computer. Avvia le connessioni tra applicazioni locali e remote, mantenendo la sessione aperta abbastanza a lungo da trasmettere i dati necessari e chiudendole una volta completata per preservare le risorse di rete.

Le funzioni chiave del livello di sessione includono:

  • Interazioni di sessione. Il livello di sessione gestisce il logon dell'utente (creazione) e il logoff dell'utente (terminazione), compresi eventuali protocolli di autenticazione integrati nel software client.

  • Sincronizzazione. Il livello di sessione consente di garantire che i flussi di dati siano sincronizzati correttamente e gestisce i punti di ripristino (checkpoint che consentono ai dispositivi di riprendere una sessione da un punto specifico, se interrotti).
  • Recupero della sessione. Il livello di sessione gestisce gli errori di sessione e ristabilisce le connessioni in caso di problemi di rete.

Stabilisce inoltre protocolli per connettere e disconnettere sessioni tra flussi di dati correlati, come audio e video nelle conferenze web. Per questo motivo, il livello di sessione è spesso implementato in modo esplicito negli ambienti di rete che utilizzano chiamate di procedura remota.

Livello 4: livello di trasporto

Il livello di trasporto utilizza protocolli come il protocollo TCP (Transmission Control Protocol) e il protocollo UDP (User Datagram Protocol) per gestire il recapito end-to-end di messaggi completi. Prende i messaggi dal livello della sessione e li suddivide in unità più piccole (chiamate "segmenti"), ognuna con un'intestazione associata. A destinazione, il livello di trasporto riassembla i segmenti nell'ordine corretto per ricostruire il messaggio originale.

Il livello di trasporto gestisce anche:

  • Indirizzamento del punto di servizio. Il livello di trasporto aiuta a garantire che i messaggi vengano recapitati al processo corretto allegando un'intestazione del livello di trasporto (incluso un punto di servizio o un indirizzo di porta).

  • Controllo del flusso. Il livello di trasporto impedisce l'overflow dei dati e gestisce la velocità di trasmissione dei dati tra due dispositivi che interagiscono sulla rete, assicurandosi che i dispositivi di invio trasmettano i dati ai dispositivi di ricezione (e viceversa) alla velocità appropriata.
  • Multiplexing. Il livello di trasporto consente a più applicazioni di rete di utilizzare contemporaneamente la stessa connessione.

Dal lato del mittente, il livello di trasporto riceve i dati formattati dai livelli superiori, esegue la segmentazione e implementa il controllo del flusso e degli errori per garantire una trasmissione accurata dei dati. Aggiunge i numeri di porta di origine e di destinazione all'intestazione e poi inoltra i dati segmentati al livello di rete.

Alla fine del ricevitore, il livello di trasporto legge il numero di porta dall'intestazione e inoltra i dati ricevuti all'applicazione appropriata. Gestisce anche il sequenziamento e il riassemblaggio dei dati segmentati e ritrasmette i dati se vengono rilevati errori.

Il livello di trasporto fornisce due tipi di servizio. 

Con il servizio orientato alla connessione, un processo in tre parti che include la creazione della connessione, il trasferimento e la cessazione (o disconnessione) dei dati, il destinatario dei dati invia una conferma di ricezione al mittente al momento della consegna del pacchetto di dati. Il servizio senza connessione, tuttavia, comporta solo il trasferimento di dati. Il destinatario non conferma la ricezione, il che accelera la comunicazione ma può essere meno affidabile del servizio orientato alla connessione.

Livello 3: livello di rete

Il livello di rete del modello OSI è responsabile della facilitazione del trasferimento dei dati da un nodo all'altro su reti diverse. Il livello di rete determina il percorso migliore (routing) per il trasferimento dei dati tra i nodi. Se i segmenti sono troppo grandi, il livello di rete li suddivide in "pacchetti" più piccoli per il trasporto e li riassembla sul lato ricevente.

Una rete funge da mezzo in cui più nodi (ciascuno con un indirizzo univoco) possono connettersi. Il livello di rete consente ai nodi di inviare messaggi a nodi su altre reti fornendo il contenuto del messaggio e l'indirizzo di destinazione, lasciando che sia la rete a determinare il percorso di consegna ottimale (che può comportare il routing attraverso nodi intermedi).

Il livello di rete utilizza principalmente Internet Protocol v4 (IPv4) e IPv6 ed è responsabile di:

  • Frammentazione e riassemblaggio dei pacchetti. Il livello di rete suddivide i pacchetti di grandi dimensioni (quelli che superano i limiti di dimensione del livello di collegamento dati) in pacchetti più piccoli per la trasmissione e li riassembla a destinazione.

  • Controllo del traffico. Il livello di rete gestisce il traffico di rete per prevenire la congestione e salvaguardare un flusso di dati efficiente. 

L'affidabilità non è garantita a livello di rete; mentre molti protocolli a livello di rete offrono una consegna affidabile dei messaggi, altri no. Inoltre, la segnalazione degli errori non è obbligatoria a questo livello di OSI, quindi i mittenti dei dati possono ricevere o meno la conferma della consegna.

Livello 2: livello di collegamento dati

La funzione principale del livello di collegamento dati (DLL) è quella di gestire il trasferimento di dati senza errori tra più dispositivi che interagiscono sulla stessa rete.

Il livello è suddiviso in due sottolivelli.

Il livello di controllo dei collegamenti logici (LLC), che funge da interfaccia tra il livello di controllo dell'accesso ai media (MAC) e il livello di rete, gestisce il controllo del flusso, la sincronizzazione e il multiplexing (quando due o più flussi di dati condividono una singola connessione all'host). Il livello MAC controlla il modo in cui i dispositivi accedono ai supporti di rete e trasmettono i dati.

Quando il DLL riceve un pacchetto dal livello di rete, lo divide in "frame" di dati, in base alla dimensione del frame della scheda di interfaccia di rete (NIC), e lo trasmette all'host utilizzando il suo indirizzo MAC.

Le funzioni del DLL includono:

  • Framing. Il DLL consente al mittente di trasmettere un insieme di bit (dati) significativi per il destinatario collegando speciali schemi di bit all'inizio e alla fine del frame.

  • Indirizzamento fisico. Il DLL utilizza il protocollo di risoluzione degli indirizzi (ARP) per convertire gli indirizzi IP in indirizzi MAC e quindi aggiunge gli indirizzi MAC del mittente e del destinatario all'intestazione di ogni frame al termine del framing.
  • Controllo degli errori. Il DLL rileva i frame danneggiati o persi e gestisce la ritrasmissione (se necessario) per garantire l'integrità dei dati.

  • Controllo del flusso. Per prevenire il danneggiamento, il DLL stabilisce la quantità di dati che un mittente può inviare prima di ricevere una conferma di consegna, mantenendo la velocità dei dati costante su entrambi i lati.
  • Controllo degli accessi.Quando più dispositivi condividono un unico canale di comunicazione, il sublayer MAC determina quale dispositivo ha il controllo del canale in un dato momento.

Livello 1: livello fisico

Il livello fisico è costituito dai componenti della rete responsabili della trasmissione di dati non elaborati, sotto forma di "bit" o stringhe di 1 e 0, tra dispositivi (connettori, router, ripetitori e cavi in fibra ottica, ad esempio) e un supporto fisico (come il Wi-Fi).

Il livello fisico è responsabile di:

  • Controllo del bit rate. Il livello fisico definisce le velocità di trasmissione dei dati, spesso in bit al secondo.

  • Sincronizzazione bit. Il livello fisico impone un clock sui flussi di bit, assicurando che il mittente e il destinatario siano sincronizzati a livello di bit. 
  • Modalità di trasmissione. Il livello fisico definisce il modo in cui i dati fluiranno tra i dispositivi collegati (come trasmissione simplex, half duplex o full duplex).

  • Topologie fisiche. Il livello fisico specifica come sono situati i dispositivi e i nodi di rete (in topologie bus, a stella o mesh, ad esempio). Gli standard come USB, Bluetooth ed Ethernet includono le specifiche del livello fisico. 

Il livello fisico definisce anche il modo in cui avviene la codifica su un segnale fisico (utilizzando tensione elettrica, impulsi radio o luminosi, ad esempio). 

OSI e TCP/IP a confronto

Il modello di riferimento OSI fornisce una base teorica che aiuta ingegneri e sviluppatori a comprendere le complessità della comunicazione di rete. Tuttavia, a volte viene confrontato con un altro modello di rete: il modello TCP/IP (Transmission Control Protocol/Internet Protocol).

A differenza del modello OSI, il modello TCP/IP si basa su protocolli standardizzati che sono ampiamente e direttamente implementati e nelle reti del mondo reale. È costituito da quattro livelli, invece di sette, ma ogni strato corrisponde a uno o più livelli del modello OSI.

  • Livello di accesso alla rete. Chiamato anche livello di collegamento dati o livello fisico, il livello di accesso alla rete di una rete TCP/IP include sia i componenti hardware che software necessari per l'interfacciamento con il supporto di rete, combinando i livelli fisici e di collegamento dati del modello OSI. Si occupa della trasmissione fisica dei dati, utilizzando l'Ethernet (per le LAN) e i protocolli ARP, tra i dispositivi della stessa rete.

  • Livello Internet. Analogamente al livello di rete del modello OSI, il livello Internet è responsabile dell'indirizzamento logico, del routing e dell'inoltro dei pacchetti. Si basa principalmente sul protocollo IP e sul protocollo ICMP, che gestiscono l'indirizzamento e l'instradamento dei pacchetti attraverso reti diverse.
  • Livello di trasporto. Il livello di trasporto TCP/IP svolge la stessa funzione del livello di trasporto del modello OSI; consente un trasferimento affidabile dei dati tra i livelli superiore e inferiore. Utilizzando i protocolli TCP e UDP, fornisce anche meccanismi per il controllo degli errori e del flusso.

  • Livello di applicazione. Il livello di applicazione di TCP/IP comprende i livelli di sessione, presentazione e applicazione del modello OSI. Utilizza i protocolli HTTP, FTP, Post Office Protocol 3 (POP3), SMTP, DNS e SSH per fornire servizi di rete direttamente alle applicazioni e gestisce tutti i protocolli che supportano le applicazioni utente. 

Il valore principale del modello OSI risiede nella sua utilità educativa e nel suo ruolo di framework concettuale per la progettazione di nuovi protocolli, assicurandosi che possano interagire con i sistemi e le tecnologie esistenti.

Tuttavia, l'obiettivo pratico e l'applicabilità nel mondo reale del modello TCP/IP lo hanno reso la spina dorsale delle reti moderne. Il suo design robusto e scalabile e l'approccio a stratificazione orizzontale hanno guidato la crescita esplosiva di Internet, ospitando miliardi di dispositivi e enormi quantità di traffico dati.

Benefici del modello OSI

Ricerca e sviluppo accelerati

Il suo approccio astratto e stratificato verticalmente al networking consente la progettazione di protocolli modulari, in cui ogni livello può essere sviluppato e aggiornato in modo indipendente.

La modularità del modello OSI favorisce un'innovazione più rapida nello sviluppo dei protocolli, in quanto gli ingegneri del software possono integrare nuove tecnologie senza rivedere l'intero stack di rete.

Consente inoltre agli sviluppatori di astrarre i livelli inferiori del modello per semplificare lo sviluppo.

Condivisione delle conoscenze semplificata

Gli ingegneri del software possono separare i livelli operativi di ciascun componente della rete e organizzarli in base ai loro ruoli principali nella rete. Questa scomponibilità rende più facile per gli sviluppatori concettualizzare una rete e condividere modelli semplificati tra i team di sviluppo.

Risoluzione dei problemi semplificata

Quando un dispositivo in rete si guasta o un'app perde la connessione, il modello OSI consente ai team di individuare e isolare il livello problematico per indirizzare eventuali problemi di sicurezza o vulnerabilità di rete senza interrompere l'intero framework.

Soluzioni correlate
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center è una piattaforma software compatibile con OpenStack per gestire l'infrastruttura di cloud privati su IBM zSystems e IBM LinuxONE.

Esplora Cloud Infrastructure Center
Soluzioni per l'infrastruttura IT

Scopri i server, lo storage e il software progettati per l'hybrid cloud e la strategia AI della tua azienda.

Scopri le soluzioni per le infrastrutture IT
Soluzioni per l'infrastruttura cloud

Trova la soluzione di infrastruttura cloud adatta alle esigenze della tua azienda e scala le risorse on-demand.

Soluzioni cloud
Fai il passo successivo

Trasforma la sua infrastruttura aziendale con l'hybrid cloud e le soluzioni pensate per l'AI di IBM. Scopri i server, lo storage e i software progettati per proteggere, scalare e modernizzare la tua azienda o ascolta i pareri degli esperti per migliorare la tua strategia di AI generativa.

Scopri le soluzioni per le infrastrutture IT Scarica l'ebook