Resumo

  • A ECN não elimina a perda. Em condições definidas, ela permite que uma fila ativa troque um descarte usado como aviso por uma marca explícita num pacote cujo transporte declarou capacidade de resposta.
  • O mecanismo é um circuito fechado: o emissor declara capacidade, o roteador marca, o receptor devolve a evidência e o emissor reduz a carga.
  • Da RFC 2481 e da RFC 3168 às regras de tunelamento e à L4S, a dificuldade não foi encontrar dois bits, mas manter um significado entre sistemas operados de forma independente.

Quando a fila só sabia falar por meio da perda

O controle de congestionamento aprendeu primeiro a interpretar uma ausência. Quando o buffer transbordava e um pacote não chegava, o emissor inferia pressão e recuava. Esse retorno ajudou a impedir o colapso por congestionamento, mas atribuiu duas funções à perda: prejudicar a transmissão e informar o estado que a prejudicou.

A RFC 2309, de abril de 1998, descreve por que o descarte na cauda da fila chega tarde. A fila pode permanecer cheia, acumular atraso e perder vários pacotes de uma rajada. Fluxos distintos podem recuar juntos e voltar a crescer juntos. O documento recomenda o gerenciamento ativo de filas, capaz de agir antes do transbordamento e manter menor a fila média.

Descartar cedo, porém, continua sendo descartar. A ECN ofereceu outra linguagem. Se o transporte indicou que entende uma notificação explícita, a fila pode alterar o código de congestionamento do pacote em vez de destruí-lo. O pacote chega ao destino carregando uma observação sobre o gargalo que atravessou.

Essa é a virada histórica: a rede deixou de precisar destruir o portador da prova para produzir a prova.

Quatro valores e uma responsabilidade distribuída

A RFC 3168, publicada na trilha de padrões em setembro de 2001, define quatro valores no campo ECN de dois bits: Not-ECT, ECT(0), ECT(1) e CE. ECT identifica um transporte capaz de ECN; CE registra congestionamento experimentado.

O roteador faz a alteração visível, mas a ECN não é uma função isolada do roteador. O emissor primeiro estabelece que o transporte pode responder e envia pacotes elegíveis. Uma fila ativa pode definir CE no ponto em que usaria um descarte como indicação de congestionamento. O receptor devolve essa informação. O emissor reduz sua janela de congestionamento e sinaliza que processou o aviso.

Cada participante enxerga apenas parte do estado. O roteador conhece sua fila, não o controle completo da aplicação. O receptor vê a marca, mas não determina diretamente a carga. O emissor controla a taxa, mas não observa o gargalo. A ECN transporta uma observação pequena entre essas fronteiras.

A perda permanece. Um pacote Not-ECT não prometeu reagir à marca. Congestionamento grave ainda pode exigir descarte. Falhas de rota, corrupção e policiamento não somem. O fato preciso é limitado: para tráfego elegível, nas condições especificadas, a marca pode substituir uma perda cuja função seria anunciar congestionamento.

De proposta experimental a contrato gradual

A RFC 2481 propôs a ECN como experimento em janeiro de 1999. A RFC 3168 a substituiu dois anos depois e especificou seu uso em IP e TCP. Não foi apenas a reserva de um campo; foram definidos negociação, retorno, resposta do emissor e convivência com tráfego sem ECN.

O lançamento gradual está embutido no desenho. Um emissor não pode supor que todo par ou caminho preserve o sinal. Um roteador não pode marcar qualquer pacote. A rede precisa manter a perda como proteção. Compatibilidade, aqui, é a condição que impede o primeiro adotante de impor uma falha nova aos demais.

Daí vem uma inferência operacional: contar recursos habilitados não mede o circuito. Um sistema pode negociar ECN e atravessar um gargalo que nunca marca. Um roteador pode marcar e um túnel apagar CE. O caminho pode preservar CE e o emissor não responder como previsto. A unidade de sucesso é o percurso completo.

O nonce e a honestidade do retorno

Uma notificação explícita cria um problema de incentivo: o receptor poderia esconder marcas para evitar que seu emissor reduzisse a taxa? A RFC 3540, experimental e publicada em 2003, propôs um nonce ECN. O emissor variava ECT e usava o retorno acumulado para detectar a supressão de sinais.

O nonce não se tornou o uso duradouro de ECT(1), mas tornou visível a tensão. Uma marca pede que um ator reduza sua própria taxa para proteger um recurso compartilhado. A rede produz evidência; ela não pode presumir cooperação.

A RFC 8311, de janeiro de 2018, tornou a RFC 3540 histórica e relaxou restrições para experimentos com ECN. ECT(1) ficou disponível para outros usos experimentais. O bit não estava vazio por natureza; foi preciso encerrar o significado anterior antes de atribuir outro.

O túnel guarda a prova

Num túnel, o pacote interno recebe um cabeçalho externo. Se o caminho externo encontra congestionamento, a saída deve reconciliar os dois estados. Apagar a marca externa faz o pacote interno ressurgir com um histórico falsamente limpo. Combinar os valores de forma errada pode fabricar uma indicação.

A RFC 6040, publicada na trilha de padrões em 2010, atualiza as regras de ECN em túneis. O objetivo das tabelas é simples: preservar o sentido do congestionamento entre encapsulamento e desencapsulamento, sem romper modos legados.

Isso é processamento de pacotes e, por inferência, custódia de evidência. A entrada escolhe o estado externo, o caminho pode marcar e a saída decide o que o interior herda. VPNs, núcleos móveis e overlays tornam-se fronteiras de medição. Dois endpoints compatíveis não provam que um túnel específico preserve CE.

Experimentar não é fingir certeza

A RFC 4774, uma Best Current Practice de 2006, estabelece condições para semânticas alternativas do campo ECN. Um uso diferente precisa ser identificado, conviver com o uso existente e limitar os riscos do lançamento parcial. A RFC 8311 depois relaxou regras para experiências em que a marca não equivale necessariamente a uma perda clássica. Permissão para experimentar não é certificação universal.

Essa diferença é central na arquitetura L4S publicada em 2023. A RFC 9330 descreve o conjunto. A RFC 9331, experimental, usa ECT(1) para identificar L4S e CE como retorno frequente. A RFC 9332, também experimental, especifica uma AQM de duas filas acopladas.

L4S não é apenas ECN clássico com limiar menor. O controle escalável deve reagir a marcas frequentes sem tratar cada uma como perda clássica. A rede separa o tratamento de baixa latência do atraso do tráfego clássico e acopla as indicações para compartilhar capacidade. A RFC 9330 descreve separação de latência, não prioridade simples de banda.

A arquitetura precisa de três peças: resposta compatível no emissor, tratamento de fila no gargalo e protocolo de identificação. ECT(1) isolado não entrega baixa latência. Copiar a marca sem copiar a resposta rompe o acordo de coexistência.

O que o registro não prova

A sequência das RFCs prova uma evolução: a fila ativa motivou um sinal anterior; um experimento virou mecanismo de padrões; a integridade do retorno foi testada; túneis e significados alternativos ganharam regras; L4S reutilizou o campo numa arquitetura mais ampla.

Ela não prova que a maioria dos caminhos públicos preserve ECN em 2026. Não identifica quais dispositivos intermediários apagam os bits. Não mostra que todo gargalo execute uma AQM útil nem que L4S se tornará serviço universal. Essas são incertezas de implantação e medição.

O resultado duradouro é mais contido: a rede pode registrar congestionamento antes de perder o pacote. Em troca, cada camada precisa declarar quem cria a evidência, quem a preserva e quem age.

O pacote sobrevive; a obrigação de responder continua.

Fontes