Redes de
Computadores I
Prof. Mateus Raeder
Universidade do Vale do Rio dos Sinos
- São Leopoldo -
Sumário
• Correio eletrônico
– SMTP
– POP
– IMAP
• Exercícios
Redes de Computadores I – Prof. Mateus Raeder
Correio Eletrônico
Redes de Computadores I – Prof. Mateus Raeder
Correio Eletrônico
• Uma das aplicações mais conhecidas na Internet
• Assíncrono (como o correio normal)
– Mensagens são enviadas e recebidas conforme
conveniência
• Vantagens sobre correio normal
–
–
–
–
Rápido
Fácil de distribuir
Barato
Incluem desde simples textos até músicas e vídeos
Redes de Computadores I – Prof. Mateus Raeder
Correio Eletrônico
• Três grandes
componentes:
user
agent
– Agentes de usuário:
• Mail User Agent - MUA.
user
agent
SMTP
mail
server
SMTP
– Protocolo de correio:
• Simple Mail Transfer
Protocol - SMTP
user mailbox
mail
server
– Agente de transporte:
• Servidores de correio
Mail Transport Agent MTA.
outgoing
message queue
user
agent
SMTP
user
agent
mail
server
user
agent
user
agent
Redes de Computadores I – Prof. Mateus Raeder
Correio Eletrônico
• MUA - Agente de Usuário
– Conhecido como “leitor de
email”.
– É o lado “cliente”.
– Compor, editar, ler
mensagens de correio
– Exemplo: Eudora, Outlook,
elm, Pegasus, Netscape
Messenger, etc...
– Mensagens de saída e
chegada são
armazenadas no servidor.
user
agent
outgoing
message queue
user mailbox
mail
server
user
agent
SMTP
mail
server
SMTP
user
agent
SMTP
user
agent
mail
server
user
agent
user
agent
Redes de Computadores I – Prof. Mateus Raeder
Correio Eletrônico
• Servidores de correio
user
– Caixa de correio contém
agent
mensagens de chegada (ainda
não lidas) p/ usuário.
mail
server
– Fila de mensagens contém
mensagens de saída (a serem
SMTP
enviadas).
– Protocolo SMTP entre servidores
SMTP
para transferir mensagens.
– Cliente: servidor de correio que
SMTP
envia
mail
– “Servidor”: servidor de correio
server
que recebe.
outgoing
message queue
user mailbox
user
agent
mail
server
user
agent
user
agent
user
agent
user
agent
Redes de Computadores I – Prof. Mateus Raeder
Correio Eletrônico: SMTP [RFC 821]
• Usa TCP para a transferência confiável de mensagens de
correio do cliente ao servidor. Usa porta 25/TCP
• Transferência direta: servidor remetente ao servidor receptor
SMTP
mail
server
mail
server
Internet
Redes de Computadores I – Prof. Mateus Raeder
SMTP
• Não utiliza servidores intermediários, mesmo se forem
servidores em lados opostos do mundo
– Se o servidor destinatário está for a do ar, a mensagem fica no
servidor de origem aguardando uma nova tentativa
• Três fases da transferência:
– Handshaking (cumprimento).
– Transferência das mensagens
– Encerramento
• Interação comando/resposta
– Comandos: texto ASCII
– Resposta: código e frase de status
• Mensagens precisam ser em ASCII de 7-bits
Redes de Computadores I – Prof. Mateus Raeder
Interação SMTP típica
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
S: 220 gremio.net
C: HELO torcedor.br
S: 250 Hello torcedor.br, pleased to meet you
C: MAIL FROM: <[email protected]>
S: 250 [email protected]... Sender ok
C: RCPT TO: <[email protected]>
S: 250 [email protected] ... Recipient ok
C: DATA
S: 354 Enter mail, end with "." on a line by itself
C: E aí técnico!!
C: Pro Pelotas?? Complicado, hein??
C: .
S: 250 Message accepted for delivery
C: QUIT
S: 221 gremio.net closing connection
Redes de Computadores I – Prof. Mateus Raeder
Interação SMTP típica
• telnet nomedoservidor.algumlugar.br 25
• Observe a resposta 220 do servidor
• Entre comandos HELO, MAIL FROM, RCPT
TO, DATA, QUIT, HELP.
• Estes comandos permitem que você envie
mensagens sem usar um cliente (leitor de
correio). Basta conhecer o formato das
mensagens do protocolo.
Redes de Computadores I – Prof. Mateus Raeder
Formato de uma mensagem de e-mail
• SMTP: protocolo para trocar
mensagens de correio
• RFC 822: padrão para formato
de mensagem de texto:
• Linhas de cabeçalho, p.ex.,
– To:
– From:
– Subject:
• diferentes dos comandos de
smtp!
• Corpo
header
blank
line
body
– a “mensagem”, somente de
caracteres ASCII .
– Termina com um “.” ponto
Redes de Computadores I – Prof. Mateus Raeder
From: [email protected]
To: [email protected]
Subject: Vamos tratar de negocios
Blá blá blá
Blá blá blá
Blá blá blá
.
Redes de Computadores I – Prof. Mateus Raeder
E-mail
• O que vimos até aqui é suficiente para o
envio de textos no padrão ASCII
– Mas e o que não está no padrão ASCII?
• Vídeos
• Imagens
• Sons
• Caracteres de outros idiomas que não o inglês
• Utilização de cabeçalhos extras nas
mensagens
Redes de Computadores I – Prof. Mateus Raeder
Formato de uma mensagem: extensões
para multimídia
• MIME: multimedia mail extension, RFC 2045, 2056
• Linhas adicionais no cabeçalho da mensagem
declaram tipo do conteúdo MIME.
• Exemplo:
– Usuário “alguém” quer enviar uma imagem jpeg para a
“tia” via e-mail
– “Alguém” vai até seu user agent de e-mail e especifica o
e-mail da “tia”, coloca o assunto e anexa a imagem
– Quando “alguém” termina de compor a mensagem, clica
no botão send
Redes de Computadores I – Prof. Mateus Raeder
Formato de uma mensagem: extensões
para multimídia
• O user agent gera uma mensagem MIME
Versão MIME
Método usado para
codificar os dados
tipo, subtipo de
dados multimídia
Dados codificados
para ASCII 7 bits
From: [email protected]
To: [email protected]
Subject: Vamos tratar de negocios
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
Redes de Computadores I – Prof. Mateus Raeder
Formato de uma mensagem: extensões
para multimídia
• Quando “tia” ler sua correspondência
através do seu user agent:
– Percebe a codificação
– Verifica que deve descomprimir no formato
JPEG
• Como enviar mais de um objeto na mesma
mensagem?
– Usando o tipo Multipart
Redes de Computadores I – Prof. Mateus Raeder
Multiparte
From: [email protected]
To: [email protected]
Subject: Vamos tratar de negocios
MIME-Version: 1.0
Content-Type: multipart/mixed; Boudary=StartOfNextPart
--StartOfNextPart
Carmem, olhe esta foto e me diga o que acha!
--StartOfNextPart
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--StartOfNextPart
Me avise quando receber
.
Redes de Computadores I – Prof. Mateus Raeder
Multiparte
Received: from sozinho.br by carmem.br; 02 Sep 09 22:47:43 GMT
From: [email protected]
To: [email protected]
Subject: Vamos tratar de negocios
MIME-Version: 1.0
Content-Type: multipart/mixed; Boudary=StartOfNextPart
--StartOfNextPart
Carmem, olhe esta foto e me diga o que acha!
--StartOfNextPart
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
base64 encoded data .....
.........................
......base64 encoded data
--StartOfNextPart
Me avise quando receber
.
Redes de Computadores I – Prof. Mateus Raeder
Tipos MIME
Content-Type: tipo/subtipo; parâmetros
• Text
– sub-tipos exemplos:
plain, html
– charset=“iso-8859-1”,
ascii
• Image
– sub-tipos exemplos :
jpeg, gif
• Video
– sub-tipos exemplos :
mpeg, quicktime
• Audio
– Sub-tipos exemplos :
basic (8-bit codificado
mu-law), 32kadpcm
(codificação 32 kbps).
• Application
– Outros dados que
precisam ser
processados por um
leitor para serem
“visualizados”.
– subtipos exemplos :
msword, octet-stream
Redes de Computadores I – Prof. Mateus Raeder
SMTP x HTTP
• Transferem arquivos de um host para outro
– HTTP: do servidor para o agente de usuário
– SMTP: de um servidor de correio para outro
• Ambos utilizam conexões persistentes
• Diferenças importantes
– HTTP: recupera informações (TCP ativado por quem quer receber
arquivo)
– SMTP: envia informações (TCP ativado por quem quer enviar arquivo)
– HTTP: sabe-se onde acaba a mensagem (não persistente envia uma
mensagem por vez, persistente diz tamanho)
– SMTP: Final da mensagem é através de um ponto em uma linha
separada (CRLF.CRLF)
– HTTP: um objeto por mensagem
– SMTP: todos os objetos em uma única mensagem
Redes de Computadores I – Prof. Mateus Raeder
Protocolos de acesso ao correio
• SMTP: entrega/armazenamento no servidor do receptor.
• Protocolo de acesso ao correio: recupera do servidor.
– POP: Post Office Protocol [RFC 1939] (porta 110)
• Autorização (agente <-->servidor) e transferência
– IMAP: Internet Mail Access Protocol [RFC 1730] (porta 143)
• Mais comandos e mais opções (mais complexo).
• Manuseio de mensagens armazenadas no servidor
Através de HTTP: Hotmail , Yahoo! Mail, Webmail, etc. (não é
exatamente um “protocolo” de e-mail e sim um mecanismo)
SMTP
SMTP
user
agent
sender’s mail
server
access
protocol
user
agent
receiver’s mail
server
Redes de Computadores I – Prof. Mateus Raeder
Protocolo POP
Fase de autorização
• comandos do cliente:
S: +OK POP3 server ready
C: user ana
S: +OK
C: pass faminta
S: +OK user successfully logged on
– user: declara nome
– pass: senha
• servidor responde
– +OK
– -ERR
Fase de transação, cliente:
• list: lista números das msgs
• retr: recupera msg por número
• dele: apaga msg
• 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 POP3 server signing off
Redes de Computadores I – Prof. Mateus Raeder
Protocolo IMAP
• Fornece mais recursos que o POP:
– Associa cada mensagem a uma pasta (por default a
pasta INBOX)
– Provê comandos que permitem que os usuários criem
pastas e transfiram pastas de uma para outra.
• manter hierarquia de pastas para cada usuário
– Permite a recuperar apenas o cabeçalho ou então uma
das partes de uma mensagem MIME multiparte.
– Muito bom para usuários “nômades”, que precisam
manter uma hierarquia de pastas em um servidor remoto
que possa ser acessado de qualquer computador.
Redes de Computadores I – Prof. Mateus Raeder
Exercícios
1) O professor gostaria de enviar um arquivo para
seu aluno. Entretanto, ele não sabe como fazer, pois
sua mensagem só aceita texto. Como incluir a
imagem do remédio na mensagem abaixo?
From: [email protected]
To: [email protected]
Subject: Foto do remédio
Me disseram que você está gripado!! o.O
Segue a foto do remédio.
.
Redes de Computadores I – Prof. Mateus Raeder
Exercícios - Resposta
From: [email protected]
To: [email protected]
Subject: Foto do remédio
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=“98766789”
--98766789
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain
Me disseram que você está gripado!! o.O Segue a foto do remédio.
--98766789
Content-Transfer-Encoding: base64
Content-Type: image/jpeg
gajwO4+n2Fy4FV3V7zD9awd7uG8/TITP/vIocxXnnf/5mjgQjcipBUL1b3uyLwAVtBLOP4nV
LdIAhSzlZnyLAF8na0n7g6OSeej7aqIl3NIXCfxDsPsY6NQjSvV77j4hWEjlF/aglS6ghfju
.
Redes de Computadores I – Prof. Mateus Raeder
Exercícios
• Por que utilizarmos dois protocolos para
enviar e receber mensagens de e-mail?
• Podemos comparar o SMTP com aplicações
P2P? Pesquise o que é P2P e responda,
justificando.
Redes de Computadores I – Prof. Mateus Raeder
Download

MAIL FROM