Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario...

29
Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano

Transcript of Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario...

Page 1: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Il livello di trasporto

Appunti di Sistemi

per la classe V sez. H

A cura del prof. ing. Mario Catalano

Page 2: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Cosa fa il livello di trasporto:

Fornisce una procedura per il trasporto dei dati dalla sorgente alla destinazione.

La rete di comunicazione è vista dal livello come un tutto unico che collega sorgente e destinazione.

Il livello di trasporto è gestito in modo che sia indipendente dalla rete di comunicazione.

Page 3: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Rete e livello di trasporto

L’utente non ha alcun controllo sulla rete gestita dalla società di comunicazione.

Non può fare nulla se la rete è inaffidabile (perde pacchetti o li duplica) o inadeguata alle esigenze di trasporto (troppo lenta).

Allora occorre che il livello di trasporto faccia in modo da risolvere i problemi del trasporto, o almeno di ridurli.

Page 4: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

I compiti del livello di trasporto:

1. Gestione degli errori2. Recupero dei guasti3. Gestione dei collegamentiA seconda della qualità del servizio offerto

dalla rete di comunicazione, il livello di trasporto dovrà “negoziare” le caratteristiche (per esempio la velocità) della trasmissione.

Page 5: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

La qualità del servizio (QoS):

La QoS offerta dalla rete di telecomunicazione è valutata da una serie di parametri:

1. Ritardo alla connessione: tempo che intercorre tra la richiesta di connessione e la ricezione della conferma,

2. Probabilità di fallimento di connessione: la connessione ha un tempo massimo per stabilirsi,

Page 6: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Altri parametri di QoS (1):

3. Produttività: Numero di bit di dati trasferiti al secondo,

4. Ritardo di transito: tempo tra l’invio e la ricezione,

5. Tasso d’errore: percentuale di messaggi persi o rovinati (sul totale),

6. Probabilità di fallimento del transito: in termini di produttività, ritardo e tasso d’errore.

Page 7: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Altri parametri di QoS (2):

7. Ritardo alla disconnessione: come per la connessione,

8. Probabilità di fallimento di disconnessione: come per la connessione,

9. Resilienza: probabilità che avvenga una disconnessione a causa di problemi tecnici o di congestione della rete.

Page 8: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

La Negoziazione delle opzioni (1):

I parametri QoS sono indicati al momento della richiesta della connessione.

Il livello di trasporto può dedurre immediatamente l’impossibilità di connettersi se sono troppo bassi.

Oppure si connette al massimo delle opzioni se la rete garantisce il massimo delle prestazioni richieste.

Page 9: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

La Negoziazione delle opzioni (2):

Nella maggior parte dei casi, invece, la rete se sa di non poter raggiungere gli obiettivi indicati, fa una controproposta, indicando i valori che riesce a garantire (abbassando, per esempio, la velocità).

Se la proposta è accettata dall’utente, la connessione può essere attivata.

In alternativa è l’utente a fare una controproposta a livelli più bassi e così via.

Page 10: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

La Negoziazione delle opzioni (3):

E’ importante sottolineare che i parametri QoS negoziati alla fine della trattativa restano validi e fissati per tutta la durata della connessione.

Poiché le reti di comunicazione hanno prestazioni diverse, esistono diversi protocolli di trasporto che garantiscono diversi servizi (esempio: TCP e UDP).

Page 11: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Le primitive del livello di trasporto:

Si dicono primitive le funzioni del livello di trasporto.

Il livello di trasporto si gestisce con un modello Server – Client.

Dal Server al Client le primitive sono Comandi.

Dal Client al Server le primitive sono Richieste.

Page 12: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Alcuni esempi di primitive:

Attivazione delle connessioni Rifiuto della connessione Trasferimento di dati Rilascio normale della connessione Trattamento di errori Rilascio della connessione per errori Trasferimento di dati prioritari Controllo di flusso Reset Risincronizzazione dopo un reset Multiplexing

Page 13: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Attivazione della connessione

Questa operazione può sembrare facile, ma non lo è, perché la rete può perdere o duplicare (a causa dei ritardi interni) dei pacchetti.

Il problema di fondo sta nella possibile presenza dei duplicati ritardatari.

Ma durante il colloquio si può controllare il numero di sequenza: quindi i doppioni ritardatari sono automaticamente scartati.

Page 14: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Three-way hand-shaking

