Your SlideShare is downloading. ×
P2P - Sistemas Distribuídos
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

P2P - Sistemas Distribuídos

5,794
views

Published on

Trabalho apresentado na disciplina Sistemas Distribuídos

Trabalho apresentado na disciplina Sistemas Distribuídos

Published in: Education

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,794
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Sistemas Distribuídos
  • 2. Sumário• Definição;• História;• Características;• Utilização;• Arquitetura de Redes P2P;• Exemplos de P2P;• Integridade e Proteção;• Código da Aplicação.
  • 3. Definição• Um tipo de rede de computadores onde cada estação possui capacidades e responsabilidades equivalentes. Isto difere da arquitetura cliente/servidor, no qual alguns computadores são dedicados a servirem dados a outros
  • 4. História• O surgimento do P2P vem da tendência natural da evolução dos sistemas que vem criando redes cada vez maiores• Os primeiros trabalhos que podem ser relacionados ao P2P vem do final da década de 70, início da década de 80• No final dos anos 90 se tornou mundialmente popular graças ao Napster
  • 5. Características• Auto-organização: não há um coordenador do grupo; toda a coordenação é distribuída• Adaptabilidade: rede se ajusta ao ambiente, mesmo que ocorram falhas• Escalabilidade: rede cresce em escala facilmente; não há ponto de estrangulamento• Comunicação direta entre os pares: se opõe ao tradicional modelo cliente-servidor, já que cada nó pode fornecer ou obter recursos
  • 6. Utilização• Compartilhamento de arquivos, imagens, músicas, vídeos, etc.• Atualização de sistemas operacionais e de software aplicativo• Gerenciamento de redes e sistemas• Processamento distribuído• Sincronização de bancos de dados• Difusão de informações• etc.
  • 7. ARQUITETURA DE REDES
  • 8. Arquitetura Centralizada (1)
  • 9. Arquitetura Centralizada (2)• Um servidor central controla as entradas e saídas de peers da rede• Os peers registram no servidor central os recursos que compartilharão na rede
  • 10. Arquitetura Centralizada (3)• Pesquisas por recursos disponíveis nos peers são efetuadas pelo servidor central• O acesso aos recursos é feito diretamente entre peers
  • 11. Arquitetura Centralizada (4)
  • 12. ArquiteturaDescentralizada (1)
  • 13. Arquitetura Descentralizada (2)• Não há um elemento central• Todos os nós possuem papel equivalente• As pesquisas por recursos compartilhados são feitas por inundação (flooding)
  • 14. Arquitetura Descentralizada (3)• Gera um alto tráfego na rede• Desempenho das pesquisas é ruim devido à necessidade de se comunicar a muitos nós e aguardar a resposta
  • 15. ArquiteturaDescentralizada (4)
  • 16. Arquitetura Híbrida (1)
  • 17. Arquitetura Híbrida (2)• Supernós permitem o ingresso dos nós na rede, podendo também exercer atividades de coordenação do funcionamento da rede, indexar os recursos compartilhados pelos nós e permitir a busca por estes recursos
  • 18. Arquitetura Híbrida (3)• Após localizado, um recurso pode ser obtido a partir da interação direta entre nós• Falha de um supernó pode ser tolerada elegendo dinamicamente outro supernó.
  • 19. Arquitetura Híbrida (4)
  • 20. EXEMPLOS DE REDES
  • 21. Napster• Lançado 1999• Compartilhamento de músicas• Utilizava servidor central (replicado) para efetuar a procura de arquivos na rede• Servidores centrais dedicados - Mecanismo de autenticação - Localizador de arquivos• Transferência de arquivos era feita diretamente entre os (peers)clientes
  • 22. Gnutella• Primeira aplicação P2P descentralizada• Requisição é realizada, todos os nós são consultados• Somente o nó detentor da informação retorna a consulta• Cada nó atua como : - Cliente – quando faz requisições de arquivos - Servidor – quando fornece arquivos - Roteador – quando reenvia consultas e respostas.
  • 23. Kazaa• Utilizada arquitetura hierárquica• Nós comuns (NC) e Super nós (SN)• Rede composta por diversos (SN) que atua como “Mini-Servidores” utilizados para armazenar informações sobre arquivos compartilhados pelos NC• SN mantém conexões com outros SN
  • 24. BitTorrent• Cliente BitTorrent é qualquer aplicação que implementa Protocolo BitTorrent• Arquivo compartilhado é dividido em partes iguais e pequenas ( 64Kb 4 Mb)• Protocolo engloba mecanismos para: - Controlar integridade das partes dos arquivos - Recompensar quem compartilha arquivos, e penalizar quem não colabora• Para compartilhar, um nó cria o arquivo.torrent• Neste arquivo .torrent contém : - Contém metadados do arquivo que descreve o arquivo e permite ver sua integridade - Indica servidores (tracker)
  • 25. BitTorrent• Servidores (trackers): - Coordena distribuição de arquivos - Indicam nós para download - Controlam a velocidade do download - Se o nó não colabora, perde banda• Quando um nó quer fazer o download do arquivo - Obtem-se o arquivo.torrent - Conecta-se ao servidor (tracker) específico - Este servidor irá fornecer as informações necessárias para fazer o download de cada parte do arquivo.
  • 26. JXTA• Utilizada na implementação deste trabalho• Cria grupos de pares com interesses comuns• Mensagens JXTA são codificadas em XML• JXTA padroniza a forma como os pares - Descobrem uns aos outros - Organizam os grupos - Divulgam e descobrem os serviços disponíveis - Monitoram uns aos outros• JXTA faz consultas envolvendo pares conhecidos, que mandam as seus conhecidos.
  • 27. JXTA• JXTA – Comunicação - Cria Pipes – canais de comunicação unidirecionais, formando um rede parcialmente conectada - Protocolo HTTP é usado para permitir que as consultas atravessem firewalls.
  • 28. INTEGRIDADE E SEGURANÇA
  • 29. Integridade e Segurança• A segurança é um componente essencial para qualquer sistema de computação.• Navegar pelas redes P2P pode ser não muito seguro, pois existem várias ameaças e preocupações dentro da rede.
  • 30. Ameaças e Preocupações• Downloads interrompidos;• Nós maliciosos enviam dados corrompidos, vírus, etc;• Arquivos falsos na rede;• Propagação de arquivos infectados sem conhecimento disso (Backdoors); o Permite fácil acesso.• Bugs e/ou Softwares mal configurados;• Exposição a sofrer recursos legais ao compartilhar arquivos protegidos por direitos autorais.
  • 31. Soluções• Validação da integridade do arquivo; o eMule faz a verificação antes do download (hash); o Kazaa perde nesse quesito (Perda de usuário, desuso).• Validação do usuário na rede; o Maioria possui sistemas de criptografia para proteção.• Fator de confiança à identificação do usuário; o Tempo de compartilhamento; o Evita direcionar downloads para usuário com baixa reputação.
  • 32. Protocolos da Rede P2P• Secure Sockets Layer (SSL); o Garante que um arquivo e eventos enviados cheguem intactos; o Ambos os lados automaticamente provam quem eles são para cada um antes de transferirem qualquer informação.• Tecnologia IPSec; o Um túnel IPSec basicamente age como uma camada de rede que protege todos os pacotes de dados que passa por ela.• Infra-Estrutura de chave pública (PKI); o Evita que crackers interceptem ou adulterem as comunicações realizadas. o É possível saber quem foi o autor de uma transação ou mensagem; o Dados confidenciais são protegidos contra a leitura por pessoas não autorizadas.
  • 33. Código da Aplicação
  • 34. Dúvidas?