Resumo

  • TCP é um caminho normal do serviço DNS, não apenas uma exceção para transferências de zona.
  • EDNS amplia o espaço utilizável em UDP, mas não garante entrega em todo caminho.
  • A evidência de prontidão deve acompanhar a mesma consulta do truncamento ao estabelecimento TCP, à resposta completa e ao reúso seguro.

O incidente mais revelador começa com um painel inteiramente verde. UDP/53 responde rápido e os dados autoritativos estão atualizados. Uma resposta maior volta com o bit TC. O resolvedor abre TCP, mas o ponto de serviço tem uma fila de aceitação curta, um tempo limite de firewall inadequado para esse caminho de conexão ou processos atrasados por um par lento. Os dados DNS estão corretos. O caminho de entrega não está pronto.

A RFC 1035 definiu o serviço DNS por UDP e TCP na porta 53 e o prefixo de dois octetos que informa o tamanho de uma mensagem DNS em TCP. Também recomendou múltiplas conexões e advertiu que aguardar dados TCP não deve bloquear outras atividades. EDNS ampliou o limite UDP original, mas o ponto arquitetural permanece: uma resposta truncada muda o trabalho de transporte necessário para concluir a mesma pergunta.

A RFC 6891 permite que o solicitante anuncie o maior tamanho de carga útil UDP que consegue remontar e entregar no contexto do DNS. Esse valor é evidência sobre a capacidade do destino, não uma promessa sobre cada trecho intermediário. Não observar TC em laboratório, portanto, não retira TCP do contrato de produção.

A RFC 7766 exige suporte a TCP em implementações DNS de propósito geral e trata o reúso como forma de evitar o custo de uma nova conexão para cada consulta. A pergunta de capacidade deixa de ser apenas se a porta abriu. É preciso saber se trabalho concorrente termina, se um par lento atrasa os demais e se a política de fechamento preserva sessões úteis sem entregar estado finito indefinidamente.

A RFC 9210 atualiza essa fronteira operacional. Um socket que abriu uma vez não prova um ciclo de vida controlado sob a mistura real de consultas. O teste útil acompanha a transição completa e registra por que uma conexão foi mantida, encerrada ou reiniciada.