Sistema de Distribuição de Nomes de Domínios (DNS)
Instituto Superior de Engenharia de Lisboa
Departamento de Engenharia de Electrónica e Telecomunicações e de
Computadores
Redes de Computadores
Sumário: Domain Name System (DNS)
•
•
•
•
•
•
•
•
•
•
Contexto
Introdução ao DNS
Hierarquia de nomes
Hierarquia de servidores
Processo de resolução de nomes
Protocolo DNS
Arquitectura de servidores
Balanceamento de carga
Distribuição de conteúdos
Segurança
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
2
Contexto
• De uma forma geral existem múltiplos mapeamentos:
Nome: www.isel.ipl.pt
Resolução DNS (Domain Name System)
Endereço IP: 193.137.100.231
ARP (Address Resolution Protocol)
Endereço MAC (físico): 00-1B-77-E4-F8-F8
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
3
DNS: para que é preciso ?
Cliente
193.136.222.18
Servidor
HTTP
Servidor
DNS
193.137.100.227
193.137.100.231
DNS: www.isel.pt
193.137.100.231
Estabelecimento de ligação TCP
Get http://www.isel.pt/
<ficheiro>
28/02/10
Fecho de ligação TCP
Sistema de Distribuição de Nomes de Domínios (DNS)
4
Introdução ao Domain Name System (DNS)
• Identificação das máquinas na rede:
– Endereço IP de 32 bits: utilizados no endereçamento de datagramas
• Formato fácil de processar pelos computadores
– Nome (p.e. www.isel.pt) utilizados pelos humanos
• Fácil memorização pelos humanos
• Problema: como mapear um nome num endereço IP ?
• Domain Name System:
– Implementa uma função essencial para o funcionamento da Internet a uma escala
planetária !
– Base de dados distribuída implementada num conjunto de servidores
– Protocolo do nível de aplicação que permite o processo de resolução de nomes
– Pode ser utilizado para outros serviços, ex. tradução nº telefone - endereço IP
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
5
Mapeamento DNS
• Múltiplos nomes podem ser mapeados no mesmo endereço IP:
– www.cnn.com e edition.cnn.com podem ser mapeados para a mesma máquina
(i.e., o mesmo endereço IP)
• Um nome pode ser mapeado em múltiplos endereços IP:
– www.cnn.com pode ser mapeado em múltiplas máquinas
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
6
Nomes genéricos (labels)
Nome genérico Descrição
com
edu
gov
mil
org
net
int
aero
biz
coop
info
museum
name
pro
28/02/10
Organizações comerciais
Instituições de ensino pós-secundario
Instituições governamentais
Grupos militares
Organizações sem fins lucrativos
Infraestrutura de rede
Organizações internacionais
Companhias de navegação aérea
Negócios ou firmas (semelhante ao com)
Cooperativas
Locais de informação sem restrições
Museus
Famílias e indivíduos
Profissões
Sistema de Distribuição de Nomes de Domínios (DNS)
7
Hierarquia de nomes
raiz sem nome
com
edu
gov
int
mil
nao
ae
pt
United Arab
Emirates
isel
zw
Zimbabwe
www
sun
domínios genéricos
28/02/10
org
www.isel.pt
tuc
sun.tuc.nao.edu
net
domínios de países
Sistema de Distribuição de Nomes de Domínios (DNS)
8
Nomes de domínios e labels
Um nome completo é uma sequência de labels
separadas por pontos: começa com a label de um nó
de último nível e percorre um ramo da árvore até
chegar à raiz
Raiz
Nome
genérico
pt
pt
Nome
genérico
Nome
genérico
Nome
genérico
28/02/10
www
ipl
isel
Nome de domínio
ipl.pt
Nome de domínio
isel.ipl.pt
Nome de domínio
www.isel.ipl.pt.
Fully Qualified
Domain Name
Nome de domínio
Sistema de Distribuição de Nomes de Domínios (DNS)
9
Domínios
Domínio
Domínio
Domínio
Domínio
Domínio
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
10
Autoridade: zonas
• Uma zona corresponde a uma autoridade administrativa que é responsável
por uma parte da hierarquia de nomes
raiz
edu
gov
mil
org
net
uk
fr
cmu
berkeley
eecs
com
sims
divine
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
11
Zonas e domínios
Raiz
Zona
Domínio
Zona e
Domínio
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
12
Sistema de nomes DNS
• Exemplos de serviços DNS:
–
–
–
–
Tradução de um nome de uma máquina para um endereço IP
Nomes canónicos
Endereçamento (alias) de servidores de email
Distribuição de carga entre servidores web replicados
• Conjunto de endereços IP para um só nome
• Centralizar o DNS ? Porque não ?
–
–
–
–
–
28/02/10
Volume de tráfego
Único ponto de falha
Distância à base de dados centralizada
Manutenção
Falta de escalabilidade
Sistema de Distribuição de Nomes de Domínios (DNS)
13
Hierarquia de servidores
• Os servidores DNS são organizados de forma hierárquica
• Autoridade: servidor com a responsabilidade de manter uma tabela de
resolução para todos os nomes no espaço de nomes que controla
• Cada servidor tem autoridade sobre uma parte da hierarquia
– Um único nó na mesma hierarquia de nomes não pode ser dividido
– Um servidor mantém apenas um subconjunto de todos os nomes
– Necessita de conheçer outros servidores que são responsáveis por outras
partes da hierarquia
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
14
Base de dados hierárquica e distribuída
servidor raiz
servidor com
servidor edu
servidor
stanford.edu
28/02/10
servidor
berkley.edu
servidor pt
servidor
utl.pt
Sistema de Distribuição de Nomes de Domínios (DNS)
servidor es
servidor
ipl.pt
15
Servidores de nomes raiz
• Servidores de nomes raiz: contactados por outros servidores de nomes
quando estes não conseguem resolver o nome
13 servidores raiz
conheçidos (A-M)
28/02/10
28/02/10
Sistema de Distribuição
Redes dede
Computadores
Nomes de Domínios (DNS)
16
Servidores TLD
• Servidores top-level domain (TLD):
– Responsáveis por com, org, net, edu, ..., e todos os domínios de países
de TLD pt, uk, fr, ca, jp, ...
– Os servidores TLD são conhecidos pelo servidor de nomes raiz
– Registos de topo (por exemplo isel.pt) são realizados nos registrars
– Os operadores de registos mantêm a base de dados de nomes de
domínios actualizada para um ou mais TLDs dos quais são responsáveis
• Alguns exemplos:
– Network Solutions mantém os servidores para o TLD com
– FCCN mantém os servidores para o TLD pt e alberga fisicamente um
servidor raiz “F” gerido pela ISC
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
17
Servidores autoritários
• Servidores de DNS autoritários:
– Servidores de DNS das instituições (empresas, universidades, etc) que
fornecem mapeamentos autoritários (end. IP – nome) para algumas
máquinas da instituição (e.g., web, mail).
– Podem ser mantidos pela instituição ou pelo fornecedor de conectividade
da Internet (ISP)
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
18
Servidores de nomes local
• Não faz parte da hierarquia de servidores
• Cada ISP (residencial, empresa, universidade) tem um
• Quando uma máquina faz um pedido de DNS, este é enviado para
o servidor de nomes local
– Funciona como um proxy, reencaminha os pedidos na hierarquia de
servidores de DNS
• Conhece os servidores de nomes raiz
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
19
Processo de resolução de nomes: iterativo
• Máquina em cis.poly.edu quer o
endereço IP de www.mit.edu
• Servidor de nomes local responde
com a resposta final (endereço IP)
• Pedido iterativo:
– Um servidor DNS pode
responder com o nome do
servidor DNS a contactar
– “Eu não conheço este nome,
mas sei qual é o servidor que
o pode conheçer”
Servidor DNS raiz
2
3
Servidor DNS TLD
4
5
Servidor DNS local
dns.poly.edu
1
8
Máquina
7
6
Servidor DNS autoritário
bitsy.mit.edu
cis.poly.edu
www.mit.edu
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
20
Processo de resolução de nomes: recursivo
• Coloca a tarefa de resolução do
pedido no servidor contactado
• Carga elevada ?
Servidor DNS raiz
2
3
7
6
Servidor
DNS TLD
Servidor DNS local
5
dns.poly.edu
1
4
8
Máquina
Servidor DNS autoritário
bitsy.mit.edu
cis.poly.edu
www.mit.edu
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
21
Protocolo DNS: campos
• DNS: base de dados distribuída e organizada em campos RR (resource records)
RR format: (Nome, Valor, Tipo, TTL)
• Tipo A:
– Nome é o nome da máquina (hostname)
– Valor é o endereço IP
• Tipo NS:
– Nome é o domínio (p.e. foo.com)
– Valor é o nome do servidor de nomes autoritário para aquele domínio
• Tipo CNAME:
– Nome é um alias para algum nome canónico (nome real)
– Valor é o nome canónico
– Exemplo: www.ibm.com é na realidade www.ibm.com.cs186.net
• Tipo MX:
– Valor é o nome do servidor de email associado ao nome
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
22
Protocolo DNS: tipos de RRs
28/02/10
Tipo
Abreviatura
1
A
2
NS
5
CNAME
6
SOA
11
WKS
12
PTR
13
HINFO
15
MX
28
AAAA
252
AXFR
255
ANY
Descrição
Endereço IPv4 de 32 bits. Utilizado para converter um nome de
domínio num endereço IPv4
Servidor de nomes. Identifica um servidor autoritário para uma
zona.
Nome canónico. Define uma alias para o nome oficial de uma
máquina
Secção de autoridade. Marca o início de uma zona. Primeiro campo
de um ficheiro de zona.
Serviços conhecidos. Define serviços de rede que a máquina
fornece.
Resolução inversa. Permite converter um endereço IP num nome de
domínio.
Informação da máquina. Descrição do hardware e software de uma
máquina
Permite conhecer os servidores de email responsáveis pelo
domínio.
Endereço IPv6 de 128 bits. Utilizado para converter um nome de
domínio num endereço IPv6.
Um pedido para a transferência de toda a zona. Permite a
replicação dos dados do DNS.
Um pedido para todos os campos.
Sistema de Distribuição de Nomes de Domínios (DNS)
23
Cache e actualização de RRs
• O processo de resolução de nomes pode ser altamente ineficiente:
– Cada máquina a contactar por nome gera um pedido de DNS
– Um pedido de DNS pode passar por múltiplos servidores na hierarquia
• Servidores e máquinas usam um sistema de cache para reduzir o
número de pedidos
– Cache contém os mapeamentos recentemente resolvidos
– As entradas na cache expiram depois de um certo tempo Time to Live (TTL)
– Os servidores TLD são guardados em cache nos servidores de nomes locais
• Desta forma alevia-se os servidores de nomes raiz
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
24
Protocolo DNS: mensagens
• Protocolo DNS: define mensagens de pedidos e respostas, ambas
com o mesmo formato
• Cabeçalho:
– Identificação: 16 bit para identificar pedidos, resposta usa o mesmo valor
– Flags:
Identificação
Flags
•
•
•
•
Questão ou resposta ?
Recursão desejada ?
Recursão disponível ?
Resposta é autoritativa ?
Nº de questões
Nº de respostas
Nº de RRs
autoritários
Nº de RRs
adicionais
Questões
Respostas
Servidores autoritários
28/02/10
Informação adicional
Sistema de Distribuição de Nomes de Domínios (DNS)
25
Protocolo de DNS: mensagens
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
26
Protocolo DNS: transporte
• Protocolo UDP (porto 53):
– Normalmente os pedidos e respostas DNS são transportados num datagrama UDP
– As mensagens UDP de DNS são limitadas a 512 bytes
– Mensagens maiores são truncadas e a flag truncated é activada
• Protocolo TCP (porto 53):
– Para transferência de informação de zonas do servidor primário para os secundários
(sincronização)
– O cliente DNS estabelece uma ligação TCP com o servidor DNS para realizar a
transferência
– Quando é recebida uma resposta com a flag truncated activada
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
27
Arquitectura de servidores DNS
• Para receber pedidos de resolução da própria zona existem dois servidores
de nomes: um servidor primário e zero ou mais servidores secundários
– Redundância: permite a resolução mesmo que o servidor primário falhe
– Manutenção: quando existem servidores secundários pode-se efectuar manutenção ao
servidor primário sem impacto significativo
– Balanceamento de carga: permite espalhar a carga em múltiplos servidores DNS
melhorando assim a eficiência no acesso aos servidores de dados da zona
– Eficiência: colocar servidores o mais perto possível dos clientes, por exemplo em ambos
os lados de uma ligação WAN
• O servidor primário carrega toda a informação de um ficheiro local
• Um servidor secundário carrega toda a informação do servidor primário:
– Transferência de zona
• Para encaminhar pedidos de resolução de outras zonas
– Servidores locais: Forwarders, Cache, Cache-Only
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
28
Exemplo de uma topologia DNS
• Servidores DNS primário e secundários:
– Normalmente autoritários para um ou mais domínios
• Servidores forwarder (local):
– Encaminham as perguntas DNS realizados pelos clientes (com cache ou não)
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
29
Inserir um registo no DNS
• Exemplo: nova empresa startup “Network Utopia”
– Registar o nome networkuptopia.pt no DNS registrar (FCCN)
– Providenciar nomes, endereços IP dos servidores de nomes autoritários (primário
e secundário)
– O operador de registo FCCN insere dois RRs no servidor TLD pt:
• (networkutopia.pt, dns1.networkutopia.pt, NS)
• (dns1.networkutopia.pt, 212.212.212.1, A)
• Criar um servidor autoritário (e.g. BIND) com um campo do Tipo A para
www.networkuptopia.pt e um campo Tipo MX para networkutopia.pt
•
•
De que forma se obtém o endereço IP de www.networkutopia.pt ?
De que forma se obtém o servidor de email do endereço [email protected] ?
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
30
DNS dinâmico
• DDNS (Dynamic Domain Name System)
– Mecanismo de actualização dos servidores de DNS quando máquinas ou
domínios são adicionadas/apagadas/modificadas
– Mecanismo de update/notify (RFC 2136) Servidor DNS
Re
sp
Pe
os
di
ta
do
en
de
d.
IP
en
d.
IP
– Actualização automática do endereço
IP e nome (FQDN) de uma máquina
Actualização do Dynamic DNS
(PTR)
do )
ão (A
aç S
liz DN
ua i c
ct
A nam
y
D
• Permite a interacção entre DHCP
e DNS:
Servidor DHCP
Cliente (PC) XP
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
31
Balanceamento de carga
• Um balanceamento de carga simples pode ser conseguido no DNS utilizando
múltiplos registos A para um nome:
– Três servidores WWW assim configurados:
• www.domain.tld. 60 IN A 123.45.67.1
www.domain.tld. 60 IN A 123.45.67.2
www.domain.tld. 60 IN A 123.45.67.3
– Quando um resolver perguntar por www.domain.tld, o servidor DNS efectua uma rotação
e responde à pergunta com os registos em ordem diferente:
• www.domain.tld. 60 IN A 123.45.67.3
www.domain.tld. 60 IN A 123.45.67.1
www.domain.tld. 60 IN A 123.45.67.2
– Os clientes irão utilizar o primeiro registo e ignorar os restantes
– A carga é distribuída por três máquinas permitindo responder a um número maior de
pedidos HTTP para www.domain.tld
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
32
Balanceamento de carga: exemplo
Servidor DNS configurado com 2
endereços IP para www.isel.pt
www.isel.pt
www.isel.pt
Sincronismo
Servidor 1
10.0.0.1
6. GET www.isel.pt
Re
Re spo
n
so
lv de
e
1
ww 0.0
.0
w.
.1
is
el
.p
t
1.
2.
t
.p
el
is
.2
w.
.0
ww 0 .0
1
e
lv
e
so ond
p
Re
4. Res
5.
3. GET www.isel.pt
Servidor DNS
Cliente 1
28/02/10
Servidor 2
10.0.0.2
Cliente 2
Sistema de Distribuição de Nomes de Domínios (DNS)
33
Segurança
• DNS é um serviço muito importante e por isso frequentemente atacado:
– Direccionar os pedidos de www.bes.pt para um servidor web malicioso
– Negação de serviço (DoS): muitos serviços de rede dependem do DNS
– Guarda informação sensível sobre a rede: nº máquinas, endereços IP, etc..
• Possível solução: DNSSec = DNS Security
– Garante comunicação segura entre servidores de nomes e clientes
– Garante integridade de dados
– A origem da informação é verificada
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
34
Referências
• “Computer Networking, a top down approach featuring the Internet (4th
edition)”, James F. Kurose (Author), Keith W. Ross, Addison-Wesley
Longman.
• “TCP/IP Protocol Suite”, Behrouz A. Forouzan, Sophia C. Fegan, McGraw-Hill
Professional.
28/02/10
Sistema de Distribuição de Nomes de Domínios (DNS)
35
Download

DNS - PWP