Servidor DNS
Embora os programas teoricamente possam se referir a hosts, caixas de correio e outros recursos utilizando seus endereços binários de rede (por exemplo, endereços IP), esses endereços são difíceis de memorizar. Além disso, enviar correio eletrônico para tana@128.111.24.41 significa que, se o ISP ou a organização de Tana muar o servidor de correio para uma máquina diferente com outro endereço IP, seu endereço de correio eletrônico terá de mudar. Consequentemente, foram introduzidos nomes em ASCII para desacoplar os nomes das máquinas dos endereços dessas máquinas. Desse modo, o endereço de Tana poderia ser algo como tana@art.uscb.edu. Todavia, a rede em si só reconhecer endereços numéricos; portanto, é necessário algum tipo de mecanismo para converter as strings ASCII em endereços de rede. Nas seções a seguir, estudaremos como esse mapeamento é feito na Internet.
Na ARPANET, havia simplesmente um arquivo, hosts.txt, que listava todos os hosts e seus endereços IP. Toda noite, esse arquivo era acessado por todos os hosts no local em que era mantido. Para uma rede de algumas centenas de grandes máquinas de tempo compartilhado, essa estratégia funcionava razoavelmente bem.
No entanto, quando milhares de mini computadores e PCs foram conectadas à rede, todos perceberam que essa estratégia não poderia continuar a ser utilizada para sempre. Por um lado, o arquivo acabaria por se tornar grande demais. No entanto, a razão mais importante é que poderia haver conflitos de nomes de hosts constantemente, a menos que os nomes fossem gerenciados de uma forma centralizada, algo totalmente fora de cogitação em uma enorme rede internacional, devido à carga e à latência. Para resolver esses problemas, foi criado o DNS (Domain Name System — sistema de nomes de domínios).
A essência do DNS é a criação de um esquema hierárquico de atribuição de nomes baseado no domínio e de um sistema de bancos de dados distribuídos para implementar esse