Вы находитесь на странице: 1из 100

Universidade Federal da Paraba Centro de Cincias Aplicadas e Educao Departamento de Cincias Exatas

Redes de Computadores:

Camada de Aplicao
Prof. Rafael Marrocos Magalhes
rafael@dce.ufpb.br
28 de Fevereiro de 2012 UFPB - CCAE - DCE

Esta apresentao contm partes, ou mesmo slides inteiros, da apresentao original disponibilizada por J.F Kurose e K.W. Ross, com permisso para utilizao como material de apoio instrucional. E, conforme solicitao do original, inclu aqui a nota de direito autoral.
sexta-feira, 2 de maro de 12 1

Motivao
Como usamos a Internet?

sexta-feira, 2 de maro de 12

Sumrio
Aplicaes Princpios de aplicaes em redes A Web e o Protocolo HTTP FTP - transferncia de arquivos Correio Eletrnico (STMP, POP3, IMAP) DNS - Nomes X IPs Aplicaes P2P

sexta-feira, 2 de maro de 12

sexta-feira, 2 de maro de 12

Algumas aplicaes de rede


! e-mail ! web ! mensagem instantnea ! login remoto ! compartilhamento de

Outras aplicaes
! redes sociais ! voice over IP ! vdeoconferncia em

tempo real ! computao em grade

arquivos P2P ! jogos em rede multiusurios ! clipes de vdeo armazenados em fluxo contnuo

sexta-feira, 2 de maro de 12

Objetivos
Aspectos conceituais sobre protocolos de aplicao modelos de servio de transporte paradigma cliente-servidor paradigma peer-to-peer Exemplos na prtica HTTP, FTP, STMP/POP3/IMAP, DNS, etc...

sexta-feira, 2 de maro de 12

Criar Aplicaes!?
Criando uma aplicao de rede
Escreva programas que
" " "

Criando uma aplicao de rede


executem em (diferentes) sistemas finais se comuniquem pela rede p. e., software de servidor Web se comunica com software de navegador Web

aplicao transporte rede enlace fsica

Escreva programas que


" " "

executem em (diferentes) No preciso escrever software para dispositivos do ncleo da sistemas finais rede " dispositivos do ncleo da rede se comuniquem pela rede no executam aplicaes do p. e., software usurio de servidor Web " as aplicaes nos sistemas finais se comunica com software de permitem rpido desenvolvimento e propagao navegador Web

aplicao transport rede enlace fsica


aplicao transporte rede enlace fsica

application transport network data link physical

No preciso escrever software para dispositivos do ncleo da rede


sexta-feira, 2 de maro de 12

"

dispositivos do ncleo da rede

aplicao transporte rede enlace fsica

Escreva programas que


" " "

executem em (diferentes) sistemas finais se comuniquem pela rede Criando uma aplicao p. e., software servidor Web dede rede se comunica com software de Escreva programas que navegador Web " executem em (diferentes)
sistemas finais se comuniquem pela rede p. e., software de servidor Web se comunica com software de navegador Web

Criar Aplicaes!?
aplicao transporte rede enlace fsica

transporte rede enlace fsica

No preciso escrever software " " para dispositivos do ncleo da rede

No preciso escrever software parancleo dispositivos ncleo da " dispositivos do dado rede rede

"

no executam"aplicaes do dispositivos do ncleo da rede no executam aplicaes do usurio usurio as aplicaes " nos sistemas finais as aplicaes nos sistemas finais permitem rpido permitem rpido desenvolvimento e propagao desenvolvimento e propagao

aplicao transporte rede enlace fsica

aplicao transporte rede enlace fsica

application transport network data link physical

sexta-feira, 2 de maro de 12

Arquitetura de Aplicaes
Cliente-servidor
Incluindo centros de dados/cloud computing

Peer-to-peer (P2P) Hbrida cliente-servidor/p2p

sexta-feira, 2 de maro de 12

cliente-servidor
servidor:

Arquitetura cliente-ser

rvidor

ser

rvidor: " hospedeiro sempre ligado " endereo IP permanente " server farms por expanso entes:
" " " "

clie
cliente/servidor

comunicam-se com o servidor podem estar conectados intermitentemente podem ter endereos IP dinmicos no se comunicam diretamente entre si

sexta-feira, 2 de maro de 12

10

ervidor

ervidor: " hospedeiro sempre ligado " endereo IP permanente " server farms por expanso cliente: ientes:
" " " "

Arquitetura cliente-se cliente-servidor

se

comunicam-se com o servidor podem estar conectados intermitentemente podem ter endereos IP cliente/servidor dinmicos no se comunicam diretamente entre si

cl

sexta-feira, 2 de maro de 12

11

Centros de dados da Google


! custo estimado do centro de dados: $600M ! Google gastou $2,4B em 2007 em novos centros de

dados ! cada centro de dados usa de 50 a 100 megawatts de potncia

sexta-feira, 2 de maro de 12

12

rquitetura P2P pura Arquitetura P2P pura

P2P pura

enhum servidor sempre ! nenhum servidor sempre gado ligado stemas finais arbitrrios ! sistemas finais arbitrrios se comunicam diretamente e comunicam diretamente ! pares so conectados ares so conectados intermitentemente termitentemente e e mudam endereos IP udam endereos IP peer-peer
peer-peer

altamente escalonvel, altamente escalvel, mas mente escalvel, mas mas difcil de administrar difcil de administrar
sexta-feira, 2 de maro de 12 13

fcil de administrar

Hbrido: cliente-servidor-P2P
" aplicao P2P voice-over-IP P2P Skype " aplicao servidor centralizado: achando " P2P voice-over-IP P2Pendereo da parte remota: " servidor centralizado: achando endereo da parte " remota: conexo cliente-cliente: direta (no atravs de servidor) " conexo cliente-cliente: direta (no atravs de Mensagem instantnea servidor) " bate-papo entre dois usurios P2P Mensagem instantnea " bate-papo servio centralizado: deteco/localizao da entre dois usurios P2P presena do cliente " servio centralizado: deteco/localizao da usurio registra presena do cliente seu endereo IP com servidor central registra quando entra on-line IP com servidor usurio seu endereo central usurio quando contacta servidor central para descobrir entra on-line endereos IP dosservidor parceiros usurio contacta central para descobrir endereos IP dos parceiros

Hbrido de cliente-servidor Hbrido e P2P de cliente-servidor Skype e P2P

sexta-feira, 2 de maro de 12

14

Processos se comunicando

Processos e comunicao
processo cliente: processo que inicia a comunicao processo servidor: processo cliente: processo que espera processo que inicia para ser contactado

ocessos se comunicando

processo: programa rodando dentro de um hospedeiro ! no mesmo hospedeiro, nicando cesso: programa dois processos se comunicam usando a odando dentro de um processo cliente: comunicao entre ospedeiro processo(definida que iniciapelo a processos comunicao SO). o mesmo hospedeiro, processo servidor: ! processos em ois processos se processo que espera hospedeiros diferentes omunicam usando a para ser contactado se comunicam trocando omunicao entre mensagens lo rocessos pelo ! Nota: (definida aplicaes com O). arquiteturas P2P tm s processos clientes & rocessos em o processos servidores

comunicao ! Nota: aplicaes com processo servidor: arquiteturas P2P tm processo que processos clientes & espera processos para servidores ser contactado
! Nota: aplicaes com

ospedeiros diferentes e comunicam trocando


sexta-feira, 2 de maro de 12

arquiteturas P2P tm processos clientes & processos servidores


15

Sockets
! processo envia/recebe

mensagens de/para seu Sockets socket ! socket semelhante porta


!

hospedeiro ou servidor

Sockets

hospedeiro ou servidor

controlado pelo desenvolvedor processo da aplicao " processo enviando empurra hospedeiro socket processo envia/recebe mensagem pela porta ou servidor TCP com mensagens de/para seu " processo enviando conta com Internet buffers, socket infraestrutura de controlado pelo variveis desenvolvedor transporte no outro lado da socket semelhante porta processo da aplicao porta, que leva a mensagem controlado "ao processo enviando empurra socket no processo socket pelo OS mensagem pela porta receptor TCP com " processo enviando conta com Internet buffers, API: (1) escolha do protocolo de transporte; (2) infraestrutura de variveis

processo

hospedeiro socket ou servidor TCP com buffers, variveis processo socket TCP com buffers, variveis

capacidade de consertar parmetros (muito transporte no outro lado alguns da porta, que levaadiante) a mensagem mais sobre isso
ao socket no processo receptor
controlado pelo OS

sexta-feira, 2 de maro de 12

! API: (1) escolha do protocolo de transporte; (2)

16

Endereando processos

Endereo X Processo

! para receber mensagens, Endereando processos

sexta-feira, 2 de maro de 12

" R: No, muitos processos processo deve ter estar rodando no mesmo identificador hospedeiro para receber mensagens, ! dispositivo hospedeiro tem " R: No, muitos processos podem processo deve ter ! Identificador inclui endere endereo IP exclusivo de 32 estar rodando no mesmo identificador nmeros de porta associados bits hospedeiro dispositivo hospedeiro tem processo no hospedeiro. ! exerccio: use ipconfig do ! Identificador inclui endereo IP e endereo IP exclusivo de 32 ! Exemplos de nmero de port comando prompt para obter seu nmeros de porta associados ao bits " hospedeiro. servidor HTTP: 80 endereo IP (Windows) processo no exerccio: use ipconfig do " servidor deporta: correio: 25 ! Exemplos de nmero de ! P: Basta o endereo IP do comando prompt para obter seu hospedeiro em que o processo " servidor HTTP: 80 endereo IP (Windows) executado para identificar o " servidor de correio: 25 P: Basta o endereo IP do processo? hospedeiro em que o processo executado para identificar o

17

Definies de protocolo da camadade deprotocolo aplicao Definies da camada de aplicao ! tipos de mensagens
trocadas, ! tipos de mensagens " p. e., requisio, resposta trocadas, ! sintaxe da mensagem: 2
"

Denio de Protocolo
protocolos de domnio pblico: protocolos de domnio
! definidos em RFCs

p. e., requisio, resposta " que campos nas mensagens & ! sintaxe da os mensagem: como campos so " que campos nas mensagens & delineados como os campos so ! semntica da mensagem 3 delineados " significado da informao ! semntica da mensagem nos campos " significado da informao ! regras de quando e como 4 nos campos

! definidos em RFCs ! p. e., HTTP, SMTP, ! prov interoperabilidade

! prov interoperabilidade

pblico:

BitTorrent ! p. e., HTTP, SMTP, protocolos BitTorrent proprietrios: ! p. e., Skype, ppstream protocolos proprietrios:

processos enviam & ! regras de quando e como respondem a mensagens processos enviam & respondem a mensagens
sexta-feira, 2 de maro de 12

! p. e., Skype, ppstream

18

Quais requisitos sua aplicao exige? 1. 2. 3. 4. perda de dados? temporizao? vazo (banda)? segurana?

sexta-feira, 2 de maro de 12

19

Caractersticas de transporte Que servio de transporte


uma aplicao precisa?

sexta-feira, 2 de maro de 12

vazo perda de dados ! algumas apls. (p. e., udio) ! algumas podem tolerar alguma perda multim mnimo ! outras apls. (p. e., transferncia de arquivos, serem telnet) exigem ! outras transferncia de dados elstica 100% confivel qualque temporizao receber ! algumas apls. (p. e., segurana telefonia na Internet ! criptog jogos interativos) de dado
20

transferncia arquivos, Caractersticas de de transporte telnet) exigem transferncia de dados 100% confivel

