Resumo
- Na RFC 2001, três ACKs duplicados eram uma indicação forte de segmento ausente, não uma prova da causa; o limiar permitia retransmitir antes do temporizador.
- A recuperação rápida elevava
cwndprovisoriamente parassthresh + 3segmentos, somava um segmento por ACK duplicado adicional e removia essa expansão no primeiro ACK de dados novos. - A cadeia comprova apenas uma inferência do emissor sobre o avanço parcial do fluxo. Não autentica o par, não mede a capacidade do caminho e não confirma recebimento pela aplicação.
Um limiar para agir sob incerteza
Imagine o mapa de voo do emissor com um intervalo vazio. Chega um ACK com o mesmo próximo número esperado; depois outro; depois um terceiro. A fronteira cumulativa não avançou, embora segmentos posteriores tenham alcançado o TCP receptor. A RFC 2001 escolheu exatamente esse terceiro aviso como o ponto em que esperar pelo temporizador deixava de ser a única opção.
O documento chama o padrão de forte indicação de que um segmento se perdeu. A palavra importante é indicação. Um ACK duplicado também pode nascer de reordenação: um segmento válido chegou dentro da janela de recepção, mas fora da borda esquerda, e o receptor repetiu RCV.NXT. O pressuposto operacional era que uma simples reordenação produziria um ou dois ACKs duplicados; três consecutivos justificariam a hipótese de um buraco.
Essa regra não identifica o equipamento que descartou um pacote nem o mecanismo físico do desaparecimento. Ela converte um padrão observável em permissão de retransmissão. A fronteira da evidência fica no próprio fluxo TCP.
Quatro algoritmos, uma sequência de estados
A RFC 2001 reúne partida lenta, prevenção de congestionamento, retransmissão rápida e recuperação rápida. Lidos isoladamente, parecem quatro recursos. Lidos como uma sequência, mostram como o emissor muda de autoridade conforme muda a evidência.
A janela anunciada pelo receptor exprime espaço de recepção. A janela de congestionamento, cwnd, restringe o que o emissor considera seguro para a rede. Só pode ser enviado o menor desses dois limites. ssthresh separa o crescimento acelerado da partida lenta do crescimento mais cauteloso da prevenção de congestionamento.
Um timeout empobrece a evidência de continuidade e leva cwnd de volta a um segmento. Três ACKs duplicados contam outra história: a lacuna persiste, mas dados posteriores continuam chegando. A recuperação rápida foi criada para não apagar essa diferença.
O crédito aberto pelo terceiro ACK
Ao receber o terceiro ACK duplicado, a RFC manda definir ssthresh como metade da cwnd atual, nunca abaixo de dois segmentos. Em seguida, retransmite-se o segmento aparentemente ausente. Por fim, cwnd passa a ssthresh + 3*segsize.
Os três segmentos adicionais não são uma estimativa duradoura de capacidade. Cada ACK duplicado pressupõe a chegada de mais um segmento ao receptor; por isso, o emissor contabiliza três segmentos como já retirados da rede e mantidos no buffer remoto. A expansão evita esvaziar abruptamente o mecanismo de ACKs enquanto o buraco é reparado.
Cada ACK duplicado posterior acrescenta mais um segmento a cwnd. Se o novo limite permitir, outro pacote pode ser enviado. Trata-se de uma substituição condicionada por nova evidência de saída, não de crescimento livre da taxa. O emissor recebe um crédito unitário e provisório.
O ACK que avança a fronteira encerra o empréstimo
Quando chega um ACK que reconhece dados novos, a RFC determina que cwnd volte a ssthresh. Desaparecem tanto os três segmentos iniciais quanto os incrementos acumulados durante a recuperação. O emissor continua em prevenção de congestionamento com aproximadamente metade da janela anterior ao episódio.
Essa deflação é a peça que impede a contabilidade provisória de virar autoridade permanente. O ACK cumulativo agora avançou e, segundo a expectativa do documento, cobriu a retransmissão e os segmentos intermediários guardados pelo receptor. Ainda assim, ele não mostra o percurso de cada cópia nem revela por que o pacote original deixou de contribuir para a fronteira.
Há uma limitação ainda mais importante. A RFC 793 diz que o ACK transfere responsabilidade ao TCP receptor; ele não garante entrega ao usuário final. Logo, nem mesmo o ACK de dados novos é um comprovante de resultado da aplicação. E o ACK duplicado, cuja fronteira não se move, prova menos ainda.
O registro que uma auditoria deveria preservar
Uma observação fiel precisa manter o número do ACK repetido, a contagem de duplicatas, os intervalos pendentes, cwnd e ssthresh antes e depois da transição, a retransmissão, cada inflação temporária e o primeiro ACK que avançou. Um único contador chamado “recuperado” mistura detecção, permissão de envio e resultado.
Também convém separar transporte de identidade. A seção de segurança da RFC 2001 não oferece uma análise de segurança. O padrão de ACK não autentica o par, não autoriza uma operação de negócio e não demonstra que um arquivo foi gravado ou uma mensagem foi processada.
O registro do RFC Editor identifica o texto de W. Richard Stevens, de janeiro de 1997, como Proposed Standard posteriormente tornado obsoleto pela RFC 2581. As versões HTML e texto conservam o algoritmo; o Datatracker registra sua trajetória. A RFC 1122 contextualiza o ACK imediato para chegada fora de ordem, e a RFC 2581 é usada aqui apenas para a sucessão documental.
Este artigo não afirma que pilhas atuais executem a RFC 2001 literalmente. Não compara algoritmos posteriores, não reconstrói a história dos temporizadores e não usa especificações futuras como prova do comportamento de 1997. Seu objeto é uma cadeia estreita: aviso repetido, inferência, crédito provisório e retirada do crédito.
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance

