Redes de
Computadores I
Prof. Mateus Raeder
Universidade do Vale do Rio dos Sinos
- São Leopoldo -
DNS
Domain Name Server
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Pessoas
– Possuem identificadores
• Nome, RG, CPF, etc...
• Dispositivos na Internet (hosts, roteadores, ...)
– Também possuem identificadores
• Números
• Endereço IP usado para endereçar datagramas
• “Nomes”: são dados pelos humanos
• www.unisinos.br  200.188.161.4
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Para facilitar, não chamamos por números
– Imagine você ter que decorar o RG de todas as
pessoas que você conhece para poder chamálas
• “Olá 1098342345-09, como está?”
• “35639876-29 passa para 23377665-50, que dribla
20034682-99...”
– Por isto, utilizamos nomes em dispositivos na
Internet também
• Imagine ter que saber todos os IPs dos sites para acessar
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Um identificador de host é seu nome de
host (hostname)
– São fáceis de lembrar, trazendo benefícios para
os usuários
– Entretanto, hostnames não trazem muita
informação sobre a localização do host
• www.unisinos.br nos diz que está no Brasil, mas nada
mais além disto
• Os hosts são identificados também pelo seu
endereço IP
Como mapear entre
nome e endereço IP?
Redes de Computadores I – Prof. Mateus Raeder
DNS
• É tarefa principal do DNS
– (1) é um banco de dados distribuído,
implementando uma hierarquia de servidores de
nomes (nameservers)
– (2) protocolo da camada de aplicação que
permite que hosts e servidores de nomes se
comuniquem
• Fornecer serviço de tradução (resolução) de nomes
• Utiliza UDP e trabalha na porta 53
RESOLVER  traduzir nome em endereço
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Por exemplo:
– Usuário quer acessar a URL www.pudim.com.br
– Para enviar uma mensagem de requisição, HTTP
ao servidor Web requisitado, a máquina precisa
obter o endereço IP de www.pudim.com.br
– A máquina do usuário, então, roda o lado
cliente da aplicação DNS
– Cliente envia uma consulta com o nome do host
– Recebe resposta com o endereço IP do host
www.pudim.com.br  200.219.198.196
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Poderia ser um servidor central, que
guardasse todas as localizações dos nomes
– Clientes precisariam buscar apenas em um
servidor de nomes, que responderia diretamente
– Impraticável
• Único ponto de falha
• Volume de tráfego
• Banco de dados centralizado distante
• Manutenção
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Servidores distribuídos e hierárquicos
– Três tipos de servidores:
• Servidores de nomes locais: está próximo ao cliente.
Quando uma consulta é realizada, primeiramente uma
mensagem a este servidor é enviada
• Servidores de nomes raiz: quando um servidor local não
pode atender imediatamente a uma requisição, ele se
comporta como cliente DNS, e consulta um servidor de
nomes raiz. Existem somente 13 no mundo.
• Servidores de nomes com autoridade: todo host está
registrado em um servidor de nomes com autoridade.
Quando é requisitado por um servidor de
nomes raiz, responde com o mapeamento
pedido.
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Servidores de nomes raiz
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Servidores de nomes raiz
– Procurado por um servidor local que não
consegue resolver um nome
– Procura servidor de autoridade caso
desconheça o mapeamento para o nome
consultado
– Obtém a tradução
– Retorna o mapeamento para o servidor local
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Servidor de nomes local
– Cada provedor, empresa ou instituição possui seu
servidor de nomes local (default name server)
– Pedido DNS de um host vai primeiramente para o
servidor local
– Servidor de nomes local repassa a consulta para
a hierarquia de servidores DNS
Redes de Computadores I – Prof. Mateus Raeder
DNS
• TLDs (top-level domain)
– responsáveis por .com, .org, .edu, ... E por todos
os domínios de países, .fr, .uk, .br, .jp ...
• Servidores DNS com autoridade
– Servidores DNS de organização. Fornecem
tradução de nomes para IPs dos servidores da
organização
• Mantidos por organizações ou provedores de serviços
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Consultas recursivas
– Host cis.poly.edu quer endereço
IP de gaia.cs.umass.edu
– 1) contata DNS local
(dns.poly.edu)
– 2) servidor local contata servidor
raiz (se necessário)
– 3) possivelmente, um servidor
intermediário é contatado
– 4) servidor raiz contata servidor
autoritativo dns.cs.umass.edu (se
necessário)
Redes de Computadores I – Prof. Mateus Raeder
DNS
- Servidor raiz pode não
conhecer o servidor de
nomes autoritativo
- Pode conhecer um
servidor de nomes
intermediário: a quem
contatar para descobrir
o servidor de nomes
com autoridade
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Consultas recursiva
– Transfere a tarefa de resolução
de nomes para o servidor
contatado
• Consultas iterativas
– Servidor consultado responde
com o nome de um servidor de
contato
– “Não conheço este nome, mas
pergunte para este servidor”
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Uma vez que um servidor qualquer aprende
um mapeamento, ele coloca em uma
cache local
– Consultas futuras são resolvidas utilizando os
dados da cache
– Entradas da cache são sujeitas a temporização
(desaparecem depois de um certo tempo – TTL:
time to live)
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Registros DNS
– Servidores armazenam registros de recursos (RRs)
para os mapeamentos
– Cada resposta DNS leva um ou mais RRs
– Um RR é uma tupla com 4 elementos:
(Name, Value, Type, TTL)
Redes de Computadores I – Prof. Mateus Raeder
DNS
(Name, Value, Type, TTL)
Name e Value dependem do Type
Tipo = A
• Nome é o nome de hospedeiro
• Valor é o endereço IP
Tipo = CNAME
• Nome é o nome alternativo (alias) para
um nome verdadeiro
• Valor é o nome verdadeiro
Tipo = NS
• Nome é o domínio
• Valor é o IP do servidor de nomes
com autoridade para este domínio
Tipo = MX
• Nome é o domínio
• Valor é o nome do servidor de correio
para este domínio
Redes de Computadores I – Prof. Mateus Raeder
DNS
• Mensagens DNS: mesmo formato para pedido e
resposta
Identification
- ID de 16 bits para pedido
(resposta ao pedido usa
mesmo ID)
Flags
- Pedido ou resposta
- Recursão desejada
- Recursão permitida
- Resposta é autoritativa
Redes de Computadores I – Prof. Mateus Raeder
DNS
Nome, campos de tipo
para uma consulta
RRs de resposta à consulta
Registros para servidores
com autoridade
Informação útil que
pode ser usada
Redes de Computadores I – Prof. Mateus Raeder
Exercícios
• Qual a diferença entre uma requisição
iterativa e uma requisição recursiva do
DNS?
• Numa requisição DNS podem haver 0, 2, 4, 6
ou 8 trocas de mensagens entre o cliente e
os vários servidores da rede. Dê um
exemplo onde ocorre troca de 0
mensagens? Idem 2, 4, 6 e 8.
Redes de Computadores I – Prof. Mateus Raeder
Download

Servidores de nomes com autoridade