! outras apls. (p. e.,

temporizao ! algumas apls. (p. e., telefonia na Internet jogos interativos) exigem pouco atraso para serem eficazes

mni sere ! outr els qual rece segura ! crip de d

sexta-feira, 2 de maro de 12

21

o de transporte o precisa?

Caractersticas de transporte

vazo s s. (p. e., udio) ! algumas apls. (p. e., ar alguma perda multimdia) exigem um mnimo de vazo para (p. e., ia de arquivos, serem eficazes em ! outras apls. (apls. ia de dados elsticas) utilizam vel qualquer vazo que receberem s. (p. e., segurana Internet ! criptografia, integridade tivos)
sexta-feira, 2 de maro de 12

22

serem eficazes ! outras apls. (apls. dados Caractersticas de transporte elsticas) utilizam qualquer vazo que receberem , segurana net ! criptografia, integridade de dados, so zes

rquivos,

sexta-feira, 2 de maro de 12

23

Caractersticas de transporte Requisitos de servio de


transporte das aplicaes comuns
Aplicao transf. arquivos e-mail documentos Web udio/vdeo tempo real udio/vdeo armazenado jogos interativos Mensagem instantnea Perda de dados sem perda sem perda sem perda tolerante a perda tolerante a perda tolerante a perda sem perda Vazo elstica elstica elstica udio: 5 kbps-1 Mbps vdeo:10 kbps-5 Mbps o mesmo que antes poucos kbps ou mais elstica Sensvel ao tempo no no no sim, centenas de ms sim, alguns seg sim, centenas de ms sim e no

sexta-feira, 2 de maro de 12

24

Servios de protocolos de Servios de protocolos de transporte da Internet transporte da Internet


servio TCP: servio TCP:
servio TCP:
! orientadoaaconexo: conexo: ! orientado

Dois tipos de servios


servio servio UDP: servio UDP: UDP:
no confivel entre preparaoexigida exigida entre no confivel entre preparao entre processo emissor processoscliente clienteee servidor processo emissor e e processos servidor receptor receptor transporte confivel entre transporte confivel entre no oferece: preparao no oferece: preparao processoemissor emissoree receptor ! ! processo receptor conexo, dada conexo, controle de defluxo: fluxo:emissor emissor no controle no confiabilidade, controle confiabilidade, controle sobrecarrega sobrecarregareceptor receptor dede fluxo, controle de de fluxo, controle controle controle de decongestionamento: congestionamento: congest., temporizao, congest., temporizao, regula emissor quando a rede regula emissor quando a rede garantia de de vazo ou ou garantia vazo est est sobrecarregada sobrecarregada segurana segurana no no oferece: oferece:temporizao, temporizao, P: P: por que se se incomodar? Por Por por que incomodar? garantias vazo, garantiasmnimas mnimasde de vazo, que existe umum UDP? que existe UDP? segurana segurana
25

transferncia dados ! ! transferncia de de dados

! ! !
!

! !

sexta-feira, 2 de maro de 12

plicaes da Internet: aplicao, rotocolos de transporte


Aplicao e-mail acesso remoto Web transf. arquivos multimdia com fluxo contnuo telefonia da Internet

Caractersticas de transporte
Protocolo da camada de aplicao SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (p. e., Youtube), RTP [RFC 1889] SIP, RTP, proprietrio (p. e., Skype) Protocolo de transporte bsico TCP TCP TCP TCP TCP ou UDP normalmente UDP

sexta-feira, 2 de maro de 12

26

A Web e o HTTP

sexta-feira, 2 de maro de 12

27

Inovao
1870 Telefone 1920 Rdio/TV 1990 WEB por demanda, no merc da operadora! vrias interfaces
sexta-feira, 2 de maro de 12 28

Web e HTTP

Conceitos

primeiro, algum jargo ! pgina Web consiste em objetos ! objeto pode ser arquivo HTML, imagem JPEG, applet Java, arquivo de udio, ! pgina Web consiste em arquivo HTML bsico que inclui vrios objetos referenciados ! cada objeto enderevel por um URL ! exemplo de URL: www.someschool.edu/someDept/pic.gif nome do hospedeiro nome do caminho

sexta-feira, 2 de maro de 12

29

Funcionamento Viso geral do Viso geral doHTTP HTTP


HTTP: HyperText HTTP: HyperText Transfer Protocol Transfer Protocol
! protocolo da da camada aplicao Web de aplicao da Web ! modelo cliente/servidor " cliente: navegador que ! modelo cliente/servidor requisita, recebe, " cliente: navegador que exibe objetos Web requisita, recebe, " servidor: servidor Web exibe Web enviaobjetos objetos em resposta a requisies " servidor: servidor Web
! protocolo da camada de
PC rodando PC rodando Explorer

Explorer

Servidor rodando servidor Web Servid Apache rodan Mac rodando Navigator

envia objetos em resposta a requisies

servidor Apach

Mac rodando Navigator


30

sexta-feira, 2 de maro de 12

Funcionamento
usa TCP:

Usa Conexo TCP!

HTTP sem estado


! servidor no guarda

a TCP:

(cria socket) com servidor, porta 80 ! servidor aceita conexo TCP do cliente cliente inicia conexo ! mensagens HTTP (doTCP protocolo da camada de (cria socket) com servidor, aplicao) trocadas entre porta 80 navegador (cliente HTTP) e servidor Web (servidor TCP servidor aceita conexo HTTP) do cliente ! conexo TCP fechada

! cliente inicia conexo TCP

informaes sobre requisies passadas do cliente

mensagens HTTP (do protocolo da camada de aplicao) trocadas entre


sexta-feira, 2 de maro de 12

! servidor no guarda Protocolos que mantm informaes estado so complexos! sobre requisies passadas do ! histria passada (estado) cliente deve ser mantida ! se servidor/cliente falhar, suas vises do estado aparte podem ser incoerentes, Protocolos que mantm devem ser reconciliadas

HTTP sem sem estado estado HTTP aparte

estado so complexos! ! histria passada (estado)

31

Tipos de HTTP
Conexes HTTP
HTTP no persistente ! no mximo um objeto enviado por uma conexo TCP. HTTP persistente ! mltiplos objetos podem ser enviados por uma nica conexo TCP entre cliente e servidor.

sexta-feira, 2 de maro de 12

32

HTTP no persistente HTTP no persistente


Suponha que o usurio digite o URL
www.someSchool.edu/someDepartment/home.index 1a. Cliente HTTP inicia conexo TCP
com servidor HTTP (processo) em www.someSchool.edu na porta 80. (contm texto, referncias a 10 imagens JPEG)

1b. Servidor HTTP no hospedeiro


www.someSchool.edu esperando conexo TCP na porta 80. aceita conexo, notificando cliente

2. Cliente HTTP envia mensagem


de requisio HTTP (contendo URL) pelo socket de conexo TCP. Mensagem indica que cliente deseja o objeto someDepartment/home.index.

3. Servidor HTTP recebe mensagem

tempo

de requisio, forma mensagem de resposta contendo objeto requisitado e envia mensagem para seu socket

sexta-feira, 2 de maro de 12

33

HTTP no persistente
4. Servidor HTTP fecha conexo 5. Cliente HTTP recebe
TCP. mensagem de resposta contendo arquivo html, exibe html. Analisando arquivo html, acha 10 objetos JPEG referenciados.

tempo 6. Etapas 1-5 repetidas para cada


um dos 10 objetos JPEG.

sexta-feira, 2 de maro de 12

34

HTTP no persistente: Tempo de resposta tempo de resposta

HTTP no persistente

definio de RTT: tempo para um pequeno pacote trafegar do cliente ao servidor e inicia retornar. conexo TCP tempo de resposta: RTT ! um RTT para iniciar a conexo requisita arquivo TCP RTT ! um RTT para a requisio arquivo HTTP e primeiros bytes da recebido resposta HTTP retornarem ! tempo de transmisso de tempo arquivo
total = 2RTT + tempo de transmisso
sexta-feira, 2 de maro de 12

tempo para transmitir arquivo

tempo

35

HTTP persistente HTTP persistente


problemas do HTTP no persistente: ! requer 2 RTTs por objeto ! overhead do SO para cada conexo TCP ! navegadores geralmente abrem conexes TCP paralelas para buscar objetos referenciados HTTP persistente: ! servidor deixa a conexo aberta depois de enviar a resposta ! mensagens HTTP seguintes entre cliente/servidor enviadas pela conexo aberta ! cliente envia requisies assim que encontra um objeto referenciado ! no mnimo um RTT para todos os objetos referenciados

sexta-feira, 2 de maro de 12

36

Mensagem de requisio HTTP


! mensagem de requisio HTTP: " ASCII (formato de texto legvel)
linha de requisio (comandos GET, POST, HEAD)

Mensagens do HTTP
requisio, resposta

! dois tipos de mensagens HTTP:

GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu User-agent: Mozilla/4.0 linhas de Connection: close cabealho Accept-language:fr (carriage return, line feed extras)

carriage return, line feed indica final da mensagem

sexta-feira, 2 de maro de 12

37

Mensagem de requisio Mensagens do HTTP: formato geral

HTTP

Formato geral de mensagem HTTP

sexta-feira, 2 de maro de 12

38

Upload da entrada do formulrio


mtodo POST: ! pgina Web geralmente inclui entrada do formulrio ! entrada enviada ao servidor no corpo da entidade

Upload de entrada (form)


mtodo do URL: ! usa o mtodo GET ! entrada enviada no campo de URL da linha de requisio:

www.umsite.com/buscaanimal?macacos&banana

sexta-feira, 2 de maro de 12

39

sexta-feira, 2 de maro de 12

40

Tipos de mtodo
HTTP/1.0 ! GET ! POST ! HEAD
"

Tipos de mtodos
HTTP/1.1 ! GET, POST, HEAD ! PUT
"

pede ao servidor para deixar objeto requisitado fora da resposta

envia arquivo no corpo da entidade ao caminho especificado no campo de URL

! DELETE " exclui arquivo especificado no campo de URL

sexta-feira, 2 de maro de 12

41

Mensagem de resposta HTTP


linha de status (protocolo cdigo de estado frase de estado) linhas de cabealho

Mensagem de reposta
HTTP/1.1 200 OK Connection close 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 dados dados dados dados dados ...

dados, p. e., arquivo HTML requisitado

sexta-feira, 2 de maro de 12

42

Cdigos de estado da resposta HTTP

Cdigos de estado

primeira linha da mensagem de resposta servidor->cliente alguns exemplos de cdigo: 200 OK


"

requisio bem-sucedida, objeto requisitado mais adiante objeto requisitado movido, novo local especificado mais adiante na mensagem (Location:) mensagem de requisio no entendida pelo servidor documento requisitado no localizado neste servidor

301 Moved Permanently


"

400 Bad Request


"

404 Not Found


"

505 HTTP Version Not Supported


sexta-feira, 2 de maro de 12 43

sexta-feira, 2 de maro de 12

44

Muitos sites importantes Exemplo: usam cookies ! Susana sempre acessa a Quatro componentes: Internet pelo PC 1) linha de cabealho de cookie da mensagem de ! visita um site de comrcio resposta HTTP eletrnico pela primeira vez 2) linha de cabealho de cookie na mensagem de ! quando as primeiras requisio HTTP requisies HTTP chegam ao 3) arquivo de cookie na site, este cria:
mquina do usurio, controlado pelo navegador do usurio 4) banco de dados de apoio no site Web
" "

