220 likes | 302 Views
Redes de Computadores I. Prof. Mateus Raeder. Universidade do Vale do Rio dos Sinos - São Leopoldo -. DNS Domain Name Server. DNS. Pessoas Possuem identificadores Nome, RG, CPF, etc... Dispositivos na Internet (hosts, roteadores, ...) Também possuem identificadores Números
E N D
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 = NS • Nome é o domínio • Valor é o IP do servidor de nomes com autoridade para este domínio • Tipo = CNAME • Nome é o nome alternativo (alias) para um nome verdadeiro • Valor é o nome verdadeiro • 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 servidorescom autoridade Informação útil quepode 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