PROGRAMMIAMO
Internet - Funzioni dei livelli TCP/IP
Le funzioni dei diversi livelli spiegate con una semplice analogia

Tenendo presente lo schema di suddivisione in livelli TCP/IP visto nella precedente lezione, aiutiamoci con una semplice analogia per cercare di comprendere meglio le caratteristiche e le funzioni di ogni livello:

Architettura TCP/IP

Immaginiamo di avere un grande magazzino che si occupa della vendita per corrispondenza di diversi tipi di articoli (es. computer, elettrodomestici, casalinghi etc.). Il magazzino non vende direttamente ai clienti, ma invia la merce ai negozianti che poi a loro volta la venderanno ai singoli clienti. Il proprietario del magazzino (sorgente) e il singolo negoziante (destinatario) operano sul Livello Applicazione. Diciamo che per loro non è importante come le merci verranno spedite e attraverso quali percorsi, purché arrivino integre a destinazione.

Supponiamo che un negoziante abbia ordinato un computer e un altro invece abbia ordinato una zuppiera di porcellana al nostro magazzino. Il magazzino è ovviamente diviso in molti reparti e l'ordine del computer viene passato al reparto Informatica e quello della zuppiera al reparto Casalinghi. Questa situazione è analoga è quella che si verifica in un computer dove siano in esecuzione diversi programmi, ciascuno dei quali potrebbe usufruire della rete Internet. Nella nostra analogia i programmi sono i reparti del magazzino che condividono lo stesso canale di spedizione degli ordini (Internet).

I gestori del reparto Informatica e di quello Casalinghi preparano i rispettivi prodotti, li confezionano e li passano al Livello di Trasporto. Il Livello di Trasporto in realtà non si occupa di trasportare nulla. Esso ha anzitutto la funzione di tenere traccia di chi sta cercando di spedire che cosa verso quale destinazione. Immaginate che il livello di trasporto sia il Reparto Spedizioni del nostro grande magazzino. Poiché a tale reparto pervengono contemporaneamente più richieste di spedizione, esso deve occuparsi di gestirle correttamente in modo che, per esempio, quando arriverà la bolla di consegna del computer, questa venga inoltrata al reparto Informatica e non a quello Casalinghi. In un certo senso il gestore del Reparto Informatica e quello del Reparto Casalinghi possono benissimo credere di avere il Livello di Trasporto tutto per loro. In altre parole, essi non devono sapere che in realtà tale livello è condiviso fra reparti diversi, poiché di gestire tale condivisione si occupa appunto il Livello di Trasporto. Questa condivisione di un unico canale fra diverse trasmissioni si chiama tecnicamente multiplazione (multiplexing in inglese) e si dice che il Livello di Trasporto si occupa anzitutto della multiplazione sul canale di trasmissione. Come vedremo meglio nel seguito, la multiplazione viene realizzata dal Livello di Trasporto per mezzo delle porte, che identificano i processi in esecuzione su un host e permettono di sapere a chi consegnare che cosa. Il procedimento opposto alla multiplazione si chiama demultiplazione e viene effettuato quando si devono distribuire i messaggi in arrivo sul canale condiviso ai corretti destinatari.

Oltre alla multiplazione, il Livello di Trasporto potrebbe occuparsi anche di suddividere una spedizione troppo grande in pacchetti più piccoli. Per esempio, se la spedizione avvenisse per Posta, il Livello di Trasporto potrebbe smontare il computer e spedirlo suddiviso in parti. Naturalmente si suppone che da parte di chi riceve (il negoziante) ci sia un analogo Livello di Trasporto in grado di rimontare il tutto in modo corretto. Allo scopo di suddividere la spedizione, il Livello di Trasporto deve numerare i pacchetti spediti, per consentire a chi riceve di rimetterli a posto nell'ordine corretto. Questa suddivisione in porzioni più piccole si chiama tecnicamente segmentazione. Si noti che non tutte le spedizioni devono o possono essere suddivise in pacchetti: per esempio, nel caso della zuppiera di porcellana, è presumibile che questa verrà spedita in un unico pacchetto.

