Introdução
O DNS – Domain Name System – é um banco de dados hierárquico e distribuído. Ele guarda os dados que possibilitam descobrir endereços IP de máquinas a partir do hostname das mesmas, e vice-versa, e também informações sobre roteamento de e-mail e outras. Os clientes consultam os servidores DNS através de uma biblioteca ‘resolver’. O DNS é definido originalmente pelas RFCs 1034, 1035 e outras.
Domínios
Os dados armazenados no DNS são identificados por nomes de domínios, que são organizados em formato de árvore invertida. Cada ramificação representa um domínio, e o endereço completo de um ponto específico é determinado através da ligação de todas as ramificações daquele ponto até a raiz, veja o exemplo abaixo.
Zonas
Uma zona (zone) é um espaço de nomes – um pedaço contínuo da árvore DNS – que foi delegado a um determinado servidor de nomes. Este servidor irá possuir todas as informações referentes à esta zona, e irá possuir autoridade para responder qualquer requisição referente a ela. Pertencem a esta zona todas as ramificações da árvore a partir do ponto onde foi delegada a autoridade, exceto as ramificações que pertencem a outras zonas. Uma zona pode englobar um domínio inteiro ou apenas parte de um domínio.
Cada zona possui ao menos um servidor de nomes autoritário – Authoritative Name Server.
Servidor Mestre Primário (Primary Master)
Também chamado de servidor primário, é o servidor autoritário onde é mantida a cópia mestre dos dados sobre a zona. Os dados são carregados a partir de arquivos chamados "arquivos de zonas".
Servidor Escravo (Slave Server)
Conhecido como servidor secundário, é também um servidor autoritário sobre a zona. Busca os dados sobre a zona a partir do servidor primário usando um processo de replicação chamado "zone transfer".
Resource Records (RRs)
Os Resource Records são registros que apontam diferentes serviços em um arquivo de zona. São padronizados pela RFC1034 e outras subseqüentes. Os principais tipos são:
SOA -> Início de uma zona autoritária
NS -> Servidor de nomes autoritário
A -> Endereço de host
CNAME -> Apelido
MX -> Mail eXchanger
PTR -> Ponteiro (utilizado para DNS reverso)
O formato destas entradas no arquivo de zona é:
nome_registro IN tipo valor