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