Buscar

Aplicações P2P (Peer-toPeer)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Aplicações P2P (Peer-toPeer) 
Prof. Marcus Fábio Fontenelle, M.Sc. 
Mestre em Informática Aplicada 
LPIC-1, NCLA, MCSE 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
2 
Introdução 
• Arquiteturas P2P, também conhecidas como arquiteturas descentralizadas, 
possuem um comportamento simétrico (servidor e cliente ao mesmo tempo, 
também chamada “servente”). 
• Existem 3 diferentes tipos de aplicações P2P: 
 Distribuição de Arquivos: (Ex: BitTorrent) 
 Banco de Dados Distribuídos (Ex: DHT – Distributed Hash Table) 
 Telefonia IP (Ex: Skype) 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
3 
Distribuição de Arquivos - BitTorrent 
• Em uma distribuição de arquivo cliente-servidor, o servidor deve enviar uma cópia 
do arquivo para cada um dos pares. 
 Enorme fardo sobre o servidor 
 Consome uma grande quantidade de banda do servidor 
• Na distribuição de arquivos P2P, cada par pode redistribuir qualquer parte do 
arquivo que recebeu para outros pares. 
• O BitTorrent atualmente é o protocolo mais popular para distribuição de arquivos 
P2P. 
 Originalmente foi desenvolvido por Bram Cohen 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
4 
Distribuição de Arquivos - BitTorrent 
• No jargão do BitTorrent, a coleção de todos os pares que participam da 
distribuição de um determinado arquivo é chamada de torrent. 
• Os pares em um torrent fazem o download de blocos de tamanho igual do arquivo 
entre si, com um tamanho típico de bloco de 256 KB. 
• Quando um par entre em um torrent, ele não tem nenhum bloco. Com o tempo, ele 
acumula mais blocos. 
• Enquanto um par faz o download, faz também upload de blocos para outros pares. 
• Uma que um par adquire todo o arquivo, ele pode sair do torrent ou permanecer no 
torrent e continuar fazendo o upload de blocos a outros pares. 
 A qualquer momento um par pode sair do torrent com apenas um subconjunto 
de blocos e depois voltar. 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
5 
Distribuição de Arquivos - BitTorrent 
• Cada torrent tem um nó de infraestrutura chamado rastreador (tracker). 
• Quando um par chega a um torrent, ele se registra com o rastreador e 
periodicamente informa ao rastreador que ainda está no torrent. 
• Quando um novo par chega no torrent, o rastreador seleciona aleatoriamente um 
subconjunto de pares do conjunto de pares participantes, e envia os endereços IP 
desses pares para o novo par. 
• Com a lista de pares, o novo par tenta estabelecer conexões TCP simultâneas 
com todos os pares da lista. 
 Os pares em que foi possível estabelecer uma conexão TCP são chamados 
“pares vizinhos” 
 Com o tempo alguns desses pares podem sair e outros pares (diferentes dos 
pares do subconjunto inicial) podem tentar estabelecer conexões TCP. 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
6 
Distribuição de Arquivos - BitTorrent 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
7 
Distribuição de Arquivos - BitTorrent 
• A qualquer momento, cada par terá um subconjunto de blocos do arquivo, com 
pares diferentes com subconjuntos diferentes. 
• Periodicamente, um par pedirá a cada um de seus pares vizinhos (nas conexões 
TCP) a lista de quais blocos eles têm. 
 Se forem L vizinhos diferentes, serão obtidas L listas de blocos. 
 Com essa informação, um par emitirá solicitações (novamente, nas conexões 
TCP) de blocos que ele não tem. 
• Com a informação de quais blocos o par possui e quais blocos seus vizinhos 
possuem há duas decisões a serem tomadas: 
 Quais blocos devem ser solicitados primeiro dos vizinhos? 
 Quais vizinhos deve-se enviar blocos solicitados? 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
8 
Distribuição de Arquivos - BitTorrent 
• Para decidir quais blocos solicitar, um par usa uma técnica chamada rarest first (o 
mais raro primeiro). 
 A ideia é determinar, dentre os blocos que um par não tem, quais são os mais 
raros dentre seus vizinhos (ou seja, os blocos que têm o menos número de 
cópias repetidas em seus vizinhos) e então solicitar esses blocos mais raros 
primeiro. 
 Os blocos mais raros são redistribuídos mais rapidamente, procurando 
equalizar os números de cópias de cada bloco torrent. 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
9 
Distribuição de Arquivos - BitTorrent 
• Para determinar quais pedidos atender, o BitTorrent usa um algoritmo de troca 
inteligente. 
 Dar prioridade aos vizinhos que atualmente fornecem seus dados com a maior 
taxa. 
• Para cada vizinho um par mede continuamente a taxa em que recebe bits e determina 
os 4 pares que lhe fornecem na melhor taxa. 
 Reciprocamente envia blocos a esses mesmos 4 pares. 
 A cada 10 segundos são recalculadas as taxas e possivelmente modificado o 
conjunto dos 4 pares. 
 Esses 4 pares são chamados de unchocked (não sufocado). 
• A cada 30 segundos é escolhido um vizinho adicional aleatoriamente e blocos também 
são enviados a ele. 
 Esse vizinho aleatório é chamado de optimistically unchocked. 
• Como um par envia dados ao par vizinho escolhido aleatoriamente, pode-se se tornar 
um dos 4 melhores transmissores deste vizinho, caso em que o vizinho começaria a 
enviar dados também. 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
10 
Distribuição de Arquivos - BitTorrent 
• Caso os dois pares estejam satisfeitos com a troca, eles colocarão um ao outro 
nas suas listas de 4 melhores pares e continuarão a troca até que um dos 
parceiros encontre um parceiro melhor 
 Pares capazes de fazer uploads em taxas compatíveis tendem a se encontrar. 
• A seleção aleatória de vizinho também permite que novos pares obtenham blocos, 
de forma que possam ter algo para trocar. 
• Todos os pares vizinhos, com exceção desses 5 pares estão “sufocados” 
(chocked), ou seja, não recebem nenhum bloco. 
• Esse mecanismo de incentivo de troca é normalmente chamado de tit-for-tat (olho 
por olho). 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
11 
Telefonia IP - Skype 
• O Skype é o serviço de telefonia IP mais popular atualmente. 
• Fornece serviços de telefonia PC-PC, PC-Telefone, Telefone-PC e 
videoconferência PC-PC. 
• O Skype usa técnicas P2P de diversas maneiras inovadoras, mostrando que o 
P2P pode ser usado em aplicações que vão além da distribuição de conteúdo e 
compartilhamento de arquivos. 
• O Skype emprega técnicas P2P para localização de usuários e NAT Transversal. 
• Os protocolos do Skype são proprietários e todas as transmissões de pacotes 
(controle e voz) são criptografadas. 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
12 
Telefonia IP - Skype 
• Os nós no Skype são organizados em uma rede sobreposta hierárquica, 
com cada par classificado como superpar ou par comum. 
• O Skype possui um índice que mapeia os nomes de usuários a endereços 
IP atuais e números de porta. 
 Este índice é distribuído entre os superpares. 
 Quando um cliente A deseja telefonar para o cliente B, seu cliente 
Skype procura o índice distribuído para determinar o endereço IP atual 
do cliente B. 
 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos13 
Telefonia IP - Skype 
• Técnicas P2P também são usadas em retransmissores do Skype, úteis para 
estabelecer chamadas entre hosts em rede domésticas. 
• Ao entrar no Skype um cliente A recebe um superpar e inicia uma sessão com ele. Isso 
permite que o cliente A possa trocar mensagem de controle com seu superpar. 
• Quando um cliente A deseja telefonar para um cliente B, o cliente A informa a seu 
superpar, que por sua vez informa ao superpar do cliente B, que então informa ao 
cliente B sobre a chamada recebida do cliente A. 
• Caso o cliente B aceite a chamada, os dois superpares selecionam um terceiro 
superpar sem NAT (o nó retransmissor) cujo trabalho será o de transmitir os dados 
entre os clientes A e B. 
• Os superpares dos clientes A e B os instruem a iniciarem uma sessão com o nó 
retransmissor. 
• O uso de retransmissores ilustra o projeto cada vez mais sofisticado de sistemas P2P, 
em que pares realizam serviços de sistema central para outros (serviços de indexação 
e transmissão, por exemplo) ao mesmo tempo em que usam o serviço de usuário final 
(download de arquivo e telefonia IP, por exemplo) fornecidos pelo sistema P2P. 
Prof. Marcus Fábio, M.Sc 
Faculdade Estácio do Ceará Arquitetura de Sistemas Distribuídos 
Referências Bibliográficas 
• Redes de Computadores e a Internet, James Kurose, 5ª Edição – 
Seção 2.6 
• Sistemas Distribuídos – Conceitos e Projeto, George Coulouris et. 
al., 4ª Edição – Cap. 10 
• Sistemas Distribuídos – Princípios e Paradigmas, Andrew 
Tanenbaum, 2ª Edição – Cap. 12 
• Biblioteca Virtual Estácio 
14

Continue navegando