Resumo

  • No comportamento clássico da RFC 3168, o receptor mantém ECE nos ACKs depois de observar CE, até receber um novo segmento de dados com CWR.
  • Uma observação CE pode, assim, gerar muitos ACKs com ECE; eles mantêm uma notificação confiável e não contam eventos independentes.
  • A negociação inicial também usa ECE e CWR, enquanto túneis, perdas de retorno e experiências posteriores limitam o que a contagem bruta permite atribuir.

Uma notificação que precisa durar

Um gráfico pode exibir nove ACKs com ECE e convidar a legenda “nove congestionamentos”. A primeira parte é uma observação; a segunda é uma interpretação sem apoio no protocolo. Depois que a conexão está estabelecida, o receptor que vê Congestion Experienced em um pacote de dados ativa ECE no ACK. Se um ACK atrasado cobre vários segmentos e qualquer um deles tem CE, o retorno também leva ECE.

O receptor continua marcando os ACKs seguintes, inclusive os correspondentes a dados sem CE, enquanto não chegar CWR do remetente. Portanto, o mesmo evento de abertura aparece várias vezes no fio. A quantidade depende do ritmo de dados, da política de confirmação, de perdas e do tempo que o remetente leva para reagir.

A razão é simples: o primeiro ACK pode desaparecer. Se o eco fosse único, uma perda no caminho de volta apagaria a notificação. A repetição torna o estado resistente. O registro correto acompanha um intervalo aberto por CE, sustentado pela série ECE e encerrado pela resposta CWR, em vez de transformar cada pacote em um incidente.

CWR acusa a reação e fecha o estado

Na semântica clássica, o remetente trata ECE como sinal de congestionamento e reduz a janela de modo semelhante à reação a perda. Ele não deve reduzir novamente a cada ACK repetido. Para uma série de perdas ou CE em uma janela de dados, aproximadamente um tempo de ida e volta, a redução ocorre uma vez.

Depois da reação, o primeiro novo segmento de dados recebe CWR. A RFC 3168 recomenda não colocar a indicação em retransmissão. Quando esse segmento novo chega, o receptor deixa de usar ECE nos ACKs de dados posteriores não marcados. Uma CE futura abre outro intervalo.

Se o segmento com CWR se perder, ECE continua ativo e oferece novas oportunidades de retorno; outra reação pode produzir novo CWR. A robustez explica por que o número de bandeiras supera o de marcas. Ver CWR sustenta que o remetente reagiu depois do envio dos dados pertinentes, mas não comprova a entrega de um ACK ECE específico nem identifica a fila que marcou.

Na abertura, os bits fazem uma negociação

Durante o estabelecimento, a mesma combinação pertence a outro contexto. O iniciador manda SYN com ECE e CWR ativos para solicitar ECN. O par capaz responde com ECE ativo e CWR inativo no SYN-ACK. Esse ECE informa capacidade; não é eco de congestionamento sofrido pelo SYN.

Uma extração que elimina a fase TCP e conserva apenas o booleano ECE inventa um evento no começo de cada conexão ECN. Direção e conjunto completo de flags são partes do significado. A negociação bem-sucedida tampouco obriga o host a usar um código ECT em todos os dados enviados depois.

Há outra assimetria: ACKs puros são enviados Not-ECT no regime clássico. A sequência de ECE representa o estado formado a partir de dados no caminho de ida; não mede, pelo mesmo processo, congestionamento no retorno.

O eco não entrega o endereço da fila

Segundo a RFC 7567, o gerenciamento ativo de filas pode marcar em vez de descartar sob congestionamento leve ou moderado, e atuar antes de a fila lotar. CE não prova estouro de buffer, perda, atraso específico nem o limiar de um equipamento.

Túneis afastam ainda mais sinal e origem. Um nó dentro do túnel pode alterar somente o campo ECN do cabeçalho externo. A RFC 6040 define como os extremos combinam os campos interno e externo para propagar a informação. O ECE no destino pode ser legítimo sem revelar o ponto de marcação.

Também não se deve trocar ECE por ACK duplicado. A RFC 5681 dá condições próprias aos ACKs duplicados, que podem decorrer de perda, reordenação ou replicação. Número de ACK, sequência, retransmissão, ECE, CWR e tempo são dimensões distintas.

Por fim, a RFC 8311 permite experiências documentadas que relaxam algumas restrições da RFC 3168. O mecanismo aqui descrito é o contrato clássico de TCP, não uma regra universal para toda experiência ECN ou todo transporte.

Fontes