p2p: bittorrent - gta / coppe / ufrj · distribuição dos pares tracker (servidor de rastreamento)...

66
P2P: BitTorrent Rafael Oliveira Romeiro

Upload: others

Post on 16-Oct-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

P2P: BitTorrentRafael Oliveira Romeiro

Page 2: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Introdução

Page 3: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Distribuição de arquivos

● Modelo centralizado Servidor (Responsável por todo upload) Clientes (Realizam download)

Pares (Fazem tanto download quanto upload) Podem existir servidores com funções auxiliares

● Modelo distribuído

Page 4: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

BitTorrent

● P2P

Garantir justiça entre os pares (fairness) Impedir práticas oportunistas (free riding)

● Troca equivalente

Page 5: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Funcionamento

Page 6: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Publicando e obtendo um arquivo

● Arquivo .torrent Nome Info Tamanho total Tamanho dos pedaços Hash dos pedaços URL de ao menos um servidor de rastreamento (tracker) Outros...

Page 7: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Publicando e obtendo um arquivo (cont.)

● Cliente BitTorrent Gerencia o download de vários torrents

Disponibiliza arquivos .torrent Oferece recursos como busca de arquivos e publicação de comentários

● Sites de indexação

Page 8: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Distribuição dos pares

● Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista contendo um subconjunto aleatório de pares compartilhando determinado arquivo

● Seeder (semente) Possui o arquivo completo Não faz download, realizando apenas upload

● Leecher Ainda não possui o arquivo completo Fazem tanto download quanto upload

Page 9: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Troca de blocos

● Arquivo é dividido em pedaços, que por sua vez são subdivididos em blocos

Antes de serem anunciados, a integridade de cada pedaço é verificada utilizando o hash SHA1 presente no arquivo .torrent

● Cada par anuncia aos pares que ele conhece quais pedaços completos ele possui

● Baseado na oferta de pedaços de seus pares conhecidos, cada par irá escolher um pedaço para fazer download e então irá requisitar blocos desse pedaço para diferentes pares

Page 10: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Algoritmos

Page 11: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Seleção de pedaços

● Prioridade estrita São requisitados blocos de apenas um pedaço de cada vez Obtem o mais rápido possível pedaços completos, para que estes passem a ser oferecidos aos outros pares

● Mais raro primeiro (rarest first) Seleciona primeiro os pedaços mais raros entre os oferecidos pelos pares conhecidos Obtém pedaços que outros pares também querem, o que facilita a futura possibilidade de upload Deixa para depois os pedaços mais comuns, o que facilita a futura possibilidade de download Atua positivamente na dispersão dos pedaços no seeder, replicando o mais rápido possível os pedaços que apenas o seeder possui Evita que pedaços não estejam mais disponíveis em nenhum dos pares

Page 12: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Seleção de pedaços (cont.)

● Primeiro aleatório Seleciona de forma aleatória o primeiro pedaço a ser obtido Ao se iniciar o download de um arquivo, um par não possui nenhum de seus pedaços, portanto não é capaz de fazer upload Pedaços raros são oferecidos por poucos pares, tendendo a ser obtidos mais lentamente do que pedaços comuns, que são oferecidos por vários pares

● Endgame Utilizado quando falta apenas um pedaço Todos os blocos do pedaço faltando são requisitados a todos os pares conhecidos Cancelamentos são enviados conforme os blocos forem sendo obtidos

Page 13: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Seleção de pares

● Sufocamento (choking) Diz-se que um par está sufocando (choking) outro par quando aquele estiver negando upload a este, do contrário, o par o está dessufocando (unchoking) A todo momento, cada par estará sufocando todos os outros pares conhecidos, com exceção de um número fixo de pares (normalmente 4) que serão reselecionados a cada 10 segundos Os pares dessufocados por determinado par serão aqueles que estiverem provendo as maiores taxas médias de download para este par nos últimos 20 segundos Cada par irá fazer download de todos os outros pares que puder

● Dessufocamento otimista (optimistic unchoking) A cada 30 segundos, um dos pares a ser dessufocado é selecionado aleatoriamente Cada par possui apenas informações locais Visa explorar novas possibilidades de reciprocidade

Page 14: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Seleção de pares (cont.)

● Anti-esnobismo Quando um par não recebe nada de determinado outro par de quem ele estava fazendo download no período de 1 minuto, diz-se que este par o está esnobando Pode acontecer de um par estar sendo esnobado por todos os pares de quem ele estava fazendo download. Nesse caso, o par demora a recuperar sua taxa de download Quando um par considera que determinado outro par o está esnobando ele deixa de fazer qualquer upload para este par, ocorrendo assim mais de um dessufocamento otimista sucessivo

Page 15: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Seleção de pares (cont.)

● Somente upload Seeders não fazem download, portanto eles irão selecionar os pares a quem fazer upload de acordo com quais pares foram dessufocados mais recentemente Será mantido um conjunto de pares dessufocados mais recentemente que serão novamente selecionados para serem dessufocados a cada 10 segundos Em dois intervalos consecutivos de 10 segundos um par é selecionado aleatoriamente para ser dessufocado, tomando o lugar do par dessufocado menos recentemente dentre os pares dessufocados mais recentemente No terceiro intervalo de 10 segundos os pares dessufocados são mantidos

Page 16: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Performance

Page 17: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Modelo de fluido

x(t) = Número de leechers no instante t.y(t) = Número de seeders no instante t.λ = Taxa de chegada de leechers, assumido que esta obedece um processo de Poisson.μ = Largura de banda de upload dos pares, assumindo que esta é igual para todos os pares.c = Largura de banda de download dos pares, assumindo que esta é igual para todos os pares e que c ≥ μ.θ = Taxa em que um leecher cancela o download.γ = Taxa em que um seeder sai do sistema.η = Eficácia na distribuição do arquivo, assumindo valores entre 0 e 1

● Proposto por [Dongyu Qiu, R. Srikant]

Page 18: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Modelo de fluido (cont.)

● Limite de largura de banda total de upload: μ(ηx(t) + y(t)) Limite de largura de banda total de download: cx(t)Taxa total de download e upload: min{cx(t), μ(ηx(t) + y(t))}

● Podemos considerar, sem perda de generalização, que o tamanho do arquivo é 1

Taxa de download equivale a taxa em que leechers se tornam seeders

● Variação da quantidade de leechers e seeders:

Page 19: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Estado estacionário

● Variação nula: (t) = (t) = 0ẋ ẏ

● Se cx ≤ μ(ηx + y):

Resolvendo

Substituindo na restrição...

Page 20: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Estado estacionário (cont.)

● Se cx ≥ μ(ηx + y):

Resolvendo

Substituindo na restrição...

onde

Page 21: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Estado estacionário (cont.)

● Se definirmos

Podemos reunir as duas soluções como:

Page 22: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Tempo médio de download

● Lei de Little: o número de elementos no interior de um sistema em equilíbrio é igual ao produto entre a taxa de chegada dos elementos e o tempo médio que esses elementos permanecem no sistema

Page 23: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

● Usando o valor de x, obtemos:

Tempo médio de download (cont.)

● Aplicando a Lei de Little em consideração ao conjunto de leechers que se tornarão seeders, temos:

● Como β não depende de λ, consequentemente T também não depende de λ. Portanto, podemos afirmar que o sistema é escalável.

Page 24: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Eficácia

● Podemos definir a eficácia na distribuição do arquivo como sendo:

η = 1 - P{leecher i não possui pedaços do interesse dos leechers conectados a ele}

● Assumindo que as distribuições de pedaços entre os diferentes pares são independentes, temos:

η = 1 - P{leecher i não possui pedaços do interesse do leecher j }k

● O leecher j não está interessado em nenhum dos pedaços do leecher i se e somente se o leecher j possui todos os pedaços que o leecher i possui

Page 25: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Eficácia (cont.)

● Consideraremos que cada leecher possui um subconjunto de pedaços uniformemente selecionados do total de pedaços do arquivo e com um número de elementos também uniformemente selecionado dos possíveis valores.

Page 26: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Eficácia (cont.)

Que equivale a:

● Chamando de N o número total de pedaços no arquivo e de n

i o número de pedaços no leecher i, a probabilidade do

leecher j possuir todos os pedaços do leecher i é determinada por:

Portanto:

Page 27: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Estabilidade

Podemos escrever a matriz:

● Quando a restrição está sobre a capacidade de upload:

Page 28: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Estabilidade (cont.)

Podemos escrever a matriz:

● No caso em que a restrição está sobre a capacidade de download:

● Em ambos os casos os autovalores são reais e negativos, portanto o sistema é estável

Page 29: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Oportunismo

● Considere um grupo de N pares e que cada par faz upload para n

u outros pares além de um dessufocamento

otimista● Usuário oportunista j se junta ao grupo● Cada par i do grupo, excetuando-se o oportunista, irá aleatoriamente seleciona um outro par para fazer seu dessufocamento otimista● A taxa média de download do par j será então igual a:

Page 30: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Performance dos algoritmos de seleção - Mais raro primeiro

● Resultados obtidos por [Arnaud Legout , G. Urvoy-Keller , P. Michiardi]● Para avaliarmos o mecanismo de seleção de pedaços, precisamos estudar a repartição dos pedaços entre os pares e, a partir dela, medir a entropia do torrent● Caracterizaremos a entropia como sendo a disponibilidade de pares, definida como sendo a fração do tempo em que um certo par está interessado em determinado outro par quando o primeiro está na lista de pares conhecidos pelo segundo

Page 31: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Performance dos algoritmos de seleção - Mais raro primeiro

● Resultados:

Page 32: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Performance dos algoritmos de seleção - Sufocamento

● Resultados obtidos por [Arnaud Legout , G. Urvoy-Keller , P. Michiardi]● Principal responsabilidade do algoritmo de seleção de pares é garantir justiça entre os mesmos● Consideraremos como critério de justiça entre os leechers a seguinte regra: qualquer leecher i com uma taxa de upload U

i deve receber uma taxa de download menor do

que a de qualquer outro leecher j quando Uj > U

i

● No caso dos seeders, consideraremos, que se faz justiça entre os pares quando o seeder dedica frações iguais do seu total de upload para cada leecher

Page 33: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Performance dos algoritmos de seleção – Sufocamento

● Resultados:

Page 34: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Auto-sustentabilidade

● Estudos apresentados por [Antonio Augusto de Aragão Rocha, Daniel Sadoc Menasche, Don Towsley and Arun Venkataramani]● Três experimentos foram realizados com o intuito de se observar o impacto da ausência do seeder inicial (publisher) sobre o sistema:

Page 35: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Auto-sustentabilidade (cont.)

● Na figura (a) o publisher permaneceu online por toda a duração do experimento. Cada um dos pares que chega consegue completar o download após algum tempo e então deixa o sistema.● Na figura (b) o publisher permaneceu online apenas pelos primeiros 80 segundos e a taxa de chegada de pares foi mantida a 1/5 pares por segundo. Todos os pares, com exceção do último, conseguiram completar o download.● Na figura (c) o publisher permaneceu online também pelos primeiros 80 segundos, no entanto, a taxa de chegada de pares foi reduzida a 1/15 pares por segundo. Neste cenário, podemos ver que depois dos 500 segundos iniciais nenhum dos pares pôde completar o download

Page 36: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Auto-sustentabilidade (cont.)

● Comparando os casos (a) e (b), temos:

Page 37: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Extensões

Page 38: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Tabelas de hash distribuídas

● Elimina a necessidade de um servidor de rastreamento● Utilização de tabelas de hash distribuídas (DHT) entre os pares onde serão armazenadas informações de contato para outros pares● Cada nó da rede DHT recebe um identificador único, chamado de node ID, selecionado aleatoriamente de um espaço de 160-bits● Cada torrent também possui um identificador único chamado de infohash pertencente ao mesmo espaço de 160-bits

Page 39: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Tabelas de hash distribuídas (cont.)

Dividida em "baldes" que juntos cobrem todo o espaço de node IDs Quando um nó está para ser inserido na tabela, este nó é colocado dentro do balde correspondente Um balde passa a ser considerado cheio quando este contém 8 nós Baldes cheios não podem receber novos nós, com a exceção do balde que contém o nó mantendo a tabela. Nesse caso, este é dividido em dois baldes, que dividem o subespaço coberto pelo balde anterior exatamente na metade, e recebem os nós que estavam contidos no balde anterior

● Cada nó guarda uma tabela de roteamento para outros nós

Page 40: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Tabelas de hash distribuídas (cont.)

Um nó é considerado bom quando este respondeu uma consulta nos ultimos 15 minutos Quando um nó está a mais de 15 minutos sem responder uma consulta, este passa a ser considerado duvidoso Se um nó não respondeu várias consultas consecutivas, este passa a ser considerado ruim

● Sempre que possível, entradas na tabela referentes a nós marcados como ruins ou duvidosos serão trocados por novas entradas referentes a nós bons

● Uma "métrica de distância" é considerada para se inferir o quanto que dois node IDs ou um node ID e um infohash estão "próximos"

Page 41: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Tabelas de hash distribuídas (cont.)

Se houver algum, o nó irá responder com essa lista de pares. Do contrário, o nó irá responder com a lista de nós em sua tabela de roteamento que apresentarem os node IDs mais próximos do infohash.

● Quando um nó quer descobrir pares participando no compartilhamento de determinado torrent, ele compara o infohash do torrent com os node IDs de sua tabela de roteamento usando a métrica de distância, consultando em seguida o nó que se mostrar como sendo o mais próximo que por sua vez irá verificar se ele conhece algum par que esteja participando no compartilhamento do torrent em questão

Page 42: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Encriptação e traffic shaping

Causa grande impacto sobre a qualidade dos demais serviços

● Aplicativos de compartilhamento de arquivos P2P são planejados para aproveitar o máximo de banda disponível

● Provedores de serviço (ISP) passaram a identificar e limitar o tráfego de redes P2P.Esta prática ficou conhecida como traffic shaping

Page 43: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Encriptação e traffic shaping (cont.)

Tem por objetivo encapsular o cabeçalho dos pacotes do BitTorrent dando a eles um aspecto aleatório Dois pares que vão estabelecer uma conexão primeiro combinam uma chave utilizando o algoritmo de Diffie-Hellman e usam esta chave para encriptar o cabeçalho Para que os pacotes do BitTorrent não possam ser identificados através do padrão no tamanho dos pacotes, são adicionados enchimentos

● Para que os pacotes do BitTorrent não sejam identificados foi criado o Message Stream Encryption

Page 44: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Super-seeding

Minimiza o quanto o seeder precisa fazer de upload para que algum leecher complete o download do arquivo e se torne um seeder Não minimiza o tempo de upload do seeder!

● Utilizada quando o seeder inicial possui alguma limitação especial com relação ao upload como, por exemplo, quando ele paga por byte transferido

Page 45: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Super-seeding (cont.)

A princípio, em vez de anunciar que possui todos os pedaços, ele anuncia que não possui pedaço algum Conforme os leechers se conectam a ele, o seeder irá informar um dos leechers que recebeu um pedaço Este pedaço será necessáriamente um que o seeder ainda não tenha enviado para nenhum leecher O seeder só irá enviar um novo pedaço para este leecher se ele receber de um outro leecher a confirmação de que este recebera o pedaço anteriormente transferido

● O seeder que estiver utilizando a técnica de super-seeding opera de forma diferente do padrão

Page 46: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Pirataria

Page 47: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

● Não há nenhuma característica nos protocolos do BitTorrent que indique que o compartilhamento do arquivo esteja infringindo alguma lei● No entanto, muitos dos usuários utilizam esse sistema para fazer o compartilhamento ilegal de arquivos protegidos por direitos autorais● Os sites de indexação de torrents são alvos de diversos processos jurídicos, contudo, alegam que eles não armazenam nenhuma parte dos arquivos ilegais

Page 48: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

The Pirate Bay (EA email)

● Email da EADear Mr. Neij:

