Por curiosidade, estou verificando os pacotes DNS do Wireshark. Posso ver que há uma consulta DNS do host e, em seguida, uma resposta DNS do servidor DNS. Tudo é exatamente como esperado.
No entanto, se você verificar mais a consulta, poderá ver que o servidor também envia o NS (servidor de nomes autoritativo). Minha pergunta é: por quê?
Como host, só me importo com o IP. Esse é o ponto principal do DNS , para resolver um nome em um endereço IP .
Por que, como host, eu precisaria das informações do NS?
Tradicionalmente, os servidores de nomes não enviam uma resposta curta a uma consulta, mas uma resposta completa compatível com RFC 1034 - 1035 , que inclui a seção de autoridade que contém registros de recursos que apontam para os servidores de nomes autoritativos.
O motivo provavelmente é porque, com a natureza distribuída e delegada do DNS, parecia uma boa ideia na época incluir a "fonte da verdade" nas respostas.
Edit: A propósito: o envio da seção de autoridade é compatível com RFC, mas não é obrigatório para todas as respostas de consulta.
No BIND esse comportamento pode ser ajustado com a
minimal-responses yes | no;
diretiva, onde o padrão éno
e as seções Autoridade e Adicional da resposta da consulta sempre serão totalmente preenchidas.Outros servidores de nomes CloudFlare, AWS Route 53, Infoblocks e provavelmente outros já sempre enviarão essas respostas mínimas por padrão. Os resolvedores públicos do Google retornarão uma seção Autoridade quando disponível, Cloudflare.
Eu acho que a origem dessa tradição para incluir tanto a seção de autoridade quanto a resposta real da consulta encontra sua raiz no código (pseudo) do agora obsoleto RFC882 página 15-16
O servidor não sabe se a solicitação vem de um cliente final ou é uma solicitação recursiva de outro servidor de nomes. Se for outro servidor de nomes, ele pode armazenar em cache a Seção de Autoridade e consultar esses servidores de nomes diretamente no futuro.
Acredito que essa foi a justificativa original do protocolo, mas tem implicações de segurança. Uma resposta pode incluir uma Seção de Autoridade que lista servidores de nomes falsos, e isso tem sido usado em ataques de envenenamento de cache. Portanto, os servidores de nomes geralmente não armazenam em cache os registros NS, a menos que sejam registros de delegação para um subdomínio do domínio que você está consultando.