Strati del modello OSI: una guida introduttiva

Il modello Open System Interconnect (OSI) funge da guida per sviluppatori e fornitori per creare soluzioni software interoperabili e sicure.

Questo modello descrive la complessità del flusso di dati in una rete, i protocolli di comunicazione come TCP e le differenze tra strumenti e tecnologie.

Sebbene molti sostengano la rilevanza dei livelli del modello OSI, in effetti è rilevante, specialmente nell’era della sicurezza informatica.

Conoscere i livelli del modello OSI ti aiuterà a valutare le vulnerabilità tecniche e i rischi associati alle applicazioni e ai sistemi. Può anche aiutare i team a identificare e distinguere la posizione dei dati e l’accesso fisico e definire la loro politica di sicurezza.

In questo articolo, analizzeremo più a fondo i livelli del modello OSI ed esploreremo la loro importanza sia per gli utenti che per le aziende.

Che cos’è il modello Open System Interconnect (OSI)?

Il modello Open System Interconnect (OSI) è un modello di riferimento costituito da sette livelli utilizzati da sistemi informatici e applicazioni per comunicare con altri sistemi su una rete.

Il modello suddivide i processi di trasmissione dei dati, gli standard e i protocolli in sette livelli, in cui ciascuno di essi esegue alcune attività specifiche relative all’invio e alla ricezione dei dati.

Strati del modello OSI

Il modello OSI è stato sviluppato dall’Organizzazione internazionale per la standardizzazione (ISO) nel 1984 ed è il primo riferimento standard per stabilire come i sistemi devono comunicare in una rete. Questo modello è stato adottato da tutte le principali società di telecomunicazioni e computer.

Il modello rappresenta un design visivo in cui i sette strati sono posizionati uno sopra l’altro. Nell’architettura del modello OSI, lo strato inferiore serve lo strato superiore. Pertanto, quando gli utenti interagiscono, i dati fluiscono verso il basso attraverso questi livelli attraverso la rete, a partire dal dispositivo di origine e poi salgono attraverso i livelli per raggiungere il dispositivo di ricezione.

Il modello OSI include varie applicazioni, hardware di rete, protocolli, sistemi operativi, ecc., per consentire ai sistemi di trasmettere segnali tramite mezzi fisici come fibra ottica, doppino intrecciato in rame, Wi-Fi, ecc., in una rete.

Questa struttura concettuale può aiutarti a comprendere le relazioni tra i sistemi e mira a guidare sviluppatori e fornitori nella creazione di applicazioni e prodotti software interoperabili. Inoltre, promuove un quadro che descrive il funzionamento dei sistemi di telecomunicazione e di rete in uso.

Perché è necessario conoscere il modello OSI?

La comprensione del modello OSI è importante nello sviluppo del software poiché ogni applicazione e sistema funzionano sulla base di uno di questi livelli.

I professionisti delle reti IT sfruttano il modello OSI per concettualizzare il modo in cui i dati fluiscono su una rete. Questa conoscenza è preziosa non solo per i fornitori e gli sviluppatori di software, ma anche per gli studenti che desiderano superare esami come la certificazione Cisco Certified Network Associate (CCNA).

Alcuni dei vantaggi dell’apprendimento dei livelli del modello OSI sono:

  • Comprensione del flusso di dati: il modello OSI consente agli operatori di rete di comprendere facilmente come i dati fluiscono in una rete. Questo li aiuta a capire come l’hardware e il software stanno lavorando insieme. Utilizzando queste informazioni, è possibile creare un sistema migliore con maggiore sicurezza e resilienza utilizzando software e hardware adeguati.
  • Facile risoluzione dei problemi: la risoluzione dei problemi diventa più semplice perché la rete è divisa in sette livelli con le proprie funzionalità e componenti. Inoltre, i professionisti impiegano meno tempo per diagnosticare il problema. Puoi effettivamente identificare il livello di rete responsabile della causa dei problemi in modo da poter spostare l’attenzione su quel particolare livello.
  • Promuove l’interoperabilità: gli sviluppatori possono creare sistemi software e dispositivi interoperabili in modo da poter interagire facilmente con i prodotti di altri fornitori. Ciò aumenta la funzionalità di tali sistemi e consente agli utenti di lavorare in modo efficiente.

