Ritrasmissione TCP vs. ritrasmissione rapida TCP


9

In Wireshark posso vedere cose che dicono "Ritrasmissione TCP" e "Ritrasmissione rapida TCP". Qual è la differenza? In che modo Wireshark è in grado di dire la differenza?

Risposte:


8

Quando un pacchetto viene inviato tramite TCP, ha un numero di sequenza trasmesso con esso. Quando il destinatario riceve il pacchetto, invia un riconoscimento al mittente con il numero progressivo che mostra che il pacchetto è stato ricevuto. In base al modo in cui hai posto la tua domanda, presumo che tu lo sappia. Volevo metterlo per altri lettori.

La ritrasmissione TCP è solo un pacchetto che non riconosce entro il timeout.

La ritrasmissione rapida TCP è quando l'origine riceve la conferma che il pacchetto non è stato ricevuto ... citando la ritrasmissione rapida - Wikipedia, l'enciclopedia libera

se un mittente TCP riceve tre riconoscimenti duplicati con lo stesso numero di riconoscimento (ovvero un totale di quattro riconoscimenti con lo stesso numero di riconoscimento), il mittente può essere ragionevolmente sicuro che il segmento con il successivo numero di sequenza superiore è stato eliminato


Sei sicuro del numero di ACK? L'ho visto accadere con tre ACK.
tony_sid,

2
No. Ciò di cui sono sicuro è che si verificano ritrasmissioni rapide quando il mittente rileva problemi a causa di sequenze multiple.
Theo

3
Inoltre, dice veloce, ma ha la stessa velocità di una normale ritrasmissione. Il motivo per cui viene chiamato veloce è perché si riceve una notifica del problema anziché attendere un timeout. Pertanto, l'intero processo è "più veloce".
Theo

6

Ho digerito questo da Microsoft :

TCP avvia un timer di ritrasmissione quando ciascun segmento in uscita viene passato al livello IP (Internet Protocol). Se TCP non riceve un riconoscimento per i dati in un determinato segmento prima della scadenza del timer, il segmento viene ritrasmesso.

Il timeout di ritrasmissione viene regolato al volo per adattarsi alle caratteristiche della connessione, utilizzando i calcoli del tempo di andata e ritorno (SRTT) Smooth come descritto nel documento "Congestion Avoidance and Control" di Van Jacobson e Mike Karels negli Atti della conferenza ACM SIGCOMM sulla comunicazione dei dati, novembre 1988. Questo documento è disponibile nella Biblioteca digitale ACM dell'Association for Computing Machinery. Per ulteriori informazioni sui calcoli SRTT, consultare RFC 793: Specifica del protocollo del programma Internet DARPA del protocollo di controllo della trasmissione . Il timeout di ritrasmissione per un determinato segmento viene raddoppiato dopo ogni ritrasmissione di quel segmento.

Usando questo algoritmo, TCP si sintonizza sul solito ritardo di una connessione. Le connessioni TCP su collegamenti a ritardo elevato impiegano molto più tempo per il timeout rispetto a quelle su collegamenti a ritardo basso, al fine di evitare un timeout errato quando una connessione è semplicemente lenta anziché non presente.

In alcune circostanze, TCP ritrasmette i dati prima della scadenza del timer di ritrasmissione di un determinato segmento. La circostanza più comune si verifica a causa di una funzione nota come ritrasmissione rapida.

Quando un ricevitore che supporta la ritrasmissione rapida riceve un pacchetto con un numero di sequenza superiore a quello atteso corrente, procede come se alcuni dati fossero stati eliminati. Per aiutare a rendere il mittente consapevole dei dati apparentemente rilasciati il ​​più rapidamente possibile, il destinatario invia immediatamente un riconoscimento (ACK), con il numero ACK impostato sul numero di sequenza che sembra mancare. Il destinatario invia un altro ACK per quel numero di sequenza per ciascun segmento TCP aggiuntivo nel flusso in entrata che arriva con un numero di sequenza superiore a quello mancante.

Quando il mittente riceve un flusso di ACK duplicati che riconoscono lo stesso numero di sequenza e il numero di sequenza indicato è precedente al numero di sequenza del segmento corrente inviato, il mittente può dedurre che uno o più segmenti inviati in precedenza sono stati eliminati. Dopo aver ricevuto un certo numero di ACK duplicati, i mittenti che supportano l'algoritmo di ritrasmissione rapida rinviano il segmento o i segmenti che il destinatario richiede di riempire il gap nei dati, senza attendere che il timer di ritrasmissione scada per i segmenti mancanti. Questa ottimizzazione migliora notevolmente le prestazioni in un ambiente di rete occupato.

Con la ritrasmissione rapida, il mittente ritrasmette i segmenti TCP mancanti prima che scadano i loro timer di ritrasmissione. Poiché i timer di ritrasmissione non sono scaduti per i segmenti TCP mancanti, i segmenti mancanti vengono ricevuti a destinazione e riconosciuti dal destinatario più rapidamente di quanto non sarebbero stati senza una ritrasmissione rapida e il mittente può inviare più rapidamente segmenti successivi al destinatario. Questo processo è noto come recupero rapido. Ritrasmissione rapida e recupero rapido sono descritti in RFC 2581: TCP Congestion Control .


2

La ritrasmissione, sostanzialmente identica alla richiesta di ripetizione automatica (ARQ), è il rinvio di pacchetti che sono stati danneggiati o persi. È un termine che si riferisce a uno dei meccanismi di base utilizzati dai protocolli che operano su una rete di computer a commutazione di pacchetto per fornire comunicazioni affidabili. MA Fast Retransmit è un miglioramento a TCP che riduce il tempo di attesa di un mittente prima di ritrasmettere un segmento perso. Il miglioramento di ritrasmissione veloce funziona come segue: se un mittente TCP riceve un numero specificato di riconoscimenti che di solito è impostato su tre conferme duplicate con lo stesso numero di riconoscimento (ovvero un totale di quattro riconoscimenti con lo stesso numero di riconoscimento), il mittente può essere ragionevolmente sicuro che il segmento con il successivo numero di sequenza superiore è stato eliminato e non arriverà fuori servizio. Il mittente ritrasmetterà quindi il pacchetto che si presumeva fosse stato eliminato prima di attendere il suo timeout. controlla questo link per maggiori dettagli e algoritmo http://www.isi.edu/nsnam/DIRECTED_RESEARCH/DR_WANIDA/DR/JavisInActionFastRetransmitFrame.html


1

In poche parole, la ritrasmissione TCP dipende in gran parte dal timeout del pacchetto per rilevare un errore mentre, nella ritrasmissione rapida TCP, il doppio riconoscimento per un determinato pacchetto simboleggia la sua mancanza.

Per lo più un doppio riconoscimento per un pacchetto viene dedotto come mancato pacchetto. Il sorgente può quindi vedere il numero di sequenza del pacchetto per il quale è stato attivato NACK. Questo è il numero progressivo del pacchetto mancante e può essere inviato al destinatario.

Il vantaggio della ritrasmissione rapida TCP è che non attende il timeout del pacchetto per avviare una trasmissione e quindi una ritrasmissione più rapida del pacchetto, come suggerisce anche il nome.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.