DNS: mudanças entre as edições

De Wiki Cursos IFPR Foz
Ir para navegaçãoIr para pesquisar
(Criou página com '=DNS= O '''DNS''' (''Domain Name Sercive''), ou '''sistema de nomes de domínio''', é um sistema que permite traduzir o nome de um domínio (como www.ifpr.edu.br) em um ende...')
 
Linha 1: Linha 1:
=DNS=
=DNS=


O '''DNS''' (''Domain Name Sercive''), ou '''sistema de nomes de domínio''', é um sistema que permite traduzir o nome de um domínio (como www.ifpr.edu.br) em um endereço IP (como 200.17.98.70). Isto faci1ilita na medida em que não precisamos mais memorizar endereços IP, mas sim nomes de domínio, muito mais fáceis de serem lembrados e ao mesmo tempo identificados com o proprietário do domínio. <ref name="KUROSE">KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem ''top-down'', São Paulo: Pearson, 2010.</ref>.
O '''DNS''' (''Domain Name Service''), ou '''sistema de nomes de domínio''', é um sistema que permite traduzir o nome de um domínio (como por exemplo www.ifpr.edu.br) em um endereço IP (como 200.17.98.70). Isto faci1ilita na medida em que não precisamos mais memorizar endereços IP, mas sim nomes de domínio, muito mais fáceis de serem lembrados e ao mesmo tempo identificados com o proprietário do domínio. <ref name="KUROSE">KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem ''top-down'', São Paulo: Pearson, 2010.</ref>.


Para resolver os nomes, o DNS realiza uma busca em um '''banco de dados distribuído''', armazenado em sistemas cooperativos independentes, chamados '''resolvedores de nomes''', que fazem a tradução do nome de domínio em endereço IP.  
Para resolver os nomes, o DNS realiza uma busca em um '''banco de dados distribuído''', armazenado em sistemas cooperativos independentes, chamados '''servidores de nomes''' ou '''servidor DNS''', que fazem a tradução do nome de domínio em endereço IP.  


Uma solicitação de tradução de um nome a um resolvedor de nomes pode usar um ou mais resolvedores para obter o endereço desejado. Há dois modos possíveis para um servidor resolver um nome: resolução interativa ou resolução recursiva. Em ambos os casos, o servidor consultado verifica se o nome solicitado pertence a seu sub-domínio. Se for o caso, traduz o nome ao endereço de acordo com sua base de dados. Se não puder resolver o nome completamente, verifica o tipo de solicitação feita pelo cliente. Se o cliente solicitou busca recursiva o servidor contata um DNS que possa resolver o nome e devolve a resposta ao cliente. Caso a solicitação foi do tipo interativa, ele fornece o nome de um DNS ao cliente e não a resposta da resolução completa do nome.
Uma solicitação de tradução de um nome a um servidor DNS pode usar um ou mais servidores para obter o endereço desejado. Por exemplo, um servidor de nomes consultado por um cliente verifica se o nome solicitado pertence a seu sub-domínio. Se for o caso, traduz o nome ao endereço de acordo com sua base de dados e devolve ao solicitante. Se não puder resolver o nome completamente, o servidor de nomes contacta outro servidor DNS que possa resolver o nome e devolve a resposta ao cliente. Caso o segundo servidor também não possa resolver o nome, contacta outro, e assim por diante.


Uma configuração típica de para um programa usuário socilitar consultas ao serviço DNS é mostrada na figura \ref{DNS}. O programa usuário interage com o DNS através de um resolvedor de nomes local, enviando solicitações (\textit{queries}) e recebendo respostas (\textit{responses}). O resolvedor de nomes pode ter as informações solicitadas pelo usuário em memória \textit{cache}, ou, caso não as tenha, ele faz uma consulta a um resolvedor de nomes externo. A resposta obtida do servidor externo é então passada ao usuário solicitante e também armazenada na \textit{cache} do resolver local visando atender possíveis consultas futuras ao mesmo endereço. O resolvedor de nomes externo, por sua vez, pode realizar socilitações a outros servidores para obter a resposta que lhe foi solicitada.
O servidor de nomes pode ter as informações solicitadas pelo usuário em memória ''cache'', ou, caso não as tenha, ele faz uma consulta a um servidor de nomes externo. A resposta obtida do servidor externo é então passada ao usuário solicitante e também armazenada na ''cache'' do resolver local visando atender possíveis consultas futuras ao mesmo endereço. O servidor de nomes externo, por sua vez, pode realizar solicitações a outros servidores para obter a resposta que lhe foi solicitada.


Todo resolvedor de nomes precisa saber como contatar pelo menos um servidor de nomes raiz. Em adição, um resolvedor de nomes deve saber o endereço de um resolvedor de nomes de domínio imediatamente superior (servidor pai). Todos os nomes recentemente usados são armazenados na na memória \textit{cache} local do resolvedor de nomes, bem como a informação de como foram obtidos. Como a informação em memória pode estar desatualizada, o resolvedor de nomes marca como não autoritativa (\textit{non authoritative}), podendo o cliente contatar a autoridade para ver se o nome ainda é válido.
Todo servidor de nomes precisa saber como contactar pelo menos um servidor de nomes raiz. Todos os nomes recentemente usados são armazenados na na memória ''cache'' local do sdervidor de nomes, bem como a informação de como foram obtidos. Como a informação em memória pode estar desatualizada, o servidor de nomes marca como não autoritativa (''non authoritative''), podendo o cliente contactar a autoridade para ver se o nome ainda é válido.


\subsection*{Mensagem DNS}
==Mensagem DNS==


Toda comunicação do serviço DNS é realizada por meio de uma mensagem cujos campos são mostrados na figura \ref{MensagemDNS}.  
Toda comunicação do serviço DNS é realizada por meio de uma mensagem cujos campos são mostrados na figura.  


\begin{figure}[!htpb]
\centering {\scriptsize
\begin{verbatim}
     +---------------------+
     +---------------------+
     |        Header      |
     |        Header      |
Linha 29: Linha 26:
     |      Additional    | RRs holding additional information
     |      Additional    | RRs holding additional information
     +---------------------+
     +---------------------+
\end{verbatim}
}
\caption{Formato da mensagem DNS (RFC1035).}
\label{MensagemDNS}
\end{figure}


O cabeçalho (\textit{Header}) é sempre presente e especifica a quantidade campos presentes na sequência da mensagem e também se a mensagem é uma solicitação ou resposta. O campo questão (\textit{Question}) contém a solicitação ao resolvedor de nomes. O campo resposta (\textit{Answer}) contém a resposta, chamada de RR (\textit{resource record}). O campo autoridade (\textit{Authority}) contém RRs que apontam para um resolverdor de nomes com ``autoridade'' para responder a solicitação. O campo adicional (\textit{Additional}) contém RRs outras indormações relacionadas a solicitação.
O cabeçalho (''Header'') é sempre presente e especifica a quantidade campos presentes na sequência da mensagem e também se a mensagem é uma solicitação ou resposta. O campo questão (''Question'') contém a solicitação ao servidor de nomes. O campo resposta (''Answer'') contém a resposta, chamada de RR (''resource record''). O campo autoridade (''Authority'') contém RRs que apontam para um servidor de nomes com autoridade para responder a solicitação. O campo adicional (''Additional'') contém RRs outras informações relacionadas a solicitação.


As mensagens DNS são encaminhadas como mensagens de aplicação utilizando como protocolo de transporte o UDP e a porta 53.  
As mensagens DNS são encaminhadas como mensagens de aplicação utilizando como protocolo de transporte o UDP e a porta 53.  


O serviço DNS está situado no nível da camada aplicação, contudo é um serviço auxiliar utilizado pelas aplicações usuários, as quais, antes iniciar uma comunicação na Internet, precisam obter o endereço IP do seu correspondente.  
O '''DNS''' está situado no nível da '''camada aplicação''', contudo é um serviço auxiliar utilizado pelas aplicações usuários, as quais, antes iniciar uma comunicação na Internet, precisam obter o endereço IP do seu correspondente.  
 


==Referências==
==Referências==

Edição das 15h01min de 29 de setembro de 2014

DNS

O DNS (Domain Name Service), ou sistema de nomes de domínio, é um sistema que permite traduzir o nome de um domínio (como por exemplo www.ifpr.edu.br) em um endereço IP (como 200.17.98.70). Isto faci1ilita na medida em que não precisamos mais memorizar endereços IP, mas sim nomes de domínio, muito mais fáceis de serem lembrados e ao mesmo tempo identificados com o proprietário do domínio. [1].

Para resolver os nomes, o DNS realiza uma busca em um banco de dados distribuído, armazenado em sistemas cooperativos independentes, chamados servidores de nomes ou servidor DNS, que fazem a tradução do nome de domínio em endereço IP.

Uma solicitação de tradução de um nome a um servidor DNS pode usar um ou mais servidores para obter o endereço desejado. Por exemplo, um servidor de nomes consultado por um cliente verifica se o nome solicitado pertence a seu sub-domínio. Se for o caso, traduz o nome ao endereço de acordo com sua base de dados e devolve ao solicitante. Se não puder resolver o nome completamente, o servidor de nomes contacta outro servidor DNS que possa resolver o nome e devolve a resposta ao cliente. Caso o segundo servidor também não possa resolver o nome, contacta outro, e assim por diante.

O servidor de nomes pode ter as informações solicitadas pelo usuário em memória cache, ou, caso não as tenha, ele faz uma consulta a um servidor de nomes externo. A resposta obtida do servidor externo é então passada ao usuário solicitante e também armazenada na cache do resolver local visando atender possíveis consultas futuras ao mesmo endereço. O servidor de nomes externo, por sua vez, pode realizar solicitações a outros servidores para obter a resposta que lhe foi solicitada.

Todo servidor de nomes precisa saber como contactar pelo menos um servidor de nomes raiz. Todos os nomes recentemente usados são armazenados na na memória cache local do sdervidor de nomes, bem como a informação de como foram obtidos. Como a informação em memória pode estar desatualizada, o servidor de nomes marca como não autoritativa (non authoritative), podendo o cliente contactar a autoridade para ver se o nome ainda é válido.

Mensagem DNS

Toda comunicação do serviço DNS é realizada por meio de uma mensagem cujos campos são mostrados na figura.

   +---------------------+
   |        Header       |
   +---------------------+
   |       Question      | the question for the name server
   +---------------------+
   |        Answer       | RRs answering the question
   +---------------------+
   |      Authority      | RRs pointing toward an authority
   +---------------------+
   |      Additional     | RRs holding additional information
   +---------------------+

O cabeçalho (Header) é sempre presente e especifica a quantidade campos presentes na sequência da mensagem e também se a mensagem é uma solicitação ou resposta. O campo questão (Question) contém a solicitação ao servidor de nomes. O campo resposta (Answer) contém a resposta, chamada de RR (resource record). O campo autoridade (Authority) contém RRs que apontam para um servidor de nomes com autoridade para responder a solicitação. O campo adicional (Additional) contém RRs outras informações relacionadas a solicitação.

As mensagens DNS são encaminhadas como mensagens de aplicação utilizando como protocolo de transporte o UDP e a porta 53.

O DNS está situado no nível da camada aplicação, contudo é um serviço auxiliar utilizado pelas aplicações usuários, as quais, antes iniciar uma comunicação na Internet, precisam obter o endereço IP do seu correspondente.

Referências

  1. KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.

--Evandro.cantu (discussão) 11h45min de 29 de setembro de 2014 (BRT)