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 |
|||||||