Resolução de nomes Professor Leonardo Larback
Resolução de nomes A comunicação entre os computadores e demais equipamentos em uma rede TCP/IP é feita através dos respectivos endereços IP. Entretanto, não seria nada produtivo se fossemos obrigados a decorar os endereços IP's de todos os recursos que utilizamos em nosso cotidiano.
Resolução de nomes Para resolver este problema, criou-se um sistema capaz de converter o endereço IP em um nome, facilitando ao usuário o processo de memorização. O sistema de resolução de nomes mais simples é o uso do arquivo de hosts.
Arquivo hosts O arquivo hosts é codificado no formato ASCII com linhas que contêm o endereço IP, o nome dado ao servidor e um apelido (opcional). Nas distribuições linux baseadas em debian, o arquivo hosts pode ser visualizado com o comando: $ cat /etc/hosts
Arquivo hosts O arquivo hosts é lido cada vez que uma nova solicitação de resolução de nomes é feita e embora tenha sido utilizado no inicio da ARPANET, para ser eficaz ele deve conter o nome de todos os servidores e estar presente em todas as máquinas que acessam a rede.
Arquivo hosts Toda vez que uma modificação é feita, este arquivo deve ser redistribuído a todos os computadores. Com o crescimento do número de equipamentos, este arquivo torna-se muito grande e mantê-lo atualizado em todas as máquinas exige muito tempo do administrador. Para resolver este problema, adotamos o protocolo DNS.
DNS O DNS - Domain Name System - é um serviço de resolução de nomes, a princípio, podemos pensar nele como um arquivo hosts remoto. Toda vez que for necessário acessar algum recurso da rede, o DNS irá resolver o endereço IP associado ao nome informado.
DNS O DNS é, na verdade, um grande banco de dados distribuído em vários servidores e um conjunto de serviços e funcionalidades, que permitem a pesquisa neste banco de dados. Por exemplo, quando o usuário digita www.una.br na barra de endereços do seu navegador, o DNS tem que fazer o trabalho de localizar e retornar para o navegador do usuário, o número IP associado ao endereço www.una.br
DNS O DNS é baseado em conceitos tais como espaço de nomes e árvore de domínios. Por exemplo, o espaço de nomes da Internet é um espaço de nomes hierárquico, baseado no DNS. Observe a imagem a seguir:
DNS
DNS Na imagem é apresentada uma visão abreviada da estrutura do DNS definida para a Internet. O principal domínio, o domínio root, o domínio de mais alto nível foi nomeado como sendo um ponto (.). No segundo nível foram definidos os TLD's - Top-level-domains.
DNS Os TLD's são bastante conhecidos: COM (Atividades comerciais) GOV (Governo Federal) MIL (Forças armadas) EDU (Instituições de Ensino Superior) A lista completa dos TLD's (para o cctld.br) pode ser visualizada em: http://registro.br/dominio/categoria.html
DNS Após o TLD vêm o domínio secundário (country code TLD's, ou cctld's), que recebem o prefixo de cada país br para o Brasil, fr para a França, uk para a Inglaterra etc. É importante ressaltar que o nome de um domínio é o nome do próprio domínio e mais os nomes dos domínios acima dele, no caminho até chegar ao domínio root que é o ponto.
DNS Os requisitos para registrar domínios variam de acordo com o que se deseja registrar. Para os TDLs, ou seja, os domínios primários genéricos, como ".com", ".net", ".org" e outros, não existe muita burocracia; basta escolher uma empresa de registro e pagar. A lista dos registrars oficialmente reconhecidos pela ICANN está disponível em: http://www.icann.org/registrars/accredited-list.html
DNS Os domínios nacionais (cctld.br) são controlados por uma única entidade, o Registro.br (http://registro.br), uma entidade sem fins lucrativos. A taxa de registro é (enquanto escrevo) de R$ 30,00 anuais por domínio registrado, mas existem algumas exigências adicionais.
DNS Podemos ver estatísticas com relação ao volume de domínios TLD registrados, prefixos mais populares e outros detalhes no site: http://www.domaintools.com/internet-statistics/
DNS Para encerrarmos o assunto sobre registro de domínios (e retornarmos ao DNS especificamente) convém citar a decisão da ICANN - Internet Corporation for Assigned Names and Numbers, a autoridade internacional sobre nomes de domínio que autorizou que as empresas e organizações registrem os nomes e marcas em extensões de domínios da Internet. http://fapesp.org/special-view/novos-dominios/
DNS O DNS é formado por uma série de componentes e serviços, os quais atuando em conjunto, tornam possível a tarefa de fazer a resolução de nomes. Os componentes do DNS são os seguintes:
Componentes do DNS O espaço de nomes DNS: Um espaço de nomes hierárquico e contínuo. Pode ser o espaço de nomes da Internet ou o espaço de nomes DNS interno, da sua empresa. Servidores DNS: Os servidores DNS contém o banco de dados do DNS com o mapeamento entre os nomes DNS e o respectivo número IP. São responsáveis por responder às consultas de nomes envidas por um ou mais clientes da rede.
Componentes do DNS Registros do DNS (Resource Records): Os registros são as entradas do banco de dados do DNS. Em cada entrada existe um mapeamento entre um determinado nome e uma informação associada ao nome. Clientes DNS (resolvers): Este componente de software é responsável por detectar quando um programa precisa da resolução de um nome e repassar esta consulta para um servidor DNS. O servidor DNS retorna o resultado da consulta, o resultado é retornado para o resolver, o qual repassa o resultado da consulta para o programa que originou a consulta.
Processo de resolução Resumidamente, o processo de resolução de um nome DNS possui duas etapas: A consulta inicia no cliente e é passada para o resolver na estação de trabalho do cliente. Primeiro o resolver tenta responder a consulta localmente, usando recursos tais como o cache local do DNS e o arquivo hosts.
Processo de resolução Se a consulta não puder ser resolvida localmente, o resolver envia a consulta para o servidor DNS, o qual vai procurar primeiro em seu cache, depois em sua base de dados e por último, se necessário, vai repassar a pesquisa usando recursão.
Tipos de especiais de resolução O processo descrito anteriormente, termina com o servidor DNS (após ter consultado vários outros servidores) retornando uma resposta para o cliente. Essa resposta pode ser: A positive answer (resposta positiva): É uma resposta com o resultado para o nome pesquisado, isto é, o nome pôde ser resolvido e uma ou mais informações associadas ao nome são retornadas para o cliente.
Tipos de especiais de resolução An authoritative answer (resposta com autoridade): Este tipo de resposta é obtido quando o nome é resolvido diretamente pelo servidor DNS que é a autoridade para o domínio pesquisado. Por exemplo, um usuário da Intranet da sua empresa (abc.com.br), tenta acessar uma página da intranet, por exemplo: rh.abc.com.br. Neste caso, a consulta será enviada para o servidor DNS da empresa, o qual é a autoridade para a zona abc.com.br e por isso responde diretamente à consulta, informando o número IP do servidor rh.abc.com.br.
Tipos de especiais de resolução A referral answer (uma referência): Este tipo de resposta não contém a resolução do nome pesquisado, mas sim informações e referência a recursos ou outros servidores DNS que podem ser utilizados para a resolução do nome. Este tipo de resposta será retornado para o cliente, se o servidor DNS não suportar o método de recursão. As informações retornadas por uma resposta deste tipo são utilizadas pelo cliente para continuar a pesquisa, usando um processo conhecido como interação. O cliente faz a pesquisa em um servidor DNS e recebe, como resposta, uma referência a outro recurso ou servidor DNS. Agora o cliente irá interagir com o novo recurso ou servidor DNS, tentando resolver o nome.
Tipos de especiais de resolução A negative answer (uma resposta negativa): Indica que um servidor DNS que é autoridade para o domínio pesquisado, informou que o nome pesquisado não existe neste domínio ou um servidor DNS que é autoridade para o domínio pesquisado, informou que o nome pesquisado existe, mas o tipo de registro não confere.
Zonas de pesquisa As informações sobre o DNS são armazenadas em zonas. Em uma zona pode haver informações sobre um ou mais domínios. Ao instalar o DNS, o administrador deve criar a zona primária direta, ela conterá as informações para a resolução do IP associado ao nome.
Zonas de pesquisa As zonas secundárias contém uma cópia integral dos registros da zona primária e recebem as atualizações efetuadas na zona primária através do mecanismo de replicação de zonas. As zonas reversas fazem o contrário da zona primária, ou seja, dado um endereço IP, o DNS pesquisa na zona reversa para encontrar o nome associado ao endereço IP.
Registros do DNS As informações sobre o DNS são armazenadas em zonas. Em uma zona pode haver informações sobre um ou mais domínios. As informações são adicionadas em uma zona do DNS, através da criação de registros. Cada tipo de registro armazena uma informação específica.
A Tipos de Registros Descrição: Endereço de Host (Host address (A) resource record). É o tipo mais utilizado, faz o mapeamento de um nome DNS para um endereço IP versão 4, de 32 bits. Exemplos: host1.example.microsoft.com. IN A 127.0.0.1 srv01.abc.com.br IN A 100.100.200.150 srv02.abc.com.br IN A 100.100.200.151
AAAA Tipos de Registros Descrição: Endereço de host IPv6 (IPv6 host address (AAAA)). Faz o mapeamento de um nome DNS para um endereço IP versão 6, de 128 bits. Exemplo: ipv6.una.br. IN AAAA 4321:0:1:2:3:4:567:89ab
Tipos de Registros CNAME Descrição: Canonical name (CNAME): Mapeia um alias (apelido) ou nome DNS alternativo. Por exemplo, suponha que o site da empresa esteja no servidor srv01.abc.com.br. Porém na internet, os usuários irão utilizar o nome www.abc.com.br. Neste caso basta criar um alias www que faz referência ao nome srv01.abc.com.br. Quando os usuários digitarem www.abc.com.br estarão acessando o endereço srv01.abc.com.br. Exemplo: www.abc.com.br. CNAME srv01.abc.com.br.
HINFO Tipos de Registros Descrição: Host information (HINFO): Utilizado para armazenar informações sobre o hardware do servidor DNS, tais como tipo de CPU, tipo e versão do sistema operacional e assim por diante. Estas informações pode ser utilizadas por protocolos como por exemplo o ftp, o qual utiliza procedimentos diferentes, para diferentes sistemas operacionais Exemplo: pc.example.una.br. HINFO INTEL-386 WIN32
MX Tipos de Registros Descrição: Mail exchanger (MX): Fornece informações utilizadas pelos servidores de e- mail, para o roteamento de mensagens. Cada host definido em um registro MX deve ter um correspondente registro do tipo A em uma zona válida, no servidor DNS. Exemplo: example.una.br. MX 10 mailserver1.una.br
NS Tipos de Registros Descrição: É utilizado para relacionar um nome DNS com o seu dono, ou seja, o servidor que é a autoridade para o nome DNS - o servidor DNS onde está a zona primária associada ao nome. Exemplo: example.una.br. IN NS nameserver1.una.br
PTR Tipos de Registros Descrição: Pointer (PTR): É utilizado em zonas reversas, para fazer o mapeamento reverso, ou seja, o mapeamento de um número IP para um nome. Ao criar um registro do tipo A, em uma zona direta, você pode criar, automaticamente, o registro PTR associado, se já houver uma zona reversa configurada. Exemplo: 10.20.20.10.in-addr.arpa. PTR host.example.microsoft.com.
Tipos de Registros SOA Descrição: Start of authority (SOA): O principal registro, o registro que define as características de uma zona. Contém o nome da zona, o nome do servidor que é a autoridade para a referida zona, o número serial da zona, o valor do TTL para os demais registros etc. É sempre o primeiro registro da zona, pois é criado durante a criação da zona. Exemplo: @ IN SOA nameserver.example.microsoft.com. postmaster.example.microsoft.com. ( 1 ; serial number 3600 ; refresh [1h] 600 ; retry [10m] 86400 ; expire [1d] 3600 ) ; min TTL [1h]