+ All Categories
Home > Documents > 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material...

2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material...

Date post: 07-Apr-2016
Category:
Upload: denilson-diegues-de-figueiredo
View: 216 times
Download: 0 times
Share this document with a friend
41
2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados pelos autores James F. Kurose e Keith W. Ross All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved
Transcript
Page 1: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 1

Redes de ComputadoresDCC/UFJ

Capítulo 2 – Camada de Aplicação

Material fortemente baseado nos slides do livro: Computer Networking: A Top-Down Approach Featuring the Internet. Os slides foram disponibilizados pelos autores James F. Kurose e Keith W. Ross All material copyright 1996-2009J.F Kurose and K.W. Ross, All Rights Reserved

Page 2: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 2

Capítulo 2: Camada de Aplicação 2.1 Princípios das

aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Email

SMTP, POP3, IMAP 2.5 DNS

2.6 Aplicações P2P 2.7 Programação de

Sockets com TCP 2.8 Programação de

Sockets com UDP

Page 3: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 3

FTP: protocolo para transferência de arquivos

Transfere um arquivo de/para um host remoto Modelo cliente/servidor

cliente: inicializa a transferência (para/do host remoto)

servidor: host remoto ftp: RFC 959 servidor ftp: porta 21

file transfer FTPserver

FTPuser

interfaceFTP

client

local filesystem

remote filesystem

user at host

Page 4: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 4

FTP: conexões de controle e dados separadas

Cliente FTP client contacta o servidor FTP na porta 21, e o TCP é o protocolo de transporte

Cliente é autorizado na conexão de controle

Cliente navega no diretório remoto, mandando comandos através da conexão de controle

Quando o servidor recebe um comando de transferência de arquivo, o servidor abre uma segunda conexão TCP com o cliente

Após a transferência de um arquivo, o servidor encerra a conexão de dados

FTPclient

FTPserver

Conexão TCP de controleporta 21

Conexão TCP de dados porta 20

Sevidor estabelece uma outra conexão de dados para tranferência de um outro arquivo

Conexão de controle: “out of band”

FTP servidor mantem um “estado” : diretório corrente, autenticação

Page 5: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 5

FTP comandos, respostasExemplos de

Comandos: Envia um texto ASCII

através do canal de controle

USER username PASS password LIST retorna a lista dos

arquivos do diretório corrente

GET nomearquivo faz o download do arquivo

STOR nomearquivo armazena o arquivo no host remoto

Exemplos de códigos de retorno

Código do status e a descrição (como no HTTP)

331 Username OK, password required

125 data connection already open; transfer starting

425 Can’t open data connection

452 Error writing file

Page 6: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 6

Capítulo 2: Camada de Aplicação 2.1 Princípios das

aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Email

SMTP, POP3, IMAP 2.5 DNS

2.6 Aplicações P2P 2.7 Programação de

Sockets com TCP 2.8 Programação de

Sockets com UDP

Page 7: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 7

EmailTrês componentes

principais User agent (programa de

email) servidores de email simple mail transfer

protocol: SMTPUser agent a.k.a. “leitor do email” Escreve, edita e lê

mensagens de email e.g., Eudora, Outlook,

elm, Mozilla Thunderbird Mensagens são

armazenadas no servidor em filas de entrada e saída

user mailbox

outgoing message queue

mailserver

useragent

useragent

useragentmail

server

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 8: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 8

Email: ServidoresServidores mailbox contém as

mensagens envidas a um usário

fila de mensagens de saída (mensagens a serem enviadas)

protocolo SMTP entre os servidores de mensagens para troca de emails cliente: enviando o

email a partir do servidor

“servidor”: recebendo a mensagem vinda do outro servidor

mailserver

useragent

useragent

useragentmail

server

useragent

useragent

mailserver

useragent

SMTP

SMTP

SMTP

Page 9: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 9

Email: SMTP [RFC 2821] Usa TCP para transferência confiável das mensagens

de email, porta 25 Transferência direta: enviando o email do servidor

de origem para o servidor de destino Três fases de transferência

handshaking (saudação) transferência de mensagens fechamento

Interação comandos/respostas comandos: texto ASCII resposta: código e frase

Mensagens devem ser em ASCIIs

Page 10: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 10

Cenário: Alice envia mensagem para Bob1) Alice usa UA para

compor uma mensagem para [email protected]

2) UA envia a mensagem para o seu servidor de email; mensagem é aramzenada na fila de mensagens

3) Lado cliente do SMTP abre uma conexão com o servidor de email do Bob

4) Cliente SMTP envia a mensagem de Alice pela conexão TCP5) Servidor de email do Bob coloca a mensagem no mailbox de Bob6) Bob executa o seu UA para ler a mensagem

useragent

mailserver

mailserver user

agent

1

2 3 4 56

Page 11: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 11

Interação SMTP S: 220 hamburger.edu C: HELO crepes.fr S: 250 Hello crepes.fr, pleased to meet you C: MAIL FROM: <[email protected]> S: 250 [email protected]... Sender ok C: RCPT TO: <[email protected]> S: 250 [email protected] ... Recipient ok C: DATA S: 354 Enter mail, end with "." on a line by itself C: Do you like ketchup? C: How about pickles? C: . S: 250 Message accepted for delivery C: QUIT S: 221 hamburger.edu closing connection

Page 12: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 12

SMTP SMTP usa conexão

persistente SMTP requer mensagens

(cabeçalho e corpo) em ASCII

Servidor SMTP usa CRLF.CRLF para determinar fim de mensagem

Comparação com o HTTP:

HTTP: recuperação de informação

SMTP: envio de informação

Ambos enviam comandos/respostas no formato ASCII

HTTP: cada objeto é encapsulado em uma msg de reposta

SMTP: múltiplos objetos enviados em uma uma mensagem

Page 13: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 13

Formato da MensagemSMTP: protocolo para troca

de msgs de emailRFC 822: padrão: Linhas do cabeçalho,

De: Para: Assunto:

Diferente dos comandos SMTP corpo

A mensagem em caracteres ASCII

header

body

blankline

Page 14: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 14

Protocolos de acesso a Email

SMTP: entrega/armazenamento no servidor do receptor

Protocolo de acesso ao email: recuperação a partir do servidor POP: Post Office Protocol [RFC 1939]

• Autenticação (user agent <-->servidor) e download

IMAP: Internet Mail Access Protocol [RFC 1730]• Mais funcionalidades (mais complexo)• Manipulação das mensagens armazenadas no

servidor HTTP: gmail, Hotmail, Yahoo! Mail, etc.

useragent

sender’s mail server

useragent

SMTP SMTP accessprotocol

receiver’s mail server

Page 15: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 15

Protocolo POP3Fase de autenticação Comandos do cliente:

user: declara o nome do usuário

pass: senha Respostas do servidor

+OK -ERR

Fase de transação, cliente:

list: lista números das mensagens

retr: recupera a mensagem pelo número

dele: apaga quit

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 server signing off

S: +OK POP3 server ready C: user bob S: +OK C: pass hungry S: +OK user successfully logged on

Page 16: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 16

POP3 e IMAPPOP3 Exemplo anterior

utiliza o modo “download e apaga” .

Bob não pode ler novamente o e-mail se ele muda de cliente

“Download-e-mantém”: cópias das mensagens em diferentes clientes

POP3 é sem estado entre sessões

IMAP Mantem todas as

mensagens no servidor

Permite o usuário organizar as mensagens em folders

IMAP mantém estado entre sessões

Page 17: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 17

Capítulo 2: Camada de Aplicação 2.1 Princípios das

aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Email

SMTP, POP3, IMAP 2.5 DNS

2.6 Aplicações P2P 2.7 Programação de

Sockets com TCP 2.8 Programação de

Sockets com UDP

Page 18: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 18

DNS: Domain Name SystemPessoas: muitos identificadores:

nome, CI, CPF, passaporte

Roteadores e hosts: Endereço IP address

(32 bits) – usado para endereçar datagramas

“nome”, e.g., ww.yahoo.com – usado por humanos

Q: como mapear um endereço IP e o nome?

Domain Name System:

Banco de dados distribuído implementado em hierarquia com muitos servidores de nome

Protocolo da camada de aplicação hosts, roteadores, servidores de nomes se comunicama para resolver nomes (tradução endereço/nome)

Page 19: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 19

DNS Por quê não centralizar o

DNS? Único ponto de falha Volume de tráfego Banco de dado

centralizado distante Manutenção

Não é escalável!

Serviços DNS Tradução do nome

para o endereço IP Apelidos de

hospedeiro Apelidos do servidor

de email Distribuição de carga

Vários servidores Web: conjunto de endereços IP para um único nome

Page 20: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 20

Root DNS Servers

com DNS servers org DNS servers edu DNS servers

poly.eduDNS servers

umass.eduDNS serversyahoo.com

DNS serversamazon.comDNS servers

pbs.orgDNS servers

Banco de Dados Distribuído e Hierárquico

Cliente procura o IP para www.amazon.com: Cliente consulta um servidor raiz para encontrar

o servidor DNS .com Cliente consulta o servidor DNS .com para

encontrar o servidor amazon.com Cliente consulta o servidor amazon.com para

encontrar o endereço www.amazon.com

Page 21: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 21

