Dreke90 di Dreke90
Genius 6795 punti

Trasferimento dati e chiusura sessione.

La tecnica di trasmissione dati adottata dal protocollo TCP viene definita sliding windows(letteralmente Finestre scorrevoli).La dimensione della finestra definita all'interno di ogni segmento TCP determina quanti segmenti possono rimanere in attesa di conferma,se la finestra viene riempita,il mittente sospende la trasmissione fino a quando non sono confermati almeno alcuni segmenti presenti nella finestra.
Un esempio potrebbe essere di supporre che la finestra abbia un dimensione di 5 segmenti e che l'host A debba inviare 10 segmenti. Durante il primo invio sul secondo e sul quarto segmento il destinatario rivela degli errori. Poiché il destinatario si aspetta di ricevere i segmenti in sequenza,scarta anche il terzo e il quinto inviando al mittente un segnale di acknowledgment per l'invio di altri segmenti a partire dal secondo. Nei successivi due invii non vi sono più dati corrotti e tutti i segmenti giugno al destinatario.

Il protocollo TCP prevede soltanto la conferma positiva (ACK)e non la conferma negativa (NACK)che potrebbe essere inviata nel caso di errori rilevati sulla ricezione di un segmento. La mancanza della conferma negativa potrebbe causare lunghe attese al ricevente,questa eventualità e scongiurata dall'adozione di timer assegnati a ogni segmento presente nella finestra di ritrasmissione. Nel caso in cui un timer scada prima della ricezione dell'ACK corrisponde il segmento associato vien nuovamente inviato.

La chiusura di una sessione avviene con una modalità molto simile all'instaurazione della sessione,anche in questo caso la tecnica utilizzata è definita handshaking a tre vie modificata.
I passi da eseguire per chiudere una sessione TCP sono i seguenti:

1)L'host A comunica all'host B l'intenzione di chiudere la sessione impostando nel segmento trasmesso il flag FIN a 1.

2)L'host B risponde mandando una prima conferma di ricezione del segmento all'interno del quale A ha chiesto di chiudere la sessione.

3)Il software applicativo di B ha definitivamente chiuso la sessione e pertanto l'host B invia ad A un segmento con il flag FIN impostato a 1.Il campo acknowledgement Number rimane ovviamente uguale a quello del segmento precede perché nel frattempo A non ha inviato altri segmenti.

4)L'host A conferma definitivamente la ricezione della chiusura della sessione da parte di B.

Registrati via email