Você está na página 1de 15

Camada de aplicação

 Nossos objetivos:
 Conceitual, aspectos de implementação de protocolos de aplicação
de redes
Arquitetura de Redes de Computadores  Modelos de serviço da camada de transporte
o Paradigma cliente-servidor
o Paradigma peer-to-peer
 Aprender sobre protocolos de camada de aplicação examinando
protocolos usuais
Unidade III – Camada de Aplicação
o HTTP
Prof Sergio Cardoso o FTP
profsergiocardoso@gmail.com o Telnet/SSH
o SMTP/ POP3/ IMAP
o DNS

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 2 2

Criando uma nova aplicação de rede Arquiteturas de aplicação

 Escrever programas que  Cliente-servidor


 Executem em diferentes
sistemas finais e  Peer-to-peer (P2P)
 Se comuniquem através de
uma rede.
 Híbrida de cliente-servidor e P2P
 Ex.: Web – software de
servidor Web se comunicando
com software do browser.

 Não é preciso escrever software


para dispositivos do núcleo da rede
 dispositivos do núcleo da rede
não executam aplicações do
usuário
 as aplicações nos sistemas finais
permitem rápido
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 3 3 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 4 4
desenvolvimento e propagação
Arquitetura cliente-servidor Modelo Cliente Servidor

 Servidor:
 Hospedeiro sempre ativo
 Endereço IP permanente
 Fornece serviços solicitados pelo
cliente
 Podem formar server farms

 Clientes:
 Comunicam-se com o servidor
 Pode ser conectado
intermitentemente
 Pode ter endereço IP dinâmico
 Não se comunicam diretamente
uns com os outros

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 5 5 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 6 6

Cliente-Servidor Arquitetura P2P pura

 Vantagens  Desvantagens  Nenhum servidor está sempre


 Segurança  Custo ligado
 Controle central de arquivos  Hardware  Sistemas finais arbitrários se
 Servidores dedicados e  Software
comunicam diretamente
otimizados  É necessário um administrador  Pares são conectados
 Os usuários não se preocupam  Baixa escalabilidade intermitentemente e mudam
com a administração endereços IP
 Baixa disponibilidade

Altamente escaláveis mas difíceis


de administrar

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 7 7 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 8 8
Peer-to-Peer Híbrida de cliente-servidor e P2P

 Vantagens  Desvantagens  Integra os conceitos da arquitetura cliente servidor com P2P


 Sem investimento extra com  Sem organização central  Cliente Servidor
servidores  Difícil localização de arquivos  Normalmente um servidor para autenticação e localização
 Alta escalabilidade  Duplicações desnecessárias  P2P
 Alta disponibilidade  Os usuários são os  Depois de localizado, troca direta entre os pares
 Sem administrador administradores  Exemplo
 Sem segurança  Skype
 aplicação P2P voice-over-IP P2P

 servidor centralizado: achando endereço da parte remota:

 conexão cliente-cliente: direta (não através de servidor)

 Mensagem instantânea
 bate-papo entre dois usuários é P2P

 serviço centralizado: detecção/localização da presença do cliente

o usuário registra seu endereço IP com servidor central quando entra on-line
o usuário contacta servidor central para descobrir endereços IP dos parceiros

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 9 9 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 10 10

Comunicação de processos Sockets

 Processo: programa executando num hospedeiro  Um processo envia/recebe


 Dentro do mesmo hospedeiro: mensagens para/de seu socket
 É a interface de comunicação entre
 dois processos se comunicam usando comunicação interprocesso (definido a camada de aplicação e camada de
pelo SO)
transporte
 Processos em diferentes hospedeiros se comunicam por meio de troca  O socket é análogo a uma porta
de mensagens  O processo de envio empurra a
 Processo cliente: mensagem para fora da porta
 O processo de envio confia na
o processo que inicia a comunicação
infra-estrutura de transporte no
 Processo servidor: outro lado da porta que leva a
