Por que o DNS é um protocolo de camada de aplicativo?

7

A principal função do DNS é converter nomes de domínio em seus endereços IP correspondentes; portanto, por que é necessário ser um protocolo de camada de aplicativo?

Eu acho que o DNS é um protocolo de camada de aplicativo, porque se, por exemplo, eu quero criar uma conexão TCP, preciso do endereço IP de destino na camada 4, estou correto? existe outra resposta?

Obrigado!

D.Rotnemer
fonte
O @sergeyrar resume o caso (basicamente, o DNS está acima do TCP + UDP, portanto, na pilha simplificada da Internet, é um protocolo de aplicativo, mesmo que frequentemente oculto das visualizações), mas por que é importante para você? Qual é o contexto? É uma questão puramente teórica? Além disso, o DNS não é apenas para traduzir nomes de domínio para endereços IP correspondentes, é um pouco mais amplo que isso.
Patrick Mevzek
Alguma resposta o ajudou? Nesse caso, você deve aceitar a resposta para que a pergunta não apareça para sempre, procurando uma resposta. Como alternativa, você pode fornecer e aceitar sua própria resposta.
Ron Maupin

Respostas:

7

O DNS é um protocolo da camada de aplicativos, porque a consulta e a resposta do DNS são as comunicações no nível do aplicativo. A camada de aplicativo entende apenas a seção de consulta e resposta no pacote DNS. portanto, a consulta / resposta DNS da camada de aplicação é encapsulada na camada 4 udp, na camada 3 IP ..... e assim por diante.

abdul_razak
fonte
11
O DNS usa UDP e TCP (sim, estou me repetindo aqui).
Patrick Mevzek
TCP que ele usa para transferências zonais apenas certo ?. mas a consulta / resposta normal será udp.
22418 abdel_razak
Não, isto não é verdade. O TCP também pode ser usado para consultas "normais". Veja RFC citado por @RonMaupin acima ou, por exemplo, veja outra pergunta: serverfault.com/questions/404840/…
Patrick Mevzek
6

Os protocolos nas camadas Física, Link de dados, Rede ou Transporte não usam nomes. Somente os aplicativos precisam usar nomes; portanto, o DNS é um protocolo da camada de aplicativos, pois permite que o aplicativo traduza um nome em um endereço de rede.

Ron Maupin
fonte
4

Eu acho que o DNS é um protocolo de camada de aplicativo, porque se, por exemplo, eu quero criar uma conexão TCP, preciso do endereço IP de destino na camada 4, estou correto?

IP é um protocolo de camada 3.

O DNS é apenas um serviço que traduz nomes de host em endereços IP; você precisa disso porque os humanos são melhores em lembrar nomes do que números.

Portanto, depois de inserir o nome de um site, o cliente do navegador possui alguma API para solicitar ao sistema operacional que emita uma solicitação de DNS para o nome digitado.

As solicitações de DNS são transmitidas para um endereço IP específico do servidor DNS que reside em algum lugar da Internet (o endereço que você configurou manualmente ou recebeu por meio de uma atualização DHCP). Para que esse servidor saiba qual serviço você deseja especificamente (como esse servidor também pode ser um servidor HTTP, por exemplo), você também precisa especificar um número de porta, o DNS usa a porta UDP 53. Portanto, por esse motivo, deve ser um protocolo de camada de aplicativo.

Se o seu servidor DNS sempre residisse na sua sub-rede local, você poderia ter um protocolo da Camada 4 para implementar isso (o servidor identificaria a solicitação de entrada pelo endereço IP multicast exclusivo dedicado a este serviço - o mesmo mecanismo do OSPF, por exemplo).

sergeyrar
fonte
A pessoa que menos votou em mim, apresente seus argumentos! adoraria ouvir suas idéias.
28418 sergeyrar
11
DNS usa UDP e TCP!
Patrick Mevzek
11
Acho que alguém realmente discorda de que o DNS é um protocolo da camada de aplicativos porque todas as respostas foram rejeitadas.
Ron Maupin
@PatrickMevzek está correto, embora muitas implementações não tenham alcançado o RFC 5966, Transporte de DNS sobre TCP - Requisitos de Implementação : " Este documento atualiza as principais especificações do protocolo DNS, de modo que o suporte ao TCP passa a ser uma parte NECESSÁRIA de um protocolo DNS completo. implementação. "
Ron Maupin
@RonMaupin, isso se torna os casos raros agora em implementações erradas (como é necessário para o DNSSEC de qualquer maneira) ou você tem alguns específicos em mente ?, continua a haver muita desinformação e redes filtrando cegamente o TCP / 53 sem um bom motivo (apenas porque eles lêem em algum lugar que isso é necessário apenas para o AXFR, o que é falso). O RFC foi feito para ter uma maneira de mostrar um documento dizendo que agora está acima DEVE, caso contrário, as pessoas simplesmente se exonerariam apontando o documento anterior.
Patrick Mevzek