Documento zippato

Documento PDF

I protocolli di trasporto

Dal punto di vista dei protocolli di trasporto i vari servizi di rete sono suddivisi in tre classi diverse

Tipo di rete

Descrizione

A

Servizio impeccabile

B

Perfetta consegna del pacchetto

C

Servizio non affidabile con perdita di pacchetti e possibilità di reset del collegamento

 

Le reti di tipo A garantiscono un servizio impeccabile in cui è trascurabile la probabilità di perdita di pacchetti o il reset della connessione per problemi come la congestione.

Le reti di tipo B sono reti in cui la probabilità che alcuni pacchetti vadano persi è molto bassa ma si possono avere reset del collegamento per congestione o problemi hardware e software nella rete.

Le reti di tipo C offrono servizi non affidabili.

Tanto peggiore è l’affidabilità del servizio di rete tanto più complesso dovrà essere il protocollo di trasporto. I vari tipi di protocolli di trasporto si suddividono in cinque classi diverse

 

 

 

Classe di protocollo

Tipo di rete

Denominazione

0

A

Classe semplice

1

B

Classe di rimedio dell’errore fondamentale

2

A

Classe di multiplexing

3

B

Classe di rimedio dell’errore e multiplexing

4

C

Classe di rilevazione e rimedio dell’errore

 

La classe 0 è la più semplice facendo riferimento a reti dal servizio impeccabile. Che si suppongono esenti da errore. I protocolli di questo tipo si devono occupare soltanto di stabilire e rilasciare la connessione.

La classe 1 presuppone che il livello di rete non faccia perdere pacchetti ma si possono avere reset della connessione di rete per cui i protocolli di questa classe devono far si che, in tale evenienza, le entità di trasporto che erano connesse si risincronizzino e siano in grado di riprendere la trasmissione dal punto in cui erano state interrotte.

I protocolli di classe 2 sono progettati anch’essi per operare con reti di tipo A. la differenza è che essi garantiscono che su un’unica connessione di rete possono viaggiare più connessioni di trasporto.

I protocolli di classe 3 combinano le caratteristiche dei protocolli di classe 1 e 2 per cui consentono il multiplexing di più connessioni di trasporto su un’unica connessione di rete e sono capaci di recuperare la perdita della connessione di rete..

I protocolli di classe 4 sono i più complessi dovendo operare con reti inaffidabili per cui devono essere in grado anche di riparare ad errori nel trasferimento dei pacchetti di dati.

Anche l’utilizzo della classe di protocollo opportuna è soggetta ad una fase di negoziazione. L’entità di trasporto origine della connessione fornisce alla entità di trasporto destinazione una proposta circa la classe di protocollo che vuole utilizzare ed eventualmente altre classi alternative. L’entità di trasporto di destinazione sceglie in questa lista di opzioni possibili. Se trova inaccettabili tutte le alternative proposte essa rifiuta la connessione. La necessità della fase di negoziazione sulla classe di protocollo da utilizzare deriva dal fatto che il concetto di affidabilità offerto da uno strato di rete, teoricamente chiaro, è difficile da definire in maniera univoca. Ad esempio, un certo livello di affidabilità può essere considerato ottimo per un servizio di posta elettronica mentre può essere del tutto insoddisfacente per transazioni finanziarie fra istituti bancari.

Elementi che costituiscono un protocollo di trasporto.

Si possono individuare alcuni elementi che sono presenti in un protocollo di trasporto in dipendenza della classe dello stesso.

Tutti i protocolli orientati alla connessione, qualunque sia la classe di appartenenza, devono possedere un meccanismo di attivazione della connessione che sia comprensivo delle modalità con cui il destinatario può accettare o rifiutare la richiesta di connessione

 

Elemento di protocollo

Classe

0

1

2

3

4

Attivazione della connessione

X

X

X

X

X

 

Le entità di trasporto stabiliscono normalmente una connessione di rete e tengono conto delle corrispondenze fra le connessione di rete e le connessioni di trasporto. E’ anche possibile l’utilizzo di protocolli di rete senza connessione, purché il protocollo di trasporto sia di classe 4.

Elemento di protocollo

Classe

0

1

2

3

4

Rifiuto della connessione

X

X

X

X

X

 

Elemento di protocollo

Classe

0

1

2

3

4

Assegnazione della connessione di rete

X

X

X

X

X

 

I dati che l’utente passa al livello di trasporto vengono detti messaggi. Essi vengono racchiusi in un pacchetto detto TPDU (Transport Protocol Data Unit). I messaggi possono avere una lunghezza qualsiasi, sarà il livello di trasporto a suddividerli in più TPDU

Elemento di protocollo

Classe

0

1

2

3

4

Suddivisione di lunghi messaggi in TPDU

X

X

X

X

X

 

Se più connessioni sono aperte su una macchina, le entità di trasporto le enumerano ed inseriscono in ogni TPDU il numero della connessione cui appartiene in modo che l’entità di trasporto sul lato ricezione riconosce a quale connessione è associata la TPDU ricevuta

Elemento di protocollo

Classe

0

1

2

3

4