o processo que espera para ser contatado mensagem para o socket no
processo de recepção.
Nota: aplicações com arquiteturas P2P possuem processos cliente e processos servidor

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 11 11 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 12 12
De qual serviço de transporte uma aplicação Serviços dos protocolos de transporte da
necessita? Internet

 Perda de dados  Serviço TCP:


 Orientado à conexão:
 Algumas aplicações (ex.: áudio) podem tolerar alguma perda  conexão requerida entre processos cliente e servidor
 Outras aplicações (ex.: transferência de arquivos, telnet) exigem  Transporte confiável entre os processor de envio e recepção
transferência de dados 100% confiável  Controle de fluxo:
o transmissor não sobrecarrega o receptor
 Temporização 


Controle de congestionamento:
 Algumas aplicações (ex.: telefonia Internet, jogos interativos)  protege a rede do excesso de tráfego
exigem baixos atrasos para serem “efetivos”  Não oferece:
 garantias de temporização e de banda mínima
 Banda passante / Vazão  Serviço UDP:
 Algumas aplicações (ex.: multimídia) exigem uma banda mínima  Transferência de dados não confiável entre os processos transmissor e receptor
para serem “efetivas”  Não oferece:
 Outras aplicações (“aplicações elásticas”) melhoram quando a  estabelecimento de conexão, confiabilidade, controle de fluxo e de congestionamento,
garantia de temporização e de banda mínima.
banda disponível aumenta”
 Segurança P.: Por que ambos? Por que existe o UDP?
 criptografia, integridade de dados,…
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 13 13 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 14 14

Requisitos de serviço de transporte das Aplicações da Internet: aplicação,


aplicações comuns protocolos de transporte

Protocolo da camada Protocolo de


Aplicação Perda de dados Vazão Sensível ao tempo Aplicação de aplicação transporte básico
transf. arquivos sem perda elástica não
e-mail sem perda elástica não e-mail SMTP [RFC 2821] TCP
documentos Web sem perda elástica não acesso remoto Telnet [RFC 854] TCP
áudio/vídeo tolerante a perda áudio: 5 kbps-1 Mbps sim, centenas de ms Web HTTP [RFC 2616] TCP
tempo real vídeo:10 kbps-5 Mbps transf. arquivos FTP [RFC 959] TCP
áudio/vídeo tolerante a perda o mesmo que antes sim, alguns seg
armazenado
multimídia com HTTP (p. e., Youtube), TCP ou UDP
jogos interativos tolerante a perda poucos kbps ou mais sim, centenas de ms fluxo contínuo RTP [RFC 1889]
Mensagem sem perda elástica sim e não telefonia da SIP, RTP, proprietário
instantânea Internet (p. e., Skype) normalmente UDP

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 15 15 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 16 16
Protocolos de aplicação
Serviço World Wide Web
e transporte
 Serviço World Wide Web
 É um serviço de rede de documentos em hipermídia que são interligados, através
dos links, e executados na Internet.
 Documentos hipermídia são as páginas web
 Utiliza o protocolo http(hypertext transfer protocolo)
 Transporta apenas texto, qualquer arquivo que não seja texto deve ser transformado em
texto
 Orgão regulamentador W3C Consortium – www.w3.org
 Serviço cliente – servidor
 Cliente
o Navegador (browser) – Internet Explorer, Firefox, Opera, Safari, etc...
 Servidor
o Servidor Web – Apache, IIS, etc...
 Evolução: web services
 solução utilizada na integração de sistemas e na comunicação entre aplicações
diferentes

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 17 17 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 18 18

Web e HTTP Visão geral do HTTP

 Página Web formada por objetos  HTTP: hypertext transfer protocol


 Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de  Protocolo da camada de
áudio,… aplicação da Web

 A página Web consiste de arquivo-HTML base que inclui vários objetos  Utiliza protocolo de transporte
TCP
referenciados
 Modelo cliente/servidor
 Cada objeto é endereçado por uma URL
 Cliente: browser que solicita,
 Estrutura de URL recebe e apresenta objetos da
 protocolo://máquina:porta/caminho/recurso Web
 Exemplo de URL:  Servidor: envia objetos em
resposta a pedidos
http://www.resultado.com.br:80/final/2010/aprovados.htm  Versões
 HTTP 1.0: RFC 1945
Protocolo Máquina Porta Caminho Recurso  HTTP 1.1: RFC 2068
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 19 19 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 20 20
Visão geral do HTTP Conexões HTTP

