Dreke90
Genius
2 min. di lettura
Vota 4 / 5

Concetti Chiave

  • Il protocollo TCP utilizza la tecnica delle "finestre scorrevoli" per gestire la trasmissione dei dati, permettendo di inviare più segmenti in attesa di conferma.
  • La dimensione della finestra determina quanti segmenti possono essere inviati senza conferma; se la finestra è piena, la trasmissione si ferma in attesa di conferme.
  • Il TCP si basa su conferme positive (ACK) per i segmenti ricevuti correttamente, senza inviare conferme negative (NACK) in caso di errori.
  • Timer associati a ciascun segmento assicurano la ritrasmissione in caso di mancata ricezione dell'ACK entro il tempo previsto.
  • La chiusura di una sessione TCP avviene tramite un handshaking a tre vie modificato, che prevede uno scambio di segmenti con il flag FIN impostato per terminare la connessione.
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.

Domande da interrogazione

  1. Qual è la funzione della tecnica delle "finestre scorrevoli" nel protocollo TCP?
  2. La tecnica delle "finestre scorrevoli" nel protocollo TCP determina quanti segmenti possono rimanere in attesa di conferma, sospendendo la trasmissione se la finestra è piena fino a quando non vengono confermati alcuni segmenti.

  3. Come gestisce il protocollo TCP gli errori di trasmissione dei segmenti?
  4. Il protocollo TCP gestisce gli errori di trasmissione utilizzando solo conferme positive (ACK) e timer per ogni segmento. Se un timer scade prima della ricezione dell'ACK, il segmento viene ritrasmesso.

  5. Quali sono i passaggi per chiudere una sessione TCP?
  6. Per chiudere una sessione TCP, l'host A invia un segmento con il flag FIN a 1, l'host B risponde con una conferma, poi invia un segmento con il flag FIN a 1, e infine l'host A conferma la chiusura della sessione.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community