Você está na página 1de 6

Redes Peer-

Peer-to
to--Peer
 Redes Peer-
Peer-to-
to-Peer (P2P)
 São sistemas distribuídos nos quais os membros
Redes Peer-
Peer-to
to--Peer da rede são equivalentes em funcionalidade
 Permitem que os pares compartilhem recursos
diretamente, sem envolver intermediários
 Arquitetura de Redes P2P
 Exemplos de Redes P2P
 Indexação e Busca
 Integridade e Proteção

1 2

Redes Peer-
Peer-to
to--Peer Redes Peer-
Peer-to
to--Peer
 Definição  Características:
 “São sistemas distribuídos compostos de nós  Auto--organização: não há um coordenador do
Auto
interconectados, aptos a se auto-organizar em grupo; toda a coordenação é distribuída
topologias de rede, com o intuito de compartilhar
recursos, como conteúdo, ciclos de CPU, largura  Adaptabilidade: rede se ajusta ao ambiente,

de banda e armazenamento, com a capacidade mesmo que ocorram falhas


de adaptação a faltas e acomodação a um  Escalabilidade: rede cresce em escala
número variável de nós, ao mesmo tempo que facilmente; não há ponto de estrangulamento
mantém a conectividade e o desempenho em
 Comunicação direta entre os pares: se opõe
níveis aceitáveis, sem a necessidade de suporte
ou intermediação de um servidor centralizado.” ao tradicional modelo cliente-
cliente-servidor, já que
(Adroutsellis-Theotokis & Spinellis, 2004) cada nó pode fornecer ou obter recursos
3 4

Redes Peer-
Peer-to
to--Peer Arquitetura de Redes P2P
 Utilização:  Classificação da Arquitetura de Redes P2P
 Compartilhamento de arquivos, imagens,  Arquitetura Centralizada: utiliza um servidor
músicas, vídeos, etc. central para controle de acesso à rede e para
 Atualização de sistemas operacionais e de publicação e pesquisa de conteúdo
software aplicativo  Arquitetura Descentralizada: todos os peers

 Gerenciamento de redes e sistemas possuem funcionalidade equivalente


 Processamento distribuído  Arquitetura Híbrida: alguns peers especiais,

 Sincronização de bancos de dados


chamados supernós, possuem um papel
diferenciado na rede
 Difusão de informações

 etc.
5 6

1
Arquitetura de Redes P2P Arquitetura de Redes P2P
 Arquitetura Centralizada  Arquitetura Híbrida
 Um servidor central controla as entradas e  Supernós permitem o ingresso dos nós na
saídas de peers da rede rede, podendo também exercer atividades de
coordenação do funcionamento da rede,
 Os peers registram no servidor central os indexar os recursos compartilhados pelos nós
recursos que comparilharão na rede e permitir a busca por estes recursos
 Pesquisas por recursos disponíveis nos peers  Após localizado, um recurso pode ser obtido a
são efetuadas pelo servidor central partir da interação direta entre nós
 O acesso aos recursos é feito diretamente  Falha de um supernó pode ser tolerada
entre peers elegendo dinamicamente outro supernó
 Exemplos: Kazzaa; Skype
 Exemplos: Napster; eMule
7 8

Arquitetura de Redes P2P Exemplos de Redes P2P


 Arquitetura Descentralizada  Napster
 Não há um elemento central  Criado em 1999
 Todos os nós possuem papel equivalente  Utilizava um servidor central (replicado) para

 As pesquisas por recursos compartilhados são efetuar a procura de arquivos na rede


feitas por inundação (flooding)  Transferência de arquivos era feita

 Gera um alto tráfego na rede diretamente entre os peers


 Desempenho das pesquisas é ruim devido à  Sem o servidor central, que foi fechado por

necessidade de contactar muitos nós e ordem judicial, a rede deixou de funcionar


aguardar a resposta
 Exemplos: Gnutella e JXTA
9 10

Exemplos de Redes P2P Exemplos de Redes P2P


 Napster – Funcionamento:  eMule
peers
 Utiliza vários servidores “centrais”, que fazem
a indexação de arquivos compartilhados
Napster server Napster server  As bases de dados usadas pelos servidores
Index Index
1. File location
request para indexação são independentes
3. File request
2. List of peers  Os peers podem se conectar a um ou mais
offering the file
servidores para efetuar buscas
5. Index update
4. File delivered  Os downloads são feitos diretamente entre
peers, sendo possível baixar partes de um
arquivo a partir de diferentes peers
© Coulouris, Dollimore & Kindberg11 12