DNS:Servidores Raiz Contactado pelo servidor de nome local que não pode

traduzir o nome Servidor raiz

13 servidores raiz de nome no mundob USC-ISI Marina del Rey, CA

l ICANN Los Angeles, CA

e NASA Mt View, CAf Internet Software C. Palo Alto, CA (and 36 other locations)

i Autonomica, Stockholm (plus 28 other locations)

k RIPE London (also 16 other locations)

m WIDE Tokyo (also Seoul, Paris, SF)

a Verisign, Dulles, VAc Cogent, Herndon, VA (also LA)d U Maryland College Park, MDg US DoD Vienna, VAh ARL Aberdeen, MDj Verisign, ( 21 locations)

Page 22: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 22

Servidores TLD e com autoridade Servidores Top-level domain (TLD) :

responsáveis por for com, org, net, edu, etc, e todos os domínios de países br, uk, fr, ca, jp.

Network Solutions mantém servidores para .com TLD Educause para .edu TLD

Servidores DNS com autoridade: Servidores DNS de uma organização, que fornecem um

host para mapear os nomes dos servidores da organização em endereços IPs (e.g., Web, mail).

Podem ser mantidos pela organização ou por um provedor de serviços

Page 23: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 23

Servidor de Nome Local Não pertence a hierarquia Cada ISP (ISP residencial, empresa,

universidade) tem um. Também chamado de “default name

server” Quando um host faz uma consulta DNS,

a consulta é enviada ao servidor DNS local Atua como um proxy, enviando a consulta

aos servidores da hierarquia

Page 24: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 24

requesting hostcis.poly.edu

gaia.cs.umass.edu

root DNS server

local DNS serverdns.poly.edu

1

23

4

5

6

authoritative DNS serverdns.cs.umass.edu

78

TLD DNS server

DNS - Exemplo de resolução de Nome

Host em cis.poly.edu quer o endereço para gaia.cs.umass.edu

Consulta iterativa: Contacta o servidor

e responde com o nome do próximo servidor para contato

“Não consigo resolver este nome, mas pergunte a este servidor”

Page 25: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 25

requesting hostcis.poly.edu

gaia.cs.umass.edu

root DNS server

local DNS serverdns.poly.edu

1

2

45

6

authoritative DNS serverdns.cs.umass.edu

7

8

TLD DNS server

3Consulta recursiva: Toda a consulta é

feita através do servidor raiz

Alta carga?

DNS - Exemplo de resolução de Nome

Page 26: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 26

DNS: cache e atualização dos registros Uma vez que o servidor de nome aprende o

mapeamento, ele armazena este mapeamento As entradas da cache são apagadas após

algum tempo Os servidores TLD tipicamente estão

armazenados nos servidores locais• Dessa maneira, os servidores raiz não são

visitados frequentemente Mecanismos de update/notificação:

RFC 2136 http://www.ietf.org/html.charters/dnsind-charter.html

Page 27: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 27

Registros DNSDNS: banco de dados distribuído para armazenar os registros dos recursos (resource records - RR)

Tipo=NS Nome é domínio (e.g.

foo.com) Valor é hostname de um

servidor de nomes com autoridade para o este domínio

(foo.com,dns.foo.com,NS)

Formato RR : (nome, valor, tipo, ttl)

Tipo=A Nome é hostname Valor é endereço IP

(relay1.bar.foo.com, 145.37.93.126,A)

Tipo=CNAME Nome é um apelido para algum

nome real www.ibm.com é, na realidade, servereast.backup2.ibm.com

Valor é o nome real(foo.com,relay1.bar.foo.com, CNAME)

Tipo=MX Valor é nome do servidor de

email associado ao apelido que está no campo nome

(foo.com,mail.bar.foo.com,MX)

Page 28: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 28

DNS: protocolo, mensagensProtocolo DNS : mensagens de busca e resposta, ambas com o mesmo formato

Cabeçalho Identificação: 16 bits

para busca, respostas usam o mesmo número

flags: Consulta ou

resposta Recursão desejada

pelo cliente Servidor suporta

recursão Resposta vem de

um servidor com autoridade

Page 29: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 29

DNS: protocolo, mensagens

Nome, campos de tipo para uma consulta

RRs de resposta a

consultaRegistros para servidores

com autoridadeInformação adicional

“útil”que pode ser usada

Page 30: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 30

Inserindo registros no DNS Exemplo: novo domínio “Network Utopia” Registrar o nome networkuptopia.com em uma

entidade registradora (e.g., Network Solutions) Deve-se informar os nomes e endereços IPs dos

servidores DNS com autoridade (primários e secundários)

A entidade registradora insere duas RRs em um servidor TLD .com:

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

