Documento zippato

Documento PDF

 

Livello di trasporto

Lo scopo dello strato di trasporto è quello di fornire un servizio efficiente ed affidabile ai processi utenti dello strato di sessione.

L’hardware ed il software che operano al livello di trasporto vengono detti entità di trasporto.

Le relazioni fra livello di trasporto e quelli di rete e sessione è rappresentata dalla seguente figura

A prima vista sembrerebbe che il livello di trasporto abbia una funzione del tutto identica a quella del livello di rete. Per capire la funzione dello strato di trasporto occorre tener presente che lo strato di rete fa parte della rete di comunicazione per cui è gestito dalle società di telecomunicazioni. Ciò significa che, poiché gli utenti non hanno alcun controllo sulla rete di comunicazione, essi non potrebbero intervenire nel caso venisse fornito un servizio inaffidabile dallo strato di rete. Ad esempio, se lo strato di rete non riesce a mantenere la connessione fra due utenti e vi è l’interruzione della connessione fra le due entità di trasporto, lo strato di trasporto rioccuperà del ripristino della connessione e di tutte le operazioni necessarie per individuare quali dati sono giunti in maniera corretta, quali sono andati persi, quali bisogna ritrasmettere e così via.

in sostanza il livello di trasporto può porre rimedio ai pacchetti perduti, ai dati danneggiati al reset delle connessioni da parte del livello di rete. Inoltre il livello di trasporto rende la rete di comunicazione trasparente alle applicazioni. In sostanza grazie a questo strato si possono scrivere applicazioni senza tener conto delle differenze  delle interfacce che compongono le varie sottoreti di comunicazione.

Qualità del servizio

Il livello di trasporto può essere anche definito come il livello che ha la funzione di aumentare la qualità del servizio offerto dal livello di rete. Da questo punto di vista maggiore sarà l’inefficienza del livello di rete e più gravoso sarà il carico di lavoro per il livello di trasporto.

La qualità del sevizio (Quality of service QOS) ha una definizione standard attraverso la definizione di alcuni parametri. Tali parametri sono:

*   Ritardo nell’attivazione della connessione

*   Probabilità di fallimento della connessione cioè la probabilità che la connessione non venga stabilita entro il massimo tempo di ritardo di attivazione per problemi della rete come la congestione o malfunzionamenti

*   Throughput o produttività o numero di byte dell’utente trasferiti nell’unità di tempo

*   Ritardo di transito o intervallo di tempo che intercorre fra l’invio di un messaggio da parte dell’utente del livello di trasporto della macchina di partenza e la ricezione del messaggio stesso da parte dell’utente del livello di trasporto della macchina di arrivo.

*   Tasso di errore residuo o numero di messaggi persi o confusi sul numero totale di messaggi inviati nel periodo di campionamento

*   Probabilità di fallimento del trasferimento : quando si stabilisce una connessione di trasporto, vi è una negoziazione su alcuni parametri della connessione come throughout, ritardo di transito, livello di errore residuo. La probabilità di fallimento stabilisce la frazione di volte in cui tali parametri concordati non vengono rispettati.

*   Ritardo di rilascio della connessione o intervallo di tempo intercorrente fra il momento in cui l’utente decide il rilascio della connessione e il momento in cui si ha effettivamente il rilascio all’altro capo della connessione

*   Probabilità di fallimento nel rilascio della connessione o frazione di tentativi non andati a buon fine di rilascio della connessione in un tempo pari al ritardo di rilascio concordato

*   Protezione contro la lettura o modifica non autorizzata dei dati da parte di pirati

*   Priorità della connessione

*   Resilienza o probabilità che il livello di trasporto termini la connessione per problemi interni o di congestione.

La negoziazione delle opzioni

Quando un utente chiede di stabilire una connessione, comunica al livello di trasporto i parametri di QOS richiesti. In alcuni casi il livello di trasporto, dopo aver esaminato i parametri di qualità richiesti dall’utente, dopo esseri reso conto di non potervi far fronte, non tenta nemmeno di effettuare la connessione e comunica all’utente il fallimento della stessa. In altri casi, invece, pur non potendo raggiungere i valori richiesti, lo strato di trasporto, richiede alla macchina di destinazione di stabilire una connessione e le invia un valore minore del parametro richiesto ed il valore minimo accettabile. La macchina di destinazione, nel caso non sia ancora in grado di soddisfare al valore richiesto per quel parametro, ma sia comunque in grado di garantire un valore superiore a quello minimo richiestole dal livello di trasporto accetta la connessione. In caso contrario la rifiuta. Questa fase è detta della negoziazione delle opzioni.

Le primitive del sevizio di trasporto OSI

Possiamo riassumere la funzione del livello di trasporto affermando che esso deve nascondere le imperfezioni del servizio di rete in modo che i processi di utente possano semplicemente presumere l’esistenza di un flusso di bit esente da errori.

IL livello di trasporto offre ai processi utente una serie di primitive che quest’ultimo può utilizzare: l’utente “non vede” il livello di rete.

Vediamo queste primitive

  1. preparazione della connessione

per la preparazione della connessione sono utilizzate quattro primitive. Una delle entità di trasporto esegue la primitiva T – CONNECT.request per segnalare che si vuole collegare ad un altro utente. Con la primitiva viene fornito l’indirizzo del punto di accesso al servizio di trasporto dell’utente da chiamare (Transport Service Access Point o TSAP). L’utente chiamato riceve una T-CONNECT.indication. l’utente chiamato può accettare la richiesta di connessione ed in tal caso esegue una primitiva T-CONNECT.response. L’utente chiamante riceverà allora dallo strato di trasporto una T-CONNECT.confirm. Nel caso, invece, non voglia accettare la connessione, risponderà alla T_CONNECT.indication con una T_DISCONNECT.request e l’utente chiamante riceverà una T_DISCONNECT.indication

 

 

 

 

 

  

 

 

 


LIVELLO DI TRASPORTO


 

 

 

     

 

                                                                                           

 

 

 

                                                                                

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                           

 

 

 

 

 

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                          

 

 

 

 

 

                                                                                

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                          

 

 

 

 

 

 

 


può anche aversi il caso in cui quando un utente cerca di stabilire una connessione sia il livello di trasporto stesso a rifiutare la connessione. Ciò può avvenire perché, ad esempio, l’utente ha inviato una richiesta di connessione con parametri non validi o perché il fornitore del servizio di trasporto è congestionato. In tal caso l’utente riceve una T_DISCONNECT.indication ma l’utente remoto non è stato mai coinvolto.

 

 

 

 

  

 

 

 

 


LIVELLO DI TRASPORTO

 

 

 

                                                                                          

 

 

 

 

 

 


                                 

 

                                              

   

 

 

 

 


LIVELLO DI TRASPORTO

 

 

 

                

 

 

 

                   

 

 

                    

 

                                

  1. rilascio della connessione

una connessione può essere rilasciata in tre modi. Nel primo modo una delle parti invia una T_DISCONNECT.request che viene segnalata all’altra parte mediante una T_DISCONNECT.indication

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                          

 

 

 

 

 

 

 

 

 

 

 


nel secondo caso entrambe le parti  prendono contemporaneamente l’iniziativa di avviare il rilascio della connessione mediante una primitiva T_DISCONNECT..request . in tal caso la connessione viene terminata senza che nessuna delle parti riceva una conferma

 

 

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                           

 

 

 

 

 

 

 


nell’ultimo caso è il livello di trasporto che autonomamente chiude la connessione ad esempio, per un guasto irrimediabile alla rete sottostante

 

 

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                          

 

 

 

 

 

 

 

 

 

 

quando è stata stabilita una connessione vengono inviati i dati . la trasmissione dei dati avviene tramite la primitiva T_DATA.request che ha come parametro i byte di dati trasmessi. L’utente in ricezione riceve una primitiva T_DATA.indicatione

 

 

  

 

 

 


LIVELLO DI TRASPORTO

 

 

 

 

                                                                                          

 

 

 

 

 

 

 

 

 


I dati da inviare vengono inseriti in code e verranno inviati secondo l’ordine di presenza in coda. Se si ha la necessità di inviare dati che devono passare avanti agli altri già in coda occorre utilizzare la primitiva T_EXPEDITED_DATA

  

 

 

 


LIVELLO DI TRASPORTO