Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 Arquitetura de Redes de Computadores Unidade II – Camada de Aplicação 2 2 3Arquitetura de Redes de Computadores - Unidade II 3 Camada de aplicação � Nossos objetivos: � Aspectos conceituais, aspectos de implementação de protocolos de aplicação de redes � 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 o HTTP o FTP o Telnet/SSH o SMTP/ POP3/ IMAP o DNS 4Arquitetura de Redes de Computadores - Unidade II 4 Criando uma nova aplicação de rede � Escrever programas que � Executem em diferentes sistemas finais e � Se comuniquem através de uma rede. � 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 desenvolvimento e propagação 3 5 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 Arquitetura de Redes de Computadores - Unidade II 5 6 Algumas aplicações de rede � E-mail � 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 4 7 Arquiteturas de aplicação � Cliente-servidor � Incluindo centros de dados/cloud computing � Peer-to-peer (P2P) � Híbrida de cliente-servidor e P2P Arquitetura de Redes de Computadores - Unidade II 7 8Arquitetura de Redes de Computadores - Unidade II 8 Arquitetura cliente-servidor � Servidor: � Hospedeiro sempre ligado � Endereço IP permanente � Fornece serviços solicitados pelo cliente � Server farms por expansão � 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 5 9Arquitetura de Redes de Computadores - Unidade II 9 Modelo Cliente Servidor 10Arquitetura de Redes de Computadores - Unidade II 10 Cliente-Servidor � Vantagens � Segurança � Controle central de arquivos � Servidores dedicados e otimizados � Os usuários não se preocupam com a administração � Desvantagens � Custo � Hardware � Software � É necessário um administrador � Baixa escalabilidade � Baixa disponibilidade 6 11 Centros de dados da Google � Custo estimado do centro de dados: US$ 600 M � Google gastou US$2,4Bi em 2007 em novos centros de dados � Cada centro de dados usa de 50 a 100 megawatts de potência Arquitetura de Redes de Computadores - Unidade II 11 12Arquitetura de Redes de Computadores - Unidade II 12 Arquitetura P2P pura � Nenhum servidor está sempre ligado � Sistemas finais arbitrários se comunicam diretamente � Pares são conectados intermitentemente e mudam endereços IP Altamente escaláveis mas difíceis de administrar 7 13Arquitetura de Redes de Computadores - Unidade II 13 Peer-to-Peer � Vantagens � Sem investimento extra com servidores � Alta escalabilidade � Alta disponibilidade � Sem administrador � Desvantagens � Sem organização central � Difícil localização de arquivos � Duplicações desnecessárias � Os usuários são os administradores � Sem segurança 14Arquitetura de Redes de Computadores - Unidade II 14 Híbrida de cliente-servidor e P2P � Integra os conceitos da arquitetura cliente servidor com P2P � Cliente Servidor � Normalmente um servidor para autenticação e localização � P2P � Depois de localizado, troca direta entre os pares � Exemplo � 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 8 15Arquitetura de Redes de Computadores - Unidade II 15 Comunicação de processos �Processo: programa executando num hospedeiro � Dentro do mesmo hospedeiro: � dois processos se comunicam usando comunicação interprocesso (definido pelo SO) � Processos em diferentes hospedeiros se comunicam por meio de troca de mensagens � Processo cliente: o processo que inicia a comunicação � Processo servidor: o processo que espera para ser contatado Nota: aplicações com arquiteturas P2P possuem processos cliente e processos servidor 16Arquitetura de Redes de Computadores - Unidade II 16 Sockets � Um processo envia/recebe mensagens para/de seu socket � É a interface de comunicação entre a camada de aplicação e camada de transporte � O socket é análogo a uma “porta de casa” � O processo de envio empurra a mensagem para fora da “porta” � O processo de envio confia na infra- estrutura de transporte no outro lado da porta que leva a mensagem para o socket no processo de recepção 9 17Arquitetura de Redes de Computadores - Unidade II 17 De qual serviço de transporte uma aplicação necessita? � Perda de dados � Algumas aplicações (ex.: áudio) podem tolerar alguma perda � Outras aplicações (ex.: transferência de arquivos, telnet) exigem transferência de dados 100% confiável � Temporização � Algumas aplicações (ex.: telefonia Internet, jogos interativos) exigem baixos atrasos para serem “efetivos” � Banda passante / Vazão � Algumas aplicações (ex.: multimídia) exigem uma banda mínima para serem “efetivas” � Outras aplicações (“aplicações elásticas”) melhoram quando a banda disponível aumenta” � Segurança � criptografia, integridade de dados,… 18Arquitetura de Redes de Computadores - Unidade II 18 Serviços dos protocolos de transporte da Internet � Serviço TCP: � Orientado à conexão: � conexão requerida entre processos cliente e servidor � Transporte confiável entre os processor de envio e recepção � Controle de fluxo: � o transmissor não sobrecarrega o receptor � Controle de congestionamento: � protege a rede do excesso de tráfego � Não oferece: � garantias de temporização (atrasos) e de banda mínima � Serviço UDP: � Transferência de dados não confiável entre os processos transmissor e receptor � Não oferece: � estabelecimento de conexão, confiabilidade, controle de fluxo e de congestionamento, garantia de temporização e de banda mínima. P.: Por que ambos? Por que existe o UDP? 10 19Arquitetura de Redes de Computadores - Unidade II 19 Aplicação transf. arquivos e-mail documentos Web áudio/vídeo tempo real áudio/vídeo armazenado jogos interativos Mensagem instantânea Perda de dados sem perda sem perda sem perda tolerante a perda tolerante a perda tolerante a perda sem perda Vazão elástica elástica elástica áudio: 5 kbps-1 Mbps vídeo:10 kbps-5 Mbps o mesmo que antes poucos kbps ou mais elástica Sensível ao tempo não não não sim, centenas de ms sim, alguns seg sim, centenas de ms sim e não Requisitos de serviço de transportedas aplicações comuns 20Arquitetura de Redes de Computadores - Unidade II 20 Aplicação e-mail acesso remoto Web transf. arquivos multimídia com fluxo contínuo telefonia da Internet Tradução de nomes Gerenciamento de redes 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) DNS [RFC 1035] SNMP Protocolo de transporte básico TCP TCP TCP TCP TCP ou UDP normalmente UDP tipicamente UDP tipicamente UDP Aplicações da Internet: aplicação, protocolos de transporte 11 21Arquitetura de Redes de Computadores - Unidade II 21 Protocolos de aplicação e transporte Serviço Web e Protocolo HTTP 12 23Arquitetura de Redes de Computadores - Unidade II 23 Serviço World Wide Web � 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 protocol) � 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 24Arquitetura de Redes de Computadores - Unidade II 24 Web e HTTP � Página Web formada por objetos � Objeto pode ser arquivo HTML, imagem JPEG, Java applet, arquivo de áudio,… � A página Web consiste de arquivo-HTML base que inclui vários objetos referenciados � Cada objeto é endereçado por uma URL � Estrutura de URL � protocolo://máquina:porta/caminho/recurso � Exemplo de URL: http://www.resultado.com.br:80/final/2010/aprovados.htm Protocolo Máquina Porta Caminho Recurso 13 25Arquitetura de Redes de Computadores - Unidade II 25 Visão geral do HTTP � HTTP: hypertext transfer protocol � Protocolo da camada de aplicação da Web � Utiliza protocolo de transporte TCP � Modelo cliente/servidor � Cliente: browser que solicita, recebe e apresenta objetos da Web � Servidor: envia objetos em resposta a pedidos � Versões � HTTP 1.0: RFC 1945 � HTTP 1.1: RFC 2616 26Arquitetura de Redes de Computadores - Unidade II 26 Visão geral do HTTP • Funcionamento básico do http 1. Cliente inicia conexão TCP (via socket) para o servidor na porta 80 2. Servidor aceita uma conexão TCP do cliente 3. Cliente envia mensagens HTTP de requisição(mensagens do protocolo de camada de aplicação) através do browser (cliente HTTP) para o servidor Web (servidor HTTP). O servidor envia o objeto solicitado através de mensagens de resposta. 4. A conexão TCP é fechada � HTTP é “stateless” � O servidor não mantém informação sobre os pedidos passados pelos clientes � Protocolos que mantêm informações de “estado” são complexos! 14 27Arquitetura de Redes de Computadores - Unidade II 27 Conexões HTTP � HTTP não persistente � No máximo, um objeto é enviado sobre uma conexão TCP � Cada objeto é solicitado e enviado através de uma única conexão TCP � O HTTP/1.0 utiliza HTTP não persistente � HTTP persistente � Múltiplos objetos podem ser enviados sobre uma conexão TCP entre o cliente e o servidor � O HTTP/1.1 utiliza conexões persistentes em seu modo padrão � O HTTP persistente tem duas variantes � 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 configurado no browser o O servidor pode estar configurado para responder a um limite máximo de conexões de uma mesma origem � Para verificar no Firefox � Na barra de endereços digite about:config � Procurar a opção network.http.pipelining e colocar como true 28Arquitetura de Redes de Computadores - Unidade II 28 HTTP não persistente 1a. Cliente HTTP inicia conexão TCP ao servidor HTTP (processo) em www.unicarioca.edu.br. Porta 80 é a default para o servidor HTTP. 2. Cliente HTTP envia HTTP mensagem de requisição (contendo a URL) para o socket da conexão TCP 1b. Servidor HTTP no hospedeiro www.unicarioca.edu.br esperando pela conexão TCP na porta 80. “Aceita” conexão, notificando o cliente 3. Servidor HTTP recebe mensagem de pedido, forma uma mensagem de resposta contendo o objeto solicitado (graduacao/index.html), envia mensagem para o socket Tempo (contém texto,referências a 10 imagens jpeg) Usuário entra com a URL: www.unicarioca.edu.br/graduacao/index.html 15 29Arquitetura de Redes de Computadores - Unidade II 29 HTTP não persistente 5. Cliente HTTP recebe mensagem de resposta contendo o arquivo html, apresenta o conteúdo html. Analisando o arquivo html, encontra 10 objetos jpeg referenciados 6. Passos 1-5 são repetidos para cada um dos 10 objetos jpeg. 4. Servidor HTTP fecha conexão TCP. Tempo 30Arquitetura de Redes de Computadores - Unidade II 30 Mensagem HTTP request: formato geral 16 31Arquitetura de Redes de Computadores - Unidade II 31 Carriage return, line feed indica fim da mensagem �Dois tipos de mensagens HTTP: request, response � HTTP request message: � ASCII (formato legível para humanos) GET /somedir/page.html HTTP/1.0 User-agent: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed) Linha de pedido (comandos GET, POST, HEAD ) Linhas de cabeçalho Mensagem HTTP request 32Arquitetura de Redes de Computadores - Unidade II 32 Tipos de métodos Método HTTP 1.0 HTTP 1.1 GET Método que solicita algum recurso ou objeto ao servidor � � HEAD Solicita informações de um determinado objeto sem que esse seja enviado ao cliente apenas para testa a validade do último acesso � � POST Método usado para envio de arquivo dados ou formulário HTML ao servidor � � OPTIONS Por meio desse método o cliente obtém as propriedades do servidor � DELETE Informa por meio do URL o objeto a ser deletado � TRACE Para enviar mensagem do tipo loopback para teste � PUT Aceita criar ou modificar algum objeto do servidor � CONNECT Comunicar com servidores Proxy � 17 33Arquitetura de Redes de Computadores - Unidade II 33 Entrada de formulário � Em entradas de formulários: Método POST: � Página Web frequentemente inclui entrada de formulário � A entrada é enviada para o servidor no corpo da entidade Método GET: � A entrada é enviada no campo de URL da linha de requisição: www.carioca.br/procuraaluno.php?matricula=1234&nome=jose 34Arquitetura de Redes de Computadores - Unidade II 34 HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ... Linha de status (protocolo código de status frase de status) Linhas de cabeçalho Dados, ex.: arquivo html Mensagem HTTP response 18 35Arquitetura de Redes de Computadores - Unidade II 35 Códigos de status das respostas � Na primeira linha da mensagem de resposta servidor -> cliente. � Séries de código existentes: � 100: Informational (Informação) � Utilizada para enviar informações para o cliente de que sua requisição foi recebida e está sendo processada � 200 � 200 OK � Sucesso: Requisição bem-sucedida, objeto requisitado a seguir nesta mensagem � 300 � 301 Moved permanently o Redirecionamento:Objeto requisitado foi movido, nova localização especificada a seguir nesta mensagem (Location:) � 400 � 400 Bad request o Erro no cliente: Mensagem de requisição não compreendida pelo servidor � 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. � Mais exemplos em http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6 36Arquitetura de Redes de Computadores - Unidade II 36 HTTP Request Cabeçalho Corpo da mensagem Campos de informações com seus valores 19 37Arquitetura de Redes de Computadores - Unidade II 37 HTTP Reply 200 ok Cabeçalho Corpo da mensagem 38Arquitetura de Redes de Computadores - Unidade II 38 HTTP Reply 304 Not Modified Cabeçalho Corpo da mensagem 20 39Arquitetura de Redes de Computadores - Unidade II 39 HTTP Request – Envio Informações Cabeçalho Corpo da mensagem 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 40 Estado usuário-servidor: 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 Exemplo: � Usuário sempre acessa a Internet pelo PC � visita um site de comércio eletrônico pela primeira vez � quando as primeiras requisições HTTP chegam ao site, este cria: � ID exclusivo � entrada no banco de dados de apoio para o ID 21 41 cliente servidor resposta http normal resposta http normal arq. de cookie uma semana depois: requisição http normal cookie: 1678 ação específica do cookie acessa ebay 8734 requisição http normal servidor Amazon cria ID 1678 para usuário cria entrada resposta http normal Set-cookie: 1678 ebay 8734 amazon 1678 requisição http normal cookie: 1678 ação específica do cookie acessa ebay 8734 amazon 1678 banco de dados de apoio Estado usuário-servidor: cookies já existe 42 Estado usuário-servidor: cookies O que os cookies podem ter: � autorização � carrinhos de compras � recomendações � estado da sessão do usuário (e-mail da Web) Cookies e privacidade: ❒ cookies permitem que os sites descubram muito sobre você ❒ você pode fornecer nome e e-mail aos sites aparte Como manter o “estado”: ❒ extremidades do protocolo: mantêm estado no emissor/receptor por múltiplas transações ❒ cookies: mensagens HTTP transportam estado 22 43 Caches Web (servidor proxy) � Objetivo: � Satisfazer a requisição do cliente sem envolver servidor de origem � usuário prepara navegador: acessos à Web via cache � navegador envia todas as requisições HTTP ao cache � objeto no cache: cache retorna objeto � ou cache requisita objeto do servidor de origem, depois retorna objeto ao cliente cliente servidor proxy cliente servidor de origem servidor de origem 44 Mais sobre caching 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) 23 45 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/1.0 304 Not Modified cache servidor msg requisição HTTP If-modified-since: <data> resposta HTTP HTTP/1.0 304 Not Modified objeto não modificado msg requisição HTTP If-modified-since: <data> resposta HTTP HTTP/1.0 200 OK <dados> objeto modificado 46Arquitetura de Redes de Computadores - Unidade II 46 Hyper Text Transfer Protocol over SSL (HTTPS) � Protocolo de aplicação da web que utiliza criptografia � Garante privacidade (criptografia) � Garante a identidade das partes envolvidas em uma transferência � Porta 443/TCP https://nome_máquina/recurso 24 Transferência de arquivos e protocolo FTP 48Arquitetura de Redes de Computadores - Unidade II 48 FTP: o protocolo de transferência de arquivos � Transferência de arquivos de e para o computador remoto � Modelo cliente servidor � Cliente: lado que inicia a transferência (seja de ou para o lado remoto) � Servidor: hospedeiro remoto � FTP: RFC 959 � FTP servidor: porta 21 25 49Arquitetura de Redes de Computadores - Unidade II 49 FTP: controle separado, conexões de dados � Cliente FTP contata o servidor FTP na porta 21 especificando o TCP como protocolo de transporte � Cliente obtém autorização pela conexão de controle � Cliente procura o diretório remoto enviando comandos pela conexão de controle � Quando o servidor recebe um comando para uma transferência de arquivo, ele abre uma conexão de dados TCP para o cliente � Após a transferência de um arquivo, o servidor fecha a conexão � Servidor abre uma segunda conexão de dados TCP para transferir outro arquivo � Conexão de controle: “FORA DA BANDA” (dados são enviados pela porta 20) � Servidor FTP mantém “estado”: diretório atual, autenticação anterior 50 Comandos e respostas FTP Exemplos de comandos: � enviado como texto ASCII pelo canal de controle � USER nome-usuário � PASS senha � LIST retorna lista de arquivos no diretório atual � RETR nome-arquivo recupera (apanha) arquivo � STOR nome-arquivo armazena (coloca) arquivo no hospedeiro remoto Exemplos de códigos de retorno: � código e frase de estado (como no HTTP) � 331 Username OK, password required � 125 data connection already open; transfer starting � 425 Can’t open data connection � 452 Error writing file 26 Acesso Remoto 52Arquitetura de Redes de Computadores - Unidade II 52 Terminal remoto � Telnet é um protocolo cliente-servidor usado para permitir a comunicação entre computadores ligados numa rede (exemplos: rede local / LAN, Internet), � Telnet é um protocolo de login/acesso remoto � Utiliza o protocolo de transporte TCP � Utiliza porta 23 � Os dados/comandos são trafegados em claro, inclusive a login/senha � O serviço SSH é a alternativa para acesso remoto que implementa criptografia � Utiliza porta 22 27 53Arquitetura de Redes de Computadores - Unidade II 53 Exemplo de Telnet Serviço de correio eletrônico e protocolos SMTP, POP3 e IMAP 28 55Arquitetura de Redes de Computadores - Unidade II 55 Correio eletrônico - Componentes Três componentes principais: 1. Agentes de usuário 2. Servidores de correio 3. Simple mail transfer protocol: SMTP 1. 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 caixa de entrada do usuário fila de msg. de saída mail server agente usuário serv. correio serv. correio SMTP SMTP agente usuário agente usuário agente usuário agente usuário agente usuário 56Arquitetura de Redes de Computadores - Unidade II 56 Correio eletrônico - Componentes 2. Servidores de correio � Caixa postal contém mensagens que chegaram(ainda não lidas) para o usuário � Fila de mensagens contém as mensagens de correio a serem enviadas 3. Protocolo SMTP Permite aos servidores de correio trocarem mensagens entre si � Cliente: servidor de correio que envia � “Servidor”: servidor de correio que recebe caixa de entrada do usuário fila de msg. de saída mail server agente usuário serv. correio serv. correio SMTP SMTP agente usuário agente usuário agente usuário agente usuário agente usuário 29 57Arquitetura de Redes de Computadores - Unidade II 57 Correio eletrônico: SMTP � SMTP usa TCP para transferência confiável de mensagens de correio do cliente ao servidor, porta 25 � Transferência direta: servidor envia direto para o servidor de destino � Três fases de transferência � Handshaking (apresentação) � Transferência de mensagens � Fechamento � Interação comando/resposta � Comandos: texto ASCII � Resposta: código de status e frase 58Arquitetura de Redes de Computadores - Unidade II 58 Cenário: Alice envia mensagem para Bob 1. Alice usa o agente de usuário (UA) para compor a mensagem e “para” bob@someschool.edu; 2. O agente de usuário dela envia a mensagem para o seu servidor de correio; a mensagem é colocada na fila de mensagens; 3. O lado cliente do SMTP abre uma conexão TCP com o servidor de correio do Bob; 4. O cliente SMTP envia a mensagem de Alice pela conexão TCP; 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. agente usuário serv. correio serv. correio agente usuário 1 2 3 4 5 6 30 59Arquitetura de Redes de Computadores - Unidade II 59 Exemplo de interação SMTP o S: 220 hamburger.edu o C: HELO crepes.fr o S: 250 Hello crepes.fr, pleased to meet you o C: MAIL FROM: <alice@crepes.fr> o S: 250 alice@crepes.fr... Sender ok o C: RCPT TO: <bob@hamburger.edu> o S: 250 bob@hamburger.edu ... Recipient ok o C: DATA o S: 354 Enter mail, end with "." on a line by itself o C: Você gosta de ketchup? o C: Que tal picles? o C: . o S: 250 Message accepted for delivery o C: QUIT o S: 221 hamburger.edu closing connection 60Arquitetura de Redes de Computadores - Unidade II 60 Formato da mensagem de correio � Correio eletrônico formado por: � Envelope � Encapsula uma mensagem � Contém as informações necessárias para o transporte da mensagem o Como no correio comum � Mensagem � Composta por cabeçalho e corpo 31 61Arquitetura de Redes de Computadores - Unidade II 61 Formato da mensagem de correio � Linhas de cabeçalho, ex.: � To: � From: � Subject: diferente dos comandos HTTP � Corpo � A “mensagem”, ASCII somente com caracteres header body linha em branco 62Arquitetura de Redes de Computadores - Unidade II 62 Exemplo de mensagem Received: from cliente.br by servidor.br; 16 Jul 06 10:30:01 GMT Received: from maquina.cliente.br by cliente.br; 16 Jul 06 10:29:58 GMT From: usuario@cliente.br To: usuario@servidor.br Subject: Teste Teste de envio de correio. 32 63Arquitetura de Redes de Computadores - Unidade II 63 Formato das mensagens: extensões multimídia � MIME: Multimedia Mail Extension � Permite transmitir os arquivos que não são texto pelo serviço de correio eletrônico � Ex: imagens, vídeos, documentos do MS Office, etc... � Linhas adicionais no cabeçalho declaram o tipo de conteúdo MIME From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data ..... ......................... ......base64 encoded data Dados multimídia tipo, subtipo, declaração de parâmetro Método usado para codificar dados Versão da MIME Dados codificados 64Arquitetura de Redes de Computadores - Unidade II 64 Protocolos de acesso ao correio � SMTP: entrega e armazena no servidor do destino � 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. 33 65 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 C: list S: 1 498 S: 2 912 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 S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK usuário logado com sucesso Serviço de nomes Protocolo DNS 34 67Arquitetura de Redes de Computadores - Unidade II 67 Servidor de Nomes (DNS) � DNS –Domain Name System � Base de dados distribuída, implementada numa hierarquia de muitos servidores de nomes que é organizado em uma hierarquia de domínios � Protocolo de camada de aplicação � Dispositivos se comunicam com servidores de nomes para resolver nomes (traduçã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 68Arquitetura de Redes de Computadores - Unidade II 68 Componentes do serviço DNS � Composto de: 1. Três tipos (classes) de servidores de nomes a. Raiz b. De domínio de alto nível (Top-Level Domain – TLD) c. Com autoridade 2. Servidores DNS locais 35 69Arquitetura de Redes de Computadores - Unidade II 69 Componentes do serviço DNS 1. Classes de servidores de nomes a. Raiz � São contatados pelos servidores de nomes locais que não podem resolver um nome b. De domínio de alto nível (Top-Level Domain – TLD) � Responsáveis pelos domínios genéricos .com, .org, .net, .edu, etc e todos os domínios top-level nacionais .uk, .fr, .ca, .jp, .br, etc. c. Com autoridade � Servidores DNS de organizações 70Arquitetura de Redes de Computadores - Unidade II 70 Servidor de nomes local 2. Servidor DNS local � Não pertence estritamente a uma hierarquia � Cada ISP (ISP residencial, companhia, universidade) possui um � Também chamado de “servidor de nomes default” � Quando um hospedeiro faz uma pergunta a um DNS, a pergunta é enviada para seu servidor DNS local � Age como um proxy, encaminhando as perguntas para dentro da hierarquia 36 71Arquitetura de Redes de Computadores - Unidade II 71 Como a consulta DNS funciona 72Arquitetura de Redes de Computadores - Unidade II 72 Comunicação entre Servidores � Para consulta � Porta 53 e protocolo UDP � Para transferência de zona � Porta 53 e protocolo TCP 37 73Arquitetura de Redes de Computadores - Unidade II 73 hospedeiro solicitante cis.poly.edu gaia.cs.umass.edu servidor DNS raiz serv. DNS local dns.poly.edu 1 2 3 4 5 6 serv. DNS com autoridade dns.cs.umass.edu 78 servidor DNS TLD Exemplo de resolução de nome DNS (1) � hospedeiro em cis.poly.edu quer endereço IP para gaia.cs.umass.edu � Consulta iterativa ou repetida: � servidor contactado responde com nome do servidor a contactar � “não conheço esse nome, mas pergunte a este servidor” 74Arquitetura de Redes de Computadores - Unidade II 74 hospedeiro solicitante cis.poly.edu gaia.cs.umass.edu serv. DNS raiz serv. DNS local dns.poly.edu 1 2 45 6 serv. DNS com autoridade dns.cs.umass.edu 7 8 serv. DNS TLD 3 Exemplo de resolução de nome DNS (2) � Consulta recursiva: � Transferea resolução de nome para o servidor de nomes contactado 38 75Arquitetura de Redes de Computadores - Unidade II 75 Tipos de Zonas � As informações sobre o DNS são armazenadas em zonas � Em uma zona, poderão haver informações sobre um ou mais domínios � Zona de pesquisa Direta � Primárias � Secundárias � Zona de pesquisa Reversa � Primárias � Secundárias 76 Zona de Pesquisa Direta � Zona de pesquisa direta � O tipo de resolução de nomes mais utilizada � Nesse tipo de resolução de nome, o cliente possui o nome DNS e precisa localizar o endereço IP associado em esse nome � Zona de pesquisa reversa � Cliente informa endereço IP e solicita o nome DNS � Uma pesquisa inversa assume a forma de pergunta, como "Pode me informar o nome DNS do computador que usa o endereço IP 192.168.1.20"? Arquitetura de Redes de Computadores - Unidade II 76 39 77Arquitetura de Redes de Computadores - Unidade II 77 Zona Primária, secundária � Zona primária � Zona autoritativa para um domínio � É chamada primária porque ela ainda não existe e está sendo criada para conter as informações do domínio – p.ex., o domínio xyz.com.br � Zona secundária � Zona “espelho” de uma zona primária � Precisa ser atualizada freqüentemente para manter a consistências entre zonas 78 Tipos de registros � As zonas têm como base um conceito de autoridade de servidor � Quando um servidor DNS é configurado para carregar uma zona, ele usa dois tipos de REGISTROS DE RECURSOS para determinar as propriedades de autoridade da zona � Primeiro, o Registro de Recurso de Início de Autoridade (SOA) indica: � O nome da ORIGEM da zona � O nome do servidor que é a origem primária das informações sobre a zona � Ele também indica outras propriedades básicas da zona Arquitetura de Redes de Computadores - Unidade II 78 40 79 Tipos de registros � Em seguida, o Registro de Recurso do Servidor de Nomes (NS) é usado para notificar quais servidores DNS são designados como autorizados para a zona � Listando um servidor no RR (Registro de Recurso) NS, ele se torna conhecido para outros como um servidor autorizado para a zona � Isso significa que todo servidor especificado no RR NS deve ser considerado uma origem autorizada por outros e é capaz de responder com segurança todas as consultas feitas para nomes incluídos na zona Arquitetura de Redes de Computadores - Unidade II 79 80Arquitetura de Redes de Computadores - Unidade II 80 Registros SOA e NS � Os registros de recursos SOA e NS ocupam uma função especial na configuração da zona � Eles são registros obrigatórios para qualquer zona e são normalmente o primeiro dos registros de recursos listados nos arquivos 41 81 Registros SOA e NS � Exemplos � SOA � @ IN SOA nameserver.example.microsoft.com. postmaster.example.microsoft.com. ( 1 ; serial number 3600 ; refresh [1h] 600 ; retry [10m] 86400 ; expire [1d] 3600 ) ; min TTL [1h] � NS � example.microsoft.com. IN NS nameserver1.example.microsoft.com Arquitetura de Redes de Computadores - Unidade II 81 82 Tipos de Registros � Após criar uma zona, os registros de recursos adicionais necessários precisam ser adicionados a ela. A maioria dos registros de recursos (RRs) a serem adicionados são: � Host(A) � Faz o mapeamento de um nome DNS para um endereço IPv4, ex.: o srv01.abc.com.br IN A 100.100.200.150 � Alias - Canonical Name (CNAME) � Mapeia um alias (apelido) ou nome DNS alternativo, ex.: o www.abc.com.br. CNAME srv01.abc.com.br � Servidor de Mensagens (MX) � Mapeia um nome de domínio DNS para o nome de um computador que troca ou encaminha mensagens eletrônicas (servidor de email) � Ponteiro (PTR) � É utilizado em zonas reversas, para fazer o mapeamento reverso o 10.20.20.10.in-addr.arpa. PTR host.example.microsoft.com � Outros registros de recursos conforme necessário Arquitetura de Redes de Computadores - Unidade II 82 42 83Arquitetura de Redes de Computadores - Unidade II 83 DNS: armazenando e atualizando registros � 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 certo tempo � Servidores TLD são tipicamente armazenados em cache nos servidores de nome locais � Mecanismos de atualização e notificação estão sendo projetados pelo IETF � RFC 2136 � http://www.ietf.org/html.charters/dnsind-charter.html
Compartilhar