Por que enviar servidor de nomes autoritativo no DNS?

11

Por curiosidade, estou verificando os pacotes DNS do Wireshark. Percebo que há uma consulta DNS do host e, em seguida, uma resposta DNS do servidor DNS. Tudo está como esperado.

No entanto, se você fizer um check-in adicional na consulta, poderá ver que o servidor também envia o NS (servidor de nomes autoritário). Minha pergunta é: por que?

Como host, eu 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?

AhmedWas
fonte
1
@ downvoter, por favor, comente. E se você acha que minha pergunta é tão fácil, pelo menos responda-a e depois vote novamente.
precisa saber é o seguinte
6
Pela filosofia e design votos são anônimos e não votar -se nem votar para baixo requer qualquer explicação obrigatória . A dica de ferramenta que aparece quando o ponteiro do mouse passa o mouse sobre o botão para baixo afirma: "esta pergunta não mostra nenhum esforço de pesquisa; é incerta ou não é útil" . Além disso, as perguntas podem atrair um voto negativo quando não estão bem escritas , não são bem no tópico ou faltam detalhes.
precisa saber é o seguinte

Respostas:

15

Tradicionalmente, os servidores de nomes não enviam uma resposta curta para 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 o (s) servidor (es) de nome autoritativo (s).

O motivo é provavelmente porque, com a natureza distribuída e delegada do DNS, parecia uma boa idéia 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 da consulta.

No BIND, esse comportamento pode ser ajustado com a minimal-responses yes | no;diretiva, onde o padrão é noe 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á enviarão sempre essas respostas mínimas por padrão. Os resolvedores públicos do Google retornarão uma seção de autoridade quando disponível, o Cloudflare.


Eu acho que a origem dessa tradição para incluir tanto a seção de autoridade quanto a resposta de consulta real encontra sua raiz no código (pseudo) do agora obsoleto RFC882 página 15-16

If the name server is not authoritative, the code copies 
the RRs for a closer name server into the response.  

The last section of the code copies all relevant RRs into the response.
HBruijn
fonte
obrigado pela edição e pelas informações adicionais. Eu gostaria de poder lhe dar mais que um voto UP :)
AhmedWas
Isso realmente não responde à pergunta. Já sabemos que uma resposta completa é recebida. A questão era: qual é o benefício disso? Por que o padrão é projetado dessa maneira? Qual é o valor das informações "adicionais" nesta forma de resposta?
Lightness Races em órbita
3
@LightnessRacesinOrbit para mim, a resposta é evidente: o servidor DNS não está apenas me dizendo que example.com está abcd; está me dizendo quem disse isso. Isso é epistemologicamente correto, porque não posso dizer com precisão que sei que algo é um fato quando realmente sei apenas que terceiros afirmaram que é um fato. Acho mais difícil solucionar problemas quando as pessoas apresentam boatos como se fossem observação, ou suas conclusões como se fossem evidências primárias, etc. A diferença entre afirmar que X é verdadeiro e me dizer que Y disse que é verdade é enorme.
amigos estão dizendo sobre monty
1
@MontyHarder Sim, isso faz sentido, mas o que estou dizendo é que deve estar na resposta.
Lightness Races em órbita
2
Os RFC @LightnessRacesinOrbit nem sempre incluem as motivações de design. Para esclarecer "parecia uma boa ideia na época" - acho que é uma razão pela qual é tradicional incluir a seção de autoridade, além da resposta de consulta real, mesmo que as atuais RFCs não imponham que encontrem sua origem no (pseudo ) código da agora obsoleta RFC882 página 15-16 "... Se o servidor de nomes não tiver autoridade, o código copia os RRs para um servidor de nomes mais próximo na resposta. A última seção do código copia todos os RRs relevantes na resposta ... "
HBruijn 5/1118
5

O servidor não sabe se a solicitação é proveniente 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 foi 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.

Barmar
fonte
O servidor pode realmente dizer a diferença entre essas solicitações. Há um pouco nas bandeiras para solicitar recursão.
kasperd
Os servidores podem enviar consultas recursivas, por exemplo, quando o forwardersrecurso é usado.
Barmar
Mas se você fizer isso, não se importará com servidores autorizados de qualquer maneira.
kasperd