È possibile definire quali componenti e parti con cui devono funzionare i loro prodotti. Ciò consente inoltre di comunicare agli utenti finali il livello di rete in cui operano i prodotti e i sistemi, sia attraverso lo stack tecnologico che solo a un livello particolare.

Diversi livelli di modello OSI

Strato fisico

Lo strato fisico è lo strato più in basso e il primo nel modello OSI che descrive la rappresentazione fisica ed elettrica di un sistema.

Può includere il tipo di cavo, la disposizione dei pin, il collegamento a radiofrequenza, le tensioni, il tipo di segnale, il tipo di connettori per collegare i dispositivi e altro ancora. È responsabile di una connessione via cavo wireless o fisica tra diversi nodi di rete, facilita la trasmissione di dati grezzi e controlla i bit rate.

Strato fisico

In questo livello, i dati grezzi in bit o 0 e 1 vengono convertiti in segnali e vengono scambiati. Richiede la sincronizzazione delle estremità del mittente e del destinatario per consentire una trasmissione dei dati regolare. Il livello fisico fornisce un’interfaccia tra diversi dispositivi, mezzi di trasmissione e tipi di topologia per la rete. Il tipo di modalità di trasmissione richiesta è definito anche a livello fisico.

La topologia di rete utilizzata può essere bus, ad anello o a stella e la modalità può essere simplex, full-duplex o half-duplex. I dispositivi a livello fisico possono essere connettori per cavi Ethernet, ripetitori, hub, ecc.

Se viene rilevato un problema di rete, i professionisti della rete controllano innanzitutto se tutto nel livello fisico funziona correttamente. Possono iniziare controllando i cavi se sono collegati correttamente e se la spina di alimentazione è collegata al sistema, ad esempio come router, tra gli altri passaggi.

Le principali funzioni del livello 1 sono:

  • Definire le topologie fisiche, il modo in cui i dispositivi e i sistemi sono organizzati in una determinata rete
  • La definizione della modalità di trasmissione è il modo in cui i dati fluiscono tra due dispositivi collegati nella rete.
  • Sincronizzazione dei bit con un orologio che controlla ricevitore e mittente a livello di bit.
  • Controllo della velocità in bit della trasmissione dei dati

Livello di collegamento dati

Il livello di collegamento dati è al di sopra del livello fisico. Viene utilizzato per stabilire e terminare connessioni tra due nodi collegati presenti in una rete. Questo livello divide i pacchetti di dati in diversi frame, che poi vanno dalla sorgente alla destinazione.

Il livello di collegamento dati è composto da due parti:

  • Logical Link Control (LLC) rileva i protocolli di rete, sincronizza i frame e controlla gli errori.
  • Media Access Control (MAC) utilizza gli indirizzi MAC per collegare i dispositivi e impostare i permessi per trasmettere i dati.

Gli indirizzi MAC sono indirizzi univoci assegnati a ciascun sistema in una rete che aiuta a identificare il sistema. Questi numeri a 12 cifre sono sistemi di indirizzamento fisico supervisionati a livello di collegamento dati per una rete. Controlla come si accede a componenti di rete assortiti su un supporto fisico.

Livello di collegamento dati

Esempio: gli indirizzi MAC possono comprendere 6 ottetti, come 00:5e:53:00:00:af, dove i primi tre numeri corrispondono agli identificatori univoci organizzativi (OUI) mentre gli ultimi tre corrispondono al Network Interface Controller (NIC) .

