Tutorial sullo standard che definisce le modalità di interconessione fra calcolatori.
Il modello ISO/OSI è uno standard per l’interconnessione di sistemi
che descrive il modo in cui le informazioni vengono trasferite tra gli host
in rete. Il modello ISO/OSI definisce una pila (stack) di protocolli in 7 livelli
(layer o strati). I livelli comunicano fisicamente tra di loro attraverso una
interfaccia che consiste in una serie di operazioni che ogni livello offre al
livello superiore. Per capire il funzionamento dell’architettura OSI, vediamo
la funzione di ciascuno strato.
1. Strato fisico. Comprende tutte le funzioni (procedure meccaniche
ed elettroniche) che permettono una connessione a livelo fisico.
2. Collegamento dati (data link). Definisce le regole per
inviare e ricevere informazioni tra due sistemi in comunicazione. Le trame di
dati vengono incapsulate in un pacchetto provvisto di header (intestazione)
e tail (coda).
3. Rete. Mentre lo strato 2 è usato per controllare la comunicazione
tra due dispositivi connessi direttamente tra loro, lo strato di rete fornisce
servizi di internetworking (connessione tra reti). Questi servizi assicurano
che un pacchetto di informazioni raggiunga la destinazione dopo un percorso
comprendente più collegamenti punto a punto, collegati tra loro da router (dispositivi
d’instradamento che uniscono reti diverse). Lo strato di rete si occupa di smistare
pacchetti su collegamenti multipli. Quando il collegamento è unicamente locale,
come avviene in una LAN (rete locale) all’interno di un ufficio o di un’abitazione,
la consegna dei pacchetti può utilizzare protocolli semplificati come NetBIOS
(Network Basic Input Output System – l’originaria interfaccia di rete del PC
IBM), che fanno leva sulle funzioni dello strato data link per distribuire i
pacchetti; però, con l’avvento di Internet e la necessità di collegare la propria
rete ad altre, anche distanti, è diventato standard l’impiego di protocolli
di rete veri e propri, e in particolare della famiglia di protocolli TCP/IP.
L’Internet Protocol è un protocollo di internetworking che opera allo strato
di rete, dove il mittente e il destinatario vengono riconosciuti sulla base
di un indirizzo univoco, valido per l’intero dominio Internet, che prende il
nome, appunto, di indirizzo IP. Tale strato non si occupa di verificare l’integrità
della trasmissione supponendo che, se lo strato 2 non ha segnalato errori, la
rete sia operativa, e lasciando agli strati superiori il compito di monitorare
la consegna a destinazione dei pacchetti e di garantire l’affidabilità della
comunicazione. Il protocollo TCP (Transmission Control Protocol) si occupa di
verificare che la sequenza dei pacchetti sia corretta e che venga mantenuta
nel corso delle operazioni d’instradamento su Internet, dove ogni pacchetto
viaggia in maniera indipendente. Infatti, un messaggio di posta elettronica,
oppure una pagina Web, devono essere suddivisi in pacchetti per poter essere
trasmessi mediante IP; lo strato TCP (equivalente allo strato 4 OSI) verifica
che la sequenza con cui arrivano a destinazione sia corretta.
4. Trasporto. Questo strato fornisce un alto livello di controllo
sullo spostamento delle informazioni tra i sistemi terminali di una sessione
di comunicazione.
5. Sessione. Lo strato di sessione ha il compito di stabilire
e mantenere la comunicazione tra due computer. In generale, si tratta di un
processo a tre fasi: stabilire le regole iniziali per la connessione logica,
scegliendo tra i tipi di comunicazione simplex (flusso unico), half-duplex (doppio
flusso alternato) e duplex (flusso bidirezionale), muovere i dati da un host
all’altro e, infine, rilasciare la connessione. Lo scambio d’informazioni avviene
in termini di dialogo, per indicare, ad esempio, da dove ricominciare la trasmissione,
se una connessione è stata temporaneamente perduta, o dove terminare un data
set (insieme di dati) e iniziarne un altro.
Due esempi di protocolli che operano anche allo strato di sessione sono RPC
(Remote Procedure Call – per attivare a distanza moduli di programma) e NFS
(Network File System – per accedere a dischi condivisi in rete in ambiente Internet);
anche il protocollo PPP opera parzialmente a questo livello.
6. Presentazione. Lo scopo dei processi che operano allo strato
6 è, principalmente, di agire da traduttori per i servizi dello strato applicativo.
Spesso si tratta di convertire i dati da un formato proprietario a uno universale
e viceversa, in modo che i protocolli dallo strato 5 in giù interagiscano con
dati in formato standard senza essere coinvolti nelle conversioni.
Altre funzioni di questo strato sono la compressione/decompressione e la cifratura/
decifratura dei dati. I protocolli di file sharing (condivisione dei file),
che trasferiscono i file attraverso la rete verso condivisioni di rete (nomi
assegnati a risorse condivise), funzionano allo strato di presentazione.
7. Applicazione. Lo strato applicativo fornisce l’interfaccia
di rete per protocolli applicativi che vengono utilizzati direttamente dall’utente
finale, come HTTP per accedere alle pagine web, POP3 per scaricare la posta
elettronica, FTP per trasferire file. Tale strato non ha a che fare con la parte
di applicazione che s’interfaccia con l’utente, e che non rientra nel modello
OSI. Lo strato 7 si occupa solo di determinare lo stato delle comunicazioni
tra due applicazioni. L’obiettivo è stabilire se le risorse sono disponibili
per poter iniziare la comunicazione tra due o più host, e scoprire se i computer
interessati sono in grado di comunicare. Lo strato 7 comprende numerosi protocolli
e applicazioni, molti dei quali sono in grado di fornire un certo servizio anche
da soli, ma più spesso si integrano a vicenda per fornire all’utente una gamma
di funzionalità più ricca.
Tra i protocolli applicativi nella sfera della famiglia TCP/IP citiamo:
- HTTP (HyperText Transfer Protocol – per l’accesso alle pagine Web)
- SMTP (Simple Mail Transfer Protocol – per l’invio di messaggi a un server
di posta elettronica) - SNMP (Simple Network Management Protocol – per la gestione a distanza di
dispositivi di rete) - POP (Post Office Protocol – per il prelievo di messaggi da un server di
posta elettronica) - FTP (File Transfer Protocol – per il trasferimento di file su Internet)
- TFTP (Trivial FTP, una versione semplificata di FTP)
- Telnet (per l’accesso via rete a computer remoti)
- NFS (Network File System – la condivisione di dischi su rete)
- NTP (Network Time Protocol, per sincronizzare gli orologi dei computer).