Resumo

  • Os números de sequência TCP vão de 0 a 2^32−1, e toda a aritmética usa módulo 2^32.
  • A comparação modular preserva a ordem local quando o maior valor é seguido por zero.
  • Confirmações, retransmissões e testes da janela de recebimento dependem dessa comparação.

Um espaço que chega ao limite

As RFC 793 e 9293 descrevem um espaço de sequência finito, de zero a 2^32−1. Depois da maior posição, a seguinte é zero. A regra não tenta fazer o campo crescer indefinidamente: determina que suas operações sejam realizadas módulo 2^32.

Como inteiros sem sinal, zero parece menor e, portanto, anterior ao maior valor. No contexto da conexão, porém, pode ser a posição seguinte. Perto da volta, a magnitude impressa não estabelece sozinha a ordem temporal.

A lógica do anel

A aritmética modular transforma a linha em um anel. As fronteiras de envio e recebimento, os números de confirmação e as janelas limitadas formam o contexto local necessário. Dois valores de 32 bits, considerados isoladamente, não têm uma ordem temporal universal.

Essa lógica decide se uma confirmação cobre dados enviados, se ainda há posições sujeitas a retransmissão e se um segmento está dentro da janela de recebimento. As especificações definem relações modulares porque uma comparação comum pode inverter o significado de novo e antigo perto do ponto de retorno.

Voltar não é reiniciar

O retorno a zero não reinicia a conexão nem apaga seu estado. É apenas a próxima coordenada do mesmo espaço; as variáveis de controle continuam avançando pelas regras modulares.

O limite da garantia

A aritmética correta não resolve sozinha todos os problemas ligados à idade dos segmentos, à duração da conexão ou aos limites da janela. Ela resolve o problema mais específico de conservar uma ordem local usando um campo fixo na rede.

Sources