Redes de Computadores I Nível de Aplicação (DNS) por Helcio Wagner da Silva. p./2
Introdução Os serviços de rede funcionam utilizando endereços de rede (p.ex.: 28..24.4). Por questões relacionadas à comodidade e flexibilidade, os usuários trabalham com nomes em ASCII. Na ARPANET, o arquivo hosts.txt listava todos os hosts e seus respectivos endereços de rede. Esse arquivo era acessado toda a noite pelos hosts no local em que era mantido. Atualmente, esse mapeamento está a cargo do DNS (Domain Name System).. p.2/2
Introdução O DNS é definido nas RFCs 34 e 35. int com edu gov mil org net jp us nl sun yale acm ieee ac co oce vu eng cs eng jack jill keio nec cs ai robot linda cs pc24 csl flits fluit Sua essência é a criação de um esquema hierárquico de atribuição de nomes baseado em domínios e o mapeamento entre strings ASCII e os endereços de rede.. p.3/2
Introdução Atualmente, há mais de 2 domínios de nível superior, cada qual particionado em subdomínios. Existem dois tipos de domínio de nível superior: Domínios genéricos (com, edu, gov, mil, etc); Domínios de países (br, nl, jp, etc). O DNS É um ótimo exemplo de como funciona um banco de dados fisicamente distribuído. Os diversos servidores DNS encontram-se dispersos pelo mundo.. p.4/2
Tipos de Servidores DNS Servidor Local: Aquele ao qual conecta-se o cliente DNS durante a consulta. Servidor Raiz: Contém o mapeamento <nome endereço> para os servidores dos domínio superiores, tais como com, edu, br, nl, etc. Servidor Oficial: Contém o mapeamento preciso <nome endereço> para o host solicitado.. p.5/2
Algumas Observações Os servidores Raiz são os servidores do domínio (.). Na verdade, há 3 organizações responsáveis pela operação desses servidores. Eles estão espalhados por 34 países, em mais de 8 lugares - a maioria deles fora dos EUA. Um Servidor Oficial é também chamado de Autorizado ou Com Autoridade. Diz-se que este servidor realiza um mapeamento preciso tendo em vista que a informação <nome endereço>, embora possa estar na cache de algum outro servidor, pode estar desatualizada.. p.6/2
Mapa dos Servidores Raiz. p.7/2
Consulta DNS servidor raiz mecanismos recursivos interativos mecanismos servidor DNS local flits.cs.vu.nl cs.vu.nl servidor edu yale.edu servidor 9 servidor oficial cs.yale.edu linda.cs.yale.edu 2 3 4 8 5 7 6. p.8/2
Procurando Atalhos Uso do arquivo hosts no host onde se inicia a consulta: Na plataforma Windows, este arquivo está localizado no caminho C:\WINDOWS\system32\drivers\etc. No Linux, o caminho é /etc. Uso de cache, que geralmente registra resultados positivos e negativos: Na plataforma Windows, para limpar a cache utiliza-se o comando ipconfig /flushdns. No Linux, deve-se reiniciar o nscd (name service cache daemon): /etc/rc.d/init.d/nscd restart.. p.9/2
Bloqueando Acessos O arquivo hosts pode ser também usado para bloquear o acesso a determinadas maquinas. Por exemplo: 27... localhost 27... www.kibeloco.com.br Neste caso, qualquer tentativa de acesso ao site www.kibeloco.com.br será redirecionada à máquina local. Isto, na prática, equivale a limitar o acesso ao site. Não é necessário reiniciar a máquina ou o navegador para que a medida surta efeito.. p./2
Registros de Recursos Os servidores DNS contêm RRs (Registros de Recursos) para a resolução a de nomes. Um RR é uma tupla de quatro elementos b : (Name,Value,Type,TTL) Se Type=A, Name é um host e Value é um endereço. Ex.: (relay.bar.foo.com,45.37.93.26,a). Se Type=NS, Name é um domínio e Value é o seu servidor oficial. Ex.: (foo.com,dns.foo.com,ns). a essa é a denominação comum para o mapeamento <nome endereço>. b na verdade, são cinco elementos; contudo, o elemento Class é sempre IN.. p./2
Registros de Recursos Valores para os campos Type, Name e Value (cont.): Se Type=CNAME, Name é um apelido e Value é seu respectivo nome canônico. Exemplo: (foo.com,relay.bar.foo.com,cname). Se Type=MX, Name é o apelido de servidor de correio e Value é o seu nome canônico. Exemplo: (foo.com,mail.bar.foo.com,mx). Os RR podem ser combinados. P.ex., os seguintes RRs em um servidor raiz podem ser retornados em conjunto: (edu-server.net,dns.edu-server.net,ns) (dns.edu-server.net,.2.323.476,a). p.2/2
Registros de Recursos O elemento TTL (Time To Live) é utilizado para a remoção do RR da cache do servidor a. Os servidores DNS utilizam a porta 53 do UDP para receberem solicitações. O DNS é um serviço incluso no Windows 2 Server e no Windows Server 23. Para o Linux, a implementação gratuita BIND (Berkeley Internet Name Domain) inclui o named b. a os RR mais estáveis recebem o valor 86.4, a quantidade de segundos em um dia; os mais voláteis recebem 6. b que é o Servidor DNS propriamente dito.. p.3/2
Formato da PDU DNS 6 bits 6 bits Identificação No. de perguntas No. de RRs de autoridade Flags No. de RRs de respostas 2 Bytes No. de RRs adicionais Perguntas (No. variável de perguntas) Respostas (No. variável de RRs) Autoridade (No. variável de RRs) Informação adicional (No. variável de RRs) Informação adicional útil que pode ser usada RRs p/ servidores oficiais RRs de resposta a consultas Name, Type p/ uma consulta. p.4/2
Formato da PDU DNS O campo identificação é usado para correlacionar consultas e respostas. O campo Flags permite especificar, por exemplo: se a mensagem é uma consulta ou resposta; se o servidor é um servidor oficial para o nome consultado; se o cliente deseja que o servidor proceda recursivamente quando não possuir o registro; se o servidor suporta buscas recursivas;. p.5/2
Exemplo de PDU DNS Identificação () No. de perguntas () No. de RRs de aut. () Flags No. de RRs de resp. (2) No. de RRs adic. (3) (smtp.foo.com,,mx) (smtp.foo.com,bastion.foo.com,mx) (smtp.foo.com,galois.foo.com,mx) (foo.com,dns.foo.com,ns) (bastion.foo.com,92.46.5.2.a) (galois.foo.com,92.46.5.2,a) (dns.foo.com,92.46.5.22,a). p.6/2
A Magia dos Apelidos (Parte I) servidor Web RRs retornados calvin.foo.com (www.foo.com,calvin.foo.com,cname) (calvin.foo.com,92.69.4.28,a) (hobbes.foo.com,92.69.4.29,a) (suporte.foo.com,toto.foo.com,mx) (toto.foo.com,92.69.4.3,a) hobbes.foo.com dns.foo.com www.foo.com? RRs toto.foo.com CENÁRIO : o servidor Web do domínio foo.com é a máquina calvin.foo.com. p.7/2
A Magia dos Apelidos (Parte II) RRs retornados calvin.foo.com (www.foo.com,hobbes.foo.com,cname) (calvin.foo.com,92.69.4.28,a) (hobbes.foo.com,92.69.4.29,a) (suporte.foo.com,toto.foo.com,mx) (toto.foo.com,92.69.4.3,a) hobbes.foo.com dns.foo.com servidor Web www.foo.com? RRs toto.foo.com CENÁRIO 2: o servidor Web do domínio foo.com agora é a máquina hobbes.foo.com. p.8/2
Resolução de Nomes para Um Servidor de Correio calvin.foo.com hobbes.foo.com toto.foo.com (www.foo.com,calvin.foo.com,cname) (calvin.foo.com,92.69.4.28,a) (hobbes.foo.com,92.69.4.29,a) (suporte.foo.com,toto.foo.com,mx) (toto.foo.com,92.69.4.3,a) dns.foo.com RRs retornados suporte.foo.com? RRs CENÁRIO : a aplicação de email consulta o servidor DNS em busca de um RR do Tipo MX para suporte.foo.com servidor de email. p.9/2
Por que o Servidor Não Responde a um Ping??? calvin.foo.com (www.foo.com,calvin.foo.com,cname) (calvin.foo.com,92.69.4.28,a) (hobbes.foo.com,92.69.4.29,a) (suporte.foo.com,toto.foo.com,mx) (toto.foo.com,92.69.4.3,a) hobbes.foo.com dns.foo.com servidor Web suporte.foo.com? falha! toto.foo.com CENÁRIO 2: a aplicação ping consulta o mesmo servidor DNS, mas busca um RR do Tipo A para suporte.foo.com servidor de email. p.2/2