Sulla base di quanto visto nelle precedenti lezioni, possiamo concludere che i processi di comunicazione fra due entità (es. due persone o due PC) possono essere scomposti e rappresentati in generale mediante un modello detto a strati o a livelli (layer in inglese). Si tratta in breve di suddividere la complessità della comunicazione in funzioni elementari e di assegnare queste ultime a strati diversi.
Ogni strato svolge compiti specifici e diversi da tutti gli altri. A tale scopo esso utilizza i servizi forniti dallo strato immediatamente inferiore e fornisce servizi allo strato immediatamente superiore. Possiamo in generale definire un servizio come una funzionalità che un certo livello offre al livello immediatamente superiore. Ad esempio la segretaria offre al livello dirigente i servizi di segreteria (es. correzione, stampa e invio delle lettere).
I servizi consentono al livello superiore di utilizzare le funzionalità messe a disposizione dal livello inferiore, nascondendone la complessità e i dettagli implementativi. In pratica il livello superiore deve solo conoscere le modalità di accesso ai servizi offerti e non come tali servizi vengono effettivamente realizzati.
Per tornare a un semplice esempio già da noi esaminato, quando facciamo una telefonata, non dobbiamo preoccuparci di come funziona il nostro apparecchio telefonico né di come è realizzata la rete telefonica: ci basta sapere la procedura da seguire (alzare il ricevitore, comporre il numero, etc.) e tale procedura costituisce l'interfaccia fra noi e il livello dell'apparecchio telefonico.
A ogni strato (o livello) devono corrispondere opportuni protocolli di comunicazione, cioè insiemi di regole che specificano le modalità con cui deve svolgersi la comunicazione stessa e il formato (la sintassi) dei messaggi che possono essere scambiati fra due peer entity.
Si noti anche che, affinché i protocolli siano veramente utili, essi devono essere condivisi fra i sistemi in comunicazione fra loro. Ciò richiede un qualche tipo di organismo che si occupi di standardizzare e di regolamentare in modo condiviso i diversi protocolli di comunicazione.
Gli strati di uguale livello fra due sistemi comunicanti si chiamano peer level. Per esempio, richiamando lo schema già visto della spedizione di una lettera fra due aziende, i livelli dirigente, segretaria, fattorino, postino, ufficio poste sono altrettanti peer level:
Le coppie di entità di pari livello in comunicazione fra loro vengono dette entità di pari livello (peer entity) (es. i due dirigenti che si scambiano corrispondenza).
Su un dato livello tuttavia può esserci più di un elemento attivo. Per tornare all'esempio precedente, potrei avere più dirigenti oppure più segretarie diverse, più postini, uffici postali eccetera. Supponiamo per esempio di avere più dirigenti che utilizzano lo stesso servizio di segreteria. E' evidente che il livello "segretaria" dovrà implementare qualche meccanismo per ricevere e consegnare la corrispondenza giusta al dirigente a cui è destinata. Quando più entità (es. più dirigenti) condividono lo stesso canale di trasmissione, si parla di multiplexing (o multiplazione) in fase di trasmissione e di demultiplexing in fase di ricezione.
Un problema simile lo troviamo nella comunicazione telefonica, dove diverse telefonate, fra diverse coppie di utenti, condividono le medesime linee telefoniche. Anche qui le chiamate dovranno essere multiplexate in partenza e demultiplexate in arrivo, per garantire che ciascuna coppia di utenti possa comunicare "come se il canale di comunicazione fosse di loro esclusiva proprietà".
Un problema che deve essere affrontato, per implementare il multiplexing, è quello degli indirizzi. Infatti chi effettua il servizio deve avere un modo per identificare colui che l'ha richiesto, in modo da poter consegnare la risposta al corretto destinatario. Come vedremo meglio nel seguito, ogni protocollo di livello prevede infatti anche un modo di indirizzamento (per esempio gli indirizzi MAC a livello di Accesso alla rete, gli indirizzi IP nel protocollo omonimo e i numeri di porta nei protocolli del livello di Trasporto).
Come abbiamo detto, il dialogo fra due peer entity di livello N viene realizzato tramite i servizi offerti dal livello sottostante N-1. In realtà non c'è un trasferimento diretto fra due peer entity, poiché i dati da trasferire vengono passati ai livelli sottostanti per la successiva elaborazione. Tuttavia le due entità di pari livello funzionano come se fossero davvero in collegamento diretto fra loro, senza preoccuparsi dei livelli inferiori che realizzano tale collegamento. Per esempio due persone impegnate in una conversazione telefonica non si preoccupano di come i livelli inferiori realizzano la connessione e trasmettono le informazioni: essi possono "credere" di parlare direttamente fra di loro.
Si parla a questo proposito di comunicazione logica e di comunicazione fisica. La comunicazione logica (detta anche circuito virtuale) è quella che viene a stabilirsi fra due entità di pari livello (es. i due dirigenti che si scambiano corrispondenza). La comunicazione logica è indicata dalle frecce orizzontali nella figura precedente: ribadiamo che si tratta in realtà di una connessione virtuale, poiché non esiste nessuna comunicazione fisica diretta fra due peer entity.
Viceversa la comunicazione fisica è quella che le entità di ogni livello mantengono con quelle dei due livelli adiacenti (superiore e inferiore). Per esempio il fattorino è in comunicazione fisica sia con la segretaria (da cui riceve la lettera) che con il postino (a cui la consegna). La comunicazione fisica è l'unica realmente esistente, mentre la comunicazione logica è solo una comoda astrazione.
Lo suddivisione a livelli offre un modello di riferimento concettuale di tipo modulare che sarà molto utile trattando di reti di calcolatori. La modularità in generale è un approccio in cui la complessità di un problema viene ridotta suddividendolo in parti (i moduli o, nel caso specifico, i livelli). In generale ogni modulo deve risultare completamente specificato e autonomo e interagire con gli altri secondo regole e procedure ben definite.
I principali vantaggi di tale approccio concettuale possono essere così brevemente enunciati:
Sito realizzato in base al template offerto da
http://www.graphixmania.it