Resumo

  • O QUIC usa o menor valor não nulo anunciado e aplica um piso de três PTOs correntes.
  • O temporizador reinicia em eventos específicos de recebimento e envio; transmissões locais repetidas não o renovam indefinidamente.
  • Um valor longo não reserva mapeamento UDP, afinidade com o backend, estado da aplicação nem validade da sessão comercial.

Os dois extremos anunciam trinta minutos, e o painel do produto passa a dizer que uma sessão silenciosa sobreviverá por meia hora. Noventa segundos após a última troca, o firewall remove o mapeamento UDP. O próximo pacote do cliente não alcança o backend que ainda mantém o estado da conexão. O parâmetro de transporte não foi descumprido: ele nunca reservou aquele caminho.

A seção 10.1 da RFC 9000 define uma fronteira do estado do protocolo. Se qualquer extremo anunciar um max_idle_timeout diferente de zero, o valor efetivo será o menor entre os dois anúncios, ou o único valor não nulo quando só um lado o fornecer. Depois que a conexão fica ociosa além do período aplicável, o extremo a fecha silenciosamente e descarta seu estado.

A palavra “máximo” é decisiva. O valor limita o silêncio tolerado; não concede uma vida útil mínima para uma conexão funcional. Ao anunciar um valor, o extremo se compromete a iniciar um fechamento imediato caso decida abandonar a conexão antes do limite efetivo. Isso não impede que um prazo da aplicação, um fechamento explícito, uma redefinição sem estado, uma credencial vencida, uma rota perdida ou um intermediário defeituoso retirem a utilidade da sessão antes.

As regras de reinício são mais seletivas que um contador de tráfego. O extremo reinicia o temporizador depois de receber e processar com sucesso um pacote do par. Também o reinicia ao enviar um pacote que provoca confirmação, mas somente se ainda não enviou outro pacote desse tipo desde o último pacote do par recebido e processado. Repetir transmissões locais sem avanço remoto não produz uma prorrogação infinita. Um painel que conserva apenas “último pacote enviado” não tem os fatos necessários para reproduzir o vencimento.

O número configurado nem sempre é o limite operacional. A RFC 9000 exige que o período ocioso seja elevado para pelo menos três vezes o Probe Timeout atual, ou PTO. A seção 6.2 da RFC 9002 atribui ao PTO uma função diferente: disparar um ou dois datagramas de sondagem quando a confirmação esperada não chega ou quando a validação de endereço permanece incompleta. O vencimento do PTO, por si só, não declara perdidos os pacotes anteriores sem confirmação.

A seção 6.2.1 da RFC 9002 calcula o PTO a partir do RTT suavizado, da variação do RTT, da granularidade do temporizador e, quando aplicável, do atraso máximo de confirmação. Após vencimentos consecutivos, o recuo exponencial aumenta a duração do PTO. Portanto, o piso de três PTOs é dinâmico. Guardar só os milissegundos negociados elimina o estado de recuperação capaz de explicar o limite realmente usado pelo extremo.

O tráfego de verificação de vida acrescenta evidência, mas não é uma prova universal. A seção 10.1.1 da RFC 9000 alerta que um pacote enviado perto do vencimento pode chegar depois que o par já descartou o estado. Um PING ou outro quadro que provoque confirmação pode testar se há resposta de transporte. Um ACK de volta demonstra aquela troca; não demonstra que a aplicação está saudável, que o login continua válido ou que uma transação pode ser retomada com segurança.

A seção 10.1.2 permite que a implementação ofereça à aplicação uma forma de adiar o vencimento, por exemplo enviando PING periodicamente. Isso pode preservar o estado dos extremos quando um intervalo silencioso é esperado, mas o protocolo da aplicação deve orientar a decisão. Sondagens desnecessárias consomem pacotes, processamento e capacidade de rede, e podem prejudicar o desempenho. A política de manutenção é uma escolha operacional, não uma transformação automática do timeout em garantia de disponibilidade.

A mesma seção torna explícita a fronteira do caminho: o estado de equipamentos intermediários pode vencer antes do temporizador negociado pelo QUIC. NAT, firewall e balanceador mantêm relógios próprios. Mesmo que os dois extremos conservem estado, o próximo pacote pode encontrar um mapeamento ausente ou chegar ao backend errado. A configuração dos extremos não reserva infraestrutura que eles não controlam.

A seção 18.2 da RFC 9000 informa que o mecanismo fica desativado quando os dois extremos omitem o parâmetro ou indicam zero. Isso desativa apenas este timeout do QUIC, não prazos da aplicação, expiração de segurança, fechamento imediato, falha de rede ou coleta de estado intermediário. Paciência infinita no extremo não preserva um mapeamento externo nem uma autorização.

O registro defensável precisa unir os dois anúncios, seu mínimo, o PTO corrente e seus componentes, o último pacote do par processado com sucesso, o último envio local qualificável, resultados de PING e ACK, observações do caminho, afinidade com o backend, vencimento da sessão na aplicação e mecanismo final de término. Um temporizador comprova apenas uma fronteira.