Upload
internet
View
105
Download
2
Embed Size (px)
Citation preview
BitTorrente as Redes P2P
João Pedro Francese
Trabalho Final de Redes IIProfs. 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
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
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
Cliente (client)
Par (peer)
Semente (seed)
Sanguessuga (leecher)
Enxame (swarm)
Rastreador (tracker)
Pedaço (piece)
Bloco (block)
Arquivo de metadados (metafile)
Conceitos
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
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
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
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
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
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
Encriptação◦Anonimidade
◦Ocultação do tráfego
Broadcatching◦ Torrent + RSS
◦Distribuição automática de conteúdo
Técnicas Avançadas
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
BitTorrent uTorrent Azureus BitComet Opera
...
Clientes
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
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
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
Perguntas
BitTorrent e as redes P2PJoão Pedro Francese
1. Quais informações estão presentes em um arquivo de metadados .torrent?
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.
2. Quais as funções de um servidor de rastreamento?
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.
3. Como é o funcionamento básico dos algoritmos normais de escolha de pares e pedaços?
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.
4. O que são os modos Superseeding e Endgame?
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.
5. Como funciona o Traffic Shaping e o que pode ser feito para evitá-lo?
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.
Obrigado!
BitTorrent e as redes P2PJoão Pedro Francese