Copyrigtht © 1996, 1997 Universita' di Firenze. All rights reserved.
Free license available.
di: Franco Pirri
-- 1 --
-- 2--
Per protocolli di comunicazione si intende quell'insieme di regole che permette la corretta instaurazione, mantenimento e terminazione di una comunicazione di qualsiasi tipo. Ad esempio in una comunicazione telefonica (il termine in uso in questo caso è segnalazione) si intendono la sollevazione del microfono la composizione del numero, i segnali di centrale e la chiusura della comunicazione. Nell'ambito delle reti di computer è stato svolto in ambito internazionale un tentativo di standardizzazione necessario soprattutto negli ambiti in cui diverse reti locali (LAN) debbano integrarsi (MAN, WAN). Tale sforzo è culminato nella realizzazione del modello OSI (Open System Interconnection) da parte dell'ISO (International Organization for Standardization).
Architettura di rete
Tipicamente gli standard per le reti prevedono una suddivisione a strati ciascuno dei quali fornisce dei servizi allo strato soprastante con il quale comunica mediante una interfaccia. Le entita' che costituiscono gli strati corrispondenti su macchine diverse sono denominate processi paritari i quali comunicano usando i protocolli (comunicazione virtuale).
In realta' ciascuno strato passa i dati e le informazioni allo strato immediatamente sottostante; il passaggio fisico dei dati avviene nel livello piu' basso.
-- 3--
Il modello ISO/OSI prevede di dividere le funzionalità del protocollo di telecomunicazione in strati o layers ognuno dei quali svolge una parte piccola e indipendente dalle altre in modo da poter permettere una realizzazione o revisione delle singole funzionalità senza dover toccare le altre o anche di permetterre una compatibilità a livelli diversi tra diverse implementazioni. La comunicazione tra i vari livelli e assicurata da chiamate standard; ogni livello è tenuto a rispondere in maniera corretta alle chiamate che gli competono e che verranno generate dai due livelli ad esso adiacenti, la modalità con cui le funzioni competenti ad un livello vengono svolte non è visibile dall'esterno che ne è così svincolato. Nel modello OSI sono previsti 7 livelli.
-- 4--
DefinizioniServizio
insieme di primitive (operazioni) che uno strato fornisce ad uno strato soprastante.
Protocollo
insieme di regole che governano il formato e il significato dei frame, dei pacchetti o dei messaggi che vengono scambiate dalle entita' paritarie entro uno strato.
-- 5--
La compatibilità tra due reti può avvenire ad un qualsiasi livello senza che i soprastanti siano coinvolti in operazioni di conversione di formato.
-- 6--
-- 7--
Il modello ISO/OSI prevede di dividere le funzionalità del protocollo di telecomunicazione in strati o layers ognuno dei quali svolge una parte piccola e indipendente dalle altre in modo da poter permettere una realizzazione o revisione delle singole funzionalità senza dover toccare le altre o anche di permetterre una compatibilità a livelli diversi tra diverse implementazioni. La comunicazione tra i vari livelli e assicurata da chiamate standard; ogni livello è tenuto a rispondere in maniera corretta alle chiamate che gli competono e che verranno generate dai due livelli ad esso adiacenti, la modalità con cui le funzioni competenti ad un livello vengono svolte non è visibile dall'esterno che ne è così svincolato. Nel modello OSI sono previsti 7 livelli :
7 APPLICATION livello con il quale interagisce l'utente
6 PRESENTATION transcodifica dei formati (es. ASCII ó EBCDIC) e criptatura.
5 SESSION instaurazione, mantenimento, controllo e abbattimento della connessione (anche login e logout).
4 TRANSPORT gestione della trasmissione (divisione in pacchetti, ordinamento di pacchetti, controllo d'errore ad alto livello).
3 NETWORK funzione di routing, controllo del flusso, tariffazione.
2 DATA LINK controllo d'errore su pacchetti (tecniche FEC e ARQ), tecniche di accesso (ordinato o casuale).
1 PHYSICAL trasmissione fisica del singolo bit.
-- 8--
-- 9--
L'informazione viene passata dall'utente all'Application Layer, quindi discende i vari livelli fino al momento di essere trasmessa sul canale. Ogni livello aggiunge al pacchetto informativo ricevuto un header che contiene le informazioni riguardanti esclusivamente quel livello. All'atto della ricezione al nodo successivo verrà eseguita la procedura contraria in modo che un livello "vede" un pacchetto identico a quello che era stato processato al livello corrispondente. Questo è valido nella comunicazione tra due nodi consecutivi; all'interno di una trasmissione l'informazione può dover attraversare reti con standard diversi, in questo caso verranno variate solo le informazioni dei layer diversi (generalmente sono coinvolti solo i livelli di rete), cosicché tra i layer del nodo origine e del nodo destinazione si stabilisce una connessione virtuale detta "end to end".
Ogni strato puo' fornire servizi orientati alla connessione e non.
Nel primo caso si stabilisce una connessione tra sorgente e destinazione per tutta la durata del trasferimento dati che mantiene l' ordine di trasmissione (come nella connessione telefonica); nel secondo caso ogni messaggio viene instradato nel sistema indipendentemente da tutti gli altri e porta quindi con se l' indirizzo di destinazione.
-- 10 --
-- 11 --
Ogni strato puo' fornire servizi orientati alla connessione e non.
Nel primo caso si stabilisce una connessione tra sorgente e destinazione per tutta la durata del trasferimento dati che mantiene l' ordine di trasmissione (come nella connessione telefonica); nel secondo caso ogni messaggio viene instradato nel sistema indipendentemente da tutti gli altri e porta quindi con se l' indirizzo di destinazione.
-- 12 --
Header - Qualificazione del pacchetto dati per questo livello
DATA - Ogni livello e'trasparent ai dati del livello superiore
Trailer - generalmente usato in funzione di trattamento dell'errore (rivelazione, correzione)
pacchetto informativo ricevuto un header che contiene le informazioni riguardanti esclusivamente quel livello. All'atto della ricezione al nodo successivo verrà eseguita la procedura contraria in modo che un livello "vede" un pacchetto identico a quello che era stato processato al livello corrispondente. Questo è valido nella comunicazione tra due nodi consecutivi; all'interno di una trasmissione l'informazione può dover attraversare reti con standard diversi, in questo caso verranno variate solo le informazioni dei layer diversi (generalmente sono coinvolti solo i livelli di rete), cosicché tra i layer del nodo origine e del nodo destinazione si stabilisce una connessione virtuale detta "end to end".
Ogni strato puo' fornire servizi orientati alla connessione e non.
Nel primo caso si stabilisce una connessione tra sorgente e destinazione per tutta la durata del trasferimento dati che mantiene l' ordine di trasmissione (come nella connessione telefonica); nel secondo caso ogni messaggio viene instradato nel sistema indipendentemente da tutti gli altri e porta quindi con se l' indirizzo di destinazione.
-- 13 --
Le primitive ordinano al servizio di svolgere le azioni cui esso e' preposto. Sono comandi attraverso cui avviene la comunicazone virtuale end-to-end. Le primitive apartengono a quattro classi:
- richiesta
- indicazione
- risposta
- conferma"CONNECT .REQUEST": richiede che venga stabilita una nuova connessione."CONNECT .INDICATION": segnala una richiesta di connessione al partner chiamato.
"CONNECT .RESPONSE": usato dal partner chiamato per accettare o rifiutare le chiamate.
"CONNECT .CONFIRM": informa il chiamante sull' accettazione o sul rifiuto della chiamata.
----> ESEMPIO: analogia col sistema telefonico
Data request : invito a cena
Data indication : lei ascolta l'invito
Data response : lei dice che accetta
Data confirm: ascolto l'accettazione dell' invito
----> OSSERVAZIONE: ci sono alcune azioni che non hanno necessità di tutte e quattro le primitive.
Ad esempio nel caso del troncamento di una conversazione sono sufficienti due primitive:
richiesta : riappendo la cornetta
indicazione : lei sente che ho riappeso (e fa altrettanto).
-- 14 --
Tutti i programmi vengono scritti basandosi su questo metodo di interazione. Queste primitive ci sono tra ogni livello perchè servono per farli comunicare tra loro.( tra livello 1 e 2, 2 e 3, ..).
Ultimo Aggiornamento: 24
Febbraio 1997.