Livello di trasporto TCP e UDP

Livello di trasporto TCP e UDP

Introduzione

Posto  tra il livello di applicazione e quello di rete, il livello di trasporto costituisce la parte centrale dell’architettura di rete e riveste la funzione di fornire servizi di comunicazione direttamente ai processi applicativi in esecuzione su host differenti.

Un protocollo a livello di trasporto mette a disposizione una comunicazione logica tra processi applicativi di host differenti.

trasporto

Per comunicazione logica si intende, dal punto di vista dell’applicazione, che tutto proceda come se gli host che eseguono i processi fossero direttamente connessi; in realtà, gli host si possono trovare agli antipodi del pianeta, connessi da numerosi router e da svariati tipi di collegamenti.

connessione logica

comunicazione logica

I  processi applicativi usano la comunicazione logica fornita dal livello di trasporto per scambiare messaggi, senza preoccuparsi dei dettagli dell’infrastruttura fisica utilizzata per trasportarli.

La Figura  illustra il concetto di comunicazione logica. Come si vede, i protocolli a livello di trasporto sono implementati nei sistemi periferici, ma non nei router della rete.

Lato mittente, il livello di trasporto converte i messaggi che riceve da un processo applicativo in pacchetti. Spezzando (se necessario) i messaggi applicativi in parti più piccole e aggiungendo a ciascuna di esse un’intestazione di trasporto per creare un segmento. Quindi, passa il segmento al livello di rete dove viene incapsulato all’interno di un pacchetto a livello di rete (datagramma) e inviato a destinazione.

I router intermedi agiscono solo sui campi a livello di rete del datagramma, senza esaminare i campi del segmento incapsulato al suo interno.

Lato ricevente, il livello di rete estrae il segmento dal datagrarnma e lo passa al livello  di trasporto. Quest’ultimo elabora il segmento ricevuto, rendendo disponibili all’applicazione destinataria i dati del segmento.

logico

Relazione tra i livelli di trasporto e di rete

Il  livello di trasporto è collocato esattamente sopra quello di rete nella pila di protocolli.  Mentre un protocollo a livello di trasporto mette a disposizione una comunicazione   logica tra processi che vengono eseguiti su host diversi, un protocollo a livello di rete fornisce comunicazione logica tra host.  Esaminiamo questa differenza con l’aiuto di un’ analogia.

Consideriamo due condomini, uno a Milano e l’altro a Roma, e supponiamo che in ciascuno risiedano una dozzina di ragazzi. Ogni ragazzo scrive ai ragazzi dell’altra città ogni settimana e le lettere sono recapitate tramite posta. Pertanto, ogni settimana, ciascun gruppo di ragazzi invia all’altro 144 lettere.

analogia trasporto

Andrea, a Milano, e Anna, a Roma, hanno l’incarico di raccogliere e distribuire la posta.

Tutte le settimane Anna raccoglie la posta dai suoi amici e  provvede a imbucarla. Anna ha anche il compito di distribuire le lettere in arrivo

posta
consegna posta

Andrea effettua le stesse operazioni a Milano.

In questo esempio il servizio postale fornisce comunicazione logica tra le due case:

ossia trasferisce la posta da casa a casa, non da persona a persona. A loro volta Anna e Andrea forniscono comunicazione logica tra i ragazzi: infatti raccolgono la posta e la consegnano a chi di dovere.

Questo esempio fornisce un’interessante analogia per spiegare come il livello di trasporto si relaziona con il livello  di rete:

  • messaggi dell’applicazione = lettere nelle buste
  • processi = ragazzi
  • host (sistemi periferici) = condomini
  • protocollo a livello di trasporto = Anna e Andrea
  • protocollo a livello di rete = servizio postale (compresi i postini)

Anna e Andrea svolgono il proprio lavoro localmente e non sono coinvolti nello  smistamento della posta negli uffici postali   intermedi o nel trasporto da un ufficio postale a un altro. Analogamente, i protocolli a livello di trasporto risiedono nei sistemi periferici. All’interno di un sistema periferico, un protocollo di trasporto trasferisce i messaggi dai processi applicativi al bordo della rete (ossia, al livello di rete) e viceversa, ma non fornisce alcuna indicazione su come i messaggi siano trasferiti all’interno della rete. Infatti,  i router intermedi non riconoscono né operano su alcuna informazione che il livello di trasporto possa aver aggiunto ai messaggi delle applicazioni. Supponiamo ora che, quando Anna e Andrea sono in vacanza, un’altra coppia  (diciamo Susanna ed Enrico) li sostituisce.

sostituzione

Sfortunatamente, Susanna ed Enrico non effettuano il loro compito con la stessa attenzione di Anna e Andrea. Essendo più giovani e inesperti:

posta accumulata posta persa cane morde posta

raccolgono e distribuiscono la posta con frequenza minore

occasionalmente, smarriscono alcune lettere

vengono, talvolta, mordicchiate dal cane

Di conseguenza, Susanna ed Enrico non mettono a disposizione lo stesso  insieme di servizi di Anna e Andrea. In modo analogo, una rete di calcolatori può rendere disponibili più protocolli di trasporto ciascuno dei quali può offrire alle applicazioni un modello di servizio differente.  I servizi fomiti sono chiaramente vincolati dai servizi messi a disposizione dal sistema postale. Se questo, per esempio, non prevede un limite massimo di tempo per il recapito della posta tra le due case (supponiamo, tre giorni), allora non c’è modo per Anna e Andrea di garantire un limite al ritardo per la consegna delle lettere.  Analogamente i servizi che un protocollo di trasporto può offrire sono vincolati al modello di servizio del protocollo sottostante a livello di rete. Se quest’ultimo non può fornire garanzie sul ritardo o sulla banda per i segmenti scambiati tra host, allora il protocollo a livello di trasporto non può certo offrire garanzie sul ritardo o sulla banda per i messaggi applicativi inviati tra processi. Ciò nondimeno, determinati servizi possono essere garantiti da un protocollo di trasporto anche se il sottostante protocollo di rete non offre un servizio corrispondente. Per esempio,  un protocollo di trasporto può offrire il servizio di trasferimento dati affidabile alle applicazioni anche quando il sottostante protocollo di rete non è affidabile, ossia anche quando il protocollo di rete smarrisce, altera o duplica i pacchetti. Un protocollo di trasporto può usare la crittografia per garantire che i messaggi delle applicazioni non vengano letti da intrusi, anche quando il livello di rete non può garantire la riservatezza dei segmenti a livello di trasporto.

Leave a Reply


Latest Posts

AAA