Teoria

Propaganda
DNS - Domain Name System
Domain Name Service
Conceitos
• Base de dados distribuída de nomes alfanuméricos e endereços IPs
• Quem os mantém?
– Name Servers
– Máquinas normalmente Unix, que rodam BIND
(Berkeley Internet Name Domain)
Conceitos
Endereço IP
128.66.12.2
O que a rede precisa
Nome (Host Name)
peanut.nuts.com
Maneira mais “amigável”
A tabela de hosts
127.0.0.1
localhost
128.66.12.2
peanut.nuts.com
128.66.12.1
almond.nuts.com almond
• 127 níveis possíveis de nomes !
• 127.0.0.1 = Endereço IP Classe A para loopback
• permite ao host endereçar-se da mesma maneira
que um host remoto
• Simplifica software, pois permite que o mesmo
código seja usado local e remotamente
• Reduz tráfego na rede
A tabela de host do NIC
(pré-história-1973)
• NIC: Network Information Center
• nic.ddn.mil: ddn (Department Defense
Network) > porção militar da internet.
• contém nomes de hosts “registrados”
– registered hosts
• Informações contidas na tabela hosts.txt
• comando “whois”
DNS - Domain Name Service
(1984)
• Sistema hierárquico distribuído para
“resolver” nomes de hosts em endereços IP
• Não depende de uma tabela única
• Garante que informação sobre novos hosts
serão disseminadas p/ o resto da rede
quando preciso.
Hierarquia do Domínio
• Base de dados distribuída entre milhares de
servidores de nomes (name servers)
organizados hierarquicamente
• hierarquia semelhante a estrutura de
diretório
• Domínios superiores
– geográfico (br, uk, jp)
– Organizacional (com, edu, org, gov)
Elementos do Serviço (1)
• Domain Name space
– especificação para uma hierárquica (árvore) no
espaço de nomes.
– Cada nó e folha da árvore do domain name
space estabelece um conjunto de informação e
consultas (query) a fim de extrair uma
informação particular.
– Exemplo de consulta: pesquisa por endereços.
Top-level
Domains
Hierarquia de domínio
.
net
gov
mil
Root domain
org
com
nih
sd1
Third-l
Domains
nuts
sd2
fabr
Second-l
Domains
venda
edu
O que faz um Name Server ?
• Aceita requisições de um programa para
converter nomes de domínios em IPs
• Aceita requisições de um outro Name
Server para converter nomes de domínios
em IPs.
– Busca é recursiva.
Quando a requisição chega, o NS:
• Responde à solicitação, pois ele já sabe o IP
para aquele domínio
• Contata um outro NS e tenta encontrar o IP.
Isso pode ter que ser feito várias vezes
• Pode dizer: “eu não sei o IP para este
domínio, mas aqui está o IP do NS que pode
saber mais do que eu!”
• Retorna msg de erro: requisição inválida
Elementos do Serviço (2)
• Name Servers (Servidores de nomes)
– São programas servidores que contêm
informações sobre a estrutura da árvore de
domínio e o conjunto de informações.
– Eles conhecem as partes da árvore de domínio
para as quais eles têm completa informação.
– Estas partes são chamadas ZONAs (ZONEs).
– Name Server é uma Autoridade para estas
partes do espaço de nomes.
Root Name Servers
• Um servidor inicia a busca de um IP
contatando os servidores root
– Sabem o endereço IP para TODOS os DNS
servers do domínio superior (top-domain) !
• 13 root server
• Redundância: há varios NS que resolvem
um determinado domínio
• Caching: resolvido um nome, o NS guarda a
resposta no cache!
DNS - Concentração da Informação
• Informação disseminada somente p/ aqueles
que estão interessados
– Um servidor DNS recebe requisição de
informação um determinado host para o qual
não tem informação.
– Passa requisição para um servidor “autoritário”
• contém informações sobre o domínio requisitado
– Servidor “autoritário” responde
– Servidor local grava (cache) resposta para uso
futuro
Elementos do Serviço (3)
• Resolvers (Resolvedores)
– conjunto de rotinas que extraem informação dos
name servers em resposta a requisições do
usuário
– Acessíveis aos programas que necessitam
inquirir a rede (telnet, ftp, mail, browser,etc).
DNS e o modelo OSI
Host query
DNS response
Resource Records
(Registros de Recursos)
• Os arquivos utilizados para configuração do
sistema de domínios e a informação neles
armazenadas usam um tipo de Registros de
Recursos padrão, chamados RRs.
• O serviço de domínios suporta vários tipos
de registros (SOA, NS, A, PTR, MX, ...)
Tipos
•
•
•
•
•
A - Endereço do host associado ao domínio.
MX - Mail Exchanger para o domínio
NS - Name Server autoritário p/ o domínio.
SOA - Start of a zone of Authority
CNAME - nome canônico de um alias
Query - Query Inversa
• Query
mapear domain name em
recursos
www.lcad..... => 143.107.232.130
• Query Inversa
mapear recursos em
domain names
143.107.232.130 => www.lcad.icmc.....
Configurando o Resolver
• Configuração default
– envolve menos overhead (não precisa de um
arquivo de configuração)
– adequado a sistemas que rodam named
• Configuração resolver-only
– usar arquivo resolv.conf
Configuração Resolve-only
• quando não há named
• quando domínio não puder ser derivado do
host name.
• todas as consultas (queries) são passadas
para host (servidor DNS) encontrado no
arquivo
• Consultas nunca são resolvidas localmente.
Configurando named (1)
• BIND 4  BIND 8
• named.boot
– estabelece parâmetros gerais named e aponta
para as fontes de informação da base de dados
do domínio usadas por este server. Tais fontes
podem ser aruivos em disco local ou remotos
• named.ca
– aponta para os servers do domínio raiz
Configurando named (2)
• named.local
– usados para resolver endereços loopbacks
localmente.
• named.hosts
– arquivo de zona que mapeia nomes de hosts em
endereços IP
• named.rev
– arquivos de zona para o domínio reverso:
mapeia endereços IP em nomes de hosts.
options {
directory "/var/named";
query-source address * port 53;
notify yes;
version ":P";
};
Configurando named (3)
zone "." {
type hint;
file "root.hints";
};
• Arquivo /etc/named.conf
zone "0.0.127.in-addr.arpa" {
type master;
file "0.0.127.in-addr.arpa";
};
zone "lcad.icmc.sc.usp.br" {
type master;
file "lcad.icmc.sc.usp.br.db";
allow-transfer { 143.107.232.130; 143.107.231.12;};
};
zone "lcad.icmsc.sc.usp.br" {
type master;
file "lcad.icmc.sc.usp.br.db";
allow-transfer { 143.107.232.130; 143.107.231.12;};
};
zone "232.107.143.in-addr.arpa" {
type master;
file "lcad.icmc.sc.usp.br.rev";
};
Download