Pagina 1 di 1

Come funziona l'error recovery del TCP?

Inviato: mer 13 lug , 2011 9:14 am
da demonius27
Un cordiale saluto, avrei una piccola difficoltà nel comprendere il concetto di error recovery fatta tra il sequence number e l'Acknowledgment number e vorrei un piccola conferma se ho capito come funziona.
Supponiamo che un mittente invii segmenti incrementati di 100 con numeri di sequenza 122, 222, 322,422,522, il computer ricevente dovrebbe inviare un acknowledgment di 622 e fino a qui il concetto l'ho capito.
Supponiamo però che il segmento 222 e 422 si perdano, in questo caso l'acknowledgment sarà di 322 o diverso.? Grazie

Re: Come funziona l'error recovery del TCP?

Inviato: mer 13 lug , 2011 10:06 am
da rain3
Il Sequence number, o numero di sequenza, serve a identificare e posizionare in maniera ordinata il carico utile del segmento TCP all'interno del flusso di dati. Con la trasmissione tipica a commutazione di pacchetto delle rete dati infatti ciascun pacchetto può seguire percorsi diversi in rete e giungere fuori sequenza in ricezione.

In ricezione TCP si aspetta di ricevere il segmento successivo all'ultimo segmento ricevuto in ordine ovvero quello il cui numero di sequenza è pari al numero di sequenza dell'ultimo pervenuto in ordine più la dimensione del carico utile del segmento in attesa (cioè del suo campo Data).

In relazione al numero di sequenza TCP ricevente attua le seguenti procedure:
se il numero di sequenza ricevuto è quello atteso invia direttamente il carico utile del segmento al processo di livello applicativo e liberare i propri buffer.
se il numero di sequenza ricevuto è maggiore di quello atteso deduce che uno o più segmenti ad esso precedenti sono andati persi, ritardati dal livello di rete sottostante o ancora in transito sulla rete. Pertanto, memorizza temporaneamente in un buffer il carico utile del segmento ricevuto fuori sequenza per poterlo consegnare al processo applicativo solo dopo aver ricevuto e consegnato anche tutti i segmenti precedenti non ancora pervenuti passenti anch'essi per il buffer, aspettandone l'arrivo fino ad un tempo limite prefissato (time-out). All'istante di consegna del blocco ordinato di segmenti tutto il contenuto del buffer viene liberato. Dal punto di vista del processo applicativo, quindi, i dati arriveranno in ordine anche se la rete ha per qualsiasi motivo alterato questo ordine realizzando così il requisito della consegna ordinata dei dati.
se il numero di sequenza ricevuto è inferiore a quello atteso, il segmento viene considerato un duplicato di uno già ricevuto e già inviato allo strato applicativo e dunque scartato. Questo permette di realizzare l'eliminazione dei duplicati di rete.

Fonte Wikipedia.

Re: Come funziona l'error recovery del TCP?

Inviato: mer 13 lug , 2011 11:03 am
da blublublu
demonius27 ha scritto:Supponiamo però che il segmento 222 e 422 si perdano, in questo caso l'acknowledgment sarà di 322 o diverso.? Grazie
se il 222 è andato perso allora si aspetta ancora di riceverlo e quindi l'ACK sarà 222

Re: Come funziona l'error recovery del TCP?

Inviato: mer 13 lug , 2011 1:02 pm
da paolomat75
blublublu ha scritto:
demonius27 ha scritto:Supponiamo però che il segmento 222 e 422 si perdano, in questo caso l'acknowledgment sarà di 322 o diverso.? Grazie
se il 222 è andato perso allora si aspetta ancora di riceverlo e quindi l'ACK sarà 222
Secondo me ACK è 221 (siccome il 222 è stato perso) e ci sarà un NACK 222 e 422.