Sistemas Distribuídos (DCC/UFRJ) Aula 8: 2 de maio de 2016
Aplicações de email Eletronic mail é uma forma de comunicação assíncrona (pessoas não precisam coordenar/sincronizar o tempo de envio e recebimento das mensagens) Os três principais componentes do sistema de email da Internet são: 1 Agentes usuários 2 Servidores de email 3 Protocolo SMTP (lado cliente e lado servidor)
Componentes do sistema de email na Internet Figura: Fonte: Computer Networking, Kurose/Ross, 5ed, 2009.
Componentes do sistema de email na Internet Agentes usuários Também chamados leitores de email Permitem ao usuário ler, responder, redirecionar, salvar e compor mensagens
Componentes do sistema de email na Internet Servidores de email O Agente Usuário envia as mensagens para o servidor de email A mensagem é colocada na fila de mensagens de saída do servidor Do outro lado, quando o usuário quer ler uma mensagem, o Agente Usuário recupera a mensagem do seu mailbox (gerencia e mantem as mensagens enviadas para um usuário), dentro do servidor de email
Componentes do sistema de email na Internet SMTP (Simple Mail Transfer Protocol) (RFC-5321) https://tools.ietf.org/html/rfc5321 É o principal protocolo da camada de aplicação para email na Internet Usa o TCP para transferir emails entre servidores de email: o lado cliente executa no servidor de email do emissor o lado servidor executa no servidor de email do receptor Ambos processos (cliente e servidor) executam em todo servidor de email
SMTP Figura: Fonte: Computer Networking, Kurose/Ross, 5ed, 2009.
SMTP A conexão TCP estabelecida pelo SMTP é sempre entre o par: servidor de email do emissor e servidor de email do receptor As mensagens não passam por servidores de email intermediários Caso o servidor de email do destinatário esteja fora do ar, a mensagem permanece na fila de saída do servidor do emissor para nova tentativa de envio
Sequência de passos do SMTP 1 O SMTP tenta estabelecer uma conexão TCP na porta 25 2 Com a conexão estabelecida, emissor e receptor fazem o handshake do SMTP (o cliente indica o endereço de email do emissor e do receptor) 3 O cliente envia a mensagem 4 O cliente repete o processo se tiver outras mensagens para o mesmo servidor (usa a mesma conexão TCP), caso contrário finaliza a sessão TCP
Exemplo de troca de mensagens SMTP (depois da conexão TCP estabelecida) Figura: Fonte: Prof. Computer Silvana Rossetto Networking, Protocolos Kurose/Ross, da camada de aplicação 5ed, 2009.
Formato das mensagens do SMTP (RFC-5322) https://tools.ietf.org/html/rfc5322 Linhas de cabeçalho (obrigatórias e opcionais), seguida de linha em branco e depois o corpo da mensagem (em ASCII) Exemplos: From: joao@home.br To: maria@work.br Subject: testando..
Protocolos de acesso a email Os usuários tipicamente executam o Agente Usuário no host local, mas acessam seu mailbox armazenado em um servidor de email compartilhado e remoto, mantido, por ex., por um ISP Figura: Fonte: Computer Networking, Kurose/Ross, 5ed, 2009.
Sumário dos protocolos de email na Internet O SMTP é usado para transferir emails de um servidor de email para outro, e do Agente Usuário do lado emissor para o servidor de email do emissor (operação push) Protocolos de acesso a email são usados para transferir emails do servidor de email do lado do receptor para o Agente Usuário (POP3, IMAP, HTTP)
POP 3 (Post Office Protocol v3) (RFC 1939) Protocolo simples, com funcionalidade limitada Começa quando o Agente Usuário abre uma conexão TCP com o servidor de email, na porta 110 Seguem três etapas: 1 Autorização: o Agente Usuário envia login e senha para autenticar o usuário 2 Transação: o Agente Usuário recebe as mensagens, pode marcá-las para remoção 3 Atualização: ocorre depois que o Agente Usuário emite o comando quit (terminando a sessão POP3), o servidor de email apaga as mensagens marcadas para remoção
Operação do POP3 Durante a transação, o Agente Usuário envia comandos e o servidor responde com replies Há duas possíveis respostas: 1 +OK (indica que o comando foi executado com sucesso) 2 -ERR (indica algum erro) Um Agente Usuário usando POP3 pode ser configurado pelo usuário para download and delete ou download and keep
IMAP (Internet Mail Access Protocol) (RFC 3501) Características adicionais ao POP3 e maior complexidade Um servidor IMAP associa cada mensagem a um folder O IMAP provê comandos para o usuário criar folders, mover mensagens entre folders, pesquisar mensagens em folders O IMAP mantém informações de estado entre sessões IMAP (ex., nomes dos folders, quais mensagens estão em cada folder) O IMAP oferece comandos para o Agente Usuário obter componentes da mensagem (ex., cabeçalho) (útil para conexões lentas entre o Agente Usuário e o servidor de email)
Email Web O Hotmail introduziu a idéia de acesso a email via aplicação Web (em meados dos anos 90) Nesse esquema, o Agente Usuário é um browser Web e o usuário comunica-se com seu mailbox remoto via HTTP O envio da mensagem (do usuário para o servidor de email) e o recebimento da mensagem (do servidor de email para o usuário) é feito via browser HTTP A comunicação entre servidores de email continua sendo feita via SMTP
Referências bibliográficas 1 J. Kurose and K. Ross, Computer Networking: A Top-Down Approach, Addison-Wesley, 5 a ed., 2009