Come funziona l'error recovery del TCP?

Tutto ciò che ha a che fare con le reti

Moderatore: Federico.Lagni

Rispondi
demonius27
Cisco fan
Messaggi: 54
Iscritto il: dom 04 lug , 2010 11:36 am

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
Avatar utente
rain3
Network Emperor
Messaggi: 266
Iscritto il: gio 31 lug , 2008 4:55 pm
Località: Battipaglia (SA)

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.
CCNA 640-802
CCNP SWITCH 642-813
blublublu
Cisco power user
Messaggi: 82
Iscritto il: mer 11 mag , 2011 6:14 pm

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
paolomat75
Messianic Network master
Messaggi: 2965
Iscritto il: ven 29 gen , 2010 10:25 am
Località: Prov di GE

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.
Non cade foglia che l'inconscio non voglia (S.B.)
Rispondi