0% acharam este documento útil (0 voto)
11 visualizações33 páginas

Exemplos de Redes Peer-to-Peer

O documento descreve conceitos sobre redes peer-to-peer, incluindo suas características, exemplos de arquiteturas como centralizada, descentralizada e híbrida, e exemplos de redes P2P como Napster, eMule, Gnutella, JXTA, Kazaa, Skype e BitTorrent.

Enviado por

shiejrir
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
11 visualizações33 páginas

Exemplos de Redes Peer-to-Peer

O documento descreve conceitos sobre redes peer-to-peer, incluindo suas características, exemplos de arquiteturas como centralizada, descentralizada e híbrida, e exemplos de redes P2P como Napster, eMule, Gnutella, JXTA, Kazaa, Skype e BitTorrent.

Enviado por

shiejrir
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Redes Peer-

Peer-to
to--Peer

 Arquitetura de Redes P2P


 Exemplos de Redes P2P
 Indexação e Busca
 Integridade e Proteção

1
Redes Peer-
Peer-to
to--Peer
 Redes Peer-
Peer-to-
to-Peer (P2P)
 São sistemas distribuídos nos quais os membros
da rede são equivalentes em funcionalidade
 Permitem que os pares compartilhem recursos
diretamente, sem envolver intermediários

2
Redes Peer-
Peer-to
to--Peer
 Definição
 “São sistemas distribuídos compostos de nós
interconectados, aptos a se auto-organizar em
topologias de rede, com o intuito de compartilhar
recursos, como conteúdo, ciclos de CPU, largura
de banda e armazenamento, com a capacidade
de adaptação a faltas e acomodação a um
número variável de nós, ao mesmo tempo que
mantém a conectividade e o desempenho em
níveis aceitáveis, sem a necessidade de suporte
ou intermediação de um servidor centralizado.”
(Adroutsellis-Theotokis & Spinellis, 2004)
3
Redes Peer-
Peer-to
to--Peer
 Características:
 Auto-organização: não há um coordenador do
Auto-
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-
cliente-servidor, já que
cada nó pode fornecer ou obter recursos
4
Redes Peer-
Peer-to
to--Peer
 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.
5
Arquitetura de Redes P2P
 Classificação da Arquitetura de Redes P2P
 Arquitetura Centralizada: utiliza um servidor
central para controle de acesso à rede e para
publicação e pesquisa de conteúdo
 Arquitetura Descentralizada: todos os peers
possuem funcionalidade equivalente
 Arquitetura Híbrida: alguns peers especiais,
chamados supernós, possuem um papel
diferenciado na rede

6
Arquitetura de Redes P2P
 Arquitetura Centralizada
 Um servidor central controla as entradas e
saídas de peers da rede
 Os peers registram no servidor central os
recursos que comparilharão na rede
 Pesquisas por recursos disponíveis nos peers
são efetuadas pelo servidor central
 O acesso aos recursos é feito diretamente
entre peers
 Exemplos: Napster; eMule
7
Arquitetura de Redes P2P
 Arquitetura Híbrida
 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
 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ó
 Exemplos: Kazzaa; Skype
8
Arquitetura de Redes P2P
 Arquitetura Descentralizada
 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)
 Gera um alto tráfego na rede

 Desempenho das pesquisas é ruim devido à


necessidade de contactar muitos nós e
aguardar a resposta
 Exemplos: Gnutella e JXTA
9
Exemplos de Redes P2P
 Napster
 Criado em 1999
 Utilizava um servidor central (replicado) para
efetuar a procura de arquivos na rede
 Transferência de arquivos era feita
diretamente entre os peers
 Sem o servidor central, que foi fechado por
ordem judicial, a rede deixou de funcionar

10
Exemplos de Redes P2P
 Napster – Funcionamento:
peers

Napster server Napster server


Index 1. File location Index
request
3. File request
2. List of peers
offering the file
5. Index update
4. File delivered

© Coulouris, Dollimore & Kindberg11


Exemplos de Redes P2P
 eMule
 Utiliza vários servidores “centrais”, que fazem
a indexação de arquivos compartilhados
 As bases de dados usadas pelos servidores
para indexação são independentes
 Os peers podem se conectar a um ou mais
servidores para efetuar buscas
 Os downloads são feitos diretamente entre
peers, sendo possível baixar partes de um
arquivo a partir de diferentes peers
12
Exemplos de Redes P2P
 Gnutella
 Um nó entra na rede se conectando a qualquer
outro nó já existente
 Cada nó faz o papel de cliente para realizar
buscas e baixar arquivos e de servidor para
responder buscas e pedidos de download
 O protocolo define as mensagens que podem
ser trocadas entre nós para fazer pesquisas de
arquivos e para baixá-
baixá-los
 Foi aperfeiçoado para tornar-
tornar-se mais escalável,
deixando de ser totalmente descentralizado
(Ultrapeers e QRP – Query Routing Protocol) 13
Exemplos de Redes P2P
 JXTA
 Proposto pela Sun
 Provê uma infra-
infra-estrutura simples de rede P2P
sobre a qual podem ser criadas aplicações que
empregam este paradigma de comunicação
 Cria grupos de pares com interesses comuns

 Mensagens JXTA são codificadas em XML

 Permite estabelecimento de conexões seguras

 Possui uma implementação padrão em Java

14
Exemplos de Redes P2P

© Sun Microsystems
15
Exemplos de Redes P2P
 JXTA padroniza a forma como os pares:
 Descobrem uns aos outros
 Se organizam em grupos

 Divulgam e descobrem os serviços disponíveis


na rede
 Se comunicam

 Monitoram uns aos outros

16
Exemplos de Redes P2P
 JXTA – Comunicação:
 São criados pipes – canais de comunicação
unidirecionais – ligando os peers que fazem
parte da rede, formando uma rede
parcialmente conectada
 O protocolo HTTP é usado para permitir que
consultas atravessem firewalls, desde que haja
um peer de cada lado do firewall (relay peer)

17
Exemplos de Redes P2P
 JXTA faz consultas envolvendo os pares
conhecidos, que por sua vez as enviam a
seus conhecidos, e assim por diante

© Sun Microsystems
18
Exemplos de Redes P2P
 JXTA – Protocolos:
 Peer Endpoint Routing Protocol : permite a
descoberta de rotas entre peers
 Peer Resolver Protocol : usado para efetuar
consultas nos peers
 Peer Discovery Protocol : usado para
descoberta de peers na rede
 Pipe Binding Protocol : conecta peers
utilizando pipes
 Peer Information Protocol : permite obter
informação de status dos peers
 Peer Rendezvous Protocol : permite enviar
mensagens para grupos de peers 19
Exemplos de Redes P2P
 JXTA – Protocolos:

© Sun Microsystems
20
Exemplos de Redes P2P
 Kazaa
 Utiliza supernós para
acesso à rede e para
busca e indexação de
conteúdo
 Skype
 Permite comunicação
por áudio ou vídeo
entre usuários
 Utiliza supernós e um
servidor de login
21
Exemplos de Redes P2P
 BitTorrent
 Protocolo P2P para download de arquivos
 Há vários aplicativos clientes compatíveis
 O arquivo compartilhado é dividido em vários
pedaços, que são baixados simultaneamente
 Pedaços recebidos já são compartilhados
 O protocolo engloba mecanismos para:
 Controlar a integridade dos pedaços de
arquivos baixados
 Recompensar quem compartilha arquivos, e
penalizar quem tira proveito e não colabora
22
Exemplos de Redes P2P
 BitTorrent (cont.)
 Arquivo .torrent
 Criado por nó seed, que compartilha arquivo
 Contém metadados que descrevem o
arquivo e permitem verificar sua integridade
 Indica servidores tracker
 Servidores tracker
 Coordenam a distribuição de arquivos
 Indicam os nós para download
 Controlam a velocidade do download
 Se o nó não colabora (leech), perde banda 23