Associazione della TPDU alla connessione

X

X

X

X

X

 

Ogni protocollo si deve occupare naturalmente del trasferimento delle TPDU

Elemento di protocollo

Classe

0

1

2

3

4

Trasferimento del TPDU

X

X

X

X

X

 

Tutte le classi di protocollo prevedono la possibilità del rilascio normale della connessione

Elemento di protocollo

Classe

0

1

2

3

4

Rilascio normale della connessione

X

X

X

X

X

 

Nei protocolli di tipo 0 vi è sempre una corrispondenza biunivoca fra ogni connessione di rete ed ogni connessione di trasporto per cui il rilascio della connessione consiste semplicemente nel rilascio della connessione di trasporto sottostante. Negli altri protocolli, invece, il rilascio di una connessione di trasporto avviene esplicitamente mediante lo scambio di TPDU.

Elemento di protocollo

Classe

0

1

2

3

4

Trattamento degli errori

X

X

X

X

X

 

Tutti i protocolli hanno regole per gestire errori di protocollo nel caso arrivino TPDU non valide.

Altri elementi non sono presenti in tutte le classi di protocollo.

Elemento di protocollo

Classe

0

1

2

3

4

Concatenazione di TPDU con l’utente

 

X

X

X

X

 

La concatenazione delle TPDU non esiste nei protocolli di classe 0 e consiste nella possibilità che l’entità di trasporto raccolga più TPDU in un unico pacchetto  in modo da ridurre il numero di chiamate al livello di trasporto.

Soltanto le classi 0 e 2 prevedono il rilascio da errore

Elemento di protocollo

Classe

0

1

2

3

4

Rilascio da errore

X

 

X

 

 

 

Quest’elemento consiste nel fatto che nei protocolli di classe 0 e 2, un reset o richiesta di sconnessione della rete sottostanti, termina la connessione di trasporto che utilizzano tale connessione. Non è previsto alcun tentativo di recupero della connessione.

Elemento di protocollo

Classe

0

1

2

3

4

Numerazione dei TPDU

 

X

0

X

X

 

La numerazione dei TPDU non avviene nei protocolli di classe 0 ed è facoltativa nei protocolli di classe 2. I pacchetti vengono numerati mediante l’assegnazione di numeri progressivi. Questa numerazione consente di mandare pacchetti di riscontro per quelli ricevuti, il controllo del flusso dei dati, e di sapere a quale punto della trasmissione si è giunti quando si ha un reset della connessione di rete.

Elemento di protocollo

Classe

0

1

2

3

4

Controllo di flusso dello strato di trasporto

 

 

0

X

X

 

Il controllo di flusso dello strato di trasporto si occupa della determinazione della quantità di TPDU che si possono inviare in un certo istante

Elemento di protocollo

Classe

0

1

2

3

4

Risincronizzazione dopo un reset

 

X

 

X

X

 

La risincronizzazione avviene dopo un reset della connessione di rete sottostante e ha lo scopo di determinare quali TPDU sono giunte a destinazione.

Elemento di protocollo

Classe

0

1

2

3

4

Ritenzione delle TPDU fino al riscontro

 

X

 

X

X

 

Viene mantenuta una copia delle TPDU inviate fino a che giunge il riscontro della loro ricezione in modo che si possano inviare di nuovo in caso di reset della connessione.

Elemento di protocollo

Classe

0

1

2

3

4

Rassegnazione dopo una sconnessione di rete

 

X

 

X

X

 

Se si interrompe la connessione di rete lo strato di trasporto ha il compito di stabilire una nuova connessione.

Elemento di protocollo

Classe

0

1

2

3

4

Riferimenti congelati

 

X

 

X

X

 

Una TPDU vecchia potrebbe essere ancora in circolo sulla rete e non essere giunta a destinazione. Occorre evitare allora di assegnare una stessa identificazione ad una nuova TPDU.

Il multiplexing

Elemento di protocollo

Classe

0

1

2

3

4

multiplexing

 

 

x

X

X

 

e l’utilizzo di più connessioni di rete

 

Elemento di protocollo

Classe

0

1

2

3

4

Impiego di più connessioni di rete

 

 

 

 

X

 

saranno affrontati più avanti.

Elemento di protocollo

Classe

0

1

2

3

4

Ritrasmissione in seguito ad un tempo scaduto

 

 

 

 

X

 

Quest’elemento si ha soltanto nei protocolli di classe 4 che corrispondono a reti per le quali è alta la probabilità di perdita di pacchetti.

Elemento di protocollo

Classe

0

1

2

3

4

Riordinamento di una sequenza di TPDU

 

 

 

 

X

 

Poiché alcune TPDU possono essere perse, in ricezione esse possono essere ricevute in ordine sbagliato per cui occorre un meccanismo di riordino delle TPDU ricevute.

 

Elemento di protocollo

Classe

0

1

2

3

4

Timer di inattività

 

 

 

 

X

 

Questo timer serve per rilevare la perdita della connessione di rete. Se non si hanno segnali dal livello di rete durante l’intervallo di tempo individuato da questo timer, il livello di trasporto presuppone che vi sia stata una perdita della connessione e, conseguentemente, tenta di riattivarla

Elemento di protocollo

Classe

0

1

2

3

4

Checksum dello strato di trasporto

 

 

 

 

X

 

È un meccanismo software per la verifica dell’integrità dei TPDU

Gestione delle connessioni nello strato di trasporto: indirizzamento

Quando un utente del livello di trasporto desidera stabilire una connessione con un altro utente, deve specificare l’identità dell’utente remoto con cui intende comunicare. Esistono dei punti di accesso al servizio di trasporto detti TSAP a cui i processi si possono collegare ed aspettare che arrivino richieste di connessione.

Un esempio di questa procedura è illustrato nella figura seguente.

1. un processo server di tipo Telnet è collegato all’indirizzo TSAP 23 della macchina B

2. un processo client sulla macchina A vuole utilizzare i servizi del processo server di Telnet della macchina B, per cui invia allo strato di trasporto una T_CONNECT.request specificando il TSAP a cui è collegato sulla macchina A come origine ed il TSAP 23 come destinazione

3. l’entità di trasporto della macchina A stabilisce una connessione di rete con la macchina B

4. l’entità di trasporto della macchina A comunica all’entità di trasporto della macchina B che vuole stabilir3 una connessione con il suo TSAP 23

5. l’entità di trasporto della macchina B invia una T_CONNECT.indication al server di Telnet collegato al TSAP 23 e se questo è d’accordo, viene stabilita la connessione.

Come fa il processo client collegato alla macchina A a sapere che il server di Telnet della macchina B è collegato al TSAP 23? Una prima possibilità consiste nel fatto che il processo server di Telnet sia collegato al TSAP 23 da molto tempo per cui i vari processi sono via via venuti a conoscenza della sua localizzazione. In realtà la situazione di una rete non è affatto così statica e molti  processi hanno una vita abbastanza breve. Inoltre molti processi vengono utilizzati molto raramente  per cui rappresenta uno spreco dedicare ad essi un indirizzo di TSAP stabile.

Un primo metodo è quello di utilizzare un server di processo come in figura

i servizi devono essere richiesti tutti attraverso tale server. Un utente che necessiti di un servizio fa riferimento a questo server di processo inviando al livello di trasporto una T_CONNECT.request con l’indirizzo TSAP cui è collegato il server di processo. Stabilita la connessione, l’utente invia al server di processo un messaggio in cui indica il servizio di cui ha bisogno. Il server di processo genera il processo di cui necessita l’utente, sceglie un TSAP disponibile e dice al processo generato di restare in ascolto al TSAP indicato. Successivamente il server di processo indica all’utente l’indirizzo TSAP cui si deve rivolgere l’utente e chiude la connessione con esso. A questo punto l’utente può collegarsi al processo desiderato. Al termine dell’utilizzo del processo da parte dell’utente remoto, il processo termina da solo.

Alcuni processi, però, non possono essere creati all’occorrenza dovendo richiedere l’esistenza di un hardware apposito. Un file manager deve prevedere, ad esempio, la presenza di una macchina fisica con memorie di massa su cui sono depositati i file. Per permettere agli utenti di conoscere gli indirizzi di tali processi esiste un modello che utilizza i cosiddetti server di nome detti talvolta server di directory. L’utente effettua una connessione con il server di nome indicando il servizio di cui necessita, quest’ultimo replica indicando l’indirizzo TSAP a cui è collegato il processo che eroga il servizio richiesto.

Siamo giunti al punto in cui l’utente conosce l’indirizzo TSAP del servizio cui vuole connettersi. Si pone ora il problema di conoscere su quale macchina fisica esso è installato, cioè il livello di trasporto deve avere un meccanismo per sapere l’indirizzo di rete a cui deve collegarsi.

Una soluzione sono gli indirizzi TSAP gerarchici: l’indirizzo consiste di una sequenza di campi utilizzati per ripartire lo spazio degli indirizzi. Ad esempio un indirizzo che consentirebbe di collegare in rete l’intero universo potrebbe essere

<via lattea> <sistema solare> <terra> < stati uniti d’america> <rete America On Line> <host xxxx> <porta yyy del computer host>

in sostanza l’indirizzo TSAP si compone dell’indirizzo di rete seguito da una porta o identificatore che specifica uno dei TSAP disponibili sulla macchina individuata dall’indirizzo di rete.

Ad esempio gli indirizzi INTERNET sono del tipo in figura

l’indirizzo fisico della macchina (in internet IP o internet point) è 158.110.1.2 mentre 23 è l’indirizzo TSAP su quella macchina.

Possibili alternative potrebbero essere gli indirizzi piatti cioè non gerarchici che non consentono successive delimitazioni del campo di ricerca: in questo caso devono esistere delle sorte di server di nome da interrogare fornendo l’indirizzo TSAP i quali risponderebbero fornendo l’indirizzo fisico.

Ultima alternativa potrebbe essere quella dell’invio di un messaggio broadcast in cui si chiede alla macchina di cui è indicato l’indirizzo TSAP di identificarsi.