Aplicações peer-to-peer Grupo: Eric Linares Colombo, 6516100 Matheus Poiatti Nogueira, 6445498 Rafael Marques Sansão Borges, 6447552 Rafael Henrique Bacchin Fernandes, 5716518 Thiago Alberici Roberto, 6445539 Professor: Marcos José Santana 3º Trabalho de Sistemas Distribuídos Aplicações peer-to-peer
indice Introdução Arquitetura Definição Histórico Centralizada Descentralizada Não Estruturada Descentralizada Estruturada
indice Aplicações Napster Gnutella FreeNet BitTorrent VoIP Messenger Grid
indice Características das Redes P2P Poluição e Envenenamento Métodos de Envenenamento Combate a Poluição Conclus ão
Introdução - Definição "De maneira simples, sistema peer-to-peer é o compartilhamento de serviços e recursos computacionais feitos pela troca direta entre sistemas.“ [WG] Peer-to-Peer Working Group " ... esse sistema normalmente não possui uma estrutura centralizada, dependendo assim da participação voluntária dos usuários para contribuir com recursos, o que constrói essa estrutura.” [Me] Stefan Saroiu, P. Krishna Gummadi and Steven D. Gribble
Introdução - Definição "Sistemas peer-to-peer e suas aplicações são sistemas distribuídos sem um poder centralizado ou hierarquia organizacional, no qual os softwares em funcionamento em cada nó são equivalentes em funcionalidade.” [CP] Ion Stoica, Robert Morris, David Liben-Nowelly, David Karger, M. Frans Kaashoek, Frank Dabek and Hari Balakrishnan
Introdução - Definição Ou seja: Sistemas “Par-A-Par” Pode ser Centralizada ou Descentralizada Os computadores possuem os mesmos direitos e responsabilidades Funcionam como Cliente E Servidores
Introdução - Histórico Existe desde antes da internet 1979 – USENET Pré - P2P Década de 90 ICQ NAPSTER
Introdução - Histórico NAPSTER popularizou o P2P Descentralização do P2P Ponto-A-Ponto de fato Diminuiu os problemas com direitos autorais Ex: Gnutella e FastTrack Atualidade
ARQUITETURA - Definições CIA: Arquitetura Centralizada DIFA: Arquitetura Descentralizada não estruturada DIHA: Arquitetura Descentralizada estruturada
ARQUITETURA - Napster Rede do tipo CIA Muitos “links quebrados” Shawn Fanning idealizou em 1999, enquanto estava na faculdade. Servidor indexa os diretórios compartilhados dos usuários
ARQUITETURA - Napster
ARQUITETURA - Gnutella Rede do tipo DIFA Desenvolvido pela Nullsoft É lançada uma versão beta (0.4) Idéia de uso da GPL Contexto da decadência do Napster AOL se funde à Time Warner e cancela o projeto
ARQUITETURA - Gnutella Utiliza TCP/IP Lista de servidores pré-compilada Cliente envia um pacote de init aos servidores da lista Sintaxe de busca depende do software Transferência de arquivo com HTTP e servidor web básico
ARQUITETURA - Gnutella
ARQUITETURA - Gnutella Formato dos pacotes Limitações: Escalabilidade TTL deve ser ajustado pelo tamanho da rede Usuários com banda estreita são gargalos Permite ataques DoS
ARQUITETURA - freenet Rede do tipo DIFA Semelhante a um sistema de arquivos distribuído Possui transparência de localização Permite requisitar dados de forma anônima Objetiva ser eficiente sem flooding e índices centralizados Permite cache
ARQUITETURA - freenet Baseado em um artigo de Ian Clarck, 1999 Voluntários pela internet Primeira versão lançada em 2000 Constantemente atualizado Premissa de total anonimato dos usuários Potencial de mau uso Usuários que constroem
ARQUITETURA - freenet Adaptabilidade inteligente dos peers 3 chaves de localização criptografadas Roteamento semelhante ao IP Perda de transparência (rede) Política de reputação e spams Requisíções anônimas Darknet
ARQUITETURA - freenet
ARQUITETURA - bittorrent Otimizado para arquivos grandes Arquivo dividido em blocos (disponibilidade) Necessidade de indexador e rastreador Ponto crítico Lista de nós e blocos raros Hash para verificação
ARQUITETURA - bittorrent
ARQUITETURA - bittorrent DHT: Descentralização perfeita? Arquivos e usuários com ID Vuze e oficial Eficiente em redes grandes Difícil de implementar (necessita do ID) Chord, CAN, Tapestry, Pastry e Kademlia Atualizações de jogos online e streaming
ARQUITETURA - bittorrent
Atualmente
Atualmente P2P em banco de dados Groove Networks Descentralização Maior Escalabilidade Groove Networks Técnica Híbrida Centralizado + Descentralizado
Ourgrid Pesquisa em P2P Transferência em P2P Sistema de pontuação “Bag of tasks” Processamento de Dados Ex: Simulação, Mineração de Dados, Renderização de Imagens, etc. Código Aberto
Características das redes p2p Vantagens e Desvantagens Características das redes p2p
Segurança Aplicações funcionam mesmo com o aumento do uso de firewalls, IPs dinâmicos e NATs. Novas aplicações P2P utilizam a porta 80 para burlar a segurança.
Freeloaders Segundo pesquisadores da Xerox PARC, 70% dos usuários não contribuem com nenhum recurso, enquanto apenas 1% dos pares (peers) é responsável por 50% das cargas. Controle de downloads/uploads por alguns trackers privados. ratio
Direitos autorais Napster – violação dos direitos de copyright. Sistema centralizado Depois do Napster, as aplicações P2P passaram a ser mais descentralizadas
Envenenamento das redes p2p Dificuldade das empresas fonográficas moverem processos. Reação das empresas contra o compartilha-mento indiscriminado. Envenenamento das redes.
técnicas de envenenamento Inserção de versões falsas Corrupção de chaves Envenenamento de índices Voice-overs
Inserção de versões falsas Ruídos durante músicas Páginas em branco em livros Filmes misturados em outros filmes Alteração dos metadados
Corrupção de chaves A chave é gerada a partir de uma função hash aplicada em alguma parte do arquivo. Corrompimento das chaves dos arquivos Alteração das partes não utilizadas pelo algoritmo de hash. Criação de dois arquivos diferentes com a mesma chave
Envenenamento de índices Objetivo é causar a desistência do usuário. 3 métodos de corromper um índice: Alterar o endereço de IP Alterar a porta Alterar para uma chave inexistente
Voice-overs
Poluição das redes P2p
Combate a poluição Classificadas em 3 categorias: Detecção sem download Confiança Total e Rede de Confiança Detecção com download Matching e Filtro Detecção através de moderação Sistemas de Reputação e Sistemas Modernos
Detecção sem download Confiança Total Rede de Confiança Baixar arquivos apenas de usuários que estão na sua “lista de amigos” Amigos são banidos se compartilham arquivos corrompidos Rede de Confiança Compartilhamento da “lista de amigos” entre os usuários
Detecção com download Matching Manter um banco de dados (centralizado ou não) para verificar arquivos poluídos
Detecção com download Filtro Depende dos usuários avaliarem os arquivos Usuários demoram em média 12 horas para analizarem os arquivos baixados
Detecção atraves de moderação Sistemas de Reputação Avaliação dos usuários pela quantidade de arquivos poluídos. Tempo de um arquivo na rede. Sistemas Moderados Moderador responsável pelo combate a poluição da rede. Fatores limitantes: disponibilidade do moderador, capacidade de ação e capacidade de detecção
Conclusão Praticamente todos os computadores utilizam aplicações P2P Centralização X Descentralização Centralizado - melhor sistema de busca e conexão Problemas com direitos autorais Vantegens e desvantagens de acordo com a arquitetura
FIM Dúvidas?