Estado usurio-servidor: cookies

cookies

ID exclusivo entrada no banco de dados de apoio para o ID

sexta-feira, 2 de maro de 12

45

cliente cliente
ebay 8734

cookies
servidor

servidor

arq. de cookie
ebay 8734 amazon 1678

requisio http normal servidor Amazon

Set-cookie: 1678

resposta http normal

cria ID 1678 para usurio cria entrada ao acessa especfica do cookie


acessa

requisio http normal

cookie: 1678

uma semana depois:


ebay 8734 amazon 1678

resposta http normal requisio http normal

banco de dados de apoio

cookie: 1678

resposta http normal

ao especfica do cookie

sexta-feira, 2 de maro de 12

46

cookies
cookies podem ter: OO que os cookies podem ter: aparte que os cookies podem ter: aparte Cookies e privacidade: ! autorizao Cookies e privacidade: ! autorizao O que os cookies podem ter: aparte ! cookies permitem que ! carrinhos de compras ! cookies permitem que Cookies e privacidade: ! carrinhos de compras ! autorizao os sites descubram ! recomendaes os sites descubram ! cookies permitem que muito sobre voc ! carrinhos de compras ! recomendaes ! estado da sesso do muito sobre voc os sites descubram ! voc pode fornecer ! estado da sesso do ! recomendaes usurio (e-mail da Web) muito sobre voc ! voc pode fornecer nome e e-mail aos sites usurio (e-mail da Web) ! estado da sesso do Como manter o estado: nome e fornecer e-mail aos sites ! voc pode (e-mail Web) mantm Como manter o da estado: ! usurio extremidades do protocolo: nome e e-mail aos sites mantendo o emissor/receptor estado: estado no por mantm Como manter o estado: ! extremidades do protocolo: mltiplas transaes estado no emissor/receptor por ! extremidades do protocolo: mantm !estado cookies: mensagens HTTP mltiplas transaes no emissor/receptor por transportam estado mltiplas transaes ! cookies: mensagens HTTP transportam estado ! cookies: mensagens HTTP transportam estado
sexta-feira, 2 de maro de 12 47

cache (web proxy) Caches Web (servidor proxy)


objetivo: satisfazer a requisio do cliente sem envolver servidor de origem servidor ! usurio prepara de origem navegador: acessos Web via cache servidor proxy ! navegador envia todas cliente as requisies HTTP ao cache
" "

objeto no cache: cache retorna objeto ou cache requisita objeto do servidor de origem, depois retorna objeto ao cliente

cliente

servidor de origem

sexta-feira, 2 de maro de 12

48

chache (web proxy) Mais sobre caching Web


Por que caching Web? cliente e servidor ! reduz tempo de resposta requisio do cliente ! normalmente, cache instalado por ISP (da ! reduz trfego no enlace de universidade, empresa, acesso de uma instituio residencial) ! Internet densa com caches: permite que provedores de contedo fracos remetam contedo efetivamente (mas o mesmo ocorre com compartilhamento de arquivos P2P)
! cache atua como

sexta-feira, 2 de maro de 12