Le principali funzioni del layer-2 sono:

  • Rilevamento degli errori: il rilevamento degli errori avviene a questo livello ma non la correzione degli errori, che si verifica nel livello di trasporto. In alcuni casi, nei segnali di dati si trovano segnali indesiderati chiamati bit di errore. Per contrastare questo errore, l’errore deve essere rilevato prima attraverso metodi come il checksum e il controllo di ridondanza ciclica (CRC).
  • Controllo del flusso: la trasmissione dei dati tra il ricevitore e il mittente su un supporto deve avvenire alla stessa velocità. Se i dati come frame vengono inviati a un ritmo più veloce rispetto alla velocità con cui il ricevitore riceve i dati, alcuni dati potrebbero andare persi. Per risolvere questo problema, il livello di collegamento dati prevede alcuni metodi di controllo del flusso in modo da mantenere una velocità costante lungo la linea di trasmissione dati. Questi metodi potrebbero essere:
    • Il metodo della finestra scorrevole in cui entrambe le estremità decideranno quanti frame devono essere trasmessi. Risparmia tempo e risorse durante la trasmissione.
    • Il meccanismo di arresto e attesa richiede che il mittente si fermi e inizi ad attendere il destinatario dopo la trasmissione dei dati. Il mittente deve attendere fino a quando non riceve una conferma da parte del destinatario di aver ricevuto i dati.
  • Consenti accesso multiplo: il livello di collegamento dati consente inoltre di accedere a più dispositivi e sistemi per trasmettere dati tramite lo stesso mezzo di trasmissione senza collisioni. Per questo, utilizza i protocolli di rilevamento dell’accesso multiplo o di rilevamento della collisione (CSMA/CD).
  • Sincronizzazione dei dati: nel livello di collegamento dati, i dispositivi che condividono i dati devono essere sincronizzati tra loro a ciascuna estremità per facilitare la trasmissione dei dati senza problemi.

Il livello di collegamento dati sfrutta anche dispositivi come bridge e switch di livello 2. I bridge sono dispositivi a 2 porte che si connettono a diverse reti LAN. Funziona come un ripetitore, filtra i dati indesiderati e li invia all’endpoint di destinazione. Collega le reti utilizzando lo stesso protocollo. D’altra parte, il livello 2 inoltra i dati al livello successivo in base all’indirizzo MAC del sistema.

Livello di rete

Il livello di rete si trova sopra il livello di collegamento dati ed è il terzo dalla parte inferiore del modello OSI. Utilizza indirizzi di rete come indirizzi IP per instradare pacchetti di dati a un nodo ricevente che opera su protocolli e reti diversi o uguali.

Svolge due compiti principali:

  • Divide i segmenti di rete in diversi pacchetti di rete mentre riassembla i packer di rete sul nodo di destinazione.
  • Rileva il percorso ottimale in una rete fisica e instrada i pacchetti di conseguenza.

Per percorso ottimale, intendo che questo livello trova il percorso più breve, più efficiente in termini di tempo e il percorso più semplice tra un mittente e un ricevitore per la trasmissione di dati utilizzando switch, router e vari metodi di rilevamento e gestione degli errori.

Livello di rete

Per fare ciò, il livello di rete utilizza un indirizzo di rete logico e il progetto di subnetting della rete. Indipendentemente dal fatto che i dispositivi siano sulla stessa rete o meno, utilizzino lo stesso protocollo o meno e funzionino sulla stessa topologia o meno, questo livello instraderà i dati utilizzando un indirizzo IP logico e un router da una sorgente a una destinazione. Quindi, i suoi componenti principali sono indirizzi IP, sottoreti e router.

  • Indirizzo IP: è un numero a 32 bit univoco globale assegnato a ciascun dispositivo e funziona come un indirizzo di rete logico. Ha due parti: indirizzo host e indirizzo di rete. Un indirizzo IP è in genere rappresentato da quattro numeri separati da un punto, ad esempio 192.0.16.1.
  • Router: nel livello di rete, i router vengono utilizzati per comunicare i dati tra dispositivi che operano in diverse WAN (Wide Area Network). Poiché i router utilizzati per la trasmissione dei dati non conoscono l’esatto indirizzo di destinazione, i pacchetti di dati vengono instradati.

Hanno solo informazioni sulla posizione della loro rete e sfruttano i dati raccolti nella tabella di routing. Questo aiuta i router a trovare il percorso per fornire i dati. Quando alla fine consegna i dati alla rete destinata, i dati verranno quindi inviati all’host di destinazione nella rete.

  • Maschere di sottorete: una maschera di sottorete è costituita da 32 bit dell’indirizzo logico che un router può utilizzare oltre a un indirizzo IP per scoprire la posizione dell’host di destinazione per fornire i dati. È importante poiché l’host e gli indirizzi di rete non sono sufficienti per trovare la posizione, indipendentemente dal fatto che si trovi in ​​una rete remota o in una sottorete. Un esempio di subnet mask potrebbe essere 255.255.255.0.

Osservando una maschera di sottorete, è possibile scoprire l’indirizzo di rete e l’indirizzo host. Quindi, quando un pacchetto di dati arriva dalla sorgente con l’indirizzo di destinazione calcolato, il sistema riceverà i dati e li trasmetterà al livello successivo. Questo livello non richiede che il mittente attenda il riconoscimento del destinatario, a differenza del livello 2.

Livello di trasporto

Lo strato di trasporto è il quarto dal basso nel modello OSI. Prende i dati dal livello di rete e li consegna al livello dell’applicazione. In questo livello, i dati sono chiamati “segmenti” e la funzione principale del livello è fornire il messaggio completo. Riconosce anche quando la trasmissione dei dati avviene correttamente. Se c’è qualche errore, restituisce i dati.

Oltre a questo, il livello di trasporto esegue il controllo del flusso di dati, trasmette i dati alla stessa velocità di quella del dispositivo ricevente per consentire una trasmissione regolare, gestisce gli errori e richiede nuovamente i dati dopo aver trovato errori.

Livello di trasporto

Capiamo cosa succede a ciascuna estremità:

  • Alla fine del mittente, dopo aver ricevuto i dati formattati dai livelli superiori nel modello OSI, il livello di trasporto esegue la segmentazione. Quindi implementa tecniche di controllo del flusso e degli errori per consentire una trasmissione regolare dei dati. Successivamente, aggiungerà i numeri di porta dell’origine e della destinazione nell’intestazione e chiuderà i segmenti al livello di rete.
  • Alla fine del ricevitore, il livello di trasporto identificherà il numero di porta guardando l’intestazione e quindi invia i dati ricevuti all’applicazione di destinazione. Inoltre, metterà in sequenza e riassemblare i dati segmentati.

Il livello di trasporto fornisce una connessione end-to-end senza errori tra dispositivi o host in una rete. Fornisce segmenti di dati di intra e inter sottoreti.

Per abilitare la comunicazione end-to-end in una rete, ogni dispositivo deve avere un Transport Service Access Point (TSAP) o un numero di porta. Ciò aiuterà l’host a riconoscere gli host peer dal numero di porta su una rete remota. In genere si trova manualmente o per impostazione predefinita poiché la maggior parte delle app utilizza un numero di porta predefinito di 80.

Il livello di trasporto utilizza due protocolli:

  • Il protocollo di controllo della trasmissione (TCP): questo protocollo affidabile stabilisce innanzitutto la connessione tra gli host prima di avviare la trasmissione dei dati. Richiede che il destinatario invii la conferma di aver ricevuto o meno i dati. Quando riceve la conferma, invia il secondo batch di dati. Monitora inoltre la velocità di trasmissione e il controllo del flusso e corregge gli errori.
  • User Datagram Protocol (UDP): è considerato inaffidabile e non è orientato alla connessione. Dopo il transito dei dati tra gli host, non è necessario che il destinatario invii la conferma e continua a inviare i dati. Questo è il motivo per cui è soggetto ad attacchi informatici come l’allagamento UDP. Viene utilizzato in giochi online, streaming video, ecc.

Alcune funzioni del livello di trasporto sono:

  • Indirizza i punti di servizio: il livello di trasporto ha un indirizzo chiamato indirizzo della porta o indirizzo del punto di servizio che aiuta a recapitare un messaggio al destinatario giusto.
  • Rilevamento e controllo degli errori: questo livello offre rilevamento e controllo degli errori. Può verificarsi un errore mentre il segmento oi dati sono archiviati nella memoria di archiviazione del router, anche se non vengono rilevati errori mentre i dati si spostano attraverso un collegamento. E se si verifica un errore, il livello di collegamento dati non sarà in grado di rilevarlo. Inoltre, tutti i collegamenti potrebbero non essere sicuri; quindi, è necessaria la necessità del rilevamento degli errori a livello di trasporto. Si fa con due metodi:
    • Controllo di ridondanza ciclico
    • Generatore di checksum e correttore

Livello di sessione

livello di sessione

