- Cos’è il modello OSI?
- Perché il modello OSI è importante?
- Quali sono i sette livelli del modello OSI?
- 7. Il livello applicazione
- 6. Il livello presentazione
- 5. Il livello Session
- 4. Il livello di trasporto
- 3. Il livello di rete
- 2. Il livello di collegamento dati
- 1. Il livello fisico
- Come i dati scorrono attraverso il modello OSI
Cos’è il modello OSI?
Il modello OSI (Open Systems Interconnection) è un modello concettuale creato dall’International Organization for Standardization che permette a diversi sistemi di comunicazione di comunicare usando protocolli standard. In parole povere, l’OSI fornisce uno standard per i diversi sistemi informatici per essere in grado di comunicare tra loro.
Il modello OSI può essere visto come un linguaggio universale per la rete dei computer. Si basa sul concetto di suddivisione di un sistema di comunicazione in sette livelli astratti, ognuno sovrapposto al precedente.
Ogni livello del modello OSI gestisce un lavoro specifico e comunica con i livelli superiori e inferiori. Gli attacchi DDoS mirano a specifici livelli di una connessione di rete; gli attacchi al livello delle applicazioni mirano al livello 7 e gli attacchi al livello del protocollo mirano ai livelli 3 e 4.
Perché il modello OSI è importante?
Anche se l’Internet moderna non segue strettamente il modello OSI (segue più da vicino la più semplice suite di protocolli Internet), il modello OSI è ancora molto utile per risolvere i problemi di rete. Che si tratti di una persona che non riesce a connettere il proprio portatile a Internet, o di un sito web che non funziona per migliaia di utenti, il modello OSI può aiutare a risolvere il problema e a isolare la fonte del problema. Se il problema può essere circoscritto ad un livello specifico del modello, si può evitare molto lavoro inutile.
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:
7. Il livello applicazione
Questo è il solo livello che interagisce direttamente con i dati dell’utente. Le applicazioni software come i browser web e i client di posta elettronica si affidano al livello applicazione per avviare le comunicazioni. Ma dovrebbe essere chiaro che le applicazioni software client non fanno parte del livello applicazione; piuttosto il livello applicazione è responsabile dei protocolli e della manipolazione dei dati su cui il software si basa per presentare dati significativi all’utente. I protocolli del livello applicazione includono HTTP e SMTP (Simple Mail Transfer Protocol è uno dei protocolli che permette le comunicazioni via e-mail).
6. Il livello presentazione
Questo livello è principalmente responsabile della preparazione dei dati in modo che possano essere utilizzati dal livello applicazione; in altre parole, il livello 6 rende i dati presentabili per le applicazioni da consumare. Il livello di presentazione è responsabile della traduzione, della crittografia e della compressione dei dati.
Due dispositivi comunicanti possono usare diversi metodi di codifica, quindi il livello 6 è responsabile della traduzione dei dati in arrivo in una sintassi che il livello applicazione del dispositivo ricevente può capire.
Se i dispositivi stanno comunicando su una connessione criptata, il livello 6 è responsabile dell’aggiunta della crittografia da parte del mittente e della decodifica della crittografia da parte del ricevitore in modo da poter presentare al livello applicazione dei dati leggibili e non criptati.
Infine il livello presentazione è anche responsabile della compressione dei dati che riceve dal livello applicazione prima di consegnarli al livello 5. Questo aiuta a migliorare la velocità e l’efficienza della comunicazione minimizzando la quantità di dati che saranno trasferiti.
5. Il livello Session
Questo è il livello responsabile dell’apertura e della chiusura della comunicazione tra i due dispositivi. Il tempo tra quando la comunicazione viene aperta e chiusa è noto come sessione. Il livello di sessione assicura che la sessione rimanga aperta abbastanza a lungo per trasferire tutti i dati scambiati, e poi chiude prontamente la sessione per evitare lo spreco di risorse.
Il livello di sessione sincronizza anche il trasferimento dei dati con i checkpoint. Per esempio, se un file di 100 megabyte viene trasferito, il livello di sessione potrebbe impostare un checkpoint ogni 5 megabyte. Nel caso di una disconnessione o di un crash dopo che 52 megabyte sono stati trasferiti, la sessione potrebbe essere ripresa dall’ultimo checkpoint, il che significa che solo altri 50 megabyte di dati devono essere trasferiti. Senza i checkpoint, l’intero trasferimento dovrebbe ricominciare da zero.
4. Il livello di trasporto
Il livello 4 è responsabile della comunicazione end-to-end tra i due dispositivi. Questo include prendere i dati dal livello di sessione e dividerli in pezzi chiamati segmenti prima di inviarli al livello 3. Il livello di trasporto sul dispositivo ricevente è responsabile di riassemblare i segmenti in dati che il livello di sessione può consumare.
Il livello di trasporto è anche responsabile del controllo del flusso e del controllo degli errori. Il controllo del flusso determina una velocità di trasmissione ottimale per assicurare che un mittente con una connessione veloce non sovraccarichi un ricevitore con una connessione lenta. Il livello di trasporto esegue il controllo degli errori all’estremità ricevente assicurandosi che i dati ricevuti siano completi, e richiedendo una ritrasmissione se non lo sono.
3. Il livello di rete
Il livello di rete è responsabile di facilitare il trasferimento dei dati tra due reti diverse. Se i due dispositivi che comunicano sono sulla stessa rete, allora il livello di rete non è necessario. Il livello di rete spezza i segmenti del livello di trasporto in unità più piccole, chiamate pacchetti, sul dispositivo del mittente, e riassembla questi pacchetti sul dispositivo ricevente. Il livello di rete trova anche il miglior percorso fisico per i dati per raggiungere la loro destinazione; questo è noto come routing.
2. Il livello di collegamento dati
Il livello di collegamento dati è molto simile al livello di rete, tranne che il livello di collegamento dati facilita il trasferimento dei dati tra due dispositivi sulla stessa rete. Il livello di collegamento dati prende i pacchetti dal livello di rete e li spezza in pezzi più piccoli chiamati frame. Come il livello di rete, il livello di collegamento dati è anche responsabile del controllo del flusso e del controllo degli errori nella comunicazione all’interno della rete (il livello di trasporto fa solo il controllo del flusso e degli errori per le comunicazioni tra reti).
1. Il livello fisico
Questo livello include l’attrezzatura fisica coinvolta nel trasferimento dei dati, come i cavi e gli interruttori. Questo è anche il livello in cui i dati vengono convertiti in un flusso di bit, che è una stringa di 1 e 0. Il livello fisico di entrambi i dispositivi deve anche concordare una convenzione di segnale in modo che gli 1 possano essere distinti dagli 0 su entrambi i dispositivi.
Come i dati scorrono attraverso il modello OSI
Per trasferire informazioni leggibili dall’uomo su una rete da un dispositivo all’altro, i dati devono viaggiare lungo i sette livelli del modello OSI sul dispositivo di invio e poi risalire i sette livelli sul terminale ricevente.
Per esempio: Il signor Cooper vuole inviare un’email alla signora Palmer. Il signor Cooper compone il suo messaggio in un’applicazione di posta elettronica sul suo portatile e poi preme ‘invia’. La sua applicazione di posta elettronica passerà il suo messaggio al livello di applicazione, che sceglierà un protocollo (SMTP) e passerà i dati al livello di presentazione. Il livello di presentazione comprimerà i dati e poi raggiungerà il livello di sessione, che inizializzerà la sessione di comunicazione.
I dati raggiungeranno poi il livello di trasporto del mittente dove saranno segmentati, poi quei segmenti saranno suddivisi in pacchetti al livello di rete, che saranno ulteriormente suddivisi in frame al livello di collegamento dati. Il livello di collegamento dati consegnerà poi quei frame al livello fisico, che convertirà i dati in un flusso di bit di 1 e 0 e li invierà attraverso un mezzo fisico, come un cavo.
Una volta che il computer della signora Palmer riceve il flusso di bit attraverso un mezzo fisico (come il suo wifi), i dati fluiranno attraverso la stessa serie di livelli sul suo dispositivo, ma nell’ordine opposto. Prima il livello fisico convertirà il flusso di bit da 1 e 0 in frame che verranno passati al livello di collegamento dati. Il livello di collegamento dati riassemblerà poi i frame in pacchetti per il livello di rete. Il livello di rete farà poi dei segmenti dai pacchetti per il livello di trasporto, che riassemblerà i segmenti in un pezzo di dati.
I dati fluiranno poi nel livello di sessione del ricevitore, che passerà i dati al livello di presentazione e poi terminerà la sessione di comunicazione. Il livello di presentazione rimuoverà la compressione e passerà i dati grezzi al livello dell’applicazione. Il livello dell’applicazione passerà poi i dati leggibili dall’uomo al software di posta elettronica della signorina Palmer, che le permetterà di leggere l’e-mail del signor Cooper sullo schermo del suo portatile.