Resumo

  • Um ACK cumulativo prova avanço no espaço de sequência; após uma retransmissão, não diz se chegou o segmento original ou a cópia posterior.
  • RFC 1122 e RFC 6298 exigem a regra de Karn: não colher RTT de dados retransmitidos. Quando o RTO vence, o temporizador deve dobrar.
  • Timestamps negociados podem rotular a instância reconhecida, mas não provam caminho, causa da perda, identidade nem horário civil.

O recibo confirmou os bytes, não a viagem

O emissor envia um segmento e liga o temporizador. O prazo acaba antes do ACK, então os mesmos números de sequência seguem novamente. Logo depois chega um ACK.

No RFC 793, o número de reconhecimento informa o próximo byte esperado. Ele autoriza o avanço da janela e a liberação de dados guardados. O recibo não revela se o primeiro exemplar apenas se atrasou ou se desapareceu e somente o segundo funcionou.

Medir desde a primeira saída gera uma amostra longa; medir desde a repetição gera uma curta. As duas cronologias cabem no mesmo ACK. A evidência de entrega é válida, mas não tem autoridade para nomear a transmissão que inicia a conta.

O relógio podia aprender com o próprio erro

O caminho não publica um prazo fixo, por isso o TCP estima o RTO. Curto demais, cria cópias inúteis; longo demais, deixa uma perda reparável parada. O estimador aprende observando partidas e reconhecimentos.

A retransmissão remove o rótulo causal. Associar o ACK ambíguo à tentativa recente pode produzir RTT artificialmente baixo, antecipar o próximo timeout e fabricar novas amostras ambíguas. Associá-lo sempre à primeira pode inchar o relógio. Nenhuma média corrige uma observação cuja origem foi inventada.

Karn tornou obrigatório não medir

O RFC 1122 exige dois consertos diferentes. Jacobson incorpora variância ao cálculo do RTO; Karn decide quais amostras podem entrar nele. Melhor matemática não substitui procedência.

A regra de Karn recusa apenas uma inferência: não extrair RTT de segmento retransmitido. O RFC 6298 mantém isso como MUST NOT. O ACK continua apto a confirmar progresso cumulativo. Só não pode assinar o tempo de uma cópia específica.

Descartar a amostra não descarta o pacote, não acusa o receptor e não declara falha de rota. O emissor reconhece que lhe falta a identidade necessária para esse uso.

O recuo guardou memória da incerteza

O RFC 1122 também obriga recuo exponencial. O RFC 2988 formalizou o procedimento, preservado pelo RFC 6298: no vencimento, retransmitir o segmento pendente mais antigo e calcular RTO <- RTO * 2.

Dobrar não mede uma rota duas vezes mais lenta. Impede que o silêncio gere tentativas cada vez mais agressivas. O ACK ambíguo seguinte não deve apagar essa cautela. Depois, dados novos reconhecidos sem repetição fornecem uma amostra válida que pode reduzir o RTO pelo estimador normal.

O recuo é contenção revisável. Ele permanece até a volta de evidência atribuível.

O timestamp criou uma exceção estreita

O RFC 7323 define TSval e seu eco TSecr. Com a opção negociada, o eco pode ligar um ACK a uma emissão rotulada; o RFC 6298 então admite medir dados retransmitidos porque a ambiguidade relevante foi removida.

Esse timestamp não certifica hora civil. Não autentica o par, não mostra a rota, não mede sozinho o percurso de ida e não explica a perda. É um rótulo ordenado dentro da conexão.

Há mais um limite: o RFC 7323 permite atualizar o RTT médio somente quando o segmento recebido avança a borda esquerda da janela de envio. A presença de um eco não transforma qualquer ACK em amostra útil.

Muitas observações podiam esquecer o passado

Timestamps permitem várias medidas por RTT. Porém, os pesos do RFC 6298 nasceram para uma história próxima de uma amostra por volta. Alimentá-los com cada ACK pode expulsar cedo demais as condições anteriores. Se o caminho muda ao longo de algumas voltas, a memória curta favorece retransmissões espúrias.

O RFC 7323 recomenda preservar o espírito histórico do estimador. Dez ecos correlacionados da mesma janela não representam dez épocas independentes. Informação depende de cadência e origem, não apenas de volume.

O ACK voltou ao limite do que sabia

Um ACK move SND.UNA, aposenta bytes e libera trabalho. Não prova qual cópia atravessou, onde se acumulou atraso, nem se a perda veio de congestionamento, reordenação ou outra causa.

Karn deixou uma regra de autoridade informativa: usar uma evidência para a decisão que ela sustenta, não para outra. O TCP confia no ACK como progresso de entrega e desconfia dele como atribuição temporal. O emissor conserva seu modelo local sem exigir um relógio central ou uma narrativa inventada pela rede.

Fontes e limites

O conjunto fechado reúne RFC 793, RFC 1122, RFC 2988, RFC 6298 e RFC 7323. Eles estabelecem semântica e requisitos, não os padrões atuais de cada sistema nem a causa de um timeout concreto. Uma amostra ambígua pode coincidir com o RTT verdadeiro; Karn afirma que o emissor não sabe qual interpretação acertou.