UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO DEPARTAMENTO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores I Nível de Aplicação ( & ) Prof. Helcio Wagner da Silva. p.1/27
Introdução O (File Transfer Protocol) é definido na RFC 959. Interface do usuário Cliente transferência de arquivos sistema de arquivos local sistema de arquivos remoto Ele opera com dois tipos de conexão TCP: uma conexão de controle, persistente durante toda a sessão. uma conexão de dados, transiente, para cada transferência de arquivo.. p.2/27
Modos de Operação O pode operar em dois modos distintos: Modo ativo (padrão). Modo passivo. O modo de operação traduz o comportamento do na abertura da conexão de dados: No modo ativo, o servidor abre a conexão de dados TCP com o cliente. No modo passivo, o cliente abre a conexão de dados com o servidor. O é um protocolo statefull.. p.3/27
Modo Ativo Cliente 1027 1026 1 PORT 1027 21 TCP TCP Cliente 1027 TCP 1026 2 200 PORT 21 TCP Cliente 1027 1026 3 abertura de conexão 20 21 TCP TCP. p.4/27
Modo Passivo Cliente TCP 1026 1 PASV 21 TCP Cliente TCP 1026 2 PORT 1024 21 1024 TCP Cliente 1027 1026 21 1024 TCP TCP 3 abertura de conexão. p.5/27
Modo ASCII x Modo Binário No Modo ASCII, apenas os 7 bits de um Byte são transferidos. Supõe-se que o arquivo se trata de texto codificado em ASCII (American Standard Code for Information Interchange). Conversão de caracteres para formato nativo: Sistema Fim de linha Fim de arquivo Windows [CR+LF] [ˆZ] Linux, Unix [LF] [ˆD] No modo Binário, todos os 8 bits são transferidos. Uma cópia integral dos dados é transferida.. p.6/27
Comandos & Respostas Comandos típicos: USER username PASS password LIST RETR filename STOR filename Respostas típicas: 331 Username ok, password required 125 Data connection already open; transfer starting 425 Can t open data connection 452 Error writing file. p.7/27
T (Trivial ) Primo pobre do, definido na RFC 1350. Diferentemente do, usa o UDP. Mais precisamente, a porta 69. Utilizado apenas em redes locais: UDP não provê controle de erros. O T é usado por dispositivos sem disco para inicialização através da rede. Possui funcionalidades limitadas se comparado ao : Não permite listar o conteúdo de um diretório, por exemplo.. p.8/27
Operação do T C X WRQ S C X RRQ S 69 69 X ACK 0 Y X DAT 1 Y C S C S 69 69 X DAT 1 Y X ACK 1 Y C S C S 69 (a) escrita (b) leitura 69. p.9/27
Correio Eletrônico UA MTA UA MTA UA UA MTA UA UA. p.10/27
Componentes O sistema de correio eletrônico contempla: UAs (User Agents); MTAs (Message Transfer Agents). Exemplos de UAs com interface gráfica: Eudora, Outlook, Messenger, etc. Exemplos de UAs de modo texto: mail, pine, elm, etc. O MTA é o de Correio Eletrônico.. p.11/27
Uma mensagem de Alice para Bob é confeccionada no UA de Alice e entregue ao seu MTA. Em seguida, o MTA de Alice encaminha, sem intermediários, a mensagem ao MTA de Bob. MTA Internet MTA UA UA Alice Bob Ambos procedimentos são realizados usando-se o (Simple Mail Transfer Protocol).. p.12/27
Características do Especificado na RFC 821 (protocolo antigo). Utiliza o TCP como protocolo de transporte. Mais especificamente a porta 25. Restringe as mensagens ao formato ASCII, de 7 bits. Trata-se de um protocolo para envio de informações. No endereço fulano@toto.com.br: fulano representa uma caixa de correio; toto.com.br representa o computador onde a caixa está localizada.. p.13/27
Características do Múltiplos destinatários em um mesmo computador: fulano, beltrano, cicrano conexão TCP (mesma) conexão TCP toto.com.br toto.com.br Explodidor de emails: cdcfac@googlegroups.com uol.com globo.com googlegroups.com (mail relayer) terra.com. p.14/27
Formato das Mensagens O formato básico das mensagens de correio é definido pela RFC 822. Exemplo: From: alice@alpha.fr To: bob@bravo.edu Subject: Quadro de Monet. Conteúdo era restrito inicialmente a mensagens codificadas em ASCII.. p.15/27
Exemplo de Troca de Mensagens telnet bravo.edu 25 S: 220 bravo.edu C: HELO alpha.fr S: 250 Hello alpha.fr, pleased to meet you C: MAIL FROM: <alice@alpha.fr> S: 250 alice@alpha.fr... Sender ok C: RCPT TO: <bob@bravo.edu> S: 250 bob@bravo.edu... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Bom dia, Bob. Tudo bem contigo? C: Até amanhã. C:. S: 250 Message accepted for delivery C: QUIT S: 221 bravo.edu closing connection. p.16/27
MIME (Multi purpose Internet Mail Extensions) Cabeçalhos definidos nas RFCs 2045 e 2046. Usados em mensagens multimídia, ou texto não codificado em ASCII. Exemplo: From: alice@alpha.fr To: bob@bravo.edu Subject: Quadro de Monet. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg (dados codificados em base64.........(dados codificados em base64).. p.17/27
Valores Comuns para o Content-Type text/plain; charset=us-ascii, text/plain; charset="iso-8859-1" text/html image/gif image/jpeg audio/basic video/mpeg video/quicktime application/msword multipart/mixed. p.18/27
Exemplo de Uso do multipart/mixed From: alice@alpha.fr To: bob@bravo.edu Subject: Quadro de Monet. MIME-Version: 1.0 Content-Type: multipart/mixed; Boundary=StartOfNextPart --StartOfNextPart Bob, eis aqui o quadro de Monet. --StartOfNextPart Content-Transfer-Encoding: base64 Content-Type: image/jpeg (dados codificados em base64.........(dados codificados em base64) --StartOfNextPart Espero que ajude em seu trabalho... p.19/27
Cabeçalho Received Colocado pelo servidor destinatário. Ex.: Received from: alpha.fr by bravo.edu; 12 Oct 98 15:27:39 GMT From: alice@alpha.fr To: bob@bravo.edu Subject: Quadro de Monet. MIME-Version: 1.0 Content-Type: multipart/mixed; Boundary=StartOfNextPart --StartOfNextPart Bob, eis aqui o quadro de Monet. --StartOfNextPart (dados codificados em base64.........(dados codificados em base64).. p.20/27
Cabeçalho Received (cont.) Uma mensagem pode eventualmente sofrer um encaminhamento adicional. Exemplo: Received from: bravo.edu by charlie.edu; 12 Oct 98 15:30:01 GMT Received from: alpha.fr by bravo.edu; 12 Oct 98 15:27:39 GMT. p.21/27
Entrega Final de Mensagem Leva em conta a conectividade sob demanda de usuários. Internet POP3/ IMAP POP3/IMAP UA UA Alice Bob Os protocolos usados para entrega final são: POP3 (Post Office Protocol version 3); IMAP (Internet Message Access Protocol).. p.22/27
POP3 Definido na RFC 1939. Usa o TCP como protocolo de transporte. Mais precisamente, a porta 110 do TCP. Possui três estados seqüenciais: 1. Autorização; 2. Transações; 3. Atualização. Usualmente, os UAs descarregam todas as mensagens e esvaziam a caixa de correio.. p.23/27
Exemplo de Troca de Mensagens telnet mailserver 110 +OK POP3 server ready user alice +OK pass toto +OK user successfully logged on C: list S: 1 498 S: 2 912 C: retr 2 S:. S: (bla bla... C: retr 1 S:... S: (bla bla... S:... bla) S:... S:. S:... bla) C: dele 2 S:. C: quit C: dele 1 S: +OK POP3 server signing off. p.24/27
IMAP Definido na RFC 2060. Usa o TCP como protocolo de transporte. Mais precisamente, a porta 143 do TCP. Pressupõe que as mensagens permanecerão indefinidamente no servidor. Fornece mecanismos para leitura de mensagens e partes de mensagens. É possível também criar, destruir e manipular várias caixas de correio no servidor.. p.25/27
Comparação Entre POP3 e IMAP Característica POP3 IMAP RFC em que é definido 1939 2060 Porta TCP usada 110 143 Onde as mensagens são armazenadas PC do usuário servidor Onde as mensagens são lidas Off-line On-line Tempo de conexão pequeno grande Uso de recursos no servidor Mínima Intensa Várias caixas de correio Não Sim Quem guarda cópias das caixas Usuário Provedor Bom para usuários em trânsito Não Sim Controle do usuário sobre o download Pequeno Grande Downloads de mensagens parciais Não Sim Quotas de disco podem ser um problema após algum tempo Não Sim Implementação simples Sim Não Suporte difundido Sim Crescendo. p.26/27
Webmail Exemplos de serviços Webmail comuns: Hotmail, Yahoo! Mail, Gmail, etc. O UA é o próprio navegador do cliente. Mensagens são enviadas para os servidores de email e retiradas deles usando o HTTP. Os servidores, contudo, continuam a se comunicar usando o. É lento, pois os servidores estão longe dos usuários e a interação com o servidor é feita usando scripts.. p.27/27