Cria-se um registro de servidor de autoridade do tipo A para www.networkuptopia.com; Registro do tipo MX para networkutopia.com

Page 31: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 31

Capítulo 2: Camada de Aplicação 2.1 Princípios das

aplicações de rede 2.2 Web e HTTP 2.3 FTP 2.4 Email

SMTP, POP3, IMAP 2.5 DNS

2.6 Aplicações P2P 2.7 Programação de

Sockets com TCP 2.8 Programação de

Sockets com UDP

Page 32: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 32

Arquitetura P2P Servidor não fica sempre

em funcionamento Sistemas finais se

comunicam diretamente Peers

conectam/desconectam e mudam de endereço IP

Tópicos: Distribuição de arquivos Procurando por informação Estudo de Caso: Skype

peer-peer

Page 33: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 33

Distribuição de Arquivos: Servidor-Cliente vs P2PQuestão : Quanto tempo é necessário para distribuir um arquivo a partir de um servidor para N peers?

us

u2d1 d2u1

uN

dN

Server

Network (with abundant bandwidth)

File, size F

us: banda de upload do servidorui: banda de upload do peer idi: banda de download do peer i

Page 34: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 34

Tempo de distribuição de um arquivo: servidor-cliente

us

u2d1 d2u1

uN

dN

Server

Network (with abundant bandwidth)

F Servidor envia sequencialmente N cópias: Tempo NF/us

cliente i leva F/di para download

Aumenta linearmente com N (para N grande)

= dcs = max { NF/us, F/min(di) }i

Tempo para distribuir o arquivo F para N clientesusando cliente/servidor

Page 35: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 35

Tempo de distribuição de um arquivo: P2P

us

u2d1 d2u1

uN

dN

Server

Network (with abundant bandwidth)

F Servidor envia uma

cópia: F/us

cliente i demora F/di para fazer o download

NF bits devem ser disseminados (agregado) Taxa de upload mais rápida: us + ui

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

Page 36: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 36

0

0.5

1

1.5

2

2.5

3

3.5

0 5 10 15 20 25 30 35

N

Min

imum

Dis

tribu

tion

Tim

e P2PClient-Server

Servidor-cliente vs. P2P: examploTaxa de upload do Cliente = u, F/u = 1 hour, us = 10u, dmin ≥ us

Page 37: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 37

Distribuição do arquivo: BitTorrent

tracker: mantém peers que participam do torrent

torrent: grupo de peerstrocando chunks de um mesmo arquivo

obtain listof peers

trading chunks

peer

P2P: disseminação de um arquivo

Page 38: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 38

BitTorrent (1) Arquivo dividido em chunks de 256KB. Ao se ajuntar a um torrent, peer:

Não tem chunks, mas acumulará com o tempo Se registra no tracker para obter a lista de

peers e se conecta a um subconjunto de peers (“vizinhos”)

Enquanto faz o download, peer envia chunks para outros peers.

peers entram e saem da rede Uma vez que o peer tenha todo o arquivo, pode

sair (egoisticamente) ou permanercer (altruisticamente)

Page 39: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 39

BitTorrent (2)Obtendo Chunks A qualquer instante

de tempo, peers diferentes possuem diferentes subconjunto de chunks

periodicamente, um peer (Alice) pede a cada vizinho a lista de chunks que possui

Alice envia requisições para os chunks que ainda não possui rarest first

Enviando Chunks: tit-for-tat

Alice envia chunks para 4 vizinhosReavaliação dos top 4

a cada 10 segundos A cada 30 segundos:

seleciona, aleatoriamente, um outro peer, e inicia o envio dos chunksO peer escolhido mais

recentemente passa a fazer parte do top 4

“optimistically unchoke”

Page 40: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 40

BitTorrent: Tit-for-tat(1) Alice “optimistically unchokes” Bob

(2) Alice se torna um dos 4 provedores do arquivo para Bob;Bob se torna um dos 4 provedores do arquivo para Alice(3) Bob se transforma em um dos 4 fornecedores top de Alice

Com taxa de upload maior, usuário pode encontrar melhores peers para trocar chunks e baixar o arquivo mais rapidamente!

Page 41: 2: Application Layer 1 Redes de Computadores DCC/UFJ Capítulo 2 – Camada de Aplicação Material fortemente baseado nos slides do livro: Computer Networking:

2: Application Layer 41

P2P : Skype Pares de usuários se

comunicam. Protocolo da camada

de aplicação é prorietário (inferido através de engenharia reversa)

Overlay hierárquico com Supernodes

Índice mapeia nome de usuários a um endereço IP; distribuído entre os Supernodes

Skype clients (SC)

Supernode (SN)

Skype login server


Recommended