Il quinto livello dalla parte inferiore del modello OSI è il livello di sessione. Viene utilizzato per creare canali di comunicazione, noti anche come sessioni, tra dispositivi diversi. Svolge compiti quali:

  • Sessioni di apertura
  • Sessioni di chiusura
  • Mantenendoli aperti e completamente funzionanti durante la trasmissione dei dati
  • Offrendo la sincronizzazione del dialogo tra diverse applicazioni per promuovere la trasmissione dei dati senza interruzioni senza perdite all’estremità ricevente.

Il livello di sessione può creare punti di controllo per garantire un trasferimento dati sicuro. In caso di interruzione della sessione, tutti i dispositivi riprenderanno la trasmissione dall’ultimo checkpoint. Questo livello consente agli utenti che utilizzano piattaforme diverse di creare sessioni di comunicazione attive tra di loro.

Livello di presentazione

Il sesto livello dal basso è il livello di presentazione o il livello di traduzione. Viene utilizzato per preparare i dati da inviare al livello dell’applicazione che si trova sopra. Presenta dati agli utenti finali che gli utenti possono facilmente comprendere.

Il livello di presentazione descrive come due dispositivi in ​​una rete devono comprimere, crittografare e codificare i dati per essere ricevuti correttamente dal ricevitore. Questo livello utilizza i dati che il livello dell’applicazione trasmette e quindi invia al livello della sessione.

Il livello di presentazione gestisce la sintassi poiché mittente e destinatario possono utilizzare diverse modalità di comunicazione, il che può portare a incoerenze. Questo livello consente ai sistemi di comunicare e capirsi facilmente sulla stessa rete.

Il livello 6 esegue attività come:

  • Crittografia dei dati al lato del mittente
  • Decrittografia dei dati al lato del ricevitore
  • Traduzione, come il formato ASCII in EBCDIC
  • Compressione dei dati per multimedia prima della trasmissione

Il livello divide i dati contenenti caratteri e numeri in bit e quindi li trasmette. Inoltre traduce i dati per una rete nel formato richiesto e per diversi dispositivi come smartphone, tablet, PC, ecc., in un formato accettato.

Livello di applicazione

L’applicazione è il settimo e il livello più alto nel modello OSI. Il software per l’utente finale e le applicazioni come client di posta elettronica e browser Web utilizzano questo livello.

Il livello dell’applicazione fornisce protocolli che consentono ai sistemi software di trasmettere dati e fornire informazioni significative agli utenti finali.

Esempio: i protocolli a livello di applicazione possono essere i famosi Hypertext Transfer Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), Domain Name System (DNS), File Transfer Protocol (FTP) e altri.

Modello TCP/IP e OSI: differenze

Le principali differenze tra TCP/IP e il modello OSI sono:

  • Il TCP/IP, creato dal Dipartimento della Difesa degli Stati Uniti (DoD), è un concetto più vecchio del modello OSI.
  • Il modello funzionale TCP/IP è stato costruito per risolvere specifici problemi di comunicazione e si basa su protocolli standard. Il modello OSI, d’altra parte, è un modello generico indipendente dal protocollo utilizzato per definire le comunicazioni di rete.
  • Il modello TCP/IP è più semplice e ha meno livelli rispetto al modello OSI. Ha quattro strati, in genere:
    • Il livello di accesso alla rete, che combina i livelli OSI 1 e 2.
    • Il livello Internet, chiamato livello di rete nel modello OSI
    • Strato di trasporto
    • Livello di applicazione, che combina i livelli OSI 5,6 e 7.
  • Il modello OSI ha sette livelli: il livello fisico, il livello di collegamento dati, il livello di rete, il livello di trasporto, il livello di sessione, il livello di presentazione e il livello di applicazione.
  • Le applicazioni che utilizzano TCP/IP utilizzano tutti i livelli, ma nel modello OSI la maggior parte delle applicazioni non utilizza tutti i suoi sette livelli. In effetti, i livelli 1-3 sono obbligatori solo per la trasmissione dei dati.

Conclusione

Conoscere il modello OSI può aiutare sviluppatori e fornitori a creare applicazioni e prodotti software interoperabili e sicuri. Ti aiuterà anche a distinguere tra diversi strumenti e protocolli di comunicazione e come funzionano tra loro. E se sei uno studente che aspira a superare un esame di networking come la certificazione CCNA, conoscere il modello OSI sarà vantaggioso.