49

exemplo caching Exemplo de caching


suposies
! tamanho mdio do objeto =

1.000.000 bits ! taxa de requisio mdia dos navegadores da instituio aos servidores de origem = 15/s ! atraso do roteador institucional a qualquer servidor de origem e de volta ao roteador = 2 s

servidores de origem
Internet pblica

consequncias
! utilizao na LAN = 15% ! utilizao no enlace de acesso = 100% ! atraso total = atraso da Internet +

rede institucional

enlace de acesso a 15 Mbps LAN de 100 Mbps

atraso do acesso + atraso da LAN = 2 s + x minutos + y milissegundos

cache institucional

sexta-feira, 2 de maro de 12

50

exemplo caching
soluo possvel
! aumentar largura de banda do

servidores de origem
Internet pblica

enlace de acesso para, digamos, 100 Mbps

consequncia

! utilizao na LAN = 15% ! utilizao no enlace de acesso = 15% ! atraso total = atraso da Internet +

atraso do acesso + atraso da LAN = 2 s + x ms + y ms ! normalmente, uma atualizao dispendiosa

rede institucional

enlace de acesso a 100 Mbps LAN de 100 Mbps

cache institucional

sexta-feira, 2 de maro de 12

51

exemplo caching
possvel soluo: instalar cache
! suponha que ndice de acerto

servidores de origem
Internet pblica

consequncia

0,4

! 40% de requisies sero

satisfeitas imediatamente ! 60% de requisies satisfeitas pelo servidor de origem ! utilizao do enlace de acesso reduzida para 60%, resultando em atrasos insignificantes (digamos, 10 ms) ! atraso mdio total = atraso da Internet + atraso de acesso + atraso da LAN = 0,6*(2,01) s + 0,4*milissegundos < 1,4 s

rede institucional

enlace de acesso a 15 Mbps LAN de 100 Mbps

cache institucional

sexta-feira, 2 de maro de 12

52

FTP (arquivos)

sexta-feira, 2 de maro de 12

53

FTP: o protocolo de Transferncia de arquivos (FTP) transferncia de arquivos


interface cliente de usurio FTP FTP transf. de arquivos servidor FTP sistema de arquivo remoto

usurio no hospedeiro

sistema de arquivo local

! transfere arquivo de/para hospedeiro remoto ! modelo cliente/servidor

cliente: lado que inicia transferncia (de/para remoto) " servidor: hospedeiro remoto ! ftp: RFC 959 ! servidor ftp: porta 21
"

sexta-feira, 2 de maro de 12

54

conexo de controle TCP conexo de controle porta 21recebe ! cliente FTP contacta servidor ! quando servidor para controle e dados FTP na porta 21, TCP comando de transferncia de conexo de controle TCP protocolo de transporte arquivo, abre 2a conexo TCP conexo de dados TCP porta 21 ! cliente FTP contacta servidor (para arquivo) com cliente ! cliente autorizado por conexo cliente servidor porta 20 FTP na porta 21, TCP de controle ! aps transferir um arquivo, FTP FTP protocolo de transporte servidor fecha conexo de conexo de dados TCP ! cliente navega por diretrio ! cliente autorizado por conexo cliente servidor porta 20 dados remoto enviando comandos por ! servidor abre outra conexo de controle FTP FTP conexo de controle de dados TCP para transferir paradas ! cliente navega por diretrio ! quando servidor recebe arquivo remoto enviando comandos por ! outro servidor abre outra conexo ados comando dede transferncia de conexo controle de dados TCP para transferir ! conexo de controle: fora da a conexo de controle TCP arquivo, abre 2 conexo TCP ! quando servidor recebe outro arquivo banda porta 21 dor (para arquivo) cliente de comando de com transferncia ! servidor conexo FTP de controle: fora da a ! mantm arquivo, abre um 2 conexo ! aps transferir arquivo,TCP banda conexo de dados TCP estado: diretrio atual, (para arquivo) com cliente servidor fecha conexo de exo cliente servidor porta 20 ! autenticao servidor FTP anterior mantm dados ! aps transferir umFTP arquivo, FTP
!

FTP: conexes separadas de controle ! cliente navega por diretrio para controle e dados remoto enviando comandos por

FTP caractersticas FTP: conexes separadas

o por

servidor fecha conexo de servidor dadosabre outra conexo


de dados TCP para transferir outro arquivo

estado: diretrio atual, autenticao anterior

sexta-feira, 2 de maro de 12 de

55

Comandos e respostas FTP


exemplos de comandos:
! enviado como texto ASCII

FTP - comandos
exemplos de cdigos de retorno
! cdigo e frase de estado ! !

pelo canal de controle ! USER nome-usurio ! PASS senha


! LIST retorna lista de

arquivos no diretrio atual recupera (apanha) arquivo armazena (coloca) arquivo no hospedeiro remoto

! RETR nome-arquivo ! STOR nome-arquivo

! !

(como no HTTP) 331 Username OK, password required 125 data connection already open; transfer starting 425 Cant open data connection 452 Error writing file

sexta-feira, 2 de maro de 12

56

sexta-feira, 2 de maro de 12

57

sexta-feira, 2 de maro de 12

58

Email (SMTP, POP3, IMAP)

sexta-feira, 2 de maro de 12

59

Conceitos Correio eletrnico


Trs componentes principais: Correio eletrnico
servidores de correio Trs ! componentes principais: ! agentes do usurio ! Simple Mail Transfer Protocol:
agente usurio serv. agente correio fila de msg. de sada caixa de entrada fila de do usurio

! agentes do usurio SMTP ! servidores de correio Agente doTransfer usurio ! Simple Mail Protocol: ! tambm chamado leitor de SMTP correio ! redigir, editar, ler mensagens Agente do usurio de correio eletrnico ! tambm chamado leitor de ! p. e., Eudora, Outlook, elm, correio Mozilla Thunderbird ! mensagens entrando e saindo ! redigir, editar, ler mensagens armazenadas no servidor de correio eletrnico ! p. e., Eudora, Outlook, elm,

usurio

SMTP

serv. correio

SMTP

msg. de sada

SMTP

serv. correio

SMTP

SMTP

mail server

agente caixa de entrada do usurio usurio

agenteagente usurio usurio

serv. agente correio

SMTP
agente usurio

mail server agente agente usurio usurio

usurio

Mozilla Thunderbird

sexta-feira, 2 de maro de 12

agente

agente usurio
60

! agentes do usurio

! servidores de correio

! Simple Mail Transfer Protocol:

SMTP

Conceitos Correio eletrnico


serv. correio

