Escolar Documentos
Profissional Documentos
Cultura Documentos
PONTA GROSSA
2008
UNIVERSIDADE ESTADUAL DE PONTA GROSSA
SETOR DE CIÊNCIAS AGRÁRIAS E DE TECNOLOGIA
DEPARTAMENTO DE INFORMÁTICA
EDUARDO SPONHOLZ
FRANCISCO RICARDO ANDRASCHKO
PONTA GROSSA
2008
EDUARDO SPONHOLZ
FRANCISCO RICARDO ANDRASCHKO
PONTA GROSSA
2008
RESUMO
redes P2P vêm popularizando-se cada vez mais. Em seu inicio P2P era apenas para
troca de mensagens, mas com seu crescimento veio também sua melhoria. Devido
foram necessárias. Plataformas como JXTA, GDK e .NET têm auxiliado a firmar
estas redes num lugar de destaque entre as demais redes, formalizando sua
compartilhamento de informações.
Recursos.
SUMÁRIO
1 INTRODUÇÃO ...................................................................................................... 1
2 METODOLOGIA ................................................................................................... 7
4 PLATAFORMAS DE DESENVOLVIMENTO....................................................... 22
4.1.2 GRUPOS............................................................................................ 25
5 CONCLUSÃO ..................................................................................................... 38
6 REFERÊNCIAS .................................................................................................. 39
LISTA DE FIGURAS
2008) ................................................................................................. 2
2001) ................................................................................................. 15
Figura 8 - Estrutura das camadas lógicas JXTA (PROJETO JXTA, 2007) .......... 24
i
LISTA DE TABELAS
ii
1 INTRODUÇÃO
distribuídos para atuação, onde dois são os modelos mais vistos: Centralizado e
Descentralizado.
A organização da estrutura cliente-servidor (centralizado) nos sistemas
1
Figura 1 - Modelo de Rede Centralizada (cliente-servidor) (ASTIAZARA, 2008)
estação poderá tanto requisitar quanto responder pedidos, o que torna cada estação
tanto em cliente como servidor. O nome descentralizado vem daí, pois não contem
um servidor centralizador.
central.
uma melhor utilização dos recursos circulantes nas redes (LUTHER, BUYYA,
soluções das redes P2P, bem como padronização das mesmas, que auxiliem o
acesso à computação distribuída têm impacto imediato nos diferentes ramos da
informática.
1.2 PADRONIZAÇÃO
1
Peer: palavra inglesa que assume o significado de ‘par’. Peer-to-peer ou P2P seria então par-a-par,
ou seja, entidades distintas que possuem mesmo ‘peso’, ‘posição’, igual teor, ou seja, iguais perante o conjunto,
3
padrões são necessários desde o desenvolvimento até a compatibilidade de tráfego
da informação.
2
ODF: abreviação de "OASIS Open Document Format for Office Applications", é um formato de
arquivos de suítes de escritório, como textos, planilhas, apresentações e base de dados. Desenvolvido pelo
consórcio OASIS baseia-se na linguagem XML. O ODF é um formato aberto e público e foi aprovado como
TCP (Transmition Control Protocol) e IP (Internet Protocol). Eles, respectivamente encontram-se nas camadas
4
Camadas Agentes
PAULA, 2001):
sistemas distribuídos.
5
1.3 OBJETIVOS
eles. Também estão inclusos os modelos de algoritmos para Redes P2P e alguns
6
2 METODOLOGIA
Engajado nisso que em 2001, redes P2P tomou uma proporção de conhecimento
que atraiu não somente internautas5 residenciais, devido ao acesso fácil e gratuito,
JXTA (esta a mais comum dentre as existentes) são assuntos objetivados neste
trabalho.
5
Internauta: dito ao chamado usuário da Internet.
7
3 REDES P2P
uma estação (seja computador ou outro equipamento) que possua uma interface de
rede capaz de adquirir um endereço IP6, pode facilmente ingressar a rede, sem
prévia autorização de um servidor, ou mesmo sem que haja alterações na estrutura
lógica ou física da rede. Os requisitos para que tal estação ingresse na rede P2P, é
6
IP: internet protocol, pode ser considerado o endereço numérico que representa o local de um
8
3.1 VANTAGENS P2P
2003), existem muitos atrativos para a utilização de redes P2P, onde os principais
são:
específicas;
demoradas.
da rede.
9
pois insinuam ambigüidade (BALAKRISHNAN, KAASHOEK, KARGER, MORRIS, &
porém possível;
USENET, 2007).
- Baseada em inundação;
10
- Baseada em redes de superposição.
de compartilhamento aos mesmos para que neles sejam gerados índices sobre os
quando esses efetuarem uma busca será informado o endereço IP da máquina que
aloca os dados. A estação cliente (peer) que efetuou a busca pode então conectar-
COMPUTING, 2000).
1. O novo cliente se conecta ao servidor e envia uma lista dos seus dados
compartilhados.
11
Figura 4 - Exemplo de serviço de localização centralizada (APPLIED META COMPUTING,
2000)
por palavras-chave e critérios múltiplos, deixando assim a busca ágil e rápida, pois
é estar mais suscetível a falhas na rede, pois podem ocorrer erros nos pontos
centrais, o que danifica toda a estrutura da rede, e também estar mais vulnerável a
totalmente distribuída (100% P2P). Esse tipo de rede não possui servidores centrais,
assim não agregando os problemas existentes na arquitetura centralizada.
12
(APPLIED META COMPUTING, 2000). Um equipamento acessa toda a rede P2P
os peers, até que algum peer que continha tal recurso retorne seu IP. Usa-se como
controle dos mecanismos de inundação o TTL7 da rede, o qual garante que uma
2000).
como satisfatório
• Será então criada uma ligação direta (se ainda não existir) entre o
peer requisitante e o peer mantenedor do resultado mais satisfatório.
7
TTL: Time-To-Live, que significa o tempo de vida de trafego das informações na rede.
13
3.3.3 BASEADA EM REDES DE SUPERPOSIÇÃO
modelo de rede centralizado e baseado neste que foi criado o modelo de redes de
2001).
Este tipo de rede delega funções especiais a alguns peers da rede (super-
peers), tornando-os servidores para outros peers. Apenas Super-peers terão acesso
A Figura 6 ilustra o modelo de tal rede, onde pode ser visualizado peers
entre essas comunidades existe uma ligação, garantindo assim comunicação total
da rede.
14
192.168.3.10
192.168.21.100
192.168.21.105
192.168.3.5
192.168.21.1
Convencionais
192.168.5.1
192.168.21.106
Super-peers
192.168.5.1
192.168.80.37
192.168.37.1
192.168.5.2 192.168.80.56
Para que possa ser citado qual modelo de arquitetura é melhor em relação
que a mesma busca seja feita, utilizando a mesma proporção de peer pesquisados.
15
arquiteturas usando notas entre 0 e 3, onde melhores são as maiores notas.
rede?
usuários?
Centralizado 0 2 3 0
Descentralizado 1 3 3 0
Inundação 3 1 2 3
Superposição 2 3 1 0
um concentrador (servidor).
16
• Inundação – Busca baseada no modelo de rede baseado por
inundação.
superposição.
anonimato foi por inundação, pois é o único modelo analisado que não necessita de
porque o mesmo deve reordenar toda a rede, cada vez que existe a inserção ou
remoção de um peer.
17
3.5 ALGORITMOS P2P
sigla representa Distributed Hash Tables (ou Tabelas Hash Distribuídas). Esse
calculados de acordo com a função hash utilizada, onde tanto o peer quanto o
DHT é também distribuída entre os peers da rede de modo que haja perda
de um nó, não cause perda considerável ao sistema, permitindo assim que haja uma
escalabilidade perfeita à medida que novos peers são adicionados à rede, (DHT,
2007).
18
As vantagens enfatizadas no DHT são:
• Descentralização;
• Escalabilidade;
• Tolerância à faltas.
como serviu de base para outros algoritmos de busca, como Tapestry, Chord, CAN e
Pastry.
3.6.1 NAPSTER
19
(PROJETO NAPSTER, 2007).
enviem uma lista dos arquivos compartilhados ao servidor central, o qual cria índice
dos arquivos. Quando o cliente busca alguma música, se conecta ao servidor, e este
3.6.2 SETI@HOME
descentralizada.
3.6.3 FREENET
possuía uso de sistemas remotos anônimos, ou seja, executaria pela rede uma série
pode requisitar à rede um local para armazenar um arquivo, e outro usuário pode
usuário tem armazenado um arquivo em seu sistema, ele é incapaz de saber quem
20
HONG, 2001) e (PFITZMANN & WAIDNER, 1987).
21
4 PLATAFORMAS DE DESENVOLVIMENTO
desenvolvimento, para que haja total integração entre peers na rede. Isso gera
.Net e Groove.
4.1 JXTA
camadas inferiores. Na rede virtual JXTA, qualquer peer interage com outro,
acesso aos recursos da rede não são limitados por incompatibilidade de plataforma
22
Figura 7 - Arquitetura de Rede Virtual JXTA (PROJETO JXTA, 2007)
redes;
• Segurança.
8
O números de grupos (peergroups) ao qual o peer pode pertencer é customizável no
23
Para que na prática ocorra o que na teoria é proposto pelo JXTA, sua
comando;
• De Aplicação – É a camada visível ao usuário, pois nela são
24
Como citado, nem todas as 3 camadas do JXTA são necessárias, porem
• Grupos;
• Avisos ou Comunicados;
• Pipes9 e mensagens;
• Protocolos.
4.1.2 GRUPOS
Os grupos servem não para distinguir um peer de outro, mas sim delimitar
compartilhamento.
Os grupos ou os peers podem ser dos tipos abaixo? Se o certo for escrever
“Os peers podem ser do tipo”, então copiem o trecho abaixo para junto da figura 9.
onde se tem:
ou não um IP público.
9
Pipes: traduzido como tubo, cano, indica um túnel.
25
• RENDEZVOUS PEERS: Neste grupo estão os peers de maior poder
4.1.3 AVISOS
10
NAT: Network Addrress Translation, termo em inglês, já adotado ao portugues, para Tradução
26
• ENDPOINT: pontos de conexão de um pipe.
trafegam pelos pipes, que por sua vez são os canais de comunicação entre os
peers.
4.1.5 PROTOCOLOS
em sua validação. O uso de tal padrão gerou a desvantagem das mensagens serem
muito maiores do que num padrão binário, pois XML é uma forma não-compacta de
transmissão de dados.
A Figura 9 mostra a forma de empilhamento dos protocolos, tanto no peer
27
Peer Local Peer Remoto
28
Protocolo de coleta de informações diversas do peer, como desempenho
serviços providos.
Peer RendezVous
2. O Peer RendezVous que
recebe a mensagem RVP retorna
uma resposta contendo todos os
anúncios existentes em sua
cache. Além disso, propaga a
busca a todos os peers
conhecidos. Peer Edge 3
Através de mensagem de consulta, requer qual peer deve ser ligada a qual
endpoint.
29
4.1.5.6 ENDPOINT ROUTING – PEP
transportes:
30
onde se destaca a linguagem Java. Esse destaque refere-se ao fato de desta
delphi, fortran, por exemplo) é feito para um bytecode12 e não para código nativo.
Esse bytecode é executado por uma máquina virtual, o que torna assim bastante
Visual Studio e NetBeans são as mais utilizadas, por suportarem várias linguagens.
Outros tipos de ferramentas, com estruturas para desenvolvimento do
JXTA podem ser encontradas, como é o caso do JXTA Shell, que traz
Protocol, caso o peer não precise obter ou fornecer informações de estado a outros
peers.
12
Bytecode: refere-se a uma parte de código, um bloco.
13
SDK: Software Development Kit, ou seja, Kit de Desenvolvimento de Software.
31
Mesmo podendo deixar algumas configurações sem implementação, seja
• Net.jxta.*
• Net.jxta.impl.*
tamanho pode ser a quantidade de classes em uso, que torna oneroso à organizá-
inicial.
confeccionar as interfaces.
PeerGroup.
32
4.1.6.3 EXEMPLO DE IMPLEMENTAÇÃO
assim:
5. {
11. try {
15. System.out.println("GroupID=" +
22.
33
A Figura 12 a seguir ilustra a tela que deve ser exibida ao compilar o
código exemplificado. Tanto o código como a imagem foi obtida por (LIMA, 2005).
responsável pelo JXTA. Ela traz configurados valores e protocolos úteis ao P2P.
eles:
A função que cada comando citado executa pode variar de acordo com as
14
Shell Unix: tela de comando do sistema operacional Unix.
34
4.1.6.5 .NET
aplicações P2P que pode ser utilizada gratuitamente, contudo para distribuição das
linguagens script (VBSCript ou JavaScript), requer que qualquer extensão deva ser
plataformas Microsoft.
35
permitindo o uso de soluções centralizadas e/ou descentralizadas.
XML auxilia o JXTA, pois provê um formato padrão para a estruturação dos dados e
chamada dos serviços. Atualmente existem padrões de como deve ser feita à
internet, mas nenhum desses padrões é usado por JXTA. Ou seja, existe a troca de
2001).
15
Web Services Description Language: Linguagem de Descrição dos Serviços WEB.
36
principalmente se uma aplicação não tem o objetivo de aproveitar as capacidades de
VENUGOPAL, 2006).
requerida.
nó, para assegurar que a melhor rota está sendo tomada em direção
37
5 CONCLUSÃO
As redes P2P não são inovadoras aos usuários da Internet, nem aos mais
novos e nem aos mais antigos. A diferença básica está na facilidade de acesso a
esse tipo de redes e aos aplicativos que os agregam, principalmente pela facilidade
gratuita na internet.
estudo de tal assunto, principalmente pelo seu baixo custo de implementação e pela
confiabilidade de acesso ao conteúdo, porem deve-se tomar cuidado para não ferir
38
6 REFERÊNCIAS
http://www.microsoft.com/net/
Resource Computing.
banir-redes-de-troca-de-ficheiros/
ASADZADEH, P., BUYYA, R., KEI, C. L., NAYAR, D., & VEBUGOPAL, N.
(2006). Global grids and software toolkits: a study of four grid middleware
VB: http://classesvb.wikidot.com/framework-de-gerenciamento-de-itens-de-
configuracao
CLARKE, I., SANDBERG, O., WILEY, B., & HONG, T. (2001). Freenet: A
39
COULOURIS, G., DOLLIMOREM, J., & KINDBERG, T. (2001). Distributed
http://en.wikipedia.org/wiki/Distributed_hash_table
GOMES, D., PETEK, M., DIVERIO, T., & GEYER, C. (2006). Impacto de
ISO. (2008). ISO and IEC approve OpenDocument OASIS standard for
em http://www.iso.org/iso/pressrelease.htm?refid=Ref1004
Peer-to-Peer.
PRUYNE, J., RICHARD, B., et al. (2003). Peer to peer computing. Palo Alto: HP
Laboratories.
http://www.groove.net/devzone/default.cfm?pagename=Platform_GDK
40
ORAM, A. (2001). Peer-to-peer: Harnessing the power of disruptive
technologies. O’Relly.
http://tools.ietf.org/html/rfc1180
41
VERBEKE, J., NADGIR, N., RUETSCH, G., & SHARAPOV, I. (2003).
42