João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

30
BitTorrent e as Redes P2P João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ

Transcript of João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Page 1: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

BitTorrente as Redes P2P

João Pedro Francese

Trabalho Final de Redes IIProfs. Luís Henrique e Otto Duarte - GTA/UFRJ

Page 2: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

De que forma as pessoas usam a Internet? Consumo de mídia◦Música

◦Vídeos

Programas da ordem de gigabytes Difusão da banda larga Como distribuir tais arquivos?

Contexto

Page 3: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

HTTP e FTP Envio apenas a partir

do servidor Velocidade alta e

constante parapoucos usuários

Sobrecarga quando há muitas requisições

Uso de mirrors

Modelo Cliente-Servidor

Page 4: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Protocolos variados e sob desenvolvimento

Usuários recebem e enviam os arquivos

Início e término do download lentos

Escalável Servidores com

papel auxiliar

Modelo Par-a-Par

Page 5: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Cliente (client)

Par (peer)

Semente (seed)

Sanguessuga (leecher)

Enxame (swarm)

Rastreador (tracker)

Pedaço (piece)

Bloco (block)

Arquivo de metadados (metafile)

Conceitos

Page 6: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Codificação em Bencoding◦ Strings, inteiros, listas e dicionários em texto plano

Campos principais:◦Announce e announce-list rastreadores

◦ Info

Tamanho do pedaço

Hash de cada pedaço

Tamanho e nome de cada arquivo

Arquivo de Metadados

Page 7: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

1. Usuário obtém o arquivo de metadados

2. Cliente contata o rastreador

3. Cliente descobre os pedaços de cada par

4. Cliente começa a enviar requisições de blocos

5. Para cada pedaço recebido, o hash SHA1é calculado e comparado

6. Ao receber todos os pedaços, o usuáriotorna-se uma semente

Funcionamento

Page 8: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.
Page 9: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Objetivo: desempenho local (taxa de download) Conseqüência: melhora global Baixar de todos os pares disponíveis Enviar para os pares que fornecem melhor download◦ Congelar (choke) envio para os outros

◦ Trocar a cada período (10s)

◦ Descongelar um par aleatório

◦ Não enviar para pares que o congelaram

Semente: baseado na taxa de upload com o par

Algoritmo de Seleção de Pares

Page 10: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Escolha tem impacto sobre tempo de recebimento Recebimento:◦Rarest First – pedaço menos presente nos pares

◦Melhora a performance global

◦ Evita que o fim do download seja demorado

◦Diminui chances de um pedaço desaparecer do enxame

Envio:◦ Escolhido pelo par

Algoritmo de Seleção de Pedaços

Page 11: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Random First Piece◦ Primeiro pedaço do download

◦ Escolha de um pedaço aleatório

◦Objetivo: poder enviar o mais rápido possível

Endgame◦ Fim do download

◦Requisição de todos os pedaços restantes

◦Objetivo: evitar que a demora de um par atrase o recebimento

Algoritmos Alternativos

Page 12: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Torrents sem rastreadores◦ Fim da necessidade de servidores

◦DHT (Distributed Hash Table)

◦Rede sobrecamada

◦Nós recebem ID e mantém informações sobrevizinhos para roteamento

◦Hash do arquivo determina seu nó de armazenamento

Técnicas Avançadas

Page 13: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Encriptação◦Anonimidade

◦Ocultação do tráfego

Broadcatching◦ Torrent + RSS

◦Distribuição automática de conteúdo

Técnicas Avançadas

Page 14: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Controle da rede para garantir qualidade de serviço Detecção do protocolo◦ Porta de conexão◦Análise do conteúdo◦ Padrões de tráfego

Atraso do fluxo de dados◦ Técnicas de contenção◦Descarte de pacotes

Encriptação e uso de portas alternativas

Traffic Shaping

Page 15: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

BitTorrent uTorrent Azureus BitComet Opera

...

Clientes

Page 16: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

FastTrack◦ Cliente principal: KaZaa

◦ Protocolo fechado

◦Alto nível de poluição dos arquivos

eDonkey◦ Cliente principal: eMule

◦ Sistema de busca eficiente mas dependente de servidores

◦Gama vasta de arquivos

◦ Baixa velocidade de transferência

Outras Redes P2P

Page 17: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Soulseek◦Duas redes centralizadas◦ Compartilhamento de músicas◦Download apenas de uma fonte◦Busca inclui o nome da pasta do arquivo

Gnutella◦ Cliente principal: LimeWire◦Roteamento através dos nós por alagamento:

menos eficiente, mas dispensa servidores◦ 40% dos usuários de P2P em 2007

Outras Redes P2P

Page 18: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Bom desempenho para arquivos grandes Uso por aplicações já estabelecidas◦ Ex.: Ubuntu

Principal adversário: Internet◦ Capacidade dos provedores

BitTorrent gasta entre 20% e 40% da banda mundial

◦ Pressão legal dos detentores de copyright Maior uso na troca de arquivos protegidos

Conclusão

Page 19: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Perguntas

BitTorrent e as redes P2PJoão Pedro Francese

Page 20: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

1. Quais informações estão presentes em um arquivo de metadados .torrent?

Page 21: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

1. Quais informações estão presentes em um arquivo de metadados .torrent?

R.: As informações principais são os endereços dos servidores de rastreamento, o tamanho do pedaço, o hash de cada pedaço e os nomes e tamanhos dos arquivos compartilhados.

Page 22: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

2. Quais as funções de um servidor de rastreamento?

Page 23: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

2. Quais as funções de um servidor de rastreamento?

R.: Eles mantêm uma lista dos pares ativos e a repassa para aqueles que se conectarem, permitindo que todos se encontrem e possam trocar os pedaços do arquivo.

Como função secundária, eles mantêm estatísticas sobre os torrents que gerenciam.

Page 24: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

3. Como é o funcionamento básico dos algoritmos normais de escolha de pares e pedaços?

Page 25: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

3. Como é o funcionamento básico dos algoritmos normais de escolha de pares e pedaços?

R.: Download: tentar baixar o pedaço mais raro de todos aqueles que estiverem dispostos a enviar.

Upload: enviar o pedaço requisitado para aqueles que estão lhe proporcionando a maior taxa de download.

Page 26: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

4. O que são os modos Superseeding e Endgame?

Page 27: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

4. O que são os modos Superseeding e Endgame?

R.: São algoritmos de seleção de pedaços usados em ocasiões especiais.

Superseeding: usado no início do compartilhamento.A semente diz que não tem pedaços, a fim de que ela possa escolher qual deles enviar.

Endgame: usado no fim do recebimento. O sanguessuga pede os pedaços restantes a todos os pares simultaneamente.

Page 28: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

5. Como funciona o Traffic Shaping e o que pode ser feito para evitá-lo?

Page 29: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

5. Como funciona o Traffic Shaping e o que pode ser feito para evitá-lo?

R.: O Traffic Shaping analisa o conteúdo dos pacotesou a porta usada na conexão para detectar oprotocolo ou serviço.

Ele então atrasa a passagem pela rede, através do descarte de pacotes ou de técnicas de contenção.

Pode-se tentar evitá-lo alterando a porta de conexãoou encriptando os pacotes.

Page 30: João Pedro Francese Trabalho Final de Redes II Profs. Luís Henrique e Otto Duarte - GTA/UFRJ.

Obrigado!

BitTorrent e as redes P2PJoão Pedro Francese