Resumo

  • Happy Eyeballs reduz a espera visível sobrepondo tentativas; o vencedor comprova apenas a própria conectividade.
  • Chegada DNS, ordem, início, erro e cancelamento precisam ser preservados por família.
  • Sucesso do produto e funcionamento correto de IPv4 e IPv6 são conclusões operacionais diferentes.

Considere um caso ilustrativo: a página abre normalmente após a chegada de AAAA e A; IPv6 parte primeiro, IPv4 vem depois e termina antes. O usuário não percebe falha, e um painel baseado apenas em sessões concluídas também não. Mesmo assim, o IPv6 pode enfrentar um problema de caminho ou serviço, ou apenas ser cancelado antes de responder. A conexão vencedora não diferencia esses casos.

O RFC 8305 especifica o comportamento de corrida do qual essa ambiguidade pode surgir: resolve A e AAAA de modo assíncrono, ordena destinos pelo RFC 6724, intercala famílias e escalona tentativas. Quando uma funciona, cancela as demais. Na avaliação editorial deste artigo, o mecanismo pode proteger a disponibilidade porque um candidato defeituoso não impõe seu timeout completo ao usuário.

Mas um IPv6 “cancelado” depois da vitória do IPv4 não é sucesso nem necessariamente falha: é uma observação interrompida pela corrida. A vitória do IPv4 também não prova preferência por IPv4. Ordem das respostas DNS, política RFC 6724 e RTT histórico mudam o resultado.

Os conhecidos 250 milissegundos não são meta universal. O RFC 8305 oferece esse número como um valor padrão recomendado para o intervalo entre tentativas, admite adaptação e estabelece limites. O intervalo também difere da espera de resolução quando A chega antes de AAAA. Um recibo útil registra valores reais e horários, não apenas “Happy Eyeballs ativado”.

O próprio padrão alerta que o mecanismo pode ocultar problemas operacionais. A resposta não é desligar a corrida, mas medir os caminhos perdedores sem atrasar o usuário. Cada episódio deve reunir contexto de rede, resolvedor, chegada de A/AAAA, lista ordenada, família, Resolution Delay configurado, Connection Attempt Delay configurado ou adaptado, deslocamento real de início, etapa do handshake, resultado de cada tentativa, resultado da aplicação, motivo do cancelamento, vencedor e o escopo de rede e prazo de validade de qualquer histórico de conexão em cache.

Como recomendação operacional editorial, convém agregar esses dados por prazo limitado para reduzir a exposição de privacidade.

O RFC 6555 nasceu para reduzir atrasos de IPv6 quebrado. O RFC 8305 aperfeiçoa o remédio; nenhum deles certifica a família perdedora. O RFC 6724 define política de seleção, não um teste de alcance.