Resumo

  • O campo de confirmação está sempre reservado no cabeçalho, mas só é significativo quando ACK está definido.
  • O número aponta para o próximo número de sequência esperado e confirma cumulativamente os anteriores.
  • No handshake, o SYN inicial não confirma; o SYN,ACK torna o número de confirmação uma evidência válida.

Um campo pode existir sem afirmar nada

RFC 793 e RFC 9293 mantêm um cabeçalho TCP único. Os mesmos 32 bits aparecem no SYN de abertura, em segmentos de dados e no encerramento. Ainda assim, a especificação não manda interpretar o campo incondicionalmente. Quando ACK está definido, ele contém o próximo número de sequência que o remetente espera receber. RFC 9293 resume a regra: o campo de confirmação é significativo.

Isso permite que o host que inicia a conexão anuncie seu próprio número inicial sem fingir que já recebeu o número do outro lado. Com ACK desativado, os bits continuam fisicamente no cabeçalho, mas não sustentam uma confirmação. O formato permanece estável; o estado da conexão controla a leitura.

O handshake torna a mudança observável

No exemplo básico de RFC 9293, o primeiro segmento traz SEQ=100 e SYN. A resposta traz SEQ=300, ACK=101 e SYN,ACK. A terceira perna traz SEQ=101, ACK=301 e ACK. Como SYN ocupa uma posição do espaço de sequência, confirmar 100 significa esperar 101.

A mesma estrutura agora cruza uma fronteira semântica. No primeiro segmento, o número não é significativo; na resposta, ACK o transforma em evidência do estado do par. Depois que a conexão se estabelece, a confirmação é sempre enviada nesse estado.

Uma fronteira cumulativa, não um recibo da aplicação

O número é o próximo valor esperado e confirma cumulativamente todas as posições anteriores contíguas. Ele não enumera segmentos, autentica o par nem prova que a aplicação consumiu os dados. O campo Window informa quantos octetos, a partir desse número, o remetente aceita. A relação é importante, mas o interruptor de significado continua sendo ACK.

ACK não consome espaço de sequência. Se consumisse, cada confirmação exigiria outra confirmação. Essa exclusão permite anexar o estado cumulativo a dados ou atualizar a fronteira em um segmento sem dados novos.

Continuidade entre duas especificações

RFC 793, de 1981, e RFC 9293 preservam o mesmo desenho: campo de 32 bits, significado condicionado por ACK, confirmação cumulativa e nenhum espaço de sequência para ACK. A conclusão é sobre a estrutura do protocolo, não sobre o comportamento de implementações atuais.

Fontes