Resta il problema dei doppioni ritardatari in fase di connessione.

Se arriva una richiesta connessione duplicata e ritardata, come si fa a distinguerla da una nuova “vera” richiesta di connessione?

Il problema è stato risolto dal “three-way handshaking” ( letteralmente: stretta di mano a tre vie).

Page 15: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Threeway handshaking: I° fase

Il mittente invia una richiesta di connessione con un numero x proposto come inizio della sequenza.

Page 16: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Threeway handshaking: 2°fase

Il destinatario invia un ack contenente:

La conferma di x La proposta di un

proprio numero identificativo y.

Page 17: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Threeway handshaking: 3°fase

Il mittente invia un pacchetto contenente:

La conferma di y I primi dati.

Page 18: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Three-way hand-shaking: x e y

I valori x e y che identificano la connessione possono essere generati ad esempio sfruttando l’orologio di sistema in modo da avere ogni volta valori diversi.

I valori x e y sono generati da entrambi i dispositivi in colloquio e quindi non c’è possibilità d’errore (una connessione aperta in un altro istante avrebbe un x diverso e una connessione accettata in un altro istante avrebbe un y diverso.)

Page 19: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

3-way handshaking in caso di duplicazione e ritardi

Se arriva una richiesta di connessione duplicata e in ritardo, il destinatario rimanda l’ack al mittente coi numeri x, y.

Il mittente però sa di non aver attivato una nuova richiesta di connessione e risponde con un reject (rifiuto) della connessione x,y.

Page 20: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

3-way handshaking in caso di duplicazione e ritardi (2)

Se invece arriva in ritardo una richiesta di connessione, il mittente rimanda l’ack al mittente coi numeri x, y.

Se al destinatario arriva (in ritardo) anche l’accettazione della connessione avrà due numeri identificativi diversi: il mittente non li accetta e li scarta.

Page 21: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Disconnessione

Il problema della disconnessione non è meno importante di quello della connessione. A causa di disconnessioni brusche, infatti possono perdersi pacchetti e restare vaganti in rete senza destinazione (congestionandola).

Esistono due modi di disconnettersi: Asimmetrico, Simmetrico

Page 22: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Disconnessione asimmetrica (brusca)

La connessione cade quando uno dei dispositivi si disconnette indipendentemente dall’altro. In questo caso i dati inviati che non sono ancora arrivati si perdono.

Page 23: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Disconnessione simmetrica (negoziata)

La connessione è considerata come la coppia di due “semiconnessioni” indipendenti: l’una dal destinatario al mittente, l’altra dal mittente al destinatario.

Se un dispositivo chiude una “semiconnessione”, l’altra resta aperta: in questo modo i dati inviati hanno il tempo di arrivare a destinazione (si stabilisce un tempo massimo, dopo di che anche l’altra direzione si chiude).

Page 24: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Negoziazione della disconnessione:

1° fase: il mittente invia un comando di disconnessione (disconnect)

2° fase: il destinatario riceve il disconnect dal mittente, se ha finito invia un disconnect (che fa da ack per il mittente)

3° fase: il mittente invia il suo ack e si disconnette.

4° fase: il destinatario riceve l’ack e si disconnette a sua volta.

Page 25: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Disconnessione negoziata (quando va tutto bene).

1: Lascia la connessione Mittente-Destinatario 2: Lascia la connessione Destinatario-Mittente

Page 26: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Disconnessione in caso di guasti (1): Se si perde

l’ack, il destinatario aspetta un timeout e poi chiude la connessione

Page 27: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Disconnessione in caso di guasti (2): Se invece si perde il

disconnect del destinatario, il mittente aspetta un timeout e re-invia il suo disconnect.

Questa operazione si può ripetere più volte (se il disconnect si perde sempre), finchè il mittente non chiude bruscamente.

Page 28: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

Ultime notizie sulle connessioni:

Ovviamente occorre stabilire opportunamente i time out in modo che non siano troppo corti o troppo lunghi.

I timeout si stabiliscono in genere intorno a 60 secondi.

Se trascorre il timeout senza che arrivino dati, le connessioni si chiudono automaticamente.

Se non si vuole far cadere la connessione, anche senza che si trasmetta nulla, occorre trasmettere dei “DUMMY”, cioè dei pacchetti vuoti.

Page 29: Il livello di trasporto Appunti di Sistemi per la classe V sez. H A cura del prof. ing. Mario Catalano.

FINE