It has been brought to the attention of Electronic Arts Inc. ("EA") that the website http://www.piratebay.org with the IP addresses of 217.75.120.115, 217.75.120.116, 217.75.120.118 is conducting unauthorized activities with respect to EA's copyrighted software, The Sims 2. The aforementioned website is offering and distributing bittorrent seeds for an unauthorized downloadable version of this EA game.The infringing material may be found at:http://www.piratebay.org/download.php/3238103/Sims%202.torrenthttp://www.piratebay.org/download.php/3238222/The_Sims2_AlcoholClone-CLONEGAME_Full.Release_%28exclusive_for_trackerwww.prq.to%29.torrentThis unauthorized activity with respect to the distribution of EA's software products constitutes infringement of EA's intellectual property rights. EA enforces its intellectual property rights very aggressively by using every legal option available. As you are listed as the registrant for this website, EA demands that you immediately and permanently disable access to the aforementioned bittorrent seeds for The Sims 2 and any in the future. Thank you for your cooperation. If you have any questions concerning this matter, please contact us via e-mail at:[email protected].

Regards,EA Law - IP EnforcementElectronic Arts Inc.

Page 49: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

The Pirate Bay (EA email)

● Resposta do TPBHello and thank you for contacting us. We have shut down the website in question.

Oh wait, just kidding. We haven't, since the site in question is fully legal. Unlike certain other countries, such as the one you're in, we have sane copyright laws here. But we also have polar bears roaming the streets and attacking people :-(.

Please don't sue us right now, our lawyer is passed out in an alley from too much moonshine, so please atleast wait until he's found and doesn't have a huge hangover...

You're free to demand anything you want. So are we. We demand that you cease and desist sending letters like this, since they're frivolous and meaningless. Where should I send the bill for the consumed diskspace and bandwidth?

Thank you for your entertainment. As with all other threats, we will publish this one on http://static.thepiratebay.org/legal/

Page 50: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Conclusão

Page 51: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

● Os protocolos implementados garantem alta performance, aproveitando o máximo possível os recursos disponíveis da rede●É estável, convergindo para um estado de equilíbrio● Alta eficácia na distribuição do arquivo entre os leechers● Promove a cooperação e reciprocidade entre os pares● Robusto a ausência do publisher, sendo capaz de se manter auto-sustentável em determinados cenários● Apesar de não impedir completamente a ocorrência de práticas oportunistas, o mecanismo de seleção de pares utilizado impõe restrições sobre a taxa de download de tais aproveitadores

Page 52: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Perguntas e respostas

Page 53: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

1 - Por que podemos afirmar que o sistema de distribuição de arquivos BitTorrent é bem escalável?

Page 54: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Porque o custo de upload fica distribuído pelos pares e, no equilíbrio, o tempo médio de download não depende da taxa de chegada de novos pares.

1 - Por que podemos afirmar que o sistema de distribuição de arquivos BitTorrent é bem escalável?

Page 55: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

2 - Cite e explique o funcionamento dos dois principais algoritmos de seleção implementados no BitTorrent e justifique a importancia deles.

Page 56: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

O algoritmo de seleção por mais raro primeiro é o principal algoritmo de seleção de pedaços do BitTorrent. Neste algoritmo, os pedaços que estiverem menos disponíveis entre os pares conhecidos por um determinado par serão aqueles priorizados por ele para se obter primeiro. A ordem em que os pedaços são obtidos por cada par é fundamental para o bom funcionamento do sistema pois esta tem grande impacto sobre o interesse que os pares terão uns pelos outros no futuro e, consequentemente, influencia fortemente na eficácia do sistema na distribuição do arquivo. Inclusive, uma estratégia ruim na seleção dos pedaços poderia implicar na incapacidade dos pares em completar o download devido a inexistência de determinado pedaço na rede.

2 - Cite e explique o funcionamento dos dois principais algoritmos de seleção implementados no BitTorrent e justifique a importancia deles.

Page 57: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

O algoritmo de sufocamento é o principal algoritmo de seleção de pares do BitTorrent. Neste algoritmo, os pares irão realizar download de todos os pares que puder e sufocar (negar upload para) todos os pares com exceção de um número fixo de pares. Os pares escolhidos para serem dessufocados por um determinado par serão aqueles que estiverem contribuindo com as maiores taxas de upload para este par naquele momento. A seleção de pares é crucial para se garantir justiça segundo a idéia de reciprocidade entre os pares da rede e assim dificultar práticas oportunistas.

2 - Cite e explique o funcionamento dos dois principais algoritmos de seleção implementados no BitTorrent e justifique a importancia deles. (cont.)

Page 58: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

3 - O que são os chamados free riders e como eles podem se beneficiar em uma rede BitTorrent?

Page 59: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Os free riders são pares que não contribuem com upload na rede, apenas fazem download. Isto é possível de acontecer em uma rede BitTorrent pois os pares não possuem informação global a respeito do sistema, apenas têm conhecimento sobre suas taxas de transferência locais. Cada par, a fim de explorar novas possibilidades de troca equivalente com pares para os quais ele não está fazendo upload, realiza um dessufocamento otimista de tempos em tempos. Um dessufocamento otimista é caracterizado por se selecionar um par aleatoriamente para ser dessufocado e este par pode ser um free rider.

3 - O que são os chamados free riders e como eles podem se beneficiar em uma rede BitTorrent?

Page 60: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

4 - Qual o papel do servidor de rastreamento em uma rede BitTorrent e como que esta pode operar sem ele?

Page 61: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

O servidor de rastreamento tem como única função informar cada par a respeito de outros pares compartilhando o mesmo torrent, a fim de que estes possam estabelecer uma conexão direta entre si. Uma rede BitTorrent pode operar sem servidor de rastreamento através da utilização de tabelas de hash distribuídas. Neste caso, cada par possui uma tabela de roteamento onde armazena informações de contato sobre outros pares, funcionando portanto como se fossem servidores de rastreamento.

4 - Qual o papel do servidor de rastreamento em uma rede BitTorrent e como que esta pode operar sem ele?

Page 62: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

5 - O que é traffic shaping e como o BitTorrent busca burlar esta prática?

Page 63: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Traffic shaping é a prática de se identificar determinado tipo de tráfego e então interferir sobre ele de algum modo. No caso do BitTorrent e de outros aplicativos P2P, por fazerem uso itenso dos recursos disponíveis na rede, estes programas tem tido suas taxas de transferência limitadas pelos ISPs sob a alegação de estarem prejudicando a qualidade dos demais serviços. Para burlar esta prática foi criada uma extensão do BitTorrent chamada Message Stream Encryption que encapsula o cabeçalho dos pacotes BitTorrent deixando-os irreconhecíveis para o monitoramento dos ISPs.

5 - O que é traffic shaping e como o BitTorrent busca burlar esta prática?

Page 64: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Bibliografia

[1] Bram Cohen, "The BitTorrent Protocol Specification", versão 11031, Fevereiro de 2008 (http://bittorrent.org/beps/bep_0003.html em 30/09/09)

[2] "Bittorrent Protocol Specification v1.0", BitTorrent Specification wiki (http://wiki.theory.org/BitTorrentSpecification em 30/09/09)

[3] Bram Cohen, "Incentives build robustness in BitTorrent", Proceedings of the P2PEcon’03, May 2003, Berkeley, CA (http://www.bittorrent.org/bittorrentecon.pdf em 30/09/09)

[4] Dongyu Qiu, R. Srikant, "Modeling and performance analysis of BitTorrent-like peer-to-peer networks", Proceedings of the 2004 conference on Applications, technologies, architectures, and protocols for computer communications, August 30-September 03, 2004, Portland, Oregon, USA (http://doi.acm.org/10.1145/1015467.1015508 em 30/09/09)

Page 65: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Bibliografia

[5] Arnaud Legout , G. Urvoy-Keller , P. Michiardi, "Rarest first and choke algorithms are enough", Proceedings of the 6th ACM SIGCOMM on Internet measurement, October 25-27, 2006, Rio de Janeiro, Brazil (http://doi.acm.org/10.1145/1177080.1177106 em 30/09/09)

[6] Antonio Augusto de Aragão Rocha, Daniel Sadoc Menasche, Don Towsley and Arun Venkataramani, "On P2P systems for enterprise content delivery", XVII Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, pages 379-392, Recife, PE, Maio, 2009 (http://www.land.ufrj.br/publications/publications.php?page=papers em 30/09/09) (http://www.land.ufrj.br/publications/publications.php?page=papers em 30/09/09)

Page 66: P2P: BitTorrent - GTA / COPPE / UFRJ · Distribuição dos pares Tracker (servidor de rastreamento) Auxilia os pares a encontrar outros pares Quando consultado, retorna uma lista

Obrigado!