Il modello OSI (Open System Interconnection) è un modello che serve per la divisione in livelli della gestione di una rete e nel 1984 è diventato parte degli standard ISO (International Standard Organizzation).
Come dicevamo, il modello OSI divide la gestione reti in sette livelli:
- 1 livello: Fisico: è un livello fondamentale e riguarda la trasmissione di dati tramite cavi.
- 2 livello: Collegamento dati: affidabilità del trasferimento dei dati attraverso il livello fisico. Questo livello ha il compito di sincronizzare i dati, controllare il loro flusso e riconoscere gli errori.
- 3 livello: Rete: funge da interfaccia tra il livello fisico e quello del collegamento dati.
- 4 livello: Trasporto: livello molto importante per il trasferimento di pacchetti in una LAN.
- 5 livello: Sessione: fra le applicazioni fornisce un metodo standard per lo scambio dei dati.
- 6 livello: Presentazione: livello che indica il formato che i dati devono avere per poter essere utilizzati da altri dispositivi.
- 7 livello: Applicazione: livello molto importante che si riferisce a programmi con funzioni e aspetti standard.
Esaminiamo bene ora tutti i livelli, uno per uno:
Livello 7: Applicazione
E’ il livello più alto del modello OSI, interagisce con l’utente e tratta direttamente le applicazioni (application program interface). Nel livello 7 risiedono il SO di rete e tutte le altre applicazioni quali posta elettronica, condivisione file, gestione database, etc etc. Gli standard di questo layer sono SAA (System Application Architecture) di IBM e anche X.400 Message Handling. Come abbiamo già detto questo è probabilmente il livello più importante poichè in diretto contatto con l’utente.
Livello 6: Presentazione
Questo livello riguarda riguarda il formato dati e ha la capacità di gestire i formati speciali e la crittografia. Oltre a questo, qui risiedono anche i codici di controllo, set caratteri e loro funzioni grafiche. Inoltre il protocollo HTTP (per formattare le pagine web) un protocollo tipico appartenente a questo livello. Capita anche che i sistemi operativi di rete usino codifiche diverse, tipo EBCDIC oppure ASCII. In poche parole il livello sei di presentazione serve per l’interpretazione dei dati da parte del ricevente.
Livello 5: Sessione
Anche questo livello è molto importante perchè permette a due applicazioni (o alle sue parti) di comunicare attraverso la rete per eseguire azioni che riguardano la sicurezza e tutta l’amministrazione.
Livello 4: Trasporto
A questo quarto livello, come si può capire dal nome, è delegato il compito del trasporto dati. Infatti, si occupa di fornire un trasferimento dati sufficientemente affidabile, correggendo anche gli eventuali errori. Fraziona tutti i messaggi in pacchetti, controlla il loro ordine e i loro errori.Questo quarto livello viene chiamato anche end-to-end perchè è il primo che agisce indipendentemente dalla tipologia di rete sulla quale è situato. I protocolli principali di questo livello sono TCP (Transmission Control Protocol) e UDP (User Datagram Protocol). Il TCP si occupa della scomposizione e ricomposizione dei dati, ma anche di controllarli, infatti, gli eventuali dati danneggiati o persi vengono ritrasmessi. L’UDP invece non esegue alcun controllo.
Livello 3: Rete
Il livello 3, chiamato anche Network, si occupa del percorso che devono fare tutti i pacchetti dati, cioè indica la vera e propria strada fisica. Diciamo che ci sono due elementi hardware fondamentali: per primi gli switch che filtrano e direzionano il traffico, quindi i pacchetti dati e le schede di rete che li formatta, tanto da renderli riconoscibili e in un certo senso compatibili con i programmi che hanno il compito di direzionarli. Questo terzo livello utilizza maggiormente il protocollo IP, difatti il 90% delle reti dispone di questo protocollo per l’indirizzamento e comunque tutta la gestione dei pacchetti viaggianti in rete (e anche per la definizione di indirizzi). Il protocollo IP inoltre, viene usato anche nel livello transport, quindi nel quarto.
Livello 2: Collegamento dati
Questo livello gestisce il flusso dati fra i vari sistemi e indica come collegare tra di loro i caratteri in modo da formare il messaggio, inoltre li analizza e li controlla prima del loro invio. Utilizza vari protocolli, quali: BSC (Binary Sinchronous Communications Protocol), ADCCP (Advanced Data Communications Control Procedures) e HDLC (Hight-Level Data Link Control) etc etc. Questi ultimi servono semplicemente per dirigere i messaggi verso la giusta direzione e a verificare che siano stati effettivamente ricevuti. Per apprendere meglio, tutto questo procedimento può essere paragonato a quello analogo del protocollo FTP, che individua gli errori e ritrasmette i dati durante lo scambio dei file.
Livello 1: Fisico
Finalmente siamo arrivati al level one! Dal nome capiamo già che si occupa totalmente della parte fisica della trasmissione dati, cioè hardware. Infatti i cavi coassiali, le fibre ottiche, le schede Ethernet sono elementi fondamentali di questo livello. Gli standard sono stati decisi da ISO, ma anche da CCITT.
Ognuno di questi livelli, interagisce pienamente con quello sotto. Ciò significa che Applicazione interagisce con Presentazione, Presentazione con Sessione, e cosi via. E’ meglio dire riceve dati al posto di interagire, appunto perchè, per funzionare, il modello OSI permette lo scambio dei dati da un livello all’altro (sempre rispettando l’ordine del successivo), per poi arrivare all’ultimo, quindi livello fisico. Questo livello fisico passa i dati al livello fisico dell’altro host, che provvederà poi a passare il tutto al livello superiore (e cosi continua il ciclo). Ai dati, ogni volta che passano da un livello all’altro, viene aggiunta una piccola intestazione, ma non possono essere modificati. La suddivisione in livelli del modello OSI può essere paragonata alla suddivisione del protocollo TCP/IP suite. Infatti la suddivisione è simile come mostra la seguente figura:
Vediamo ora le caratteristiche dei livelli TCP:
Livello Application
Nel TCP/IP non esistono i livelli sessione e presentation, infatti dopo il transport troviamo direttamente l’application, contenente tutti i protocolli di alto livello, per esempio (quelli prima introdotti e ora i più usati): Telnet, SMTP, FTP, NNTP, DNS e infine HTTP.
Livello Transport:
Si occupa della qualità del servizio che offre, quindi il trasporto dei dati, correggendo gli errori. Qui, come nel modello OSI, troviamo due protocolli: TCP e UDP. Con il TCP, di connessione, tutti i dati arrivano nel giusto modo. Spezzetta inoltre il flusso dati e li manda al layer sottostante, quindi al livello Internet. L’UDP (User Datagram Protocol), non è un protocollo di connessione, quindi per niente affidabile, visto che i pacchetti possono arrivare in modo disordinato o addirittura non arrivare.
Livello Internet:
Il protocollo di questo livello è IP, che si occupa del routing, quindi del direzionamento dei pacchetti. Il compito di questo livello è far viaggiare i pacchetti, in modo da farli giungere a destinazione, anche se magari in un pc di un’altra rete.
Livello Network Interface
Ecco l’ultimo livello della suite TCP/IP, chiamato anche host-to-network layer poichè invia pacchetti IP nella rete. Qui non esiste un modello fisico, in quanto si usano piattaforme hardware, comunque conformi agli standard IEEE 802.
I vantaggi del modello OSI
La suddivisone in livelli della gestione di una rete, quindi del modello OSI, comporta dei vantaggi:
Innanzitutto (1)riduce la complessità , grazie alla divisione in livelli stessa, poi (2)standardizza le interfacce o i componenti, (3)facilita la creazione dei componenti, quindi sia software che hardware, (4)assicura l’interoperabilità , quindi consente una gestione indipendente dal tipo di piattaforma (sia hw che sw) e infine (5)velocizza lo sviluppo perchè permette l’implementazione di ogni livello indipendentemente da un altro.