Affinchè sistemi diversi possano parlare per cooperare è necessario che utilizzino le stesse regole per effettuare il trasferimento delle comunicazioni. l'ISO (International Standards Organization), iniziò un processo di standardizzazione con il modello OSI (Open System Interconnection) con l'obiettivo di rendere standard i i processi applicativi residenti sui pc di case costruttrici diverse.
Il modello OSI nasce per fornire una base comune per la realizzazione di standard nel settore dell'interconnessione di sistemi in formatici e di telecomunicazione (TCP/IP).
Lo standard OSI ha una struttura a 7 livelli che a sua volta sono suddivisi in 2 gruppi:
Livelli inferiori: quelli che si occupano della comunicazione e trasferimento dei dati
livelli superiori: quelli orientati all'applicazione
Negli endsystem sono presenti tutti i livelli OSI, mentre nei nodi(switch) solo i livelli inferiori.
Livello 1 Fisico
In questo livello vengono definite le caratteristiche elettriche e meccaniche del mezzo trasmissivo, come ad esempio la tipologia dei connettori, il livello dei segnali elettrici, la durata dei singoli bit, la modulazione e la codifica utilizzata, il tipo di trasmissione half-duplex (uno alla volta) o full-duplex (trasmissione contemporanea). Insomma il livello si occupa di tutto ciò che interessa la trasmissione del pacchetto di bit che gli viene fornito ed inviato al mezzo fisico di comunicazione, elettrico, ottico o tramite onde radio.
Livello 2 Collegamento
In questo livello i dati ricevuti dal livello superiore, vengono frammentati (attività di framing) e suddivisi in pacchetti a cui viene aggiunto un header (intestazione) ed una tail (coda). Alla ricezione di ogni pacchetto viene inviato un segnale di acknowledge (avvenuta ricezione) per far capire al mittente se i pacchetti sono arrivati, in modo che possano essere ritrasmessi eventuali pacchetti persi. Questo è il più basso livello di tipo sofware, ed i suoi protocolli sono contenuti nei driver software dei dispositivi (vedi la scheda di rete) o nei software interni ai vari apparati intermedi (Switch, Router).
Livello 3 Rete
Questo livello prende in carico lo smistamento dei pacchetti a seconda del loro indirizzo, dovrà perciò effettuare il cosiddetto routing, cioè la definizione del percorso ottimale per raggiungere il destinatario. In caso di collegamento tra due reti che utilizzano indirizzi differenti, questo livello dovrà occuparsi anche di convertire gli indirizzi in modo da consentire il passaggio dati tra reti diverse.
TCP/IP: A questo livello appartiene il protocollo IP (Internet Protocol) che assegna ad ogni dispositivodi rete un indirizzo, ed il protocollo DHCP che assegna automaticamente l’indirizzo al dispositivo in una rete locale.
Livello 4 Trasporto
Compito di questo livello, è garantire che i pacchetti arrivino nell’ordine corretto senza alcun errore o perdita di dati facendo un controllo end-to-end. Questo serve a rendere la comunicazione tramite la rete affidabile. Il livello si occupa inoltre di controllare la durata della trasmissione per evitare di congestionare la rete ed i router.
TCP/IP: A questo livello appartiene il protocollo TCP (Trasmission Control Protocol) e l’UDP (UserDatagram Protocol).
Livello 5 Sessione
Anche questo livello come i precedenti a partire dal livello 2, è di tipo software. Questo livello si occupa essenzialmente di stabilire e chiudere una comunicazione tra due host. Il livello si occuperà di attivare una comunicazione tra due dispositivi e mantenerla attiva per tutta la durata del trasferimento dati terminandola alla fine di esso. L’intero processo di trasmissione è chiamato sessione. La sessione comprende 3 fasi; avvio e apertura, lavoro in sessione, chiusura della sessione. Una sessione ad esempio si instaura quando un client (un terminale connesso alla rete) si connette ad un server (computer che offre un servizio).
Livello 6 Presentazione
Questo livello si occupa di trasformare i dati forniti dal livello superiore (quello di applicazione) in una modalità standardizzata. Il livello si occupa anche della compressione e della cifratura dei dati.
TCP/IP: Appartengono a questo livello i protocolli che si occupano di autenticazione e cifratura come ad esempio il TLS (Transport Layer Security) e il suo predecessore SSL (Secure Sockets Layer).
Livello 7 Applicazione
L’obiettivo principale di questo livello, è quello di fornire un’interfaccia di rete verso le comuni applicazioni software. Il livello si occupa di fare in modo che due applicazioni remote possano stabilire una comunicazione. Il protocollo più conosciuto appartenente a questo livello èn l’HTTP (in TCP/IP) cioè il protocollo di trasferimento di un ipertesto, utilizzato quando navighiamo in internet tramite un browser. Questo protocollo mette infatti in comunicazione il nostro browser Chrome o Firefox, con il Server che ospita il sito internet che visitiamo. Un altro protocollo che interessa questo livello è l’FTP (File Transfer Protocol in TCP/IP) che permette di trasferire dei file tramite anche autenticazione con nome utente e password. Anche lo scambio di email con i protocolli POP3 o SMTP interessano questo livello. E’ il livello più alto del modello ISO-OSI e per questo non fornisce servizi ad altri livelli, ma di fatto consente all’utente di interfacciarsi alla macchina.