Infine, oltre alla multiplazione e alla segmentazione, il livello di trasporto può anche occuparsi di gestire eventuali errori. Qui l'analogia col magazzino è forse un po' più difficile. Dobbiamo pensare che, per esempio, nella spedizione delle singole parti del computer, qualcuna possa andare persa. In questo caso il Livello di Trasporto si accorge dell'errore perché non riceve nessuna conferma di avvenuta ricezione da parte del Livello di Trasporto che opera dalla parte che riceve (il negoziante che ha effettuato l'ordine). Se non riceve conferma entro un certo tempo, il Livello di Trasporto si occupa autonomamente di spedire nuovamente il pezzo non ricevuto, senza darne comunicazione al livello superiore (nel nostro caso senza avvisare il capo del reparto, il quale non deve preoccuparsi così di questi dettagli). Dunque, per concludere, fra le funzioni del Livello di Trasporto possiamo avere anche quella del riconoscimento e della correzione degli errori.

I pacchi contenenti le parti del computer (o l'intera zuppiera) vengono quindi spediti all'ufficio postale (che, nel nostro esempio, fa le funzioni del Livello Internet). Le Poste si occupano di instradare i pacchetti fino a destinazione, ma non fanno nessun controllo su eventuali perdite di pacchetti o altri errori. Per arrivare a destinazione, i pacchetti possono attraversare diversi uffici postali, viaggiare per treno, su strada o anche in aereo. Tutti questi dettagli sono compito del livello più basso, quello che abbiamo chiamato di Accesso alla Rete. Il Livello Internet in qualche modo nasconde dunque i dettagli fisici e implementativi delle rete stessa a chi la deve utilizzare. Le funzioni di questo livello sono quelle di cercare di far pervenire i messaggi a destinazione: se però qualche messaggio va perso, il Livello Internet non se ne occupa. Si noti che per questo livello tutti i pacchetti sono trattati singolarmente e allo stesso modo, indipendentemente da cosa contengano e indipendentemente dal fatto che siano parti o meno di una spedizione più grande. Ognuno di essi viaggia per proprio conto e potrebbe anche arrivare a destinazione prima di un altro pacchetto che è stato spedito prima. Ogni pacchetto è sostanzialmente uguale agli altri e contraddistinto unicamente da un indirizzo del mittente e da un indirizzo del destinatario.

La seguente tabella riassume le funzioni di ciascun livello:

Architettura TCP/IP
Livello Funzioni Analogia col magazzino
4. Applicazione Funzioni di livello superiore (presentazione e visualizzazione pagine web, invio e ricevimento file, visualizzazione di video in streaming, posta elettronica etc.) I diversi reparti (informatica, casalinghi) gestiscono gli ordini di diversi tipi di articoli (es. computer, zuppiera...)
3. Trasporto

Può occuparsi di (non necessariamente tutte le funzioni elencate):

  • multiplexing/demultiplexing di più trasmissioni su un unico canale;
  • segmentazione (scomposizione) dei messaggi troppo grandi;
  • individuazione e correzione errori.

Il reparto spedizioni  si occupa di:

  • assicurarsi che ogni reparto riceva le comunicazioni che a lui sono indirizzate;
  • suddivide articoli troppo ingombranti in pezzi;
  • controlla l'eventuale assenza di riscontro di ricezione e nel caso rispedisce la merce persa.
2. Internet Si occupa di instradare i segmenti dal mittente al destinatario attraverso la rete, senza verificare la correttezza della trasmissione. Potrebbe anche ulteriormente suddividere i segmenti in pacchetti più piccoli. Le Poste si occupano di far arrivare a destinazione i pacchetti in base agli indirizzi di destinazione specificati. Non offrono nessuna garanzia sulla effettiva consegna.
1. Accesso alla rete Si occupa dei dettagli fisici della trasmissione (es. livelli di tensione e corrente, tipo di segnali, gestione dei MAC address etc.) La parte fisica della spedizione è costituita dai portalettere, dagli uffici postali, dai mezzi di trasporto usati per la consegna della corrispondenza, etc.

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it