caixa de entr do usurio

SMTP

agente fila de Trs componentes principais: usurio Agente do usurio msg. de sada mail SMTP ! agentes do usurio server caixa de entrada ! tambm chamado leitor de serv. ! servidores de correio agen do usurio correio SMTP correio usur ! Simple Mail Transfer Protocol: serv. SMTP SMTP ! redigir, editar, ler mensagens agente correio usurio de correio eletrnico Agente do usurio mail SMTP agente ! p. e., Eudora, Outlook, elm, server ! tambm chamado leitor de usurio agente Mozilla Thunderbird SMTP correio usurio agente serv. ! redigir, editar, ler mensagens usurio ! mensagens entrando e saindo correio agente de correio eletrnico armazenadas no servidor usurio

age usu

! p. e., Eudora, Outlook, elm,

Mozilla Thunderbird ! mensagens entrando e saindo armazenadas no servidor

agente usurio

agente usurio

agente usurio

sexta-feira, 2 de maro de 12

61

Correio eletrnico: Correio eletrnico servidores de correio


servidores de correio ! agentes do usurio
Trs componentes principais:
! caixa de correio contm ! servidores de correio

Conceitos
agente agente usurio serv. serv. correio

usurio

fila de msg. de sada caixa de entrada do usurio

mensagens que chegam para agente correio ! Simple Mail Transfer Protocol: usurio o usurio SMTP SMTP agente SMTP serv. usurio ! fila de mensagens com mensagens de correio a agente correio Agente do usurio mail SMTP serem enviadas usurio server ! tambm chamado leitor de SMTP agente ! protocolo SMTP entre SMTP correio usurio servidores de correio para serv. SMTP ! redigir, editar, ler mensagens correio enviar mensagens de e-mail agente serv. de correio eletrnico usurio correio " cliente: servidor de envio agente ! p. e., Eudora, Outlook, elm, usurio de correio Mozilla Thunderbird agente agente " servidor: servidor de usurio ! mensagens entrando e saindo usurio agente recepo de correio armazenadas no servidor
usurio agente

usurio
62

sexta-feira, 2 de maro de 12

Correio eletrnico: Correio eletrnico: SMTP [RFC 2821] SMTP [RFC 2821]
! usa TCP !para transferir de modo confivel a mensagem

sexta-feira, 2 de maro de 12

usa TCP para transferir de modo con de e-mail do cliente ao servidor, porta 25 de e-mail do cliente ao servidor, port ! transferncia direta: servidor de envio ao servidor de recepo ! transferncia direta: servidor de env ! trs fases da transferncia recepo " handshaking (saudao) ! trs fases da transferncia " transferncia de mensagens " fechamento " handshaking (saudao) ! interao comando/resposta "texto transferncia de mensagens " comandos: ASCII " resposta: cdigo e frase de estado " fechamento ! mensagens devem estar em ASCII de 7 bits ! interao comando/resposta " comandos: texto ASCII
63

Cenrio: Alice envia Alice envia mensagem a Bob mensagem a Bob


1) Alice usa AU para redigir mensagem para bob@algumaescola.edu 2) O AU de Alice envia mensagem ao seu servidor de correio, que colocada na fila de mensagens 3) Lado cliente do SMTP abre conexo TCP com servidor de correio de Bob 4) Cliente SMTP envia mensagem de Alice pela conexo TCP 5) Servidor de correio de Bob coloca mensagem na caixa de correio de Bob 6) Bob chama seu agente do usurio para ler mensagem

1 agente usurio 2

serv. correio 3

serv. correio 4 5 6

agente usurio

sexta-feira, 2 de maro de 12

64

Exemplo de interao SMTP


S: C: S: C: S: C: S: C: S: C: C: C: S: C: S: 220 hamburger.edu HELO crepes.fr 250 Hello crepes.fr, pleased to meet you MAIL FROM: <alice@crepes.fr> 250 alice@crepes.fr... Sender ok RCPT TO: <bob@hamburger.edu> 250 bob@hamburger.edu ... Recipient ok DATA 354 Enter mail, end with "." on a line by itself Voc gosta de ketchup? Que tal picles? . 250 Message accepted for delivery QUIT 221 hamburger.edu closing connection

sexta-feira, 2 de maro de 12

65

SMTP: palavras finais


! SMTP usa conexes

comentrios
Comparao com HTTP:
! HTTP: puxa ! SMTP: empurra ! ambos tm interao de

persistentes ! SMTP requer que a mensagem (cabealho e corpo) esteja em ASCII de 7 bits ! servidor SMTP usa CRLF.CRLF para determinar fim da mensagem

comando/resposta em ASCII, cdigos de estado

! HTTP: cada objeto

encapsulado em sua prpria mensagem de resposta ! SMTP: mltiplos objetos enviados na mensagem multiparte

sexta-feira, 2 de maro de 12

66

Formato da mensagem de Exemplo de mensagem correio


SMTP: protocolo para trocar mensagens de e-mail RFC 822: padro para formato de mensagem de texto: ! linhas de cabealho, p. e.,
Para: " De: " Assunto: diferente dos comandos SMTP!
"

cabealho

linha em branco

corpo

! corpo
"

a mensagem, apenas em caracteres ASCII

sexta-feira, 2 de maro de 12

67

Protocolos de acesso de correio


agente usurio

Como acessar msgs


SMTP SMTP prot. acesso
agente usurio servidor de correio do emissor servidor de correio do receptor

! SMTP: remessa/armazenamento no servidor do receptor ! protocolo de acesso ao correio: recuperao do servidor


"

"

"

POP: Post Office Protocol [RFC 1939] autorizao (agente <--> servidor) e download IMAP: Internet Mail Access Protocol [RFC 1730] mais recursos (mais complexo) manipulao de msgs armazenadas no servidor HTTP: gmail, Hotmail, Yahoo! Mail etc.
68

sexta-feira, 2 de maro de 12

Protocolo POP3
fase de autorizao
! comandos do cliente:
S: C: S: C: S: +OK POP3 server ready user bob +OK pass hungry +OK usurio logado com sucesso

user: declare username " pass: senha ! respostas do servidor " +OK " -ERR
"

fase de transao, cliente:


nmero ! dele: exclui ! quit

! list: lista nmeros de msg. ! retr: recupera mensagem por

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 serv. POP3 desconectando

sexta-feira, 2 de maro de 12

69

POP3 (mais) e IMAP


Mais sobre POP3 ! Exemplo anterior usa modo download e excluir ! Bob no pode reler e-mail se mudar o cliente ! Download-e-manter: cpias de mensagens em clientes diferentes ! POP3 sem estado entre as sesses IMAP ! Mantm todas as mensagens em um local: o servidor ! Permite que o usurio organize msgs em pastas ! IMAP mantm estado do usurio entre sesses:
"

nomes de pastas e mapeamento entre IDs de mensagem e nome de pasta

sexta-feira, 2 de maro de 12

70

E-mail e HTTP
Hotmail Gmail

sexta-feira, 2 de maro de 12

71

(Domain Name Sytem)

DNS

sexta-feira, 2 de maro de 12

72

DNS: Domain Name System

Conceitos Iniciais DNS: Domain Name System

pessoas: muitos Domain Name System: muitos Domain N identificadores: pessoas: ! banco de dados distribudo
"

identificadores: implementado na hierarquia ! banco d CPF, nome, passaporte muitos servidores deimplem nome " CPF, nome, passaporte hospedeiros da Internet, muitos ! protocolo em nvel de aplica hospedeiros da Internet, roteadores: ! protoco hospedeiro, roteadores, roteadores: hosped " endereo IP (32 bits) servidores de nomesservido se " endereo IP (32 bits) usado para enderear usado para comunicam para resolver no enderear comunic datagramas (traduo endereo/nome) datagramas (tradu " nome, p. e., " nome, p. " e., Nota: funo bsica da " Not usado implementada ww.yahoo.com usado ww.yahoo.com Inte Internet, pelos humanos pelos humanos com como protocolo em nve apli aplicao P: Como mapear entre P: Como mapear entre " com endereo IP e nome? " complexidade na borda endereo IP e nome? red rede
sexta-feira, 2 de maro de 12 73

main Name System


!

Conceitos Iniciais
Domain Name System:
banco de dados distribudo implementado na hierarquia de muitos servidores de nomes ! protocolo em nvel de aplicao hospedeiro, roteadores, servidores de nomes se comunicam para resolver nomes (traduo endereo/nome) " Nota: funo bsica da Internet, implementada como protocolo em nvel de aplicao " complexidade na borda da rede
74

me, passaporte

itos dores:

da Internet, es:

o IP (32 bits) ara enderear mas p. e., o.com usado manos

ear entre IP e nome?


sexta-feira, 2 de maro de 12

DNS DNS

DNS

Por que no centralizar Por que no centralizar o o Serviosde deDNS DNS Servios DNS? DNS? ! traduo de ! traduonome nome de hospedeiro endereo nico ponto de de falha hospedeiro-> -> endereo ! ! nico ponto falha IP IP ! ! volume dede trfego volume trfego ! apelidos ! apelidosde dehospedeiro hospedeiro ! banco de dados ! banco de dados " nomes cannicos " nomes cannicos centralizado distante centralizado distante ! apelidos de servidor de ! apelidos de servidor de ! manuteno correio ! manuteno correio ! distribuio de carga ! distribuio de carga
"

servidores Web " servidores Web replicados: conjunto de replicados: endereos IPconjunto para um de endereos IP para um nome cannico

No escalvel!

No escalvel!

nome cannico

sexta-feira, 2 de maro de 12

75

Banco de dados distribudo, hierrquico


servs. DNS com servs. DNS yahoo.com servs. DNS amazon.com servs. DNS org servs. DNS pbs.org

Servidores DNS raiz

servs. DNS edu servs. DNS servs. DNS poly.edu umass.edu

Cliente quer IP para www.amazon.com; 1a aprox: ! cliente consulta serv. raiz para achar servidor DNS com ! cliente consulta serv. DNS com para obter serv. DNS amazon.com ! cliente consulta serv. DNS amazon.com para obter endereo IP para www.amazon.com
sexta-feira, 2 de maro de 12 76

DNS: Servidores de nomes raiz Servidor raiz


! contactados por servidores de nomes locais que no conseguem traduzir

nome ! servidores de nomes raiz: " contacta servidor de nomes com autoridade se o mapeamento no for conhecido " obtm mapeamento " retorna mapeamento ao servidor de nomes local

13 servidores de nomes raiz no mundo

sexta-feira, 2 de maro de 12

77

TLD e servidores com Servidores DNS outros nveis autoridade


! servidores de domnio de alto nvel (TLD) : " responsveis por com, org, net, edu etc. e todos os domnios de pas de alto nvel: br, uk, fr, ca, jp. " A Network Solutions mantm servidores para TLD com " Educause para TLD edu

! servidores DNS com autoridade: " servidores DNS da organizao, provendo nome de hospedeiro com autoridade a mapeamentos IP para os servidores da organizao (p. e., Web, correio). " podem ser mantidos pela organizao ou provedor de servios

sexta-feira, 2 de maro de 12

78

Servidor de nomes local

Servidor DNS local

! no pertence estritamente hierarquia ! cada ISP (ISP residencial, empresa,

universidade) tem um.


" tambm

chamado servidor de nomes default

! quando hospedeiro faz consulta ao DNS,


" atua

consulta enviada ao seu servidor DNS local


como proxy, encaminha consulta para hierarquia

sexta-feira, 2 de maro de 12

79

Funcionamento Exemplo Exemplo de de resoluo resoluo na prtica de nome de nome DNS DNS
! hospedeiro ! hospedeiro em

servidorDNS DNS raiz servidor raiz 22


33 44

cis.poly.edu cis.poly.edu quer endereo endereo IP IP para gaia.cs.umass.edu gaia.cs.umass.edu consulta repetida: repetida: consulta

servidor DNS TLD servidor DNS TLD

55 serv. serv.DNS DNSlocal local


dns.poly.edu dns.poly.edu

! servidor contactado contactado ! servidor

responde com com nome nome responde doservidor servidor a a do contactar contactar ! no conheo esse ! no conheo esse nome, mas pergunte a nome, mas pergunte a este servidor este servidor
sexta-feira, 2 de maro de 12

11

88

77

66

hospedeiro hospedeiro solicitante solicitante

serv. DNS com autoridade serv. DNS com autoridade dns.cs.umass.edu dns.cs.umass.edu

cis.poly.edu cis.poly.edu

gaia.cs.umass.edu gaia.cs.umass.edu

80

Funcionamento na prtica
consulta recursiva:
! coloca peso da

serv. DNS raiz

2 7 6

3 serv. DNS TLD

resoluo de nome sobre o servidor de nomes contactado ! carga pesada?

serv. DNS local


dns.poly.edu

8
serv. DNS com autoridade dns.cs.umass.edu

hospedeiro solicitante

cis.poly.edu gaia.cs.umass.edu

sexta-feira, 2 de maro de 12

81

