Servidores DNS
Conceito e Funcionamento
Definição
O DNS (Domain Name System - Sistema de Nomes de Domínios) é um sistema de gerenciamento de nomes hierárquico e distribuído operando segundo duas definições:
- Examinar e actualizar seu banco de dados.
- Resolver nomes de servidores em endereços de rede (Ips).
O sistema de distribuição de nomes de domínio foi introduzido em 1984 e com ele os nomes de hosts residentes em um banco de dados pôde ser distribuído entre servidores múltiplos, baixando assim a carga em qualquer servidor que provê administração no sistema de nomeação de domínios. Ele baseia-se em nomes hierárquicos e permite a inscrição de vários dados digitados além do nome do host e seu IP. Em virtude do banco de dados de DNS ser distribuído, seu tamanho é ilimitado e o desempenho não degrada tanto quando se adiciona mais servidores nele.
A implementação do DNS-Berkeley, foi desenvolvido originalmente para o sistema operacional BSD UNIX 4.3.
A implementação do Servidor de DNS Microsoft se tornou parte do sistema operacional Windows NT na versão Server 4.0. O DNS passou a ser o serviço de resolução de nomes padrão a partir do Windows 2000 Server Como a maioria das implementações de DNS teve suas raízes nas RFCs 882 e 883, e foi atualizado nas RFCs 1034 e 1035.
O servidor DNS traduz nomes para os endereços IP e endereços IP para nomes respectivos, e permitindo a localização de hosts em um domínio determinado. Num sistema livre o serviço é implementado pelo software BIND. Esse serviço geralmente se encontra localizado no servidor DNS primário.
O servidor DNS secundário é uma espécie de cópia de segurança do servidor DNS primário. Quando não é possível encontrar um domínio através do servidor primário o sistema tenta resolver o nome através do servidor secundário.
Existem 13 servidores DNS raiz no mundo todo e sem eles a Internet não funcionaria. Destes, dez estão localizados nos Estados Unidos da América, um na Ásia e dois na Europa. Para Aumentar a base instalada destes servidores, foram criadas Réplicas localizadas por todo o mundo, inclusive no Brasil desde 2003.
Ou seja, os servidores de diretórios responsáveis por prover informações como nomes e endereços das máquinas são normalmente chamados servidores de nomes. Na Internet, os serviços de nomes usado é o DNS, que apresenta uma arquitetura cliente/servidor, podendo envolver vários servidores DNS na resposta a uma consulta.
Funcionamento
Seria possível dizer simplesmente que o DNS é usado para encontrar algo na Internet. O design tradicional (antigo) do DNS funciona essencialmente como um diretório de nomes e números em que um usuário poderia digitar um nome e ter um número retornado (ou vice-versa) de um arquivo de texto. Como se pode imaginar, esse sistema não era muito eficiente e não funcionava muito bem na prática. Em vez de servir como um verdadeiro sistema de nomes, ele era mais uma espécie de catálogo de placas.
O design atual do DNS não funciona exatamente como um catálogo de placas; em vez disso, ele pode ser comparado a um diretório grande e distribuído. Há quatro termos importantes que descrevem o layout básico do DNS:
1. Nome ? inclui ?.edu?, ?.com?, ?.org? etc.
2. Tipo ? refere-se aos tipos de dados que estão sendo armazenados; os dados podem ser de qualquer tipo, e não somente endereços.
3. Classe ? com a exceção de algumas classes internas, classe simplesmente se refere à Internet.
4. Dados ? há vários tipos de dados. Exemplos: A (Endereço IP), CNAME (Alias), H-Info (Informações de Host). É interessante observar que, por questões de segurança, não há tanta divulgação a esse respeito como no passado, pois os usuários seriam capazes de identificar informações sobre determinado computador e sua localização.
Uso na Prática
O DNS é usado na prática para baixar um site da Web. É útil saber que há duas formas de usar o DNS para baixar um site da Web: da maneira tradicional e da maneira da Akamai.
Maneira Tradicional
Suponhamos que o usuário deseje visitar o web.mit.edu. Após inserir http://web.mit.edu, o navegador procurará resolver o endereço IP do site. O DNS tem seu papel aqui, visto que mapeia o endereço web.mit.edu para o endereço IP 18.7.21.77. O DNS retorna o endereço IP e o navegador entra em contato com o servidor nesse endereço. O servidor retorna, então, o HTML (incluindo os links incorporados). Para cada objeto incorporado, o processo se repete. Agora descreveremos o processo de pesquisa de DNS em mais detalhes.
Mencionamos anteriormente que o cache desempenha um papel importante nas pesquisas de DNS. Dessa forma, quando o web.mit.edu é inserido no navegador, este consulta seu próprio cache primeiro para ver se o nome em questão foi resolvido anteriormente. Se não for encontrado no cache do navegador, o cache do sistema operacional será consultado. Se não for encontrado, o navegador fará a conexão com seu servidor de nome local.
Novamente, o servidor de nome local retornará o endereço se ele tiver sido resolvido anteriormente; caso contrário, ele consultará autoridades superiores. Na pior das hipóteses, as consultas acabarão por alcançar um servidor DNS raiz. Depois que o endereço for resolvido, o servidor DNS local entrará em contato com o servidor DNS do mit.edu para obter a resolução para o web.mit.edu. Um endereço IP é recebido (e armazenado em cache) e é passado de volta para o navegador dos usuários. Em seguida, a solicitação de HTML tem início, conforme descrito no parágrafo anterior.
Maneira da Akamai
É mais fácil baixar um site da Web que utilize tecnologia. O princípio básico de resolver um endereço IP usando o DNS continua valendo, mas o endereço que é retornado da pesquisa é de um servidor Akamai ótimo.
O navegador entra em contato com o servidor Akamai para solicitar HTML. O servidor Akamai é responsável por montar o site da Web e entregar o conteúdo para o navegador dos usuários. Os servidores Akamai também seriam responsáveis por entregar todos os objetos incorporados ao navegador. Agora descreveremos o processo de pesquisa de DNS conforme aplicada à maneira da Akamai.
Como estamos modificando o procedimento de pesquisa de DNS para retornar o endereço de um servidor Akamai ótimo, devemos desenvolver uma maneira de garantir que esse servidor ótimo seja encontrado (em oposição à maneira tradicional pela qual o endereço IP seria retornado para o site da Web solicitado).
Um alias (nome alternativo) é então usado para garantir que o endereço seja resolvido para o servidor ótimo apropriado.
O processo de pesquisa começa, então, com o servidor de nome local sendo direcionado para o servidor DNS do site solicitado (seria o mit.edu do exemplo anterior; por questões de consistência, partiremos do pressuposto que o site da Web do MIT utiliza a maneira da Akamai para que possamos continuar a utilizá-lo como exemplo do caso da Akamai).
Porém, quando o servidor DNS do mit.edu é contatado, um alias chamado CNAME é fornecido ao servidor de nome local. Esse é um nome de DNS intermediário (e não um endereço IP) que depois será resolvido para o endereço IP do web.mit.edu.
Por ora, o servidor de nome local deverá resolver esse endereço de DNS. Vamos supor que o CNAME seja a123.b.akamai.net.
O servidor de nome local consultaria então o akami.net e receberia um endereço IP para um servidor DNS Akamai de alto nível. Esse servidor resolveria o b.akamai.net. Agora, vamos começar a perceber os benefícios da maneira da Akamai.
O servidor DNS de alto nível agora determina qual ende reço IP deve ser resolvido a partir do b.akamai.net, levando em consideração questões geográficas. O endereço IP estabelecido é o endereço de um servidor DNS da Akamai de nível baixo.
O servidor DNS de nível baixo executa algoritmos para otimizar o desempenho em tempo real, considerando fatores como congestionamento da rede, cargas do servidor e condições da rede. Ele determina então o servidor da Web ótimo para o usuário.
No final, o servidor de nome local recebe o endereço IP de um servidor Akamai ótimo que hospeda o conteúdo do site da Web solicitado.
Como se pode ver, a Akamai otimizou a maneira de entregar conteúdo pela Web por meio do desenvolvimento de métodos engenhosos para downloads de sites da Web ótimos e pesquisas de DNS. |