DNS significa sistema de nome de domínio . O DNS é usado para resolução de nomes em uma rede TCP/IP. Antes que você possa entender o que é o DNS e de onde veio, você deve primeiro entender como a resolução de nomes ocorreu antes do desenvolvimento do DNS.
Quando a Internet acabou de iniciar e tinha apenas algumas centenas de computadores conectados a ela, a resolução de nomes era muito simples e fácil de manter. A especificação TCP/IP original implementou resolução de nomes usando um arquivo de texto especial chamado HOSTS
. Uma cópia deste arquivo foi armazenada em todos os sistemas de computador da Internet.
O arquivo HOSTS
continha uma lista de endereços IP para cada computador na Internet que mapearam para os nomes de sistemas correspondentes. Um arquivo HOSTS
centrais foi atualizado e distribuído diariamente. Isso funcionou bastante bem até que houvesse alguns milhares de sistemas conectados à Internet. Embora os sistemas TCP/IP ainda tenham um arquivo HOSTS
em seu computador, o arquivo HOSTS
não é mais a fonte principal para resolução de nomes.
Originalmente, o conceito de ter um supercomputador central para resolução de nomes foi considerado, mas essa solução também alcançaria um limite para que não fosse muito prático. A idéia de delegar o processo de resolução de nomes mitigaria as preocupações de um processo limitador. A hierarquia do DNS nasceu e até hoje, ainda crescendo e expandindo de tamanho.
O domínio root
é composto por 13 sistemas DNS dispersos em todo o mundo, conhecidos coletivamente como os servidores raiz do DNS. Embora existam 13 endereços IP que representam esses sistemas, existem mais de 13 servidores.
Alguns dos endereços IP são na verdade IPS virtual com carga balanceada; portanto, pode haver dois ou mais servidores DNS que estão compartilhando alguns dos endereços IP. Aqui está a lista dos 13 servidores de raízes, por nome do host.
Servidor dns | Endereço de IP |
---|---|
a.root-servers.net |
198.41.0.4 |
b.root-servers.net |
192.228.79.201 |
c.root-servers.net |
192.33.4.12 |
d.root-servers.net |
128.8.10.90 |
e.root-servers.net |
192.203.230.10 |
f.root-servers.net |
192.5.5.241 |
g.root-servers.net |
192.112.36.4 |
h.root-servers.net |
128.63.2.53 |
i.root-servers.net |
192.36.148.17 |
j.root-servers.net |
192.58.128.30 |
k.root-servers.net |
193.0.14.129 |
l.root-servers.net |
199.7.83.42 |
m.root-servers.net |
202.12.27.33 |
Enquanto os servidores raiz do DNS estabelecem a hierarquia, a maior parte do processo de resolução de nomes é delegada a outros servidores DNS. Logo abaixo da raiz do DNS na hierarquia estão os servidores de domínio de nível superior . Esses servidores DNS de nível superior lidam com domínios de nível superior, como com
, net
, org
, edu
, gov
, mil
, etc.
Os servidores DNS de nível superior delegam a milhares de servidores DNS de segundo nível. Os nomes de domínio de segundo nível são vendidos para empresas e outras organizações. O segundo nível dessa estrutura é composto por milhões de nomes de domínio. Os servidores DNS de segundo nível podem delegar ainda mais a zona, mas geralmente armazenam os registros individuais do host para um nome de domínio, como o registro de host mais comum www
.
Por exemplo, o domínio corp.com
possui um servidor que possui um alias DNS chamado www
com o endereço IP de 192.168.0.1. Somente o servidor DNS que controla o domínio corp.com
armazena o endereço IP real para o registro do host www.corp.com
. Nenhum outro sistema DNS que não armazena a zona corp.com
terá essas informações.
O sistema DNS fornecerá o resolvedor (o cliente que faz a solicitação DNS) com referências até que o resolvedor atinja o servidor DNS que está hospedando essa zona . Depois que o servidor DNS que hospeda esta zona receber a consulta do resolvedor, ele enviará o resolvedor com uma resposta para a consulta.
Namespace de DNS
O espaço para nome do DNS funciona de maneira semelhante à maneira como funciona o sistema de arquivos do seu computador. O espaço para nome do DNS é uma hierarquia de domínios DNS e nomes de host individuais organizados em uma estrutura semelhante a uma árvore.
Cada domínio é semelhante a uma pasta. Assim como na estrutura típica da pasta, uma pasta pode conter pastas ou documentos. No DNS, um domínio pode conter outros domínios ou registros.
Registros de recursos
Nos servidores DNS de segundo nível, você normalmente encontra registros de recursos . Recursos de recursos Map Services e Nomes de host para endereços IP. Por exemplo, o registro de recursos mais comum é o registro do host (a). Um nome de host simplesmente mapeia um nome para um endereço IP. O nome mais comum do host é o recorde www
. Em alguns casos, é preferível usar um registro de alias ( CNAME
) para apontar outro registro do host.
Por exemplo, se um servidor tiver vários nomes associados a um servidor, você poderá criar um registro de host (a) chamado Server1 e mapeá -lo no endereço IP do computador. Em seguida, crie vários registros de alias ( CNAME
), como www
, ftp
, mail
, que mapeiam de volta ao mesmo nome de host. Aqui está uma lista dos registros DNS mais comuns usados em uma zona.
Descrição | Modelo | Propósito |
---|---|---|
Nome canônico | CNAME |
Alias para HostName |
Hospedeiro | A |
Maps HostName para Endereço IP |
Nome do servidor | NS |
Nome do nome do mapa Nome do servidor para endereço IP |
Trocador de correio | MX |
Maps Mail Exchange Server DNS Nome |
Início de autoridade | SOA |
Configuração da zona |
Processo de resolução de nome
O processo de resolução de nomes não mudou significativamente desde que o DNS foi projetado pela primeira vez. Quando um resolvedor de DNS (cliente DNS) precisa resolver um nome de host para poder acessar um recurso, ele deve primeiro entrar em contato com um servidor DNS.
O servidor DNS que ele contata depende da configuração TCP/IP do cliente. A configuração do cliente DNS está incluída na configuração do DHCP ou deve ser configurada manualmente nas configurações do cliente.
Para computadores em uma rede privada, é recomendável que eles sejam configurados para apontar para servidores DNS internos. Para sistemas na Internet, eles podem ser configurados para apontar para os servidores DNS do ISP ou um dos muitos servidores Public DNS na Internet, como os servidores públicos do Google ( 8.8.4.4
e/ou 8.8.8.8
).
No gráfico mostrado acima, o processo de resolução de nomes descreve oito etapas que precisam ser tomadas para resolver um nome de host de um cliente DNS. Podemos usar esse gráfico para discutir um exemplo típico com mais detalhes.
No exemplo a seguir, um cliente DNS está tentando acessar um servidor da Web na Internet. Antes que o cliente possa se comunicar com o servidor da Web, o nome do host do servidor da Web deve ser resolvido em um endereço IP.
- Etapa 1 : DNS Consultas do cliente ISP DNS Server para resolver o nome do host
www.domain.com
. - Etapa 2 : O servidor da Web do ISP verifica seu cache DNS e zonas locais, se nenhuma correspondência for encontrada, o servidor DNS consultará o servidor DNS root.
- Etapa 3 : O servidor DNS root responde de volta ao servidor DNS do ISP com uma indicação para que a solicitação possa ser enviada aos servidores
.COM
DNS. - Etapa 4 : O servidor ISP DNS envia a consulta ao servidor
.COM
DNS. - Etapa 5 : O
.COM
servidor DNS responde de volta ao servidor ISP DNS com uma indicação para que a solicitação possa ser enviada aos servidores DNSDOMAIN.COM
. - Etapa 6 : o servidor ISP DNS envia a consulta para o servidor DNS
DOMAIN.COM
. - Etapa 7 : O
DOMAIN.COM
DNS Server responde de volta ao servidor ISP DNS com a resposta à consulta parawww.domain.com
. - Etapa 8 : O ISP DNS Server cache a resposta e envia a resposta de volta ao resolvedor.
O resolvedor agora pode iniciar a comunicação direta com o servidor da Web, pois o resolvedor (cliente DNS) agora possui o endereço IP do servidor da Web. Você também deve observar que o servidor DNS cache as informações recebidas durante esse processo.
Para que uma solicitação futura para este nome do host possa ser resolvida a partir de seu cache, em vez de executar todo o processo do começo ao fim, desde que a solicitação futura esteja dentro do período de tempo de vida (TTL) do registro em cache.