REC- Redes de Computadores. Capítulo 5 Camada de Aplicação - PDF
Download "REC- Redes de Computadores. Capítulo 5 Camada de Aplicação"
Eric Belo Lobo
1 REC- Redes de Computadores Capítulo 5 Camada de Aplicação
2 Capítulo 5: Camada de aplicação Princípios de aplicações de rede A Web e o HTTP FTP Correio eletrônico SMTP, POP3, IMAP DNS Programação de sockets com UDP Programação de sockets com TCP
3 Objetivos do capítulo: aspectos conceituais, de implementação de protocolos de aplicação de rede modelos de serviço da camada de transporte paradigma cliente- - servidor paradigma peer-to-peer protocolos populares em nível de aplicação: HTTP FTP SMTP/POP3/IMAP DNS programando aplicações de rede API socket
4 Algumas aplicações de rede web mensagem instantânea login remoto compartilhamento de arquivos P2P jogos em rede multiusuários clipes de vídeo armazenados em fluxo contínuo redes sociais voice over IP vídeoconferência em tempo real computação em grade
5 Conexão lógica da camada de aplicação Escreva programas que executem em (diferentes) sistemas finais se comuniquem pela rede p. e., software de servidor Web se comunica com software de navegador Web 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 desenvolvimento e propagação
6 Arquiteturas de aplicação Paradigma Cliente-servidor Paradigma Peer-to-peer (P2P) Paradigma Híbrida de cliente-servidor e P2P
7 Arquitetura cliente-servidor servidor: clientes: hospedeiro sempre ligado c/ end IP permanente server farms por expansão comunicam-se com o servidor e podem estar conectados intermitentemente podem ter endereços IP dinâmicos não se comunicam diretamente entre si
8 Arquitetura cliente-servidor servidor: Carga de comunicação concentra-se no lado do servidor; Necessidade de uma infra melhor do lado do servidor Vários serviços tradicionais: protocolo HTTP de acesso ao conteúdo web; Protocolo FTP de transferência de dados; , dentre outros...
9 Arquitetura P2P pura Camada de aplicação nenhum servidor sempre ligado sistemas finais arbitrários se comunicam diretamente pares são conectados intermitentemente e mudam endereços IP Peer 2 peer altamente escalável, mas difícil de administrar
10 Híbrido de cliente-servidor e P2P Skype Camada de aplicação 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 usuário registra seu endereço IP com servidor central quando entra on-line usuário contacta servidor central para descobrir endereços
11 Processo de comunicação A comunicação na camada de aplicação se dá entre dois aplicativos em execução denominados processos: um cliente e um servidor. Um cliente é um programa em execução que inicia a comunicação enviando um pedido (ou solicitação); um servidor é outro programa que aguarda pedidos de clientes.
12 Processos se comunicando processo: programa rodando dentro de um hospedeiro no mesmo hospedeiro, dois processos se comunicam usando a comunicação entre processos (definida pelo SO). processos em hospedeiros diferentes se comunicam trocando mensagens processo cliente: processo que inicia a comunicação processo servidor: processo que espera para ser contactado
13 Arquitetura cliente-servidor Um processo é capaz de se comunicar com outro, através de conjunto de instruções para dizer às quatro camadas mais baixas da pilha de protocolos TCP/IP que abram a conexão, enviem os dados à outra estação, recebam os dados dela e fechem a conexão. Este conjunto de instruções desse tipo é normalmente chamado Interface de Programação de Aplicativos (API Application Programming Interface).
15 Sockets processo envia/recebe mensagens de/para seu socket socket semelhante à porta processo enviando empurra mensagem pela porta processo enviando conta com infraestrutura de transporte no outro lado da porta, que leva a mensagem ao socket no processo receptor hospedeiro ou servidor processo socket TCP com buffers, variáveis controlado pelo desenvolvedor da aplicação controlado pelo OS Internet hospedeiro ou servidor processo socket TCP com buffers, variáveis
16 Endereçando processos para receber mensagens, processo deve ter identificador dispositivo hospedeiro tem endereço IP exclusivo de 32 bits Identificador inclui endereço IP e números de porta associados ao processo no hospedeiro. Exemplos de número de porta: servidor HTTP: 80 servidor de correio: 25
17 Definições de protocolo da camada de aplicação tipos de mensagens trocadas, p. e., requisição, resposta sintaxe da mensagem: que campos nas mensagens & como os campos são delineados semântica da mensagem significado da informação nos campos regras de quando e como processos enviam & respondem a mensagens protocolos de domínio público: definidos em RFCs provê interoperabilidade p. e., HTTP, SMTP, BitTorrent protocolos proprietários: p. e., Skype, ppstream
18 Aplicações da Internet: aplicação, protocolos de transporte Aplicação acesso remoto Web transf. arquivos multimídia com fluxo contínuo telefonia da Internet Protocolo da camada de aplicação SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (p. e., Youtube), RTP [RFC 1889] SIP, RTP, proprietário (p. e., Skype) Protocolo de transporte básico TCP TCP TCP TCP TCP ou UDP normalmente UDP
19 Aplicações da Internet: protocolos de transporte e porta Porta Serviço ou Aplicação 21 FTP 23 Telnet 25 SMTP 53 Domain Name System 63 Whois 70 Gopher 79 Finger 80 HTTP 110 POP3 119 NNTP
20 Web e HTTP página Web consiste em objetos objeto pode ser arquivo HTML, imagem JPEG, applet Java, arquivo de áudio, página Web consiste em arquivo HTML básico que inclui vários objetos referenciados cada objeto é endereçável por um URL exemplo de URL: nome do hospedeiro nome do caminho
21 Web e HTTP nome do hospedeiro nome do caminho Abreviação do protocolo: http, ftp,... Identificador do host: pode ser o IP do servidor ou o nome dado ao servidor ( a ser explicado depois ) Caminho: identifica o local e o nome do arquivo no sistemas
22 Arquitetura cliente servidor Nível de aplicação
23 Visão geral do HTTP HTTP: HyperText Transfer Protocol protocolo da camada de aplicação da Web modelo cliente/servidor cliente: navegador que requisita, recebe, exibe objetos Web servidor: servidor Web envia objetos em resposta a requisições PC rodando Explorer Mac rodando Navigator Servidor rodando servidor Web Apache
24 Cliente (Navegador): Camada de aplicação
25 HTTP usa o TCP: cliente inicia conexão TCP (cria socket) com servidor, porta 80 servidor aceita conexão TCP do cliente mensagens HTTP (do protocolo da camada de aplicação) trocadas entre navegador (cliente HTTP) e servidor Web (servidor HTTP) conexão TCP fechada HTTP é sem estado servidor não guarda informações sobre requisições passadas do cliente aparte Protocolos que mantêm estado são complexos! história passada (estado) deve ser mantida se servidor/cliente falhar, suas visões do estado podem ser incoerentes, devem ser reconciliadas
26 Conexões HTTP HTTP não persistente no máximo um objeto é enviado por uma conexão TCP. HTTP persistente múltiplos objetos podem ser enviados por uma única conexão TCP entre cliente e servidor.
27 Exercício prático Utilizando a ferramenta Wireshark: Obtenha páginas web utilizando o protocolo HTTP; Capture e análise o conteúdos dos pacotes HTTP. Identifique o HTTP request e o response Identifique o protocolo de nível de transporte, e as portas que estão sendo utilizadas. Identifique os endereços origem/destino do nível de rede
28 HTTP não persistente Suponha que o usuário digite o URL 1a. Cliente HTTP inicia conexão TCP com servidor HTTP (processo) em na porta 80. (contém texto, referências a 10 imagens JPEG) 1b. Servidor HTTP no hospedeiro esperando conexão TCP na porta 80. aceita conexão, notificando cliente 2. Cliente HTTP envia mensagem de requisição HTTP (contendo URL) pelo socket de conexão TCP. Mensagem indica que cliente deseja o objeto somedepartment/home.index. 3. Servidor HTTP recebe mensagem de requisição, forma mensagem de resposta contendo objeto requisitado e envia mensagem para seu socket tempo
29 5. Cliente HTTP recebe mensagem de resposta contendo arquivo html, exibe html. Analisando arquivo html, acha 10 objetos JPEG referenciados. 4. Servidor HTTP fecha conexão TCP. tempo 6. Etapas 1-5 repetidas para cada um dos 10 objetos JPEG.
30 HTTP não persistente: Demanda uma alta carga computacional!
31 HTTP não persistente: tempo de resposta definição de RTT: tempo para um pequeno pacote trafegar do cliente ao servidor e retornar. tempo de resposta: um RTT para iniciar a conexão TCP um RTT para a requisição HTTP e primeiros bytes da resposta HTTP retornarem tempo de transmissão de arquivo total = 2RTT + tempo de transmissão inicia conexão TCP RTT requisita arquivo RTT arquivo recebido tempo tempo tempo para transmitir arquivo
32 HTTP persistente problemas do HTTP não persistente: requer 2 RTTs por objeto overhead do SO para cada conexão TCP navegadores geralmente abrem conexões TCP paralelas para buscar objetos referenciados HTTP persistente: servidor deixa a conexão aberta depois de enviar a resposta mensagens HTTP seguintes entre cliente/servidor enviadas pela conexão aberta cliente envia requisições assim que encontra um objeto referenciado no mínimo um RTT para todos os objetos referenciados
33 HTTP persistente
34 Mensagem de requisição HTTP: formato geral origem mensagem segmento H t datagrama H n H t quadro H l H n H t M M M M aplicação transporte rede enlace física enlace física Encapsulamento comutador H l H t H n H t H n H t M M M M destino aplicação transporte rede enlace física H n H t H l H n H t M M rede enlace física H n H t M roteador
35 Formato das mensagens HTTP Camada de aplicação
36 Tipos de métodos Camada de aplicação
37 Nomes de cabeçalhos de solicitação Camada de aplicação
38 Nomes de cabeçalhos de resposta Camada de aplicação
39 Recupera uma imagem com o método get Enviar página web para ser publicada
40 Versões do HTTP HTTP/1.0 GET POST HEAD pede ao servidor para deixar objeto requisitado fora da resposta HTTP/1.1 GET, POST, HEAD PUT envia arquivo no corpo da entidade ao caminho especificado no campo de URL DELETE exclui arquivo especificado no campo de URL
41 Mensagem de resposta HTTP linha de status (protocolo código de estado frase de estado) dados, p. e., arquivo HTML requisitado linhas de cabeçalho HTTP/ OK Connection close Date: Thu, 06 Aug :00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun Content-Length: 6821 Content-Type: text/html dados dados dados dados dados...
42 Códigos de estado da resposta HTTP 200 OK requisição bem-sucedida, objeto requisitado mais adiante 301 Moved Permanently objeto requisitado movido, novo local especificado mais adiante na mensagem (Location:) 400 Bad Request mensagem de requisição não entendida pelo servidor 404 Not Found Camada de aplicação documento requisitado não localizado neste servidor 505 HTTP Version Not Supported
43 Exercício Camada de aplicação Alice tem um clipe de vídeo que Bob gostaria de receber e Bob tem um outro clipe de vídeo que Alice gostaria de receber. Bob cria uma página Web e executa um servidor HTTP. Como Alice pode obter o clipe de Bob? Como Bob pode obter o clipe de Alice? Quando um servidor HTTP recebe uma mensagem de solicitação de um cliente HTTP, como o servidor sabe o instante em que todos os cabeçalhos chegaram e que o corpo das mensagens virá a seguir? Em uma conexão HTTP não persistente como o HTTP pode informar ao protocolo TCP que o final da mensagem foi atingido?
44 Exemplo Suponha que haja um servidor com o nome de domínio A.) Construa uma solicitação http para recuperar o documento /usr/users/doc. O cliente aceita MIME versão 1, imagens GIF e JPEG, mas o documento não pode ser mais antigo do que quatro dias. B.) Mostre a resposta HTTP para o ítem a.) no caso de um pedido bem sucedido. Cliente: GET /usr/users/doc HTTP /1.1 Date: Fri, 26-Nov-04 16:46:23 GMT MIME-version: 1.0 Accept: image/gif Accept: image/jpeg Last modified: Mon, 22-Nov-04 Servidor: HTTP/ OK Date: Fri, 26-Nov-04 16:46:26 GMT Server: Challenger MIME-version: 1.0 Content-length: 4623 (Corpo do documento)
45 Cookies WWW foi originalmente concebida como uma entidade sem estado. Ou seja, cliente envia pedido e cliente responde! Porém outras necessidades surgiram: Sites usados como lojas virtuais; Sites precisam permitir acesso apenas à clientes registrados; Sites são usados como portais ( paginas são selecionadas pelos clientes); Como resolver estas situações: utilizando cookies.
46 Cookies Camada de aplicação O navegador do comprador (cliente) envia um pedido p/ o servidor MelhoresBrinquedos. O servidor cria um carrinho de compras vazio (uma lista) para o cliente e atribui um ID para o carrinho de compras (por exemplo, 12343). O servidor, então, envia uma mensagem de resposta, que contém as imagens de todos os brinquedos disponíveis e um link associado a cada brinquedo; quando clicado, o link seleciona o brinquedo. Se o cliente acessar a loja no futuro, enviará o cookie novamente.
47 Cookies Muitos sites importantes usam cookies Quatro componentes: 1) linha de cabeçalho de cookie da mensagem de resposta HTTP 2) linha de cabeçalho de cookie na mensagem de requisição HTTP 3) arquivo de cookie na máquina do usuário, controlado pelo navegador do usuário 4) banco de dados de apoio no site Web
48 O que os cookies podem ter: autorização carrinhos de compras recomendações estado da sessão do usuário ( da Web) Cookies e privacidade: cookies permitem que os sites descubram muito sobre você aparte você pode fornecer nome e aos sites Como manter o estado : extremidades do protocolo: mantêm estado no emissor/receptor por múltiplas transações cookies: mensagens HTTP transportam estado
49 Exercício: No HTTP, desenhe uma figura que mostre a aplicação de cookies em um cenário no qual o servidor permite acesso apenas à clientes cadastrados No HTTP, desenhe uma figura que mostre a aplicação de cookies em um cenário em um portal web que usa dois sites.
50 Caches Web (servidor proxy) Servidor origem Atender a requisição do cliente sem envolver servidor de origem O navegador envia todas as requisições HTTP ao cache, que normalmente fica na rede do cliente; objeto no cache: cache retorna objeto ou cache requisita objeto do servidor de origem, depois retorna objeto ao cliente cliente cliente servidor proxy
51 Caches Web cache atua como cliente e servidor normalmente, cache é instalado por ISP (da universidade, empresa, residencial) Por que caching Web? reduz tempo de resposta à requisição do cliente reduz tráfego no enlace de acesso de uma instituição Internet densa com caches: permite que provedores de conteúdo fracos remetam conteúdo efetivamente (mas o mesmo ocorre com compartilhamento de arquivos P2P)
52 Exemplo de caching suposições tamanho médio do objeto = bits taxa de requisição média dos navegadores da instituição aos servidores de origem = 15/s atraso do roteador institucional a qualquer servidor de origem e de volta ao roteador = 2 s consequências utilização na LAN = 15% utilização no enlace de acesso = 100% atraso total = atraso da Internet + atraso do acesso + atraso da LAN = 2 s + x minutos + y milissegundos rede institucional Internet pública enlace de acesso a 15 Mbps servidores de origem LAN de 100 Mbps cache institucional
53 solução possível aumentar largura de banda do enlace de acesso para, digamos, 100 Mbps consequência utilização na LAN = 15% utilização no enlace de acesso = 15% atraso total = atraso da Internet + atraso do acesso + atraso da LAN = 2 s + x ms + y ms normalmente, uma atualização dispendiosa rede institucional Internet pública enlace de acesso a 100 Mbps servidores de origem LAN de 100 Mbps cache institucional
54 possível solução: instalar cache suponha que índice de acerto é 0,4 consequência 40% de requisições serão satisfeitas imediatamente 60% de requisições satisfeitas pelo servidor de origem utilização do enlace de acesso reduzida para 60%, resultando em atrasos insignificantes (digamos, 10 ms) atraso médio total = atraso da Internet + atraso de acesso + atraso da LAN = 0,6*(2,01) s + 0,4*milissegundos < 1,4 s rede institucional Internet pública enlace de acesso a 15 Mbps servidores de origem LAN de 100 Mbps cache institucional
55 GET condicional objetivo: não enviar objeto se o cache tiver versão atualizada cache: especifica data da cópia em cache na requisição HTTP If-modified-since: <data> servidor: resposta não contém objeto se a cópia em cache estiver atualizada: HTTP/ Not Modified cache msg requisição HTTP If-modified-since: <data> resposta HTTP HTTP/ Not Modified msg requisição HTTP If-modified-since: <data> resposta HTTP HTTP/ OK <dados> servidor objeto não modificado objeto modificado
56 FTP: o protocolo de transferência de arquivos interface de usuário FTP cliente FTP transf. de arquivos servidor FTP usuário no hospedeiro sistema de arquivo local sistema de arquivo remoto transfere arquivo de/para hospedeiro remoto modelo cliente/servidor cliente: lado que inicia transferência (de/para remoto) servidor: hospedeiro remoto ftp: RFC 959 servidor ftp: porta 21
57 FTP: conexões separadas p/ controle e dados cliente FTP contacta servidor FTP na porta 21. O TCP é o protocolo de transporte cliente autorizado por conexão de controle cliente navega por diretório remoto enviando comandos por conexão de controle quando servidor recebe comando de transferência de arquivo, abre 2 a conexão TCP (para arquivo) com cliente após transferir um arquivo, servidor fecha conexão de dados cliente FTP conexão de controle TCP porta 21 conexão de dados TCP porta 20 servidor FTP servidor abre outra conexão de dados TCP para transferir outro arquivo conexão de controle: fora da banda servidor FTP mantém estado : diretório atual, autenticação anterior
58 Comandos e respostas FTP
59 Alguns comandos FTP Camada de aplicação
60 Alguns comandos e respostas FTP
61 Comandos e respostas FTP
62 Correio eletrônico Três componentes principais: agentes do usuário servidores de correio Simple Mail Transfer Protocol: SMTP O envio de um envolve nove passos distintos.
63 Correio eletrônico: servidores de correio servidores de correio caixa de correio contém mensagens que chegam para o usuário fila de mensagens com mensagens de correio a serem enviadas protocolo SMTP entre servidores de correio para enviar mensagens de e- mail cliente: servidor de envio de correio servidor : servidor de recepção de correio serv. correio SMTP serv. correio agente usuário agente usuário SMTP SMTP agente usuário serv. correio agente usuário agente usuário agente usuário
64 Cenário: Alice envia mensagem a Bob 1) Alice usa AU para redigir mensagem para 2) O AU de Alice envia mensagem ao seu servidor de correio, que é colocada na fila de mensagens 3) Lado cliente do SMTP abre conexão TCP com servidor de correio de Bob 4) Cliente SMTP envia mensagem de Alice pela conexão TCP 5) Servidor de correio de Bob coloca mensagem na caixa de correio de Bob 6) Bob chama seu agente do usuário para ler mensagem
65 Protocolos utilizados no
66 SMTP [RFC 2821] O cliente usa TCP para transferir de modo confiável a mensagem de ao servidor através da porta 25 transferência direta: servidor de envio ao servidor de recepção três fases da transferência: handshaking ( estabelecimento da conexão) transferência de mensagens fechamento interação comando/resposta comandos: texto ASCII resposta: código e frase de estado mensagens devem estar em ASCII de 7 bits
67 Comandos SMTP Camada de aplicação
68 Comandos SMTP Camada de aplicação
69 Comandos SMTP Camada de aplicação
70 Exemplo_01 de interação SMTP Cliente envia msg. HELO p/ se identificar O servidor de após receber a mensagem pode colocá-la na fila e enviá-la ao servidor remoto em outro momento
71 Exemplo_2 de interação SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: S: 250 Sender ok C: RCPT TO: S: 250 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 C: são as linhas que o cliente envia para dentro de seu socket TCP S: são as linhas que o servidor envia para dentro de seu socket TCP
72 Formato da mensagem de correio SMTP: protocolo para trocar mensagens de RFC 822: padrão para formato de mensagem de texto: linhas de cabeçalho, p. e., Para: De: Assunto: diferente dos comandos SMTP! corpo a mensagem, apenas em caracteres ASCII cabeçalho corpo linha em branco
73 SMTP: resumo SMTP usa conexões persistentes SMTP requer que a mensagem (cabeçalho e corpo) esteja em ASCII de 7 bits servidor SMTP usa CRLF.CRLF para determinar fim da mensagem Comparação com HTTP: HTTP: puxa SMTP: empurra ambos têm interação de comando/resposta em ASCII, códigos de estado HTTP: cada objeto encapsulado em sua própria mensagem de resposta SMTP: múltiplos objetos enviados na mensagem multiparte
74 Protocolos de acesso de correio POP3: Post Office Protocol [RFC 1939] autorização (agente <--> servidor) e download IMAP4: Internet Mail Access Protocol [RFC 1730] mais recursos (mais complexo) manipulação de msgs armazenadas no servidor HTTP: gmail, Hotmail, Yahoo! Mail etc.
75 Protocolos de acesso de correio O POP3 é simples e pode operar em dois modos: Excluir: o é removido da caixa de correio após ter sido obtido; Manter: normalmente utilizado quando o usuário acessa a caixa de correio de um lugar diferente de seu computador; Não permite que o usuário organize seus s no servidor, pois o usuário não pode ter diferentes pastas; Não permite que o usuário verifique parcialmente o conteúdo do antes de obtê-lo.
76 POP3 Camada de aplicação
77 Protocolos de acesso de correio IMAP4: O usuário pode verificar o cabeçalho do emial antes de obtê-lo; O usuário pode procurar por uma sequencia específica de caracteres antes de obtê-lo; O usuário pode obter um parcialmente; O usuário pode criara, remover ou renomear caixas de correio no servidor de ; O usuário pode criar hierarquias de caixas de correio em uma pasta;
78 Protocolo POP3 fase de autorização comandos do cliente: user: declare username pass: senha respostas do servidor +OK -ERR fase de transação, cliente: list: lista números de msg. retr: recupera mensagem por número dele: exclui quit S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK usuário logado com sucesso C: list S: S: S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK serv. POP3 desconectando
79 Protocolos de acesso de correio MIME ( Multifunção para mensagens de internet): Correio eletrônico eniva mensagens no formato: NVT ASCII de 7 bits O MIME transforma dados não ASCII em dados NVT ASCII e entrega ao MTA.
80 baseado na Web HTTP: dois cenários
81 DNS: Domain Name System Os usuários da internet preferem utilizar nomes ao invés de endereços IP. Como mapeamos nomes para endereços IP? Através de um sistema de diretório formado de banco de dados distribuído, implementado de forma hierarquica através de um conjunto de servidores de nomes. O DNS é um protocolo do nível de aplicação, em que hospedeiro, roteadores, servidores de nomes se comunicam para resolver nomes (tradução endereço/nome). Considerando que o usuário conhece apenas o nome de um servidor de arquivos (xxx.yyy.xom), qual procedimento para que utilizando o serviço DNS mapeia o nome para um endereço IP?
82 DNS: Domain Name System 1.O usuário fornece o nome do host para o cliente de transf. de arquivo; 2. O cliente de transf. De arquivo passa o nome do host par o cliente DNS; 3. Cada computador depois de iniciado conhece o endereço de server DNS; 4. O server DNS responde com o endereço IP; 5. o cliente DNS para o end. IP para o cliente de transf. de arquivo.
83 DNS Espaço de nome de domínios: Cada nó da árvore tem um rótulo ( 63 caracteres). O DNS exige que os filhos de um nó tenham rótulos diferentes o que garante a unicidade dos nomes de domínio. Cada nó da árvore tem um nome de domínio. Um nome de domínio completo é uma sequencia de rótulos separados por (.) Domínio: corresponde a uma subárvore do espaço de nomes de domínio
84 Banco de dados distribuído e hierárquico Se um servidor dividir seu domínio em subdomínios e delegar parte de sua autoridade a outros servidores, o domínio e a zona se referem a coisas distintas As informações osbre os nós dos subdomínios são armazenadas nos servidores em níveis mais baixos. Como a hierarquia completa de nomes não pode ser armazenada em um único servidor, ela é dividida entre vários servidores. Aquilo sobre o qual um servidor tem autoridade é chamado de zona
85 Classes e hierarquia de servidores DNS São poucos Responsáveis por domínios de alto nível (com, edu, gov, org), e pelos domínios de alto nível de países, tais como uk, fr, ca, jp, br... Servidores DNS raiz servs. DNS com servs. DNS org servs. DNS edu servs. DNS yahoo.com servs. DNS amazon.com servs. DNS pbs.org servs. DNS poly.edu servs. DNS umass.edu Toda organização que tiver hospedeiros que possam ser acessados publicamente na internet deve fornecer registros DNS também acessíveis publicamente. Um server com autoridade abriga estes registros. Uma organização pode preferir implementar seu próprio servidor DNS com autoridade, ou como alternativa, pode pagar para armazená-los em um servidor DNS com autoridade de algum provedor de serviço Servidor DNS Local: não pertence a hierarquia de servidores. Cada ISP possui um servidor de nomes.
86 DNS: Domínio genérico Camada de aplicação
87 DNS: Domínio país Camada de aplicação
88 DNS: Servidores de nomes raiz contactados por servidores de nomes locais que não conseguem traduzir nome servidores de nomes raiz: contacta servidor de nomes com autoridade se o mapeamento não for conhecido obtém mapeamento retorna mapeamento ao servidor de nomes local 13 servidores de nomes raiz no mundo
89 Servidores de alto nível e com autoridade servidores de domínio de alto nível: responsáveis por com, org, net, edu etc. e todos os domínios de país de alto nível: br, uk, fr, ca, jp. servidores DNS com autoridade: servidores DNS da organização, provendo nome de hospedeiro com autoridade a mapeamentos IP para os servidores da organização (p. e., Web, correio). podem ser mantidos pela organização ou provedor de serviços
90 Servidor de nomes local não pertence estritamente à hierarquia cada ISP (ISP residencial, empresa, universidade) tem um. também chamado servidor de nomes default quando hospedeiro faz consulta ao DNS, consulta é enviada ao seu servidor DNS local atua como proxy, encaminha consulta para hierarquia