• Funcionamento básico do http  HTTP não persistente


 No máximo, um objeto é enviado sobre uma conexão TCP
1. Cliente inicia conexão TCP (via socket) para o servidor na porta 80  Cada objeto é solicitado e enviado através de uma única conexão TCP
2. Servidor aceita uma conexão TCP do cliente O HTTP/1.0 utiliza HTTP não persistente
3. Cliente envia mensagens HTTP de requisição(mensagens do protocolo  HTTP persistente
 Múltiplos objetos podem ser enviados sobre uma conexão TCP entre o cliente e o
de camada de aplicação) através do browser (cliente HTTP) para o
servidor
servidor Web (servidor HTTP). O servidor envia o objeto solicitado
 O HTTP/1.1 utiliza conexões persistentes em seu modo padrão
através de mensagens de resposta.  O HTTP persistente tem duas variantes
4. A conexão TCP é fechada  Persistente sem pipelining:
o O cliente emite novas requisições apenas quando a resposta anterior for recebida
 Persistente com pipelining:
o O cliente envia requisições assim que encontra um objeto referenciado, respeitando o limite
 HTTP é “stateless” configurado no browser
 O servidor não mantém informação sobre os pedidos passados pelos o O servidor pode estar configurado para responder a um limite máximo de conexões de uma
mesma origem
clientes  Para verificar no Firefox
 Protocolos que mantêm informações de “estado” são complexos!  Na barra de endereços digite about:config
 Procurar a opção network.http.pipelining e colocar como true
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 21 21 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 22 22

HTTP não persistente HTTP não persistente

Usuário entra com a URL: www.unicarioca.edu.br/graduacao/index.html 4. Servidor HTTP fecha conexão TCP.

1a. Cliente HTTP inicia conexão TCP ao (contém texto,referências a 10 imagens jpeg)
servidor HTTP (processo) em 5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o conteúdo
www.unicarioca.edu.br. html. Analisando o arquivo html, encontra 10 objetos jpeg referenciados
Porta 80 é a default para o servidor
HTTP. 1b. Servidor HTTP no hospedeiro
www.unicarioca.edu.br esperando pela
conexão TCP na porta 80. “Aceita”
conexão, notificando o cliente
Tempo
2. Cliente HTTP envia HTTP mensagem de
requisição (contendo a URL) para o
socket da conexão TCP 3. Servidor HTTP recebe mensagem de 6. Passos 1-5 são repetidos para cada um
pedido, forma uma mensagem de dos 10 objetos jpeg.
resposta contendo o objeto solicitado
(graduacao/index.html), envia
mensagem para o socket

Tempo
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 23 23 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 24 24
Mensagem HTTP request: formato geral Mensagem HTTP request

Dois tipos de mensagens HTTP: request, response


 HTTP request message:
 ASCII (formato legível para humanos)

Linha de pedido
(comandos GET, POST, GET /somedir/page.html HTTP/1.0
HEAD ) User-agent: Mozilla/4.0
Accept: text/html, image/gif,image/jpeg
Linhas de Accept-language:fr
cabeçalho
(extra carriage return, line feed)
Carriage return,
line feed
indica fim da mensagem

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 25 25 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 26 26

Tipos de métodos Entrada de formulário

HTTP/1.0 Método Post:


 GET  Página Web freqüentemente inclui entrada de formulário
 A entrada é enviada para o servidor no corpo da entidade
 POST
 HEAD Método GET:
 Pede para o servidor deixar o objeto requisitado fora da resposta  A entrada é enviada no campo de URL da linha de requisição:

HTTP/1.1
 GET, POST, HEAD
 PUT
www.carioca.br/procuraaluno.php?matricula=1234&nome=jose
 Envia o arquivo no corpo da entidade para o caminho especificado
no campo de URL
 DELETE
 Apaga o arquivo especificado no campo de URL

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 27 27 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 28 28
Mensagem HTTP response Códigos de status das respostas
 Na primeira linha da mensagem de resposta servidor -> cliente.
Linha de status  Séries de código existentes:
(protocolo  100: Informational (Informação)
 Utilizada para enviar informações para o cliente de que sua requisição foi recebida e
código de status HTTP/1.0 200 OK está sendo processada
frase de status) Date: Thu, 06 Aug 1998 12:00:15 GMT  200
Server: Apache/1.3.0 (Unix)  200 OK
Last-Modified: Mon, 22 Jun 1998 …...  Sucesso: Requisição bem-sucedida, objeto requisitado a seguir nesta mensagem
Linhas de  300
cabeçalho Content-Length: 6821
 301 Moved permanently
Content-Type: text/html o Redirecionamento: Objeto requisitado foi movido, nova localização especificada a seguir nesta
mensagem (Location:)

data data data data data ...  400


 400 Bad request
Dados, ex.: o Erro no cliente: Mensagem de requisição não compreendida pelo servidor
arquivo html  404 Not Found
o Documento requisitado não encontrado neste servidor
 500
 505 HTTP version not supported
o Erro no servidor: ocorreu um erro no servidor ao cumprir uma requisição válida.
 Mas exemplos em http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 29 29 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 30 30

HTTP Request HTTP Reply 200 ok

Campos de informações com seus


valores
Cabeçalho Cabeçalho

Corpo da mensagem Corpo da mensagem

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 31 31 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 32 32
HTTP Reply 304 Not Modified HTTP Request – Envio Informações

Cabeçalho

Envio de informações pelo método Get


GET /cert/hit.dll?sitio_id=20607&path=/capa/-&referer=&size=1280&colors=32&java=true&flash=9
Cabeçalho

Corpo da mensagem Corpo da mensagem

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 33 33 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 34 34

Hyper Text Transfer Protocol over SSL (HTTPS) FTP: o protocolo de transferência de arquivos

 Protocolo de aplicação da web que utiliza criptografia  Transferência de arquivos de e para o computador remoto
 Modelo cliente servidor
 Garante privacidade (criptografia) Cliente: lado que inicia a transferência (seja de ou para o lado remoto)
 Garante a identidade das partes envolvidas em uma Servidor: hospedeiro remoto
 FTP: RFC 959
transferência
 FTP servidor: porta 21
 Porta 443/TCP
https://nome_máquina/recurso

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 35 35 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 36 36
FTP: controle separado, conexões de dados Terminal remoto
 Cliente FTP contata o servidor FTP na porta 21 especificando o TCP como protocolo de  Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre
transporte computadores ligados numa rede (exemplos: rede local / LAN, Internet),
 Cliente obtém autorização pela conexão de controle  Telnet é um protocolo de login/acesso remoto
 Cliente procura o diretório remoto enviando comandos pela conexão de controle  Utiliza o protocolo de transporte TCP
 Quando o servidor recebe um comando para uma transferência de arquivo, ele abre
uma conexão de dados TCP para o cliente  Utiliza porta 23
 Após a transferência de um arquivo, o servidor fecha a conexão  Os dados/comandos são trafegados em claro, inclusive a login/senha
 Servidor abre uma segunda conexão de dados TCP para transferir outro arquivo  O serviço SSH é a alternativa para acesso remoto que implementa criptografia
 Conexão de controle: “fora da banda”  Utiliza porta 22
 Servidor FTP mantém “estado”: diretório atual, autenticação anterior

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 37 37 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 38 38

Exemplo de Telnet Correio eletrônico

Três componentes principais:


 Agentes de usuário
 Servidores de correio
 Simple mail transfer protocol:
SMTP
Agente de usuário
 “leitor de correio”
 Composição, edição, leitura de
mensagens de correio
 Ex.: Eudora, Outlook, elm,
Netscape Messenger
 Mensagens de entrada e de saída
são armazenadas no servidor

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 39 39 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 40 40
Correio eletrônico: servidores de correio Correio eletrônico: SMTP

Servidores de correio  Usa TCP para transferência confiável de mensagens de


 Caixa postal contém mensagens que
chegaram (ainda não lidas) para o correio do cliente ao servidor, porta 25
usuário
 Fila de mensagens contém as
 Transferência direta: servidor envia direto para o servidor
mensagens de correio a serem de destino
enviadas
 Três fases de transferência
Protocolo SMTP permite aos servidores de  Handshaking (apresentação)
correio trocarem mensagens entre si  Transferência de mensagens
 Cliente: servidor de correio que
envia  Fechamento
 “servidor”: servidor de correio que
recebe  Interação comando/resposta
 Comandos: texto ASCII
 Resposta: código de status e frase

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 41 41 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 42 42

Cenário: Alice envia mensagem para Bob Exemplo de interação SMTP


1. Alice usa o agente de usuário (UA) para compor a mensagem e “para”  S: 220 hamburger.edu
bob@someschool.edu
2. O agente de usuário dela envia a mensagem para o seu servidor de correio; a  C: HELO crepes.fr
mensagem é colocada na fila de mensagens.  S: 250 Hello crepes.fr, pleased to meet you
3. O lado cliente do SMTP abre uma conexão TCP com o servidor de correio do Bob.  C: MAIL FROM: <alice@crepes.fr>
4. O cliente SMTP envia a mensagem de Alice pela conexão TCP.
 S: 250 alice@crepes.fr... Sender ok
5. O servidor de correio de Bob coloca a mensagem na caixa de correio de Bob.
6. Bob invoca seu agente de usuário para ler a mensagem.  C: RCPT TO: <bob@hamburger.edu>
 S: 250 bob@hamburger.edu ... Recipient ok
 C: DATA
 S: 354 Enter mail, end with "." on a line by itself
 C: Você gosta de ketchup?
 C: Que tal picles?
 C: .
 S: 250 Message accepted for delivery
 C: QUIT
 S: 221 hamburger.edu closing connection

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 43 43 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 44 44
Formato da mensagem de correio Formato da mensagem de correio

 Correio eletrônico formado por  Linhas de cabeçalho, ex.:


 To:
 Envelope  From:
 Encapsula uma mensagem  Subject: header
diferente dos comandos HTTP
linha
 Contém as informações necessárias para o transporte da mensagem em branco
 corpo
o Como no correio comum
 a “mensagem”, ASCII somente com
 Mensagem caracteres
 Composta por cabeçalho e corpo body

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 45 45 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 46 46

Exemplo de mensagem Formato das mensagens: extensões multimídia

Received: from cliente.br by servidor.br; 16 Jul 06 10:30:01 GMT  MIME: multimedia mail extension
Received: from maquina.cliente.br by cliente.br; 16 Jul 06 10:29:58 GMT
From: usuario@cliente.br  Permite transmitir os arquivos que não são texto pelo serviço de correio eletrônico
To: usuario@servidor.br  Ex: imagens, vídeos, documentos do MS Office, etc...
Subject: Teste  Linhas adicionais no cabeçalho declaram o tipo de conteúdo MIME
Teste de envio de correio.
From: alice@crepes.fr
Versão da MIME To: bob@hamburger.edu
Subject: Picture of yummy crepe.
Método usado MIME-Version: 1.0
para codificar dados Content-Transfer-Encoding: base64
Content-Type: image/jpeg
Dados multimídia
tipo, subtipo, base64 encoded data .....
declaração de parâmetro .........................
......base64 encoded data
Dados codificados

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 47 47 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 48 48
Protocolos de acesso ao correio Servidor de Nomes (DNS)

 DNS – Domain Name System


 Traduz um nome de domínio em um endereço IP
 Dispositivos se comunicam com servidores de nomes para resolver nomes
(translação nome/endereço)
 O uso de nomes facilita a memorização do usuário ao invés de
decorar números IPs ou MAC address
 SMTP: entrega e armazena no servidor do destino  Roda sobre UDP e usa a porta 53
 Protocolo de acesso: recupera mensagens do servidor
 POP: Post Office Protocol [RFC 1939]
 Autorização (agente <-->servidor) e download

 IMAP: Internet Mail Access Protocol [RFC 1730]


 Maiores recursos (mais complexo)

 Manipulação de mensagens armazenadas no servidor

 HTTP: Hotmail , Yahoo! Mail etc.

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 49 49 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 50 50

Base de dados distribuída, hierárquica Base de dados distribuída, hierárquica

Cliente quer o IP para www.unicarioca.br; 1a aprox.:


 Cliente consulta um servidor de raiz para encontrar o servidor DNS .br
 Cliente consulta o servidor DNS .br para obter o servidor DNS unicarioca.br
 Cliente consulta o servidor DNS unicarioca.br para obter o endereço IP para
www.unicarioca.br

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 51 51 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 52 52
Componentes do serviço DNS DNS: servidores de nomes raiz

 Composto de  São contatados pelos servidores de nomes locais que não podem resolver um nome
 Servidores DNS locais  Servidores de nomes raiz:
 Buscam servidores de nomes autorizados se o mapeamento do nome não for
 Três tipos (classes) de servidores de nomes conhecido
 Raiz  Conseguem o mapeamento
 Retornam o mapeamento para o servidor de nomes local
 De domínio de alto nível (Top-Level Domain – TLD)
 Com autoridade

Existem 13 servidores de
nomes raiz no mundo

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 53 53 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 54 54

Servidores TLD e autoritários Servidor de nomes local

 Servidores top-level domain (TLD):  Não pertence estritamente a uma hierarquia


 Responsáveis pelos domínios genéricos .com, .org, .net, .edu, etc e
 Cada ISP (ISP residencial, companhia, universidade) possui um
todos os domínios top-level nacionais .uk, .fr, .ca, .jp, .br, etc.
 Network Solutions mantém servidores para o TLD “.com”
 Também chamado de “servidor de nomes default”
 Educause para o TLD “.edu”  Quando um hospedeiro faz uma pergunta a um DNS, a
pergunta é enviada para seu servidor DNS local
 Servidores DNS autoritários:
 Servidores DNS de organizações, provêm nome de hospedeiro  Age como um proxy, encaminhando as perguntas para dentro
autorizado para mapeamentos IP para servidores de organizações da hierarquia
(ex.: Web e mail).
 Podem ser mantidos por uma organização ou provedor de

serviços

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 55 55 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 56 56
Exemplo de resolução de nome DNS (1) Exemplo de resolução de nome DNS (2)

 hospedeiro em cis.poly.edu servidor DNS raiz  consulta recursiva: serv. DNS raiz
quer endereço IP para 2  Transfere a resolução de nome
gaia.cs.umass.edu 3 servidor DNS TLD para o servidor de nomes
4 contactado 2 3
 consulta iterativa ou repetida: 5 7 6
 servidor contactado serv. DNS TLD
responde com nome do serv. DNS local
dns.poly.edu
servidor a contactar
7 6 serv. DNS local
 “não conheço esse nome, 1 8 5 4
dns.poly.edu
mas pergunte a este
servidor” serv. DNS com autoridade 1 8
dns.cs.umass.edu
hospedeiro serv. DNS com autoridade
solicitante dns.cs.umass.edu
cis.poly.edu hospedeiro
gaia.cs.umass.edu
solicitante
cis.poly.edu
gaia.cs.umass.edu
Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 57 57 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 58 58

Registros de DNS DNS: armazenando e atualizando registros

DNS: b.d. distribuído contendo registros de recursos (RR)  Uma vez que um servidor de nomes apreende um mapeamento, ele
armazena o mapeamento num registro do tipo cache
 Registro do cache tornam-se obsoletos (desaparecem) depois de um
formato do RR: (nome, valor, tipo, ttl)
certo tempo
 Servidores TLD são tipicamente armazenados em cache nos servidores
❒ Tipo = A ❒ Tipo = CNAME de nome locais
 nome é o “hostname”  nome é apelido para algum nome
 Mecanismos de atualização e notificação estão sendo projetados pelo IETF
 valor é o endereço IP “canônico” (real)  RFC 2136
 Tipo = NS www.ibm.com é na realidade  http://www.ietf.org/html.charters/dnsind-charter.html
servereast.backup2.ibm.com
 nome é o domínio (p. e.
foo.com)  valor é o nome canônico
 valor é o “hostname” do
❒ Tipo = MX
servidor de nomes com
autoridade para este domínio  valor é o nome do servidor de
correio associado ao nome

Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 59 59 Prof Sergio Cardoso - Arquitetura de Redes de Computadores - Unidade III 60 60