Aplic. distribuídas e protocolos da camada de aplic.



Documentos relacionados
FTP: protocolo de transferência de arquivos

Transferência de arquivos (FTP)

Correio Eletrônico e os protocolos SMTP, POP3 e IMAP

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Camada de aplicação. Camada de aplicação

REDES DE COMPUTADORES. Prof. Evandro Cantú

Camada de aplicação. Aplicações em rede

Camada de Aplicação Protocolo FTP e Correio Eletrônico

Servidor de s e Protocolo SMTP. Professor: João Paulo de Brito Gonçalves Disciplina: Serviços de Redes

Camada de aplicação Conceitos, implementação de protocolos da camada de aplicação

FPROT HTTP(s), FTP, DHCP, SQUID e SAMBA. Aula 1 SENAC TI Fernando Costa

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Camada de Aplicação. Prof. Tiago Semprebom. 2: Camada de aplicação 1

2Arquitetura cliente-servidor

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Redes de Computadores I

HYPERTEXT TRANSFER PROTOCOL

Redes de Computadores e a Internet

Redes de Computadores

Redes de Computadores Camada de Aplicação. Prof. MSc. Hugo Souza

Servidor de s e Protocolo SMTP

INTRODUÇÃO ÀS REDES DE COMPUTADORES

REDES DE COMPUTADORES I 2007/2008 LEIC - Tagus-Park TPC Nº 2. Avaliação sumária da matéria do Capítulo 2

Rede de Computadores (REC)

Sistemas Distribuídos Capítulos 5 e 6 - Aula 9

Aula 6 Camada de Aplicação Sistema de correio eletrônico e DNS

DNS - Domain Name System

Teleprocessamento e Redes


Camada de Aplicação. Protocolos. Tópicos & Objetivos 16/01/13

Redes de Computadores

Wireshark. Captura de Protocolos da camada de aplicação. Maicon de Vargas Pereira

Redes de Computadores e a Internet

Web. Até a década de 1990, a Internet era utilizada. por pesquisadores, acadêmicos e universitários, para troca de arquivos e para correio eletrônico.

Redes de Computadores

Redes de Computadores

Redes de Computadores I Licenciatura em Eng. Informática e de Computadores 1 o Semestre, 26 de Outubro de o Teste A

Redes de Computadores

DNS. Usa o UDP e a porta 53. Não é uma aplicação com a qual o usuário interage diretamente Complexidade nas bordas da rede

O espaço de nomes DNS Registros de recursos de domínio Servidores de nome

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. Programação WEB

Redes de Computadores

Universidade Federal do Rio Grande do Norte

Redes de computadores e a Internet. Capítulo2. Camada de aplicação

Redes de Computadores Aula 3

PROTOCOLOS DE COMUNICAÇÃO

REC- Redes de Computadores. Capítulo 5 Camada de Aplicação

Redes de Computadores e a Internet

Internet e protocolos web. A Internet é uma rede descentralizada de recursos computacionais. Topologia tem de fornecer caminhos alternativos

PTC Aula Web e HTTP 2.3 Correio eletrônico na Internet 2.4 DNS O serviço de diretório da Internet

Capítulo 2 Camada de aplicação

Tecnologia de Redes de Computadores

Redes TCP/IP. Prof. M.Sc. Alexandre Fraga de Araújo. INSTITUTO FEDERAL DO ESPÍRITO SANTO Campus Cachoeiro de Itapemirim

Aula-28 Camada Aplicação - DNS. Prof. Dr. S. Motoyama

Redes - Internet. Sumário Aula 3,4 e 5 9º C } Estrutura baseada em camadas. } Endereços IP. } DNS -Domain Name System

10/07/2013. Camadas. Principais Aplicações da Internet. Camada de Aplicação. World Wide Web. World Wide Web NOÇÕES DE REDE: CAMADA DE APLICAÇÃO

Redes de Computadores. Protocolos de comunicação: TCP, UDP

