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.
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 um servidor DNS de mais alto nível para que possa resolver o nome e devolver a resposta ao cliente.
Hierarquia de servidores de nome
Os servidores de nome estão organizados em uma hierarquia de servidores:
- Servidor de nomes raiz
- Há na Internet em torno de 14 servidores de nomes raiz. São responsáveis por indicar os domínios de alto nível existentes na Internet.
- Servidor de nomes de domínio de alto nível
- São responsáveis por domínios de alto nível, como .com, .edu, .gov, etc e por todos os domínios de alto nível de países, como .br, .ar, .py, etc.
- Servidor de nomes com autoridade
- Toda organização que tiver servidores que precisam ter acesso público na Internet devem fornecer registros destes servidores para a Internet através de um servidor de nomes com autoridade. A organização pode implementar seu servidor de nomes com autoridade ou abrigar seus registros em um servidor de nomes com autoridade de algum provedor.
Ver também: DNS na Wikipédia
Melhoria da performance do DNS
Servidor de nomes local
Toda organização necessita ter um servidor de nomes local, o qual deve fazer parte da configuração de rede de cada host da instituição e geralmente é fornecido as estações pelo servidor DHCP. Toda pesquisa no serviço DNS sempre inicia no servidor de nomes local.
O servidor de nomes local 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 o servidor de nomes com autoridade para ver se o nome ainda é válido.
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 resolvedor 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.
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.
Resolução de nomes
O processo mais utilizado de resolução de nomes envolve consulta a um ou mais servidores de nomes de forma interativa.
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)