Exemplos de Redes P2P
 BitTorrent (cont.)

24
Indexação e Busca
 Arquitetura Centralizada
 Indexação no servidor central, utilizando
técnicas tradicionais para indexação e busca
 Problemas:
 Escalabilidade limitada (gargalo)
 Ponto único de falha
 Problemas jurídicos devido ao tráfego de
conteúdos protegidos por direitos autorais
 Possível solução: uso de servidores replicados,
independentes ou sincronizados
25
Indexação e Busca
 Arquitetura Distribuída
 É necessário utilizar mensagens de inundação
 Otimizações permitem fazer inundação
seletiva de rotas (ex: QRP do Gnutella
Gnutella))
 Uso de campo TTL permite limitar a inundação

 Resposta pode ser enviada pelo caminho de


recebimento da busca (mais tráfego;
privacidade) ou diretamente para quem fez a
busca (menos tráfego, sem privacidade)

26
Indexação e Busca
 Arquitetura Híbrida
 Em geral, supernós mantém uma DHT (Tabela
de Hash Distribuída / Distributed Hash Table)
 A DHT contém os hashes dos nomes ou de
metadados dos arquivos compartilhados, e a
identidade dos peers que os contém
 Cada supernó mantém uma parte da tabela
 Supernós são organizados em um anel lógico,
pelo qual a consulta é propagada

27
Indexação e Busca
 DHT – Particionamento da Tabela:
Hash Nó Hash Nó
000101... PA 010110... PB
00... ... 01... ...
S1 S2

S4 S3
Hash Nó Hash Nó
110101... PA 100101... PC
11... ... 10... ...

28
Indexação e Busca
 DHT – Funcionamento:
5. Acessa Arquivo
11010
10101
01101
1. Compartilha 3. Busca
PA S1 S2 PB
11010
10101
01101

4. Responde
S4 S3
2. Registra
Hash Nó
110101... PA
... ...

29
Indexação e Busca
 DHT – Considerações:
 Supernós podem desconectar ou falhar
 Fragmentos da tabela devem ser replicados
nos vizinhos para evitar perda de informação
 Supernós devem detectar falhas/desconexão
e recompor o anel lógico dinamicamente
 Ideal para registrar nomes e metadados
 Qualquer variação gera um hash diferente
(ou seja, não encontra o arquivo/recurso)
 Buscas compostas podem resultar em
respostas de dois ou mais supernós  junção e
classificação dos resultados 30
Integridade e Proteção
 Problemas em Redes P2P
 Downloads interrompidos resultam em muitos
arquivos corrompidos compartilhados na rede
 Nós maliciosos registram dados erroneamente
e enviam dados corrompidos / vírus / etc.
 Nos downloads de várias fontes, basta uma
fonte maliciosa para corromper o dado
 Soluções Adotadas
 Verificação de integridade dos dados
 Uso de mecanismos de proteção
31
Integridade e Proteção
 Verificação de Integridade dos Dados
 Consiste em efetuar comparações com base
no hash do conteúdo compartilhado
 Downloads de várias fontes só acontecem se o
conteúdo tiver o mesmo hash
 Ao final do download, pode ser feita uma
verificação do hash do arquivo obtido, para
verificar se ele não foi corrompido
 Não impede que nós maliciosos informem o
hash errado
32
Integridade e Proteção
 Mecanismos de Proteção
 Baseados na associação de índices de
reputação a cada nó da rede
 Um nó constrói sua reputação fornecendo
conteúdos íntegros; caso forneça conteúdos
inválidos ou corrompidos, sua reputação cai
Evita--se direcionar downloads para nós com
 Evita
baixa reputação
 Nós cuja reputação mudou rapidamente
também são evitados – podem ter sido
hackeados ou estavam construindo uma boa
reputação para depois atacar a rede 33

Você também pode gostar