Redes de Computadores Capítulo 2.5 - DNS Prof. Jó Ueyama Março/2014 1
DNS: Domain Name System Pessoas: muitos identificadores: RG, nome, passaporte. Hosts e roteadores na Internet: endereços IP (32 bits) endereça datagramas; hierárquico, organizado em 4 bytes. nome, ex.: www.icmc.usp.br - usados por humanos. P.: Como relacionar nomes com endereços IP? 2
DNS: Domain Name System Base de dados distribuída implementada numa hierarquia de servidores de nomes. Protocolo de camada de aplicação que permite que hosts se comuniquem com servidores de nomes para resolver nomes (tradução nome/endereço): é uma função interna da Internet, implementada como protocolo da camada de aplicação. complexidade na borda da rede. 3
DNS Arquitetura cliente-servidor. Protocolo de transporte: UDP. Porta: 53. Software mais popular: BIND (Berkeley Internet Name Domain) para Unix. RFCs 1034 e 1035, além de RFCs com atualizações. 4
Serviços DNS Tradução do nome do host para endereço IP. Apelidos de hosts (aliasing): nome canônico: relay1.west-coast.enterprise.com alias: www.enterprise.com Apelidos de servidor de correio: registro MX indica o servidor de email do domínio. Distribuição de carga: Servidores Web replicados: conjunto de endereços IP para um nome canônico. 5
Por que não centralizar o DNS? Ponto único de falha. Volume de tráfego. Base centralizada de dados distante. Manutenção. Não é escalável! 6
Banco de dados distribuído e hierárquico Cliente quer o IP para www.amazon.com: 1) Consulta um servidor de raiz para encontrar o servidor DNS.com 2) Consulta o servidor DNS com para obter o servidor DNS amazon.com 3) Consulta o servidor DNS amazon.com para obter o endereço IP para www.amazon.com 7
DNS: servidores de nome raiz São contatados pelos servidores de nomes locais que não podem resolver um nome. Servidores de nomes raiz: buscam servidores de nomes autorizados se o mapeamento do nome não for conhecido; conseguem o mapeamento; retornam o mapeamento para o servidor de nomes local. 8
DNS: servidores de nome raiz Existem 13 (conglomerados de) servidores de nomes raiz no mundo. Nomeados de A a M. Fev/2004 9
Servidores de Domínio de Alto Nível ou top-level domain (TLD) servers. Responsáveis pelos domínios com, org, net, edu etc. e todos os domínios top-level nacionais uk, fr, ca, jp. Network Solutions mantém servidores para o TLD com. Educause para o TLD edu. 10
Servidores de nomes com autoridade Servidores DNS de organizações. Provêem: nome de hospedeiro autorizado para mapeamentos IP para servidores de organizações: Ex.: Web e mail. Podem ser mantidos por uma organização ou provedor de serviços. Permite o acesso aos servidores pelo público externo Traduz o nome dos serv. emails e www 11
Servidor de nomes local Não pertence estritamente a hierarquia. Cada ISP (ISP residencial, companhia, universidade) possui um. Também chamado de servidor de nomes default. Quando um hospedeiro faz uma pergunta a um DNS, a pergunta é enviada para seu servidor DNS local. Age como um proxy, encaminhando as perguntas para dentro da hierarquia. 12
Exemplo O hospedeiro em cis.poly.edu quer o endereço IP para gaia.cs.umass.edu 13
Consultas encadeadas e recursivas Consulta recursiva: Transfere a tarefa de resolução do nome para o servidor de nomes consultado. Carga pesada? Consulta encadeada: Servidor contatado responde com o nome de outro servidor de nomes para contato. Eu não sei isto, mas pergunte a este servidor. serv. DNS local dns.poly.edu 1 hospedeiro solicitante cis.poly.edu 2 8 7 serv. DNS raiz 6 5 3 4 serv. DNS com autoridade dns.cs.umass.edu gaia.cs.umass.edu serv. DNS TLD 14
DNS: cache e atualização de registros Uma vez que um servidor de nomes aprende um mapeamento, ele armazena o mapeamento num registro do tipo cache. Registros do cache tornam-se obsoletos (desaparecem) depois de um certo tempo. tipicamente 2 dias. Servidores TLD: tipicamente armazenados em cache nos servidores de nome locais. 15
Registro do DNS DNS: base de dados distribuída que armazena registros de recursos (RR) formato dos RR: (name, value, type, ttl) Type = A name é o nome do computador value é o endereço IP ex.: (relay.bar.foo.com, 145.37..93.126, A) Type = NS name é um domínio (ex.: foo.com) value é o endereço IP do servidor de nomes autorizados para este domínio ex.: (foo.com, dns.foo.com, NS) Type = CNAME name é um apelido para algum nome canônico (o nome real) www.ibm.com é realmente servereast.backup2.ibm.com value é o nome canônico ex.: (foo.com, relay.bar.foo.com, CNAME) Type = MX value é o nome do servidor de correio associado com name ex.: (foo.com, mail.foo.com, MX) 16
DNS: protocolo e mensagens Protocolo DNS: mensagem de consulta e resposta, ambas com o mesmo formato de mensagem Cabeçalho da msg: Identificação: número de 16 bits para consulta, resposta usa o mesmo número Flags (1 bit cada): Consulta ou resposta Recursão desejada Recursão disponível Resposta é autorizada 17
nslookup consultas DNS 18
Inserindo registros no DNS Exemplo: empresa recém-criada Network Utopia. Registrar o nome networkutopia.com num registrar (entidade registradora). ex.: Network Solutions, registro.br É necessário fornecer ao registrar os nomes e endereços IP do seu servidor de nomes com autoridade (primário e secundário). Registrar insere dois RRs no servidor TLD do domínio com: (networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A) No servidor autorizado, inserir um registro Tipo A para www.networkutopia.com e um registro Tipo MX para networkutopia.com 19
Atualizações dinâmicas Mecanismos de atualização e notificação: RFC 2136: abril/1997; opção UPDATE; UDP ou TCP, requisitante escolhe; formato de mensagem específico; http://www.ietf.org/rfc/rfc2136.txt 20