DNS: caching e atualizao DNS: chache e atualizao de registros de registros


! quando (qualquer) servidores de nomes descobre

o mapeamento, ele o mantm em cache " entradas de cache esgotam um tempo limite (desaparecem) aps algum tempo " servidores TLD normalmente so mantidos em caches nos servidores de nomes locais
Assim, os servidores de nomes raiz no so consultados com frequncia

! mecanismos de atualizao/notificao em

projeto na IETF
"
"

RFC 2136

http://www.ietf.org/html.charters/dnsext-charter.html
82

sexta-feira, 2 de maro de 12

Registros de DNS
DNS: b.d. distribudo contendo registros de recursos (RR)

formato do RR: (nome,

valor, tipo, ttl)

! Tipo = A ! Tipo = CNAME " nome o hostname " nome apelido para algum nome cannico (real) " valor o endereo IP www.ibm.com na realidade ! Tipo = NS servereast.backup2.ibm.com " nome o domnio (p. e. " valor o nome cannico foo.com) " valor o hostname do ! Tipo = MX servidor de nomes com " valor o nome do servidor autoridade para este de correio associado ao nome domnio
sexta-feira, 2 de maro de 12 83

Protocolo DNS, mensagens


protocolo DNS: mensagens de consulta e resposta, ambas com algum formato de mensagem cabealho da mensagem
! identificao: # de 16

bits para consulta; resposta usa mesmo # ! flags: " consulta ou resposta " recurso desejada " recurso disponvel " resposta com autoridade
sexta-feira, 2 de maro de 12 84

Protocolo DNS, mensagens


campos de nome e tipo para uma consulta RRs na resposta consulta registros para servidores com autoridade informao adicional til que pode ser usada

sexta-feira, 2 de maro de 12

85

Inserindo registros no DNS


! exemplo: nova empresa Network Utopia ! registre o nome networkuptopia.com na entidade

registradora de DNS (p. e., Network Solutions)


" "

oferece nomes, endereos IP do servidor de nomes com autoridade (primrio e secundrio) entidade insere dois RRs no servidor TLD com:

(networkutopia.com, dns1.networkutopia.com, NS) (dns1.networkutopia.com, 212.212.212.1, A)

! crie registro Tipo A do servidor com autoridade para

www.networkuptopia.com; registro Tipo MX para networkutopia.com ! Como as pessoas obtm o endereo IP do seu site?

sexta-feira, 2 de maro de 12

86

P2P (peer-to-peer)

sexta-feira, 2 de maro de 12

87

P2P Pura Arquitetura P2P pura


sem servidor sempre ligado ! sistemas finais arbitrrios Peerse comunicam diretamente -peer ! pares esto conectados intermitentemente e mudam de endereos IP
! ! Trs tpicos: " distribuio de arquivos " procura de informaes " estudo de caso: Skype

sexta-feira, 2 de maro de 12

88

Distribuio de arquivo: cliente-servidor versus P2P


Pergunta: Quanto tempo para distribuir arquivo de um servidor para N pares?
servidor u1 d1 u2 d2

us: largura de banda de upload do servidor ui: largura de banda de upload do par i di: largura de banda de download do par i

arquivo, tamanho F

us dN uN

rede (com largura de banda abundante)

sexta-feira, 2 de maro de 12

89

Tempo de distribuio de arquivo: cliente-servidor


! servidor envia N cpias

servidor us dN uN u1 d1 u2 d2

sequencialmente:
" tempo

! cliente i leva um tempo

NF/us

rede (com largura de banda abundante)

F/di para o download

tempo para distribuir F a N clientes usando = dcs = max { NF/us, F/min(di) } i tcnica cliente/servidor
aumenta linearmente em N (para N grande)

sexta-feira, 2 de maro de 12

90

Tempo de distribuio de arquivo: P2P


! servidor deve enviar
F

Server u1 d1 u2

d2 uma cpia: tempo F/us us ! cliente i leva tempo F/di rede (com largura de dN para o download banda abundante) uN ! NF bits devem ser baixados (agregados) ! taxa de upload mais rpida possvel: us + !ui

dP2P = max { F/us, F/min(di) , NF/(us + !ui) }


i

sexta-feira, 2 de maro de 12

91

Cliente-servidor versus P2P: exemplo

Taxa de upload cliente = u, F/u = 1 hora, us = 10u, dmin ! us

sexta-feira, 2 de maro de 12

92

Distribuio de arquivos: BitTorrent


! distribuio de arquivos P2P

rastreador: verifica pares que participam do torrent

torrent: grupo de pares trocando pedaos de um arquivo

obtm lista de pares trocando pedaos

par

sexta-feira, 2 de maro de 12

93

BitTorrent
! arquivo dividido em !

! ! !

pedaos de 256 KB. torrent de ajuntamento de pares: " no tem pedaos, mas os acumular com o tempo " registra com rastreador para obter lista de pares, conecta a subconjunto de pares (vizinhos) ao fazer download, par faz upload de pedaos para outros pares pares podem ir e vir quando par tem arquivo inteiro, ele pode (de forma egosta) sair ou (de forma altrusta) permanecer

sexta-feira, 2 de maro de 12

94

Exemplos
Napster Gnutella Kazaa

sexta-feira, 2 de maro de 12

95

Estudo de caso do P2P: Skype


! inerentemente P2P:
Clientes Skype (SC)

pares de usurios se comunicam. ! protocolo prprio da camada de aplicao (deduzido por engenharia reversa) ! sobreposio hierrquica com SNs ! ndice compara usernames com endereos IP; distribudo por SNs
sexta-feira, 2 de maro de 12

servidor de login Skype

supern (SN)

96

Pares como retransmissores


! problema quando Alice e

Bob esto atrs de NATs


"

! soluo: " usando os SNs de Alice e de Bob, o retransmissor escolhido " cada par inicia a sesso com retransmisso. " pares agora podem se comunicar atravs de NATs com retransmisso

NAT impede que um par de fora inicie uma chamada para um par de dentro da rede

sexta-feira, 2 de maro de 12

97

Recapitulando
Conceitos iniciais (arquitetura, host, aplicao, etc...) WEB (HTTP) FTP (transferncia de arquivos) Email (SMTP, POP3, IMAP) DNS (Domain Name Service) P2P (compartilhamento par a par)
sexta-feira, 2 de maro de 12 98

Dvidas

?
sexta-feira, 2 de maro de 12 99

Referncias

Camada de aplicao: Captulo 2 Sees 2.1 at 2.6 (aprox. 40 pginas)

sexta-feira, 2 de maro de 12

100

Вам также может понравиться