DNS
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.
Funcionamento do DNS
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.
Memória cache
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.
Hierarquia de servidores de nome
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 servidor 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 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
- ↑ 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)