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

9

No Wireshark, vejo coisas que dizem "Retransmissão TCP" e "Retransmissão rápida TCP". Qual é a diferença? Como o Wireshark é capaz de dizer a diferença?

tony_sid
fonte

Respostas:

8

Quando um pacote é enviado usando TCP, ele possui um número de sequência transmitido. Quando o receptor recebe o pacote, eles enviam uma confirmação ao remetente com o número de sequência mostrando que o pacote foi recebido. Com base na maneira como você fez sua pergunta, presumo que você saiba disso. Eu queria colocá-lo para outros leitores.

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

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

se um remetente TCP receber três confirmações duplicadas com o mesmo número de confirmação (ou seja, um total de quatro confirmações com o mesmo número de confirmação), o remetente poderá estar razoavelmente confiante de que o segmento com o próximo número de sequência mais alto foi descartado

Theo
fonte
Você tem certeza do número de ACKs? Eu já vi isso acontecer com três ACKs.
precisa saber é o seguinte
2
Não. O que tenho certeza é que as retransmissões rápidas ocorrem quando o remetente detecta problemas por causa de várias sequências de confirmação.
Theo
3
Além disso, ele diz rápido, mas tem a mesma velocidade que uma retransmissão regular. O motivo pelo qual é chamado rápido é que você é notificado sobre o problema, em vez de esperar um tempo limite. Assim, todo o processo é "mais rápido".
Theo
6

Eu digeri isso da Microsoft :

O TCP inicia um timer de retransmissão quando cada segmento de saída é transmitido para a camada IP (Internet Protocol). Se o TCP não receber uma confirmação dos dados em um determinado segmento antes que o cronômetro expire, o segmento será retransmitido.

O tempo limite da retransmissão é ajustado em tempo real para corresponder às características da conexão, usando cálculos do SRTT (Smoothed Round Trip Time), conforme descrito no artigo de Van Jacobson e Mike Karels, "Prevenção e controle de congestionamento", em Anais da Conferência ACM SIGCOMM on Data Communication, novembro de 1988. Este artigo pode ser encontrado na Biblioteca Digital ACM da Association for Computing Machinery. Para obter mais informações sobre cálculos SRTT, consulte RFC 793: Especificação do Protocolo de Programa da Internet DARPA do Protocolo de Controle de Transmissão . O tempo limite de retransmissão para um determinado segmento é dobrado após cada retransmissão desse segmento.

Usando esse algoritmo, o TCP se ajusta ao atraso usual de uma conexão. As conexões TCP em links de alto atraso demoram muito mais tempo do que aquelas em links de baixo atraso, para evitar o tempo limite incorreto quando uma conexão é apenas lenta, e não presente.

Sob algumas circunstâncias, o TCP retransmite dados antes que o timer de retransmissão de um segmento específico expire. A circunstância mais comum ocorre devido a um recurso conhecido como retransmissão rápida.

Quando um receptor que suporta retransmissão rápida recebe um pacote com um número de sequência maior que o atual esperado, ele prossegue como se alguns dados fossem descartados. Para ajudar a informar o remetente dos dados aparentemente descartados o mais rápido possível, o destinatário envia imediatamente uma confirmação (ACK), com o número ACK definido como o número de sequência que parece estar ausente. O receptor envia outro ACK para esse número de sequência para cada segmento TCP adicional no fluxo de entrada que chega com um número de sequência maior que o número ausente.

Quando o remetente recebe um fluxo de ACKs duplicados que reconhecem o mesmo número de sequência e o número de sequência indicado é anterior ao número de sequência do segmento atual que está sendo enviado, o remetente pode inferir que um ou mais segmentos enviados anteriormente foram descartados. Depois de receber um certo número de ACKs duplicados, os remetentes que suportam o algoritmo de retransmissão rápida reenviam o segmento ou segmentos que o receptor está solicitando para preencher a lacuna nos dados, sem esperar que o timer de retransmissão expire nos segmentos ausentes. Essa otimização melhora muito o desempenho em um ambiente de rede ocupado.

Com a retransmissão rápida, o remetente retransmite os segmentos TCP ausentes antes que seus temporizadores de retransmissão expirem. Como os temporizadores de retransmissão não expiram para os segmentos TCP ausentes, os segmentos ausentes são recebidos no destino e reconhecidos pelo receptor mais rapidamente do que teriam sido sem a retransmissão rápida e o remetente pode enviar mais rapidamente segmentos posteriores ao receptor. Esse processo é conhecido como recuperação rápida. A retransmissão rápida e a recuperação rápida são descritas na RFC 2581: Controle de congestionamento TCP .

Majenko
fonte
2

A retransmissão, essencialmente idêntica à solicitação de repetição automática (ARQ), é o reenvio de pacotes danificados ou perdidos. É um termo que se refere a um dos mecanismos básicos usados ​​por protocolos que operam em uma rede de computadores comutados por pacotes para fornecer comunicação confiável. MAS Fast Retransmit é um aprimoramento para TCP que reduz o tempo que um remetente espera antes de retransmitir um segmento perdido. número de confirmação (ou seja, um total de quatro confirmações com o mesmo número de confirmação), o remetente pode estar razoavelmente confiante 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 supostamente descartado antes de aguardar o tempo limite. verifique este link para mais detalhes e algoritmo http://www.isi.edu/nsnam/DIRECTED_RESEARCH/DR_WANIDA/DR/JavisInActionFastRetransmitFrame.html

Hanna
fonte
1

Simplificando, a retransmissão TCP depende principalmente do tempo limite do pacote para detectar uma falha, enquanto, na retransmissão rápida TCP, o reconhecimento duplicado de um pacote específico simboliza sua falta.

Na maioria das vezes, três confirmações duplicadas para um pacote são deduzidas como falta de pacote. A fonte pode ver o número de sequência do pacote para o qual o NACK foi acionado. Este é o número de sequência do pacote ausente e pode ser enviado ao destinatário.

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

Rubal
fonte