2
Exemplos de Redes P2P Exemplos de Redes P2P
 Gnutella  JXTA
 Um nó entra na rede se conectando a qualquer  Proposto pela Sun
outro nó já existente
 Provê uma infra-
infra-estrutura simples de rede P2P
 Cada nó faz o papel de cliente para realizar
sobre a qual podem ser criadas aplicações que
buscas e baixar arquivos e de servidor para
responder buscas e pedidos de download empregam este paradigma de comunicação
 O protocolo define as mensagens que podem  Cria grupos de pares com interesses comuns

ser trocadas entre nós para fazer pesquisas de  Mensagens JXTA são codificadas em XML
arquivos e para baixá-
baixá-los  Permite estabelecimento de conexões seguras
 Foi aperfeiçoado para tornar-
tornar-se mais escalável,  Possui uma implementação padrão em Java
deixando de ser totalmente descentralizado
(Ultrapeers e QRP – Query Routing Protocol) 13 14

Exemplos de Redes P2P 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

© Sun Microsystems
15 16

Exemplos de Redes P2P Exemplos de Redes P2P


 JXTA – Comunicação:  JXTA faz consultas envolvendo os pares
 São criados pipes – canais de comunicação conhecidos, que por sua vez as enviam a
unidirecionais – ligando os peers que fazem seus conhecidos, e assim por diante
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)

© Sun Microsystems
17 18

3
Exemplos de Redes P2P Exemplos de Redes P2P
 JXTA – Protocolos:  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 © Sun Microsystems
mensagens para grupos de peers 19 20

Exemplos de Redes P2P Exemplos de Redes P2P


 Kazaa  BitTorrent
 Utiliza supernós para  Protocolo P2P para download de arquivos
acesso à rede e para  Há vários aplicativos clientes compatíveis
busca e indexação de  O arquivo compartilhado é dividido em vários
conteúdo pedaços, que são baixados simultaneamente
 Skype  Pedaços recebidos já são compartilhados
 Permite comunicação  O protocolo engloba mecanismos para:
por áudio ou vídeo
 Controlar a integridade dos pedaços de
entre usuários
arquivos baixados
 Utiliza supernós e um
 Recompensar quem compartilha arquivos, e
servidor de login
penalizar quem tira proveito e não colabora
21 22

Exemplos de Redes P2P Exemplos de Redes P2P


 BitTorrent (cont.)  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 24

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

25 26

Indexação e Busca Indexação e Busca


 Arquitetura Híbrida  DHT – Particionamento da Tabela:
 Em geral, supernós mantém uma DHT (Tabela
de Hash Distribuída / Distributed Hash Table) Hash Nó Hash Nó
000101... PA 010110... PB
 A DHT contém os hashes dos nomes ou de 00... ... 01... ...
S1 S2
metadados dos arquivos compartilhados, e a
identidade dos peers que os contém
 Cada supernó mantém uma parte da tabela S4 S3
 Supernós são organizados em um anel lógico,
Hash Nó Hash Nó
110101... PA 100101... PC
pelo qual a consulta é propagada 11... ... 10... ...

27 28

Indexação e Busca Indexação e Busca


 DHT – Funcionamento:  DHT – Considerações:
 Supernós podem desconectar ou falhar
5. Acessa Arquivo
11010  Fragmentos da tabela devem ser replicados
10101

1. Compartilha 3. Busca
01101
nos vizinhos para evitar perda de informação
PA S1 S2 PB
11010
10101
 Supernós devem detectar falhas/desconexão
01101

4. Responde
e recompor o anel lógico dinamicamente
S4 S3  Ideal para registrar nomes e metadados
 Qualquer variação gera um hash diferente
2. Registra
Hash Nó (ou seja, não encontra o arquivo/recurso)
110101... PA  Buscas compostas podem resultar em
... ...
respostas de dois ou mais supernós  junção e
29
classificação dos resultados 30

5
Integridade e Proteção Integridade e Proteção
 Problemas em Redes P2P  Verificação de Integridade dos Dados
 Downloads interrompidos resultam em muitos  Consiste em efetuar comparações com base
arquivos corrompidos compartilhados na rede no hash do conteúdo compartilhado
 Nós maliciosos registram dados erroneamente  Downloads de várias fontes só acontecem se o
e enviam dados corrompidos / vírus / etc. conteúdo tiver o mesmo hash
 Nos downloads de várias fontes, basta uma  Ao final do download, pode ser feita uma
fonte maliciosa para corromper o dado verificação do hash do arquivo obtido, para
 Soluções Adotadas verificar se ele não foi corrompido
 Não impede que nós maliciosos informem o
 Verificação de integridade dos dados
hash errado
 Uso de mecanismos de proteção 31 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