220 likes | 304 Views
Learn about DNS, how names replace numbers in networks, the role of DNS servers, and the hierarchical structure of distributed DNS servers. Explore query resolution, server types, and the importance of DNS in internet communication.
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