DNS – Domain Name System - Funcionamento

 

Objetivo do serviço

 

O DNS é um dos serviços mais fundamentais da Internet. É uma base de dados global, hierárquica e distribuída, responsável por traduzir os nomes usados para as máquinas por endereços IP.

 

Além de ser uma base de dados, o sistema provê os métodos usados para a atribuição dos nomes.

 

Resolução de Nomes com o arquivo /etc/hosts

 

O DNS não foi o primeiro método. Inicialmente o mapeamento de nomes para endereços foi feito pelo arquivo hosts, presente em /etc/hosts nas máquinas UNIX e Linux, e em c:/windows/system32/drivers/etc nas máquinas Windows.

 

A sintaxe é simples e está ilustrada ao lado.

 

 

 

 

 

O método é muito limitado, uma vez que apenas a máquina local pode utilizá-lo, e, com o aumento explosivo de endereços, é virtualmente impossível mantê-lo atualizado.

DNS – Domain Name System

 

Em 1983 Dr. Paul Mockapetris propôs o DNS como substituto do arquivo hosts.

 

Diferente do arquivo hosts, o DNS seria uma base de dados global, de visibilidade mundial, podendo ser utilizada por todas as máquinas da Internet.

 

O DNS está descrito nas RFCs:

 

RFC 1034 - DOMAIN NAMES - CONCEPTS AND FACILITIES

 

RFC 1035 - DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION

 

 

DNS – Definições

 

Name space: uma convenção de nomes, utilizado em toda a Internet

 

Os domínios principais, ou domínios "raiz" são coordenados pelo IANA.

 

Alguns exemplos

 .com

 .edu

 .net

 .aero

 .net

 .in-addr.arpa

 

 

www.ethereal.com

masimoes.pro.br

mauricio.pro.br

Domínio

 

Um dos vértices do name space.

 

Por exemplo, br é um dos domínios. O domínio, por sua vez, pode ter subdomínios.

 

Zona

 

É a parte do name space que está sob a responsabilidade de um name server.

 

Por exemplo, os registros do so subdomínio pro estão anotados na base de dados de um certo name serve.

 

Este será, portanto, a zona pela qual ele será responsável.

 

Domínio ARPA

 

Este é um domínio especial, usado para resolução reversa, isto é, dado um endereço IP, queremos saber qual o nome do host.

 

Por isso, para cada endereço de resolução (forward) criado no name space, chamado de tipo A, um endereço PTR (reverse) é criado no domínio ARPA, conforme ilustrado ao lado.

 

No exemplo ao lado, para o registro:

 

masimoes.pro.br = 200.246.225.4

 

está criado também o registro inverso. Assim, uma query para:

 

4.225.246.200.in-addr.arpa

 

devolverá

 

masimoes.pro.br

Name server

 

Como mencionado, name server ou DNS server é o servidor  que contém os endereços de um domínio, ou responsável por descobrí-lo. A resolução está ilustrada ao lado.

 

O cliente (resolver) envia uma query para seu name server. Esta é chamada recursiva, porque só pode ter como retorno a resposta ou um erro.

 

Caso o name server não saiba, ele consultará um name server do domínio raiz (.).  Este direcionará o name server para o name server responsável pelo domínio br, que, por sua vez, o direcionará para o domínio pro.br.

 

Este último terá a resposta, e a enviará para o name server inicial, que acumulará em cache e enviará para o cliente.

 

A busca entre os name server é chamada interativa, uma vez que admite um redirecionamento (referral) como resposta.

 

Para haver tolerância a falhas, a base de dados do name server é copiada para outros servidores.

 

O servidor original é chamado de master ou primário, e os demais conterão replicas read-only, chamados secondaries.

 

A sincronização das bases de dados é feita num processo chamado zone transfer.

 

DNS Cache servers

 

Alguns name server não contém uma base de dados, mas apenas mantém em chache os nomes que aprendem durante as consultas.

 

 

Tipos de registros

 

De acordo com a função, o name server indica o tipo de registro.

 

Alguns tipos comuns são:

 

A – Address

 

NS – Authoritative Name Server

 

CNAME – Canonical Name or Alias

 

MX – Mail eXchange

 

AAAA – Ipv6 address

 

SOA – Start of Authority, estabelece os parâmetros para a zona

 

PTR – PoinTeR, remete para outro domínio; usado para resolução reversa