REDES DE COMPUTADORES

DNS Domain Name System

Redes de Computadores

PROTOCOLOS DE COMUNICAÇÃO

Redes de Computadores Aula 4

Camada de Aplicação. Redes de Computadores e a Internet, 6a ed, Kurose & Ross

Sistemas Distribuídos (DCC/UFRJ)

Capítulo 8 - Aplicações em Redes

SMTP, POP, IMAP, DHCP e SNMP. Professor Leonardo Larback

O protocolo HTTP. O que é o protocolo HTTP?

UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Capítulo 2. Camada de aplicação

Camada de Aplicação. DNS Domain Name System. Redes de Computadores Prof. Leandro C. Pykosz

USO GERAL DOS PROTOCOLOS SMTP, FTP, TCP, UDP E IP

Programação para Internet Flávio de Oliveira Silva, M.Sc.

Sistemas Multimédia. Arquitectura Protocolar Simples Modelo OSI TCP/IP. Francisco Maia Redes e Comunicações

Permite o acesso remoto a um computador;

DNS e Serviço de Nomes. Professor: João Paulo de Brito Gonçalves Disciplina: Serviço de Redes

Correio Electrónico. Instituto Superior de Engenharia de Lisboa Departamento de Engenharia de Electrónica e Telecomunicações e de Computadores

INTRODUÇÃO ÀS REDES DE COMPUTADORES

Tecnologias da Informação e Comunicação. Principais tipos de serviços da Internet

Internet ou Net. É uma rede mundial de computadores ligados entre si através s de linhas telefónicas comuns.

1.264 Lição 11. Fundamentos da Web

DNS: Sistema de Nomes de Domínio

Cap 03 - Camada de Aplicação Internet (Kurose)

Transcrição:

Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) DNS ( Domain Name System protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.1 Aplic. distribuídas e protocolos da camada de aplic. Aplicações distribuídas programas que se executam nos computadores da rede necessitam trocar mensagens através da rede para fornecerem o resultado para que foram desenhadas e.g., e-mail, WWW, tranferência de ficheiros Protocolos da camada de aplicação são partes integrantes de uma aplicação distribuída definem as mensagens a trocar e as acções que resultam dessas mensagens usam serviços de comunicação fornecidos pelas entidades das camadas de protocolo inferiores application transport network data link physical application transport network data link physical application transport network data link physical 1º Semestre 2005/2006 Redes de Computadores I 2.2 1

Aplicações distribuídas: definição de termos Um processo é um programa que se executa num único computador. No mesmo computador, dois processos comunicam usando ferramentas do sistema operativo ( interprocess communication ). Processos que se executam em diferentes computadores comunicam através de um protocolo da camada de aplicação. Um e de utilizador ( ) é uma interface entre um utilizador e uma aplicação distribuída. WWW: browser E-mail: leitor de correio audio/video: media player 1º Semestre 2005/2006 Redes de Computadores I 2.3 Modelos de serviço: Cliente/Servidor Cliente: inicia o contacto com o servidor tipicamente é o cliente que faz um pedido de serviço Servidor: tipicamente encontra-se à espera de pedidos de serviços que satisfaz quando requisitados pelo cliente application transport network data link physical request reply A maior parte das aplicações distribuidas existentes funcionam segundo o modelo cliente/servidor application transport network data link physical 1º Semestre 2005/2006 Redes de Computadores I 2.4 2

Modelos de serviço: P2P ( Peer-to-Peer ) Servidores não necessariamente sempre activos Sistemas terminais arbitrários podem comunicar directamente Sistemas pares têm ligações intermitentes e mudam de endereço Exemplo: Gnutella 1º Semestre 2005/2006 Redes de Computadores I 2.5 Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) DNS ( Domain Name System protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.6 3

Requisitos sobre os serviços de transporte Perdas algumas aplicações (e.g., audio) toleram perdas de informação outras aplicações (e.g., telnet ) exigem fiabilidade total Largura de banda algumas aplicações (e.g., multimedia) exigem uma banda mínima para funcionar correctamente outras aplicações ( elastic apps ) conseguem usar a banda disponível em cada instante Timing algumas aplicações (e.g., telefone, jogos interactivos) exigem um pequeno atraso extremo a extremo aproximadamente constante durante a sua execução 1º Semestre 2005/2006 Redes de Computadores I 2.7 Requisitos sobre os serviços de transporte Aplicação Perdas Banda Time Sensitive transf. de ficheiros e-mail documentos WWW audio/vídeo tempo real audio/vídeo gravado jogos interactivos aplic. financeiras intolerante intolerante intolerante tolerante tolerante tolerante intolerante elástica elástica elástica audio: 5Kb-1Mb vídeo:10kb-5mb audio: 5Kb-1Mb vídeo:10kb-5mb > 10Kb elástica não não não 100 mseg alguns seg 100 mseg ---- 1º Semestre 2005/2006 Redes de Computadores I 2.8 4

Aplicações, protocolos de aplicação e transporte Aplicação e-mail acesso remoto WWW transf. de ficheiros multimedia servidor de ficheiros telefone Prot. da camada de aplicação smtp [RFC 2821] telnet [RFC 854] http [RFC 2616] ftp [RFC 959] proprietários (e.g. RealNetworks) NFS proprietários (e.g., Vocaltec) Prot. da camada de transporte TCP TCP TCP TCP TCP or UDP TCP or UDP tipicamente UDP 1º Semestre 2005/2006 Redes de Computadores I 2.9 Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) DNS ( Domain Name System protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.10 5

WWW: algumas designações Web page : é constituida por objectos ; em geral, uma página HTML que referencia outros objectos endereçada por um URL Um URL tem duas componentes: host name e path name : www.ist.utl.pt/secretaria/pautas.html O e de utilizador WWW chama-se browser : MS Internet Explorer Netscape Communicator O servidor Web chama-se Web : Apache MS Internet Information Server A aplicação World Wide Web foi introduzida por Berners-Lee em 1994 1º Semestre 2005/2006 Redes de Computadores I 2.11 O protocolo HTTP http: hypertext transfer protocol Protocolo da camada de aplicação modelo cliente/servidor cliente: browser que pede, recebe e apresenta objectos servidor: Web que envia objectos em resposta aos pedidos do cliente http1.0: RFC 1945 http1.1: RFC 2616 PC running Explorer http request http response http request http response Server running NCSA Web Mac running Navigator 1º Semestre 2005/2006 Redes de Computadores I 2.12 6

O protocolo HTTP Não tem memória O servidor não mantém informação sobre os pedidos anteriores do cliente Usa o serviço de transporte TCP o cliente inicia uma ligação TCP (cria um socket ) com o servidor no porto 80 o servidor aceita ligações TCP do cliente trocam-se mensagens http (mensagens do protocolo da camada de aplicação) entre o browser (cliente http) e o Web (servidor http) a ligação TCP é encerrada 1º Semestre 2005/2006 Redes de Computadores I 2.13 Exemplo HTTP URL: www.someschool.edu/somedepartment/home.index 1a. http client initiates TCP connection to http (process) at www.someschool.edu. Port 80 is default for http. (contains text, references to 10 jpeg images) 1b. http at host www.someschool.edu waiting for TCP connection at port 80. accepts connection, notifying client 2. http client sends http request message (containing URL) into TCP connection socket 3. http receives request message, forms response message containing requested object (somedepartment/home.index), sends message into socket time 1º Semestre 2005/2006 Redes de Computadores I 2.14 7

Exemplo HTTP (cont.) 4. http closes TCP connection. time 5. http client receives response message containing html file, displays html. Parsing html file, finds 10 referenced jpeg objects 6. Steps 1-5 repeated for each of 10 jpeg objects 1º Semestre 2005/2006 Redes de Computadores I 2.15 Ligações persistentes e não persistentes Não persistentes HTTP/1.0 o servidor interpreta o pedido, responde e fecha a ligação TCP 2 RTTs para obter cada objecto; no entanto, na maior parte dos casos, usam-se várias ligações TCP em paralelo Cada transferência é sujeita ao período slow start do TCP Persistentes HTTP/1.1 (por omissão) na mesma ligação TCP o servidor pode responder a vários pedidos o cliente envia pedidos para todos os objectos referenciados na mesma página de base. 1º Semestre 2005/2006 Redes de Computadores I 2.16 8

Formato da mensagem http Dois tipos de mensagens http: request, response (ASCII) request request line (GET, POST, HEAD commands) header lines GET /somedir/page.html HTTP/1.0 User-: Mozilla/4.0 Accept: text/html, image/gif,image/jpeg Accept-language:fr (extra carriage return, line feed) Carriage return line feed indicates end of message 1º Semestre 2005/2006 Redes de Computadores I 2.17 Formato da mensagem http: request 1º Semestre 2005/2006 Redes de Computadores I 2.18 9

Formato da mensagem http response status line (protocol status code status phrase) data, e.g., requested html file header lines HTTP/1.0 200 OK Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998... Content-Length: 6821 Content-Type: text/html data data data data data... 1º Semestre 2005/2006 Redes de Computadores I 2.19 Interacção utilizador/servidor: autenticação client Objectivo: controlo de acesso aos documentos no servidor stateless : O cliente tem de apresentar autorização em cada pedido autorização: tipicamente name e password numa linha do cabeçalho de um pedido o browser memoriza normalmente o conjunto name e password para evitar perguntar ao seu utilizador em cada pedido usual http request msg 401: authorization req. WWW authenticate: usual http request msg + Authorization:line usual http response msg usual http request msg + Authorization:line usual http response msg time 1º Semestre 2005/2006 Redes de Computadores I 2.20 10

Interacção utilizador/servidor: cookies O servidor envia um cookie ao cliente na mensagem response Set-cookie: 1678453 o cliente apresenta o cookie em futuras mensagens request cookie: 1678453 o servidor valida o cookie autenticação preferências do utilizador client usual http request msg usual http response + Set-cookie: # usual http request msg cookie: # usual http response msg usual http request msg cookie: # usual http response msg cookiespecific action cookiespecific action 1º Semestre 2005/2006 Redes de Computadores I 2.21 Interacção utilizador/servidor: GET condicional Objectivo: evitar a transmissão de um objecto que existe memorizado no cliente cliente: especifica a data da cópia que possui na mensagem request If-modified-since: <date> servidor: a resposta não inclui o objecto se o cliente o tem actualizado: HTTP/1.0 304 Not Modified client http request msg If-modified-since: <date> http response HTTP/1.0 304 Not Modified http request msg If-modified-since: <date> http response HTTP/1.1 200 OK <data> object not modified object modified 1º Semestre 2005/2006 Redes de Computadores I 2.22 11

Web Caches (proxy ) Objectivo: satisfazer o pedido de um cliente sem envolver o servidor origem O utilizador instrói o browser para aceder via web cache todos os pedidos http são enviados à web cache se o objecto existe na web cache o pedido é imediatamente satisfeito caso contrário a web cache consulta o servidor origem, memoriza o objecto (para futura utilização) e responde ao pedido do cliente. client client http request http response http request http response Proxy http request http response http request http response origin origin 1º Semestre 2005/2006 Redes de Computadores I 2.23 Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) DNS ( Domain Name System protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.24 12

DNS ( Domain Name System ) Motivação as máquinas ligadas à Internet têm um nome, e.g., mega.ist.utl.pt, mas para lhe enviar pacotes é necessário conhecer o endereço IP não é razoável colocar num único ponto o mapeamento nome/endereço IP (falhas, volume de tráfego, distância, manutenção) Solução Muitos servidores de nomes ( name s ), com informação parcial, organizados de forma hierárquica, que colaboram, em cada caso, para a tradução nome/endereço através de um protocolo de comunicação da camada de aplicação (protocolo DNS). Outros serviços: Para além da tradução nome/endereço IP a aplicação presta ainda serviços de host aliasing, mail aliasing, e distribuição de carga 1º Semestre 2005/2006 Redes de Computadores I 2.25 Tipos de servidores de nomes Servidores de nomes locais Cada máquina, para conhecer um mapeamento nome/endereço começa por interrogar o seu servidor local. Em geral, cada ISP tem um servidor de nomes local Servidores de nomes authoritative Cada máquina tem um servidor de nomes onde a tradução nome/endereço está armazenada obrigatoriamente Servidores de nomes raiz ( root ) Quando um servidor de nomes local não consegue resolver um pedido interroga um dos root s. 1º Semestre 2005/2006 Redes de Computadores I 2.26 13

Servidores Root a Verisign, Dulles, VA c Cogent, Herndon, VA (also Los Angeles) d U Maryland College Park, MD g US DoD Vienna, VA h ARL Aberdeen, MD j Verisign, ( 11 locations) k RIPE London (also Amsterdam, Frankfurt) i Autonomica, Stockholm (plus 3 other locations) e NASA Mt View, CA f Internet Software C. Palo Alto, CA (and 17 other locations) m WIDE Tokyo b USC-ISI Marina del Rey, CA l ICANN Los Angeles, CA 1º Semestre 2005/2006 Redes de Computadores I 2.27 Exemplo A máquina surf.eurecom.fr pretende o endereço IP de gaia.cs.umass.edu 1. Contacta o seu servidor de nomes local, dns.eurecom.fr 2. Se for necessário, dns.eurecom.fr contacta um servidor de nomes raiz 3. Se for necessário o servidor de nomes raiz contacta o servidor de nomes authoritative dns.umass.edu local name dns.eurecom.fr 1 2 6 surf.eurecom.fr root name 5 3 4 authoritative name dns.umass.edu gaia.cs.umass.edu 1º Semestre 2005/2006 Redes de Computadores I 2.28 14

Exemplo root name O servidor de nomes raiz pode não conhecer o endereço do servidor authoritative, mas de um servidor intermédio 2 7 3 6 Procedimento recursivo local name dns.eurecom.fr 1 8 requesting host surf.eurecom.fr intermediate name dns.umass.edu 4 5 authoritative name dns.cs.umass.edu gaia.cs.umass.edu 1º Semestre 2005/2006 Redes de Computadores I 2.29 Exemplo root DNS Cada servidor de nomes pode apenas fornecer o endereço do próximo servidor 2 3 4 TLD DNS 5 Procedimento iterativo local DNS dns.poly.edu 1 8 requesting host cis.poly.edu 7 6 authoritative DNS dns.cs.umass.edu gaia.cs.umass.edu 1º Semestre 2005/2006 Redes de Computadores I 2.30 15

Registos DNS DNS: base de dados distribuida que armazena Resource Records (RR) RR format: (name, value, type,ttl) Type=A name - hostname value - endereço IP Type=NS name - domain (e.g. foo.com) value - endereço IP do servidor de nomes authoritative deste domain Type=CNAME name - nome alternativo para uma dada máquina value - nome real da máquina Type=MX value - nome da máquina servidora de mail associada com name Ex.: Suponha que cria um novo domínio, xxx.com. Os registos a inserir são: (xxx.com, dns.xxx.com, NS) (dns.xxx.com, 212.212.212.1, A) 1º Semestre 2005/2006 Redes de Computadores I 2.31 Protocolo DNS Protocolo que usa o serviço de transporte não fiável UDP; porto 53 Os servidores de nomes funcionam, em geral, como cliente e servidor As mensagens pergunta e resposta têm o mesmo formato: 1º Semestre 2005/2006 Redes de Computadores I 2.32 16

Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) DNS ( Domain Name System protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.33 Transferência de ficheiros - FTP at host FTP interface FTP client local file system file transfer FTP remote file system Transferência de ficheiros de/para um computador remoto Modelo cliente/servidor cliente: inicia a transferência servidor: computador remoto Servidor ftp: porto 21 RFC 959 1º Semestre 2005/2006 Redes de Computadores I 2.34 17

Separação das ligações de dados e de controlo O cliente FTP contacta o servidor FTP especificando o protocolo de transporte TCP e o porto 21. São criadas ligações TCP em paralelo: controlo: troca de comandos e respostas entre o cliente e o servidor - out of band control dados: transferência de dados (ficheiros) entre o cliente e o servidor. Uma ligação TCP por cada ficheiro a enviar. O servidor FTP mantém o estado em cada sesssão: identificação do utilizador, directoria actual. FTP client TCP control connection port 21 TCP data connection port 20 FTP 1º Semestre 2005/2006 Redes de Computadores I 2.35 Comandos e respostas Comandos: enviados em texto ASCII através do canal de controlo Exemplos: USER name PASS password LIST (envia a lista de ficheiros da directoria actual) RETR filename (o servidor envia o ficheiro para o cliente) STOR filename (o cliente envia o ficheiro para o servidor que o armazena) Respostas Constituídos por um número e uma frase (como no HTTP) Exemplos: 331 Username OK, password required 125 data connection already open; transfer starting 425 Can t open data connection 452 Error writing file 1º Semestre 2005/2006 Redes de Computadores I 2.36 18

Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) DNS ( Domain Name System protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.37 Correio Electrónico Componentes principais: es de utilizador servidores de correio o protocolo SMTP Simple Mail Transfer Protocol Agente de Utilizador Interface para compor, modificar e ler mensagens de correio electrónico Mensagens que chegam ou que vão ser enviadas são armazenadas no servidor Exemplos: Eudora, Outlook, elm, Netscape Messenger mail SMTP mail SMTP SMTP outgoing message queue mail mailbox 1º Semestre 2005/2006 Redes de Computadores I 2.38 19

Servidor de correio electrónico Componentes Caixa do correio ( Mailbox ) que contém as mensagens do utilizador ainda não lidas Fila de mensagens de saída para as que ainda não foram enviadas Implementação do protocolo SMTP para comunicação entre servidores: cliente: aquele que envia mensagens servidor: aquele que recebe mail SMTP mail SMTP SMTP mail 1º Semestre 2005/2006 Redes de Computadores I 2.39 SMTP ( Simple Mail Transfer Protocol ) Usa o protolo de transporte TCP para transferência fiável de mensagens de correio Modelo cliente/servidor; ao servidor corresponde o porto 25 Transferência directa entre emissor e receptor Três fases na comunicação entre cliente e servidor apresentação ( handshaking ) transferência de mensagens fecho Interacção na forma de comando - resposta comando: texto ASCII resposta: código e frase (como nos protocolos anteriores) As mensagens têm de ser formadas em 7-bit ASCII RFC 2821 1º Semestre 2005/2006 Redes de Computadores I 2.40 20

Exemplo de interacção SMTP 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: Estas bem por ai? C: Confirmo a minha chegada ai no Sabado. Um abraco. C:. S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection 1º Semestre 2005/2006 Redes de Computadores I 2.41 Comparação SMTP/HTTP HTTP a informação é puxada pelo cliente cada objecto é encapsulado numa mensagem de resposta SMTP a informação (mensagens) é empurrada pelo cliente múltiplos objectos podem constituir uma única mensagem de correio usa CRLF.CRLF para identificar o fim da mensagem e portanto esta sequência não pode aparecer no texto Ambos usam interacção na forma de comando/resposta em ASCII 1º Semestre 2005/2006 Redes de Computadores I 2.42 21

Formato das mensagens O protocolo SMTP não define o formato das mensagens As mensagens de texto são normalizadas pelo RFC 822: Cabeçalho, To: From: Subject: Corpo da mensagem apenas caracteres ASCII header body Linha em branco 1º Semestre 2005/2006 Redes de Computadores I 2.43 Formato das mensagens: extensões MIME: Multipurpose Internet Mail Extensions, RFC 2045, 2046 MIME version method used to encode data multimedia data type, subtype, parameter declaration encoded data 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 1º Semestre 2005/2006 Redes de Computadores I 2.44 22

Tipos MIME Tipo/subtipo Text exemplos de subtipos: plain, html Video exemplos de subtipos : mpeg, quicktime Image exemplos de subtipos : jpeg, gif Audio exemplos de subtipos : basic (8- bit mu-law), 32kadpcm Application dados que têm de ser processados por uma aplicação exemplos de subtipos : msword, octet-stream 1º Semestre 2005/2006 Redes de Computadores I 2.45 Formato das mensagens: tipo multipart From: alice@crepes.fr To: bob@hamburger.edu Subject: Picture of yummy crepe. MIME-Version: 1.0 Content-Type: multipart/mixed; boundary=98766789 --98766789 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain Dear Bob, Please find a picture of a crepe. --98766789 Content-Transfer-Encoding: base64 Content-Type: image/jpeg base64 encoded data.........base64 encoded data --98766789-- 1º Semestre 2005/2006 Redes de Computadores I 2.46 23

Protocolos de acesso SMTP SMTP POP3 or IMAP or HTTP sender s mail receiver s mail SMTP: usado para enviar/armazenar mensagens para os servidores Protocolos de acesso: usados para receber/ler mensagens presentes nos servidores POP: Post Office Protocol [RFC 1939] autorização (e <-->servidor) e transferência IMAP: Internet Mail Access Protocol [RFC 2060] manipulação de mensagens no servidor HTTP: manipulação de mensagens no servidor; e.g., Hotmail, Yahoo! 1º Semestre 2005/2006 Redes de Computadores I 2.47 Post Office Protocol v.3 (POP3) Fase de autorização comandos do cliente: : name pass: password respostas do servidor +OK -ERR Fase de transacção, cliente: list: mostra o nº das mens. retr: transfere a mens. pelo nº dele: apaga quit S: +OK POP3 ready C: alice S: +OK C: pass hungry S: +OK successfully logged on C: list S: 1 498 S: 2 912 S:. C: retr 1 S: <message 1 contents> S:. C: dele 1 C: retr 2 S: <message 1 contents> S:. C: dele 2 C: quit S: +OK POP3 signing off 1º Semestre 2005/2006 Redes de Computadores I 2.48 24

Camada de Aplicação Características dos protocolos da camada de aplicação modelos de serviço (cliente/servidor; P2P) Requisitos sobre os serviços de transporte Protocolos comuns: HTTP ( Hypertext Transfer Protocol ) DNS ( Domain Name System protocol ) FTP ( File Transfer Protocol ) SMTP ( Simple Mail Transfer Protocol ) Partilha de ficheiros ( Peer-to-Peer P2P file sharing ) 1º Semestre 2005/2006 Redes de Computadores I 2.49 Peer-to-Peer File Sharing Pesquisa em Directório Centralizado (e.g., NAPSTER) Registo Registo Pedido Registo Transferência de dados 1º Semestre 2005/2006 Redes de Computadores I 2.50 25

Peer-to-Peer File Sharing Pesquisa sem Directório (e.g., GNUTELLA) Query QueryHit Query QueryHit Query QueryHit Query Query 1º Semestre 2005/2006 Redes de Computadores I 2.51 Peer-to-Peer File Sharing Pesquisa em Directório Distribuído (e.g., KAZAA) Ordinary peer Group-leader peer 1º Semestre 2005/2006 Redes de Computadores I 2.52 26