Aula28

1.465 visualizações

Publicada em

Publicada em: Educação
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
1.465
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
49
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

×