INTRODUÇÃO ÀS REDES DE COMPUTADORES CAMADA DE APLICAÇÃO Teresa Vazão 2
INTRODUÇÃO Internet para todos.. 1979 Tim Burners Lee (invesngador do CERN): Inventor do conceito de navegação por hyper- texto 25 de Dezembro 1980 WWW (World Wide Web) Primeira comunicação HTTP entre um servidor e um cliente 3
SUMARIO Camada de aplicação Transferência de ficheiros HTTP FTP TFTP Correio electrónico Gestão de nomes 4
CAMADA DE APLICAÇÃO Correio electrónico Email Conjunto de diferentes protocolos Rede de servidores de email Clientes interagem apenas com os servidores locais Entrega da informação ao desnnatário final, em deferido 5
Email Conceitos introdutórios Conjunto de aplicações para leitura/escrita e transferência de emails Entrega de informação ao unlizador em diferido Comunicação entre o cliente e o servidor local Comunicação entre servidores de email Normalização SMTP: RFC 821 IMAP 4: RFC 2061 POP3: RFC 1939 6
Email - conceitos introdutórios Agente Agente Servidor crepes.fr Do you like ketchup? What about pickles? Servidor hamburger.edu 7
Email: conceitos introdutórios Agente - User agente Aplicação usada pelos unlizadores para escrever/ler mensagens Thunderbird, gmail, Outlook,etc.. Servidor - Mail server Servidor que contém as mensagens em espera para serem enviadas e as mensagens recebidas SMTP Comunicação entre servidores Quem escreve envia para o servidor de envio Quem lê recebe no servidor de recepção (mas não no agente!) Servidor de envio crepes.fr Agente Agente Servidor de recepção hamburger.edu 8
Email: conceitos introdutórios Protocolos de acesso ao mail Obter mail do servidor de recepção POP: Post Office Protocol Autorização (agente <- - >servidor) e download IMAP: Internet Mail Access Protocol Mais funcionalidades (mais complexo) Manipulação das mensagens armazenadas nos servidores HTTP: IST- Webmail, HotMail, etc Servidor de envio crepes.fr Agente Agente Servidor de recepção hamburger.edu 9
Email Protocolo SMTP Arquitectura Componentes dos servidores Comunicações 10
Protocolo SMTP - arquitectura Mail server Servidor que contém as mensagens em espera para serem enviadas e as mensagens recebidas Mailbox Contém as mensagens que entraram (ainda não lidas) para o unlizador Message queue Fila de mensagens de mail que o unlizador quer enviar (ainda não enviadas) mail server SMTP mail server user agent user agent SMTP SMTP user agent mail server mailbox user agent user agent user agent Fila de mensagens de saída 11
Protocolo SMTP - arquitectura Comunicação cliente- servidor Ligação TCP no porto 25 Três fases de transferência Handshaking (gree1ng) Transferência de mensagens Fecho Interacção comando- resposta commandos: texto ASCII resposta: código e descrição de estado mail server SMTP mail server user agent user agent SMTP SMTP user agent mail server user agent user agent user agent Fila de mensagens de saída mailbox 12
Protocolo SMTP Tipos de interacção Comandos Enviadas pelo cliente, em código ASCII 7 bits Resposta Códigos de estado e descrição textual, devolvidos pelo servidor em resposta aos comandos do cliente 13
Protocolo SMTP Ypos de interacção Interacção comando- resposta commandos: texto ASCII resposta: código e descrição de estado Mensagens Codificação em 7 bits ASCII Alguns caracteres não são permindos Servidor usa CRLF.CRLF para idennficar o fim da mensagem Necessidade de codificadores para transporte de informação mulnmédia 14
Protocolo SMTP Ypos de interacção Comandos HELO inicia a conversação com o servidor MAIL FROM indica quem está a enviar o email RCPT TO indica quem está a receber o email DATA indica que se vai enviar a mensagem de dados QUIT indica que a conversação terminou. Respostas 220 The server is ready 250 OK 251 The specified user is not local, but the server will forward the mail message. 552 The mailbox that you are trying to reach has run out of space. Store the message and try again tomorrow or in a few days- auer the user gets a chance to delete some messages. 15
Protocolo SMTP Ypos de interacção (sem agente) C: telnet hamburger.edu S: 220 hamburger.edu Estabelecimento da ligação TCP crepes.fr hamburger.edu 16
Protocolo SMTP Ypos de interacção (sem agente) C: telnet hamburger.edu S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you Início da ligação ao servidor crepes.fr hamburger.edu 17
Protocolo SMTP Ypos de interacção (sem agente) C: telnet hamburger.edu S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok Quem está a enviar o email? Alice! crepes.fr hamburger.edu 18
Protocolo SMTP Ypos de interacção (sem agente) C: telnet hamburger.edu S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok Quem vai receber o email? Bob! crepes.fr hamburger.edu 19
Protocolo SMTP Ypos de interacção (sem agente) C: telnet hamburger.edu S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. Transferência do email crepes.fr Do you like ketchup? What about pickles? hamburger.edu 20
Protocolo SMTP Ypos de interacção (sem agente) C: telnet hamburger.edu S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <alice@crepes.fr> S: 250 alice@crepes.fr... Sender ok C: RCPT TO: <bob@hamburger.edu> S: 250 bob@hamburger.edu... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connecyon Terminação da ligação ao servidor crepes.fr hamburger.edu 21
Protocolo SMTP Formato das mensagens Comandos Enviadas pelo cliente, em código ASCII 7 bits Resposta Códigos de estado e descrição textual, devolvidos pelo servidor em resposta aos comandos do cliente 22
Protocolo SMTP formato das mensagens Linhas de cabeçalho, e.g., To: From: Subject: diferente dos comandos smtp Corpo Apenas os caracteres ASCII da mensagem Header Body Linha em branco 23
Protocolo SMTP formato das mensagens Linhas de cabeçalho, e.g., To: From: Subject: diferente dos comandos smtp Corpo Apenas os caracteres ASCII da mensagem From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepes CRLF Do you like ketchup? What about pickles? CRLF CRLF Linha em branco 24
Protocolo SMTP formato das mensagens Método usado para codificar os dados Tipo de dados mulnmédia, sub- Npo, declaração de parâmetros Versão MIME Dados codificados From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepes MIME- Version: 1.0 Content- Transfer- Encoding: base64 Content- Type: image/jpeg CRLF Do you like ketchup? What about pickles? CRLF CRLF 25
SUMARIO Bibliografia James Kurose, Keith Ross, Computer Network: a Top- Down Approach Featuring the Internet (edição 2) Cap. 2: Electronic mail e Internet: secção 2.4 completa 26