Transferência de arquivos (FTP) Protocolo de transferência de arquivos (File Transfer Protocol) Descrito na RFC 959 Usa o TCP, a porta 21 (conexão de controle) e a porta 20 (conexão de dados) Em uma mesma sessão, a cada transferência é usada uma conexão diferente de dados Mantém informações de estado Associação com conta do usuário, controle sobre o diretório corrente do usuário Limita o número de sessões que um servidor pode manter
Transferência de arquivos (FTP) Funcionamento do FTP (fonte: Kurose)
Transferência de arquivos (FTP) Comandos enviados em ASCII (7 bits) Exemplos de comandos USER <username> PASS <password> LIST RETR <filename> STOR <filename>
Correio eletrônico Sistema de correio da Internet composto de Agentes de usuário Servidores de correio ou agentes de transferência de mensagens Protocolo simples de transferência de correio (Simple Mail Transfer Protocol SMTP) Protocolos de acesso a correio
Analogia com a correspondência por correio (fonte: Kurose)
Correio eletrônico Agentes de usuário Permitem que usuários leiam, respondam, encaminhem, salvem e editem mensagens Ex.: Outlook, Eudora, Thunderbird, Mutt Servidores de correio Armazenam as mensagens Se comunicam para realizar a transferência das mensagens
Correio eletrônico SMTP Transfere mensagens entre servidores de correio Transfere mensagens do agente de usuário para um servidor de correio Daemon do sistema (processo executado em segundo plano) Protocolos de acesso a correio Transferem mensagens do servidor de correio para o agente de usuário
Correio eletrônico Sistema de correio da Internet
Correio eletrônico - SMTP Descrito na RFC 5321 Usa o TCP e a porta 25 Mensagens enviadas em ASCII (7 bits) Uso de extensão ou de codificação para 8 bits Comunicação entre um cliente SMTP (transmissor) e um servidor SMTP (receptor) Comunicação entre os servidores pode ser direta ou indireta
Correio eletrônico - SMTP Funcionamento do SMTP (fonte: Kurose)
Correio eletrônico - SMTP Utiliza comandos para fazer a comunicação entre servidores Exemplos de comandos HELO MAIL FROM RCPT TO DATA QUIT VRFY
Exemplo de interação (telnet servidor.br 25) S: 220 servidor.br C: HELO cliente.br S: 250 Hello cliente.br, pleased to meet you C: MAIL FROM: <usuario@cliente.br> S: 250 usuario@cliente.br... Sender ok C: RCPT TO: <usuario@servidor.br> S: 250 usuario@servidor.br... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: From: usuario@cliente.br C: To: usuario@servidor.br C: Subject: Teste C: C: Teste de envio de correio. C:. S: 250 Message accepted for delivery C: QUIT S: 221 servidor.br closing connection
Correio eletrônico Correio eletrônico formado por Envelope Encapsula uma mensagem Contém as informações necessárias para o transporte da mensagem Mensagem Como no correio comum Composta por cabeçalho e corpo
Exemplo de interação (telnet servidor.br 25) S: 220 servidor.br C: HELO cliente.br S: 250 Hello cliente.br, pleased to meet you C: MAIL FROM: <usuario@cliente.br> S: 250 usuario@cliente.br... Sender ok C: RCPT TO: <usuario@servidor.br> S: 250 usuario@servidor.br... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: From: usuario@cliente.br C: To: usuario@servidor.br C: Subject: Teste C: C: Teste de envio de correio. C:. S: 250 Message accepted for delivery C: QUIT S: 221 servidor.br closing connection
Correio eletrônico Correio eletrônico formado por Mensagem Campos de cabeçalho Exemplos: From: To: Subject: Received: Corpo Só diz respeito ao destinatário
Exemplo de mensagem Received: from cliente.br by servidor.br; 16 Jul 06 10:30:01 GMT Received: from maquina.cliente.br by cliente.br; 16 Jul 06 10:29:58 GMT From: usuario@cliente.br To: usuario@servidor.br Subject: Teste Teste de envio de correio.
Envelopes e mensagens (fonte: Tanenbaum)
Correio eletrônico - MIME Todos os objetos são colocados em uma única mensagem RFC 5321 não prevê o envio de imagens, áudio e vídeo Solução Estender o cabeçalho Extensões multiuso do correio da Internet (Multipurpose Internet Mail Extensions MIME) Definido nas RFCs 2045 e 2046 Exemplos de novas linhas de cabeçalhos Content-Type: Content-Transfer-Encoding:
Correio eletrônico - MIME Exemplo de mensagem MIME (fonte: Kurose) From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data.........base64 encoded data
Correio eletrônico Comunicação entre o agente do usuário e o servidor de correio Envio de mensagem: uso do SMTP Leitura de mensagem: uso de protocolo de acesso ao correio Protocolos de acesso a correio mais comuns POP3 IMAP HTTP
Correio eletrônico Protocolos de correio eletrônico (fonte: Kurose)
Correio eletrônico - POP3 Protocolo de correio (Post Office Protocol POP) versão 3 Definido na RFC 1939 Usa o TCP e a porta 110 Modos Ler e apagar do servidor Divide as mensagens entre as máquinas usadas para acessar o correio Ler e guardar no servidor
Correio eletrônico - POP3 Exemplos de comandos User <username> Pass <password> List Retr <message number> Dele <message number> Quit Não provê um meio para o usuário criar pastas remotas e designar mensagens a elas
Correio eletrônico - IMAP Protocolo de acesso a correio de Internet (Internet Mail Access Protocol IMAP) Definido na RFC 2060 Usa o TCP e a porta 143 Provê comandos que permitem que usuários Criem pastas Transfiram mensagens de uma para outra Agente do usuário pode obter componentes de mensagens
Correio eletrônico Comparação do POP3 com o IMAP (fonte: Tanenbaum)