Upload
redesinforma
View
2.043
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Transferência de arquivos (FTP)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)Transferência de arquivos (FTP)
Funcionamento do FTP (fonte: Kurose)
Transferência de arquivos (FTP)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ônicoCorreio 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ônicoCorreio 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ônicoCorreio 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ônicoCorreio eletrônico
Sistema de correio da Internet
Correio eletrônico Correio eletrônico -- SMTPSMTP
� Descrito na RFC 2821� 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 Correio eletrônico -- SMTPSMTP
Funcionamento do SMTP (fonte: Kurose)
Correio eletrônico Correio eletrônico -- SMTPSMTP
� 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.brC: HELO cliente.brS: 250 Hello cliente.br, pleased to meet youC: MAIL FROM: <[email protected]>S: 250 [email protected]... Sender okC: RCPT TO: <[email protected]>S: 250 [email protected] ... Recipient okC: DATAS: 354 Enter mail, end with "." on a line by itselfC: From: [email protected]: To: [email protected]: Subject: TesteC:C: Teste de envio de correio.C: .S: 250 Message accepted for deliveryC: QUITS: 221 servidor.br closing connection
Correio eletrônicoCorreio eletrônico
� Correio eletrônico formado por� Envelope
� Encapsula uma mensagem
� Contém as informações necessárias para o transporte da mensagem
� Como no correio comum
� Mensagem� Composta por cabeçalho e corpo
Exemplo de interação (telnet servidor.br 25)
S: 220 servidor.brC: HELO cliente.brS: 250 Hello cliente.br, pleased to meet youC: MAIL FROM: <[email protected]>S: 250 [email protected]... Sender okC: RCPT TO: <[email protected]>S: 250 [email protected] ... Recipient okC: DATAS: 354 Enter mail, end with "." on a line by itselfC: From: [email protected]: To: [email protected]: Subject: TesteC:C: Teste de envio de correio.C: .S: 250 Message accepted for deliveryC: QUITS: 221 servidor.br closing connection
Correio eletrônicoCorreio 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 GMTReceived: from maquina.cliente.br by cliente.br; 16 Jul 06 10:29:58 GMTFrom: [email protected]: [email protected]: Teste
Teste de envio de correio.
Envelopes e mensagens (fonte: Tanenbaum)
Correio eletrônico Correio eletrônico -- MIMEMIME
� Todos os objetos são colocados em uma única mensagem
� RFC 822 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 Correio eletrônico -- MIMEMIME
From: [email protected]: [email protected]: Picture of yummy crepe. MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: image/jpeg
base64 encoded data ..... ......................... ......base64 encoded data
Exemplo de mensagem MIME (fonte: Kurose)
Correio eletrônicoCorreio 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ônicoCorreio eletrônico
Protocolos de correio eletrônico (fonte: Kurose)
Correio eletrônico Correio eletrônico -- POP3POP3
� 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 Correio eletrônico -- POP3POP3
� 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 Correio eletrônico -- IMAPIMAP
� 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ônicoCorreio eletrônico
Comparação do POP3 com o IMAP (fonte: Tanenbaum)
WebWeb
� Teia de alcance mundial (World Wide Web –WWW)
� Web composta de� Agentes de usuário para a Web (browsers)� Servidores Web� Protocolo de transferência de hipertexto (HyperText
Transfer Protocol – HTTP)
WebWeb
Partes do modelo da Web (fonte: Tanenbaum)
Web Web -- HTTPHTTP
� Descrito nas RFCs 1945 e 2616� Usa o TCP e a porta 80� Provê comandos que permitem que usuários
� Requisitem páginas Web� Enviem páginas Web� Enviem dados a um servidor
� Servidor não armazena informação de estado
Web Web -- HTTPHTTP
� Usa dois tipos de conexões (configurável no browser)� Não persistentes
� Único objeto enviado por uma conexão TCP� Maior alocação de recursos (buffers, variáveis etc.)
� Persistentes� Mais atual� Vários objetos podem ser enviados por uma conexão
TCP
� Pode-se usar conexões em série ou paralelas� Configurável no browser
Web Web -- HTTP HTTP -- mensagensmensagens
� Dois tipos de mensagens� Requisição� Resposta
� Usam ASCII
Web Web -- HTTP HTTP -- mensagens de requisimensagens de requisiççãoão
� Exemplos de comandos (métodos)� GET
� Mais utilizado
� POST� Corpo da entidade contém dados digitados em um
formulário
� HEAD� Não manda o objeto requisitado� Usado para depuração
� PUT� Para enviar objetos ao servidor
� DELETE� Para apagar objetos do servidor
Web Web -- HTTP HTTP -- mensagens de requisimensagens de requisiççãoão
GET /somedir/page.html HTTP/1.1Host: www.someschool.eduConnection: closeUser-agent: Mozilla/4.0 Accept-language:fr
Exemplo de mensagem de requisição (fonte: Kurose)
Web Web -- HTTP HTTP -- mensagens de requisimensagens de requisiççãoão
Formato geral das mensagens de requisição HTTP (fonte: Kurose)
Web Web -- HTTP HTTP -- mensagens de respostamensagens de resposta
� Corpo da entidade contém a página� Servidor também envia um código de estado� Exemplos de códigos
� 200 OK� 301 Moved Permanently� 304 Not Modified� 400 Bad Request� 404 Not Found� 505 HTTP Version Not Supported
Web Web -- HTTP HTTP -- mensagens de respostamensagens de resposta
HTTP/1.1 200 OK Connection: closeDate: Thu, 03 Jul 2003 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Sun, 5 May 2003 09:23:24 GMTContent-Length: 6821 Content-Type: text/html
data data data data data ...
Exemplo de mensagem de resposta (fonte: Kurose)
Web Web -- cookiescookies
� Usados na interação usuário-servidor� Servidor HTTP não tem estado
� Importante conhecer algumas características do usuário� Para restringir acesso de usuário� Para apresentar conteúdo em função da identidade do
usuário
� Outros
� Definidos na RFC 2109� Boa parte dos sites atuais usam cookies
Web Web -- cookiescookies
� Cookie composto de� Linha de cabeçalho de cookie na mensagem de
resposta HTTP� Linha de cabeçalho de cookie na mensagem de
requisição HTTP� Arquivo de cookies mantido no sistema final do usuário
e gerenciado pelo browser� Banco de dados de apoio no site Web
Web Web -- cookiescookies
Cliente Servidor
usual HTTP request msg
usual HTTP response +Set-cookie: 1678
usual HTTP request msgcookie: 1678
usual HTTP response msg
usual HTTP request msg
cookie: 1678usual HTTP response msg
especificaçãodo cookie
especificaçãodo cookie
servidorcria o ID 1678para o usuário
acesso
acesso
Cookie fileamazon: 1678ebay: 8734
Cookie fileebay: 8734
Cookie fileamazon: 1678ebay: 8734
Uma semana depois:
Exemplo de uso de cookies (fonte: Kurose)
Web Web -- cookiescookies
� Podem ser considerados violação de privacidade� Por exemplo, pode-se montar um perfil do
comportamento de um usuário
Web Web -- cachecache
� Cache Web ou servidor proxy� Atende requisições HTTP em nome de um
servidor Web de origem� Usado principalmente por duas razões
� Diminuir o tempo de resposta a uma requisição Web� Reduzir o tráfego na Internet
� Cache pode estar em� ISPs� Universidades� Laboratórios� Local
� Configuração feita no browser do usuário
Web Web -- cachecache
Exemplo de cache hierárquico (fonte: Tanenbaum)
Web Web -- cachecache
� Objeto armazenado inclui a data da última modificação
� Funcionamento� Cliente envia o pedido de um objeto para o cache� Se o cache possui o objeto, envia o objeto ao cliente� Se não, solicita o objeto do servidor original, armazena
o objeto e o envia ao cliente
� Ex.: Kurose pag. 79� Cache pode saber se os objetos estão
atualizados usando um “GET condicional”� GET + cabeçalho If-Modified-Since: