Retransmissão TCP vs. TCP Retransmissão Rápida

7

No Wireshark eu posso ver coisas que dizem "TCP Retransmission" e "TCP Fast Retransmission". Qual é a diferença? Como o Wireshark consegue diferenciar?

    
por tony_sid 07.04.2011 / 10:53

4 respostas

7

Quando um pacote é enviado usando TCP, ele tem um número de seqüência transmitido com ele. Quando o receptor recebe o pacote, ele envia uma confirmação ao remetente com o número de sequência que mostra que o pacote foi recebido. Com base na maneira como você fez sua pergunta, estou assumindo que você sabe disso. Eu queria colocá-lo para outros leitores.

TCP Retransmission é apenas um pacote que não reconhece dentro do tempo limite.

TCP Fast Retransmission é quando a fonte obtém a confirmação de que o pacote não foi recebido ... citando Retransmissão rápida - Wikipedia, a enciclopédia livre

if a TCP sender receives three duplicate acknowledgements with the same acknowledge number (that is, a total of four acknowledgements with the same acknowledgement number), the sender can be reasonably confident that the segment with the next higher sequence number was dropped

    
por 07.04.2011 / 12:45
3

Eu digeri isso de Microsoft :

TCP starts a retransmission timer when each outbound segment is handed down to the Internet Protocol (IP) layer. If TCP does not receive an acknowledgment for the data in a given segment before the timer expires, the segment is retransmitted.

The retransmission time-out is adjusted on the fly to match the characteristics of the connection, using Smoothed Round Trip Time (SRTT) calculations as described in Van Jacobson and Mike Karels' paper "Congestion Avoidance and Control" in Proceedings of the ACM SIGCOMM Conference on Data Communication, November 1988. This paper can be found in the ACM Digital Library at the Association for Computing Machinery. For more information on SRTT calculations, see RFC 793: Transmission Control Protocol DARPA Internet Program Protocol Specification. The retransmission time-out for a given segment is doubled after each retransmission of that segment.

Using this algorithm, TCP tunes itself to the usual delay of a connection. TCP connections over high-delay links take much longer to time out than those over low-delay links, in order to avoid incorrectly timing out when a connection is merely slow rather than not present.

Under some circumstances, TCP retransmits data before a particular segment's retransmission timer expires. The most common such circumstance occurs because of a feature known as fast retransmit.

When a receiver that supports fast retransmit receives a packet with a sequence number higher than the current expected one, it proceeds as if some data was dropped. To help make the sender aware of the apparently dropped data as quickly as possible, the receiver immediately sends an acknowledgment (ACK), with the ACK number set to the sequence number that seems to be missing. The receiver sends another ACK for that sequence number for each additional TCP segment in the incoming stream that arrives with a sequence number higher than the missing one.

When the sender receives a stream of duplicate ACKs that acknowledge the same sequence number and the indicated sequence number is earlier than the sequence number of the current segment being sent out, the sender can infer that one or more segments it previously sent were dropped. After receiving a certain number of duplicate ACKs, senders that support the fast retransmit algorithm resend the segment or segments that the receiver is requesting to fill the gap in the data, without waiting for the retransmission timer to expire for the missing segments. This optimization greatly improves performance in a busy network environment.

With fast retransmit, the sender retransmits the missing TCP segments before their retransmission timers expire. Because the retransmission timers did not expire for the missing TCP segments, missing segments are received at the destination and acknowledged by the receiver more quickly than they would have been without fast retransmit and the sender can more quickly send later segments to the receiver. This process is known as fast recovery. Fast retransmit and fast recovery are described in RFC 2581: TCP Congestion Control.

    
por 07.04.2011 / 12:44
1

A retransmissão, essencialmente idêntica à solicitação de repetição automática (ARQ), é o reenvio de pacotes que foram danificados ou perdidos. É um termo que se refere a um dos mecanismos básicos usados pelos protocolos que operam em uma rede de computadores de comutação de pacotes para fornecer uma comunicação confiável. MAS O Fast Retransmit é um aprimoramento do TCP que reduz o tempo que um remetente aguarda antes de retransmitir um segmento perdido. O aprimoramento de retransmissão rápido funciona da seguinte maneira: se um remetente TCP receber um número especificado de confirmações que geralmente é definido como três confirmações duplicadas com o mesmo reconhecimento número (ou seja, um total de quatro confirmações com o mesmo número de confirmação), o remetente pode estar razoavelmente seguro de que o segmento com o próximo número de sequência mais alto foi descartado e não chegará fora de ordem. O remetente retransmitirá o pacote que foi descartado antes de aguardar seu tempo limite. verifique este link para mais detalhes e algoritmo link

    
por 23.04.2013 / 19:16
0

Simplificando, o TCP Retransmission depende principalmente do tempo limite do pacote para detectar um erro, enquanto no TCP Fast Retransmission, o reconhecimento duplicado para um pacote particular simboliza sua falta.

Principalmente 3 confirmações duplicadas para um pacote são deduzidas como um pacote perdido. A fonte pode então ver o número de seqüência do pacote para o qual o NACK foi acionado. Este é o número de seqüência do pacote ausente e pode ser enviado para o receptor.

A vantagem do TCP Fast Retransmission é que ele não espera pelo timeout do pacote para iniciar uma transmissão e, portanto, uma retransmissão mais rápida do pacote, como o nome também sugere.

    
por 22.05.2016 / 22:43