Você está na página 1de 26

Camada de Aplicao: Protocolo DNS

Curso: Sistemas para Internet


Disciplina: Fundamentos de Rede de Computadores Prof. Gustavo Camargo abril/2014

Introduo
A mesma coisa acontece com hospedeiros da Internet
Identificador direto = nome do hospedeiro
Ex: www.youtube.com.br
So fceis de lembrar por seres humanos, porm so inadequados para processamento em um roteador, pois contm quantidade varivel de caracteres

Por isso, os hosts so identificados por endereos IP IP = 4 bytes hierrquicos que determinam a rede e o servidor de rede aonde se encontra a informao que se deseja ter acesso. Exemplo: 192.168.101.1 Hierrquico = obteno gradativa da localizao do hospedeiro (em qual rede ele est) Na internet esses nmeros so utilizados para enderear sites e servidores.

O Protocolo DNS
DNS = Domain Name System (Sistema de Nomes de Domnios) Acesso a computadores sem que o usurio tenha conhecimento de seu endereo IP. O DNS (Domain Name Server) um sistema de gerenciamento de nomes hierrquico e distribudo Pertence camada de aplicao do modelo OSI

O Protocolo DNS
Arquitetura desenvolvida por Paul Mockapetris (USC EUA) RFCs
RFCs 882 e 883 Funcionamento bsico RFCs 1034, 1035 Modelo Vigente RFCs 1535, 1536, 1537 Segurana, Implementao, Adm.

Utiliza conexo UDP Conexo UDP pela porta 53 do servidor DNS

DNS Conceito fsico: um banco de dados distribudo implementado em uma hierarquia de servidores de nome servidores DNS

DNS comumente utilizado por outros tipos de aplicao HTTP, SMTP, FTP para traduzir nomes de hospedeiro : servio auxiliar para que a comunicao de hosts seja bem sucedida.

www.yahoo.com

255.200.1.12

Exemplo de consulta DNS a partir de um cliente HTTP


1. 2. 3. 4. 5. A prpria mquina cliente executa o lado cliente DNS O navegador extrai o nome do hospedeiro (www.yahoo.com) e passa para o cliente da aplicao DNS Cliente DNS envia a consulta para um servidor DNS Cliente DNS recebe a resposta contendo o endereo IP do hospedeiro Navegador requisita conexo TCP com o processo HTTP do servidor localizado naquele endereo IP

Servios importantes providenciados pelo DNS


1. Traduo de nomes para endereos IP 2. Apelidos de Hospedeiro: converso de nomes tcnicos para nomes mais apresentveis e de fcl entendimento
Ex: relay1.staticfemp.yahoo.com www.yahoo.com yahoo.com

3. Apelidos de servidor de correio 4. Distribuio de Carga: Sites movimentados so comumente replicados em vrios servidores. O conjunto de endereos IP desses servidores referenciam a um mesmo nome de host e o DNS ajuda a distribuir a demanda de usurios entre os diversos endereos IP.

Distribuio de Carga
Usurio 1

255.200.1.12
255.200.1.18 187.223.18.1 115.2.103.22

www.yahoo.com

Usurio 2

255.200.1.18
115.2.103.22 255.200.1.12 187.223.18.1

www.yahoo.com

Usurio 3

115.2.103.22
187.223.18.1 255.200.1.18 255.200.1.12

www.yahoo.com

Servidores DNS
Existem 2 tipos de mensagens DNS: consultas e respostas As mensagens so enviadas em datagramas UDP para a porta 53 do servidor DNS

As consultas so enviadas a um conjunto de servidores DNS que analisam a demanda e respondem o cliente DNS. A busca pode ser feita de forma recursiva, em que um servidor DNS requisita a informao a um outro servidr DNS.

Mas por que no existe apenas 1 servidor DNS arranjado de forma centralizada?
Principais problemas:
1.
2.

nico ponto de falha: estragou, a Internet pra!!


Volume de trfego: sobrecarga de todas as milhes de mensagens geradas por todos os hospedeiros do mundo!

3.

Distncia do Banco de dados: impossibilidade de proximidade de hosts fariam com que as mensagens tivessem que viajar longas distncias ficando mais expostas influncia de linhas lentas e congestionadas e maior atraso de propagao Manuteno: atualizao constante dos endereos IP adies, excluses, alteras praticamente em tempo real

4.

Por isso os servidores DNs so organizados hierarquicamente e distribudos por todo o mundo. H 3 classes de servidores DNS
Servidores RAIZ Servidores de Domnio de Alto Nvel - TLD Servidores com Autoridade

Servidores RAIZ
Maior hierarquia engloba todos os demais servidores Poucas consultas devido ao recurso cache (cerca de 500 consultas por dia) Atualmente existem 13 complexos de servidores raiz
Conglomerados replicados por questes de confiabilidade e segurana A grande maioria se encontra nos Estados Unidos

Servidores de Domnio de Alto Nvel


TLD Top-Level Domain

Existem dois tipos de top level domains:


Generic Top Level Domain: So domnios .com, .edu, .org, etc Country Code Top Level Domain: So domnios .br, .fr, .ar entre outros

No Brasil, a organizao que gerencia o domnio .br a Registro.br

Servidores com autoridade


Servidores mantidos por organizaes/entidades formadas por um conjunto prprio de hospedeiros e que precisam divulgar publicamente os endereos IP para que seja possvel a comunicao a Internet com eles. Ex: amazon.com, iftm.edu.br

Juntas, as 3 classes de servidores determinam a estrutura de dados DNS


Em geral, uma ISP, universidade ou organizao mantm tambm um servidor local (default DNS) que est na parte mais externa do ncleo da estrutura, prximo aos clientes DNS.

Funcionamento do DNS
Quando se estabelece uma conexo com uma ISP, ela envia uma lista de endereos IP dos servidores DNS locais (prximos fisicamente) Quando feita uma solicitao IP por parte de uma aplicao (ex. HTTP), ela enviada ao servidor de nomes local que verifica se possui a resposta em seu cache.

Exemplo
Acessar o endereo www.yahoo.com a partir do cliente cis.poli.edu
1. Cliente DNS envia a solicitao de consulta ao seu servidor local dns.poli.edu 2. DNS local no encontra o IP em seu cache e entao direciona a solicitao a um DNS Raiz 3. Este envia como resposta os endereos IP de vrios servidores do tipo .com (DNS TLD) 4. O servidor local direciona a consulta a um DNS TLD .com 5. Este envia endereos IP de um DNS com autoridade yahoo.com 6. O DNS local mais uma vez direciona a consulta a um DNS com autoridade domnio yahoo.com 7. Finalmente, o DNS com local responde com o endereo IP de www.yahoo.com 8. O DNS local responde ao cliente DNS 9. O cliente DNS j pode requisitar a abertura da conexo TCP com o site.

3 4 5

1 8
9 cis.poli.edu

dns.poli.edu

6 7

Tipos de Consultas
Iterativas: aps solicitada uma consulta, a resposta enviada ao solicitante

Recursivas: consulta em que a resposta direcionada a outra entidade de rede (servidor DNS) e no ao solicitante original

Recurso do CACHE forma de reduzir os atrasos e nmeros de mensagens de consulta e resposta Funcionalmente semelhante ao cache WEB Quando um servidor de nomes recebe uma resposta DNS, ele faz o cache. Como hospedeiros e mapeamentos entre hospedeiros e endereos IPs no so permanentes, aps um perodo as informaes so descartadas.

Registros e Mensagens DNS


Registros de Recursos (RR)
Fornecem mapeamentos de nomes de hospedeiros para endereos IP

Formado por 4 elementos

TTL tempo de vida til do RR Os campos Name e Value depende do campo Type O campo Type pode receber vrios valores. Os principais so A, NS, CNAME e MX

Type = A
Mapeamento padro de nomes para endereo IP

Campo Name = nome do hospedeiro Campo Value = Endereo IP do hospedeiro

Type = NS
Usado para encaminhar consultas DNS ao longo da rede de servidores DNS

Campo Name = nome do hospedeiro Campo Value = nome de servidor DNS

Type = CNAME
Fornecer o nome cannico de um dado apelido de hospedeiro

Campo Name = nome do hospedeiro (apelido) Campo Value = nome cannico do hospedeiro

Type = MX
Fornecer o nome cannico de um servidor de correios

Campo Name = nome do hospedeiro Campo Value = nome de servidor de correios DNS

Por conta dos tipos CNAME e MX, uma mesma empresa pode ter o mesmo apelido para o seu servidor WEB e de correio.

Uma olhada nos tipos de Registros enviados a cada resposta.

1.

Request (www.yahoo.com)

2.

Request (www.yahoo.com)

3.

RR (www.yahoo.com, dns.www1.com, NS) RR (dns.www1.com, 12.132.12.18, A)

4.

Request (www.yahoo.com)

3 4 5

5.

RR (www.yahoo.com, dns.yahoo.com, NS) RR(dns.yahoo.com, 124.198.250.1, A)

6.

Request (www.yahoo.com)

1 8
9 cis.poli.edu

dns.poli.edu

6 7

7.

RR (www.yahoo.com, 124.198.227.12 NS)

8.

RR (www.yahoo.com, 124.198.227.12 NS)

Mensagens DNS
2 tipos de mensagens idnticas em estrutura
Consultas Respostas

Cabealho = primeiros 12 bytes

1 campo: Identificador 16 bits que identificam a consulta


2 campo: Flags diversas
Flag consulta/resposta Flag Autoridade Flag de Recurso Flag de suporte a busca recursiva

Demais campos (nmero de): nmero de ocorrncias de perguntas, respostas e registros

Corpo da mensagem
Seo Perguntas: especifica o tipo de consulta (Name, Value) Seo Resposta: Traz os registros de recursos solicitados pela consulta. Uma resposta pode retornar vrios RRs j que o nome de um hospedeiro pode referenciar a diversos IPs

Seo Autoridade: RRs de outros servidores com autoridade.


Seo Adicional: onde ficam RRs teis para consultas futuras.
Exemplo: uma consulta solicitou o nome cannico de um hospedeiro. Como informao adicional, foi enviado um registro com o endereo IP deste nome cannico.

Insero de Registros de DNS


Registros so inseridos por uma entidade registradora.
O registro deve conter nomes e endereos dos seus servidores DNS cm autoridade, primrio e secundrio (backup) Entidade associa a insero dos RRs dos tipos NS (refereciando ao servidor DNS) e Tipo A (referenciando aos endereos IP) nos servidores TLD.

Exemplo:
Criar o nome de domnio www.networkutopia.com 1. 2. Registrar em uma entidade registradora Informar os nomes e endereos IP dos servidores DNS.
dns1.networkutopia.com - IP 212.212.212.1 dns2.networkutopia.com IP 212.121.212.2

3.

Entidade registradora providencia a insero dos registros tipo NS e A no servidor TLD de domnio.com
(networkutopia.com, dns2.networkutopia.com, NS) (dns2.networkutopia.com, 212.212.212.2, A)

(networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A)

4.

Fazer a insero dos registros tipo A do domnio do hospedeiro e do servidor de correio


(networkutopia.com, 212.212.71.6, MX)

(networkutopia.com, 212.212.71.4, A)

A partir de agora, se um usurio tentar acessar o domnio www.networkutopia.com, antes ser feita a consulta DNS. O servidor DNS TLD com ir providenciar o IP do servidor DNS local de networkutopia, que em seguida, ir providenciar o endereo IP do domnio. O acesso ser realizado!