Resumo

  • O TAO do RFC 1644 comparava o CC do SYN inicial ao último valor válido lembrado para o cliente. Se fosse maior, os dados podiam chegar ao processo antes do fim do handshake comum.
  • CC.NEW anulava a memória quando reinício, volta do contador ou ausência de histórico quebravam a monotonicidade; CC.ECHO permitia ao cliente relacionar o SYN/ACK à abertura enviada.
  • A proteção alcançava duplicatas antigas do transporte, não identidade ou commit. O RFC 6247 depois tornou T/TCP Historic por falta de uso amplo e problemas de segurança relatados.

Um cache autorizava a primeira entrega

O RFC 1644 especificou experimentalmente uma extensão para trocas curtas. O cliente colocava pedido e contador de 32 bits no SYN. O servidor mantinha por host remoto o último valor aceito.

CC maior fazia o teste TAO passar: o servidor atualizava a entrada e entregava os bytes ao processo. CC igual ou menor deixava duas explicações possíveis — duplicata antiga ou reordenação — e por isso o servidor recorria ao handshake normal de três vias.

A comparação autorizava uma transição local. Dependia da continuidade do contador, do ciclo de vida do cache e da escolha correta da chave de cliente. Não autenticava quem controlava o par, nem antecipava a decisão da aplicação.

Ao reiniciar, o cliente usava CC.NEW para admitir que a memória anterior não era segura. A entrada era invalidada e o 3WHS voltava a ser obrigatório. No retorno, CC.ECHO repetia o contador da abertura no SYN/ACK. O eco vinculava mensagens; não era credencial de pessoa ou organização.

A execução ainda precisava de evidência própria

O documento limitou “transaction” à sequência de transporte e afastou semântica de commit em várias fases. A promessa at-most-once evitava repetição causada por pedido duplicado naquele modelo, e a troca mínima ainda tinha três segmentos.

Depois da entrega, a aplicação pode rejeitar autorização, falhar ao interpretar, gravar apenas parte, acionar outro serviço ou concluir antes de perder a resposta. Para o cliente silencioso, CC não distingue entre nunca recebido e executado com resposta perdida.

Operações irreversíveis precisam de identificador estável, deduplicação persistente e recibo de resultado na camada que possui a decisão. O transporte não pode certificar saldo, configuração ou comando de negócio.

O status histórico completa o limite. O RFC 6247 moveu a extensão para Historic, citando ausência de uso disseminado e problemas de segurança relatados. O TCP atual está no RFC 9293. RFC 1644 não prova kernel moderno, caminho seguro ou compatibilidade com intermediários.

TIME-WAIT também tinha uma condição

Para conexões curtas, CC ajudava a separar novas encarnações e abreviar TIME-WAIT. Se a conexão durasse mais que o tempo máximo de vida do segmento, o atraso comum continuava necessário. Fora das hipóteses de transação, T/TCP deveria convergir para TCP normal.

O caso ensina a não ampliar recibos: acerto de cache, entrega ao processo e execução durável são fatos diferentes.

Fontes e limites

As fontes não demonstram execução exata, identidade autenticada, implantação atual ou resultado comercial.