Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Aula28

1,481 views

Published on

Published in: Education
  • Be the first to comment

  • Be the first to like this

Aula28

  1. 1. Mensagens DNS Query Redes de Computadores ! DNS usa porta 53 (UDP/TCP) Instituto de Informática - UFRGS ! Duas mensagens: requisição e resposta com um cabeçalho de formato comum ! Seção pergunta Response DNS (término da aula passada) ! Informações sobre a consulta (nome/tipo) ! Seção resposta Instituto de Informática - UFRGS ! RR que satisfazem a consulta ! Seção autoridade ! Registros de outros servidores com autoridade A. Carissimi -7-déc.-09 ! Seção adicional ! RR úteis Aula 27 Redes de Computadores 2 Respostas DNS Leituras complementares ! Authoritative ! Tanenbaum, A. Redes de Computadores (4a edição), Campus, ! Gerada por um servidor que possui autoridade para o domínio do nome a ser 2000. resolvido ! Capítulo 6, seção 6.1 ! Resposta representa o que está nos arquivos de configuração de zona ! Capítulo 7, seção 7.1 ! Non-authoritative ! Carissimi, A.; Rochol, J.; Granville, L.Z.; Redes de Computadores. ! Gerada por servidores que não possuem autoridade no domínio do nome a Série Livros Didáticos. Bookman 2009. Instituto de Informática - UFRGS Instituto de Informática - UFRGS ser resolvido ! Capítulo 7, seção 7.1 ! Resposta não é confiável pois as informações podem ter sido modificadas nos arquivos de configuração de zona, mas ainda não foram propagadas ! Respostas de cache são sempre non-authoritative A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 ! Indicam os servidores com autoridade no respectivo domínio Redes de Computadores 3 Redes de Computadores 4
  2. 2. Correio eletrônico Redes de Computadores ! Uma das aplicações mais populares da Internet Instituto de Informática - UFRGS ! Originalmente criada em analogia a sistemas de memorando ! Disponibilizado aos usuários através de: Correio eletrônico (SMTP, POP e IMAP) ! Um software cliente para compor e ler mensagens HyperText Transfer Protocol (HTTP) ! Um software servidor usado para transferir mensagens Instituto de Informática - UFRGS A. Carissimi -7-déc.-09 Aula 28 Redes de Computadores 6 Componentes do sistema de correio eletrônico Caixa postal (mailbox) ! Caixa postal e correio eletrônico ! Caixa postal de entrega da mensagem eletrônica ! Mail user Agents (MUA) ! Uma por usuário ! Software responsável pela interação entre o usuário e o sistema de e-mail ! Área de armazenamento em disco ! Permite ler e compor uma mensagem ! Permissão para escrita para o software de correio eletrônico ! Exemplos: Netscape, outlook, eudora, mozilla, elm, Mail, mail, pine etc... ! Permissão de leitura/escrita apenas para o usuário ! Mail Transport Agents (MTA) ! Endereço eletrônico: Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Software que transfere o e-mail de um sistema local para um sistema remoto. ! Formato geral: mailbox@computador ! Exemplos (unix): sendmail, postfix , smail v 3.2, qmail, exim etc ! Local Delivery Agent (LDA) ! Separação funcional do MTA especializado em transferir e-mails para a Caixa de correio •Localização da caixa de correio A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 mailbox do usuário (usuário) •Empregado o domínio (computador registro MX) ! Em sistemas Unix, o LDA mais comum é o procmail Redes de Computadores 7 Redes de Computadores 8
  3. 3. Formato da caixa de mensagens (mailbox) Mensagem de correio eletrônico ! Formato da mailbox serve para delimitar e-mails: ! Mensagem possui envelope, cabeçalho e corpo Cabeçalho ! MMDF, BABYL, MH, qmail, maildir, .mbx, etc... ! Formato simples [palavra-chave: informação] ! Texto ASCII separado em duas partes por ! Uma mailbox é um arquivo (ou diretório) .... uma linha em branco (CR/LF) ! Em UNIX, normalmente são armazenados nos diretórios /usr/spool/mail e ! Informações: /var/mail [palavra-chave: informação] ! Remetente, receptor, data, formato do ! Novos e-mails: conteúdo, etc. Instituto de Informática - UFRGS Instituto de Informática - UFRGS Linha em branco (CR/LF) ! São inseridos no final do arquivo de mailbox ! Ex.: To, cc, Bcc, From, Sender, Received, ! Formam um novo arquivo (maildir) Return-path, Reply-to, Subject,... Corpo ! Corpo: ! Ler e-mail → ler o arquivo de mailbox ! Conteúdo da mensagem A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 ! Software de e-mail interpreta palavra-chave ! Se não reconhece, passa para próxima Redes de Computadores 9 Redes de Computadores 10 Padrão MIME Especificação MIME ! Projeto original previa somente texto em ASCII ! Adiciona 5 novos cabeçalhos ! Necessidade de enviar dados binários (binário, imagem, aúdio etc) ! MIME-Version: informa destino o uso do formato MIME e sua versão ! Codificação de dados binários em ASCII ! Content-Description: string que informa o ! Remetente codifica e o receptor faz a decodificação conteúdo da mensagem MIME MIME ! Multipurpose Internet Mail Extensions (MIME) ! Content-Id: identificador da mensagem ASC-II ASC-II ! Forma para coordenar e unificar a codificação e decodificação de dados ! Content-Transfer-Encoding: código do ASC-II SMTP SMTP Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Inclusão de palavras-chaves adicionais no cabeçalho corpo da mensagem ! Indica que MIME está sendo usado ! ASCII (7 bits), ASCII 8-bits, base64, ! Definição da codificação a ser usado quoted-printable MIME-version: 1.1 ! Content-Type: natureza do corpo da Content-type: type/subtype; boundary=xxxx ! Divisão do corpo da mensagem em partes e definição de como eles A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 mensagem Content-transfer-encoding: image/jpeg devem ser codificados e decodificados independentemente ! texto,imagem, audio, vídeo, multipart, Content-Id: 67824 etc... Content-description: jpeg image Redes de Computadores 11 Redes de Computadores 12
  4. 4. Arquitetura do Sistema de Correio Eletrônico Envio de mensagem MUA: Mail User Agent (mailer) ! Agente do usuário remetente envia a mensagem para o servidor do MTA: Mail Transport Agent remetente LDA: Local Delivery Agent Notifier: ! Servidor do remetente armazena a mensagem na fila Mailbox: ! Servidor do remetente envia a mensagem para o servidor do Notifier MUA (receiver) destinatário Instituto de Informática - UFRGS Instituto de Informática - UFRGS Mailbox ! Consulta o DNS, solicitando os registros MX associados ao domínio do Bob usuário destinatário Protocolo ! Em caso de falha, servidor do remetente mantém a mensagem na fila e tenta MUA (SMTP) Originalmente, conexão via (sender) LDA reenviar sessão remota com o servidor A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 de e-mail ! Servidor do destinatário armazena a mensagem na respectiva caixa MTA MTA de mensagens (sender) (receiver) Redes de Computadores 13 Redes de Computadores 14 Leitura de mensagens Protocolos do Sistema de Correio Eletrônico ! Agente do usuário recupera mensagens da caixa de mensagens do ! Os diferentes componentes (MUA, MTA, LDA) interagem entre si servidor de correio do usuário através de protocolos ! Acesso Direto ! Protocolos do sistema de Correio Eletrônico ! Agente usuário executa na mesma estação em que reside o arquivo que ! SMTP contém a caixa de mensagens do usuário ! POP ! Acesso via Protocolo de Acesso ! IMAP Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Agente usuário pode executar em estação diferente daquela em que reside o arquivo que contém a caixa de mensagens do usuário ! Adota os protocolos específicos para “baixar as mensagens” A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 Redes de Computadores 15 Redes de Computadores 16
  5. 5. Simple Mail Transfer Protocol (SMTP) Problemas do SMTP ! Protocolo de aplicação baseando na troca de strings ASCII ! Mensagem enviada em texto claro ! Mensagens passam em texto aberto ! Não possui mecanismo de autenticação forte ! Usado para transferir e-mail entre MUA e MTA ou entre dois MTAs. ! Qualquer usuário acesso servidor de e-mail ! Serviço disponível através de uma conexão TCP na porta 25 ! Possibilidade de forjar endereços de origem ! Existe um daemon que atende na porta 25/TCP e que “fala”” SMTP ! Soluções possíveis são externas ao SMTP. Alguns exemplos: Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Aceitar mensagens de máquinas de uma mesma rede ! Verificar a existência de mensagem smtp smtp ! Consultas a DNS reverso (porta 25) SMTP (porta 25) SMTP ! Cifragem de dados A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 Servidor e-mail local Servidor e-mail remoto Redes de Computadores 17 Redes de Computadores 18 Simple Mail Transfer Protocol (SMTP) Exemplo de interação SMTP ! Conjunto de comandos e respostas S: 220 mail.acme.com ! Composto por mensagens de texto e códigos de comandos e respostas C: HELO mail.inf.ufrgs.br ! Comandos do protocolo S: 250 mail.acme.com Hello mail.inf.ufrgs.br, pleased to meet you ! HELO – identifica o cliente ao servidor C: MAIL From: <professor@inf.ufrgs.br> S: 250 <professor@inf.ufrgs.br>... Sender ok ! MAIL – indica o remetente da mensagem C: RCPT To: <bipbip@acme.com> ! RCPT – informa o destinatário da mensagem Instituto de Informática - UFRGS Instituto de Informática - UFRGS S: 250 <bipbip@acme.com>... Recipient ok ! DATA – envio o conteúdo da mensagem C: DATA S: 354 Enter mail, end with “.” on a line by itself ! QUIT – finaliza a sessão C: Teste ! TURN – inverte a direção de envio C: . A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 S: 250 Message accepted for delivery ! RSET – aborta a transição de correio C: QUIT ! VRFY – verifica a validade de um usuário S: 221 mail.acme.com closing connection ! EXPN – identifica a composição de uma lista Redes de Computadores 19 Redes de Computadores 20
  6. 6. Post Office Protocol (POP) Internet Message Access Protocol (IMAP) ! Protocolo utilizado para acessar e-mails de um ! Protocolo utilizado para acessar e-mails de servidor um servidor ! Porta 110/TCP (POP3) ! Porta 143/TCP (IMAP4) ! Orientado a texto ! Orientado a texto ! Três etapas distintas ! Principal vantagem: ! Acesso/autenticação POP ! Comandos para criação e gerenciamento de IMAP Instituto de Informática - UFRGS Instituto de Informática - UFRGS pastas no servidor ! Leitura/modificação (transação) ! Atualização POP (porta 110) IMAP (porta 143) ! Dois modos de operação: ! ler-e-apagar e ler-e-guardar A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 Servidor e-mail Servidor e-mail ! Desvantagem: ! Não há comandos para criar e gerenciar pastas Redes de Computadores 21 Redes de Computadores 22 Webmail Hyper Text Transfer Protocol (HTTP) ! Software que permite que usuários acessem servidores de e-mail ! Protocolo de aplicação da web através do http ! Define forma como clientes solicitam páginas web aos servidores e ! http é usado apenas para transferir dados como esses as transferem para os clientes ! Servidor de webmail “conversa” com servidores de e-mail usando protocolos ! Determina apenas como os dados são transferidos: não indica, nem impõem como POP3 e IMAP4 (mais comum) tipos de dados e determina nenhum tipo de processamento ! Browser é que determina como os dados são processados Instituto de Informática - UFRGS Instituto de Informática - UFRGS Daemon ! Emprega conexões TCP na porta 80 (default) http MTA ! Protocolo stateless (sem estado) e orientado a mensagens OU ! Servidor não mantém nenhuma informação sobre o cliente A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 Browser web Servidor web ! Possuem três versões: HTTP 0.9, HTTP 1.0 e HTTP 1.1 POP/IMAP Servidor e-mail Redes de Computadores 23 Redes de Computadores 24
  7. 7. Conexões não-persistentes Conexões persistentes ! Usada nas versões 0.9, 1.0 e 1.1 ! Disponível na versão HTTP/1.1 ! Uma conexão para cada objeto ! Uma conexão pode atender várias requisições/respostas ! Cada conexão transporta exatamente uma requisição/resposta ! A conexão é fechada pelo servidor em resposta a uma requisição de ! Cliente abre a conexão, envia a requisição, o servidor envia a resposta e encerramento feita pelo cliente ou por time-out fecha a conexão (ex: uma página com 5 figuras envolve seis conexões, uma para página e uma para cada figura) ! Configurado no servidor ! Conexões podem ser feitas em paralelo para páginas com mais de um objeto ! Duas versões: Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! Número máximo de conexões é uma configuração do cliente ! Sem paralelismo: cliente envia requisição i após ter recebido respostas da ! Desvantagens: requisição i-1 ! Tempo para estabelecimento ! Com paralelismo: envio de várias requisições sem esperar pela resposta A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 ! Consumo de recursos do sistema (memória e descritores) ! Cada conexão sofre o processo de partida lenta (slow start) do TCP Redes de Computadores 25 Redes de Computadores 26 Métodos HTTP Formatos da mensagem HTTP ! HTTP foi criado para ser genérico ! Dois formatos básicos: ! Tratamento de objetos e definições de métodos para manipulá-los ! Requisição e resposta ! Métodos suportados na versão 1.1 (visão do cliente) ! Mensagem em ASC II (exceto o corpo da mensagem em alguns casos) ! GET: usado para solicitar a recuperação de um objeto ! Genericamente possuem três seções: ! POST: similar ao GET, mas envia informações obtidas por formulários ! Linha de requisição/status ! PUT: solicita gravação de um objeto no servidor ! Linhas de cabeçalho Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! PATCH: envia lista de modificações a serem feitas em um objeto ! Corpo de entidade ! HEAD: solicita leitura apenas do cabeçalho da página ! MOVE, COPY, DELETE, LINK e UNLIK: similares aos comandos de A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 movimentação, cópia, remoção, criação e remoção de aliases em um sistema de arquivos ! OPTION: consulta propriedades do servidor ou de um objeto Redes de Computadores 27 Redes de Computadores 28
  8. 8. Mensagem de requisição Cabeçalhos da requisição ! Linha de requisição possui três campos: ! Pares nome e valor ! Tipo da requisição (métodos) ! Indicam ao servidor como realizar a requisição ! GET, HEAD, POST, PUT, PATCH, COPY, MOVE, DELETE, LINK, ! Exemplos: UPLINK, OPTION ! Host: nome do servidor onde o objeto se encontra ! Uniform Resource Locator (URL): [protocolo] :// [máquina] : [porta] / [recurso] ! Connection: se servidor deve encerrar ou não a conexão após enviar objeto ! Versão HTTP Instituto de Informática - UFRGS Instituto de Informática - UFRGS ! User-agent: tipo do cliente que está fazendo a requisição ! Linha(s) de cabeçalho ! Accept-language: idioma de preferência do usuário ! Conjunto de pares {nome de campo; valor} ! Corpo da entidade A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 ! Para métodos como POST que envia parâmetros para um formulário Redes de Computadores 29 Redes de Computadores 30 Mensagem de requisição: formato e exemplo Mensagem de resposta Requisição ! Linha de status define: Cabeçalhos ! Versão HTTP [nome; valor] GET /somedir/page.html HTTP/1.1 ! Código de status Host: www.someschool.edu ! Frase explicativa do código de status .... Connection: close User-agent: Mozilla/4.0 ! Linhas de cabeçalho [nome; valor] ! Conjunto de pares {nome, valor} Instituto de Informática - UFRGS Instituto de Informática - UFRGS Accept-language: fr Linha em branco (CR/LF) ! Corpo da entidade ! Objeto solicitado Corpo (presente apenas em A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 algumas mensagens) - Método GET não possui corpo Mensagem de requisição - Método POST envia aqui as informações Redes de Computadores 31 Redes de Computadores 32
  9. 9. Códigos de status e cabeçalho de resposta Mensagens de resposta: formato e exemplo ! Códigos mais comuns ! Cabeçalhos mais comuns Status ! 200: requisição processada com ! Connection: informa ao cliente se o Cabeçalhos sucesso servidor encerrará ou não a conexão ! 301: objeto solicitado foi movido ! Date: hora e data do envio do objeto [nome; valor] HTTP/1.1 200 OK ! 400: erro genérico no ! Last-modified: data e hora de ... Connection: close processamento criação ou modificação do objeto Date: Thu, 06 Aug 1998 12:00:15 GMT [Nome; valor] Server: Apache/1.3.0 (Unix) ! 404: objeto solicitado não existe ! Server: tipo do servidor: Instituto de Informática - UFRGS Instituto de Informática - UFRGS Last-Modified: Mon,22 jun 199809:23:24 GMT ! 505: versão requisitada não é ! Content-lenght: tamanho da Linha em branco (CR/LF) Content-Length: 6821 suportada mensagem em bytes Content-Type: text/html ! Content-type: tipo do objeto que Corpo está sendo enviado (presente apenas em A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 algumas mensagens) (data data data .... Data data data data) Mensagem de resposta Redes de Computadores 33 Redes de Computadores 34 Hyper Text Transfer Protocol over SSL (HTTPS) Leituras complementares ! Protocolo de aplicação da web que utiliza criptografia ! Tanenbaum, A. Redes de Computadores (4a edição), Campus, ! Garante privacidade (criptografia) 2000. ! Capítulo 7, seção 7.2 (correio eletrônico) eseção 7.3.4 ! Garante a identidade das partes envolvidas em uma transferência ! Porta 443/TCP ! Carissimi, A.; Rochol, J; Granville, L.Z; Redes de Computadores. Série Livros Didáticos. Bookman 2009. ! Capítulo 7, seções 7.2 a 7.4 Instituto de Informática - UFRGS Instituto de Informática - UFRGS https://nome_máquina/recurso A. Carissimi -7-déc.-09 A. Carissimi -7-déc.-09 Redes de Computadores 35 Redes de Computadores 36

×