Estudo de funcionalidades de uma rede p2p
Resumo
P2P é um modelo de computação onde cada peer pode compartilhar ou usar recursos de outros peers. Para isto, um conjunto de funcionalidades garante a função de servidor e/ou de cliente de um peer. Neste sentido, este trabalho identificou as arquiteturas (puro, híbrido e super-peer) e as funcionalidades (entrar e sair da rede, descobrir peers e recursos e criar e entrar em grupos de peers) de uma rede P2P. A execução das funcionalidades foi possível usando a plataforma JXTA que permite interconectar peers organizados em grupos dispostos a oferecer serviços em forma de anúncios (advertisements). Cada peers é identificado através de um ID e se comunica com outros peers através de envio/recebimento de mensagens usando comunicação assíncrono ponto-a-ponto ou propagação. Também, JXTA oferece seis protocolos assíncronos baseados no modelo de consulta/resposta e são eles: Peer Resolver Protocol (enviar consultas e receber respostas), Endpoint Routing Protocol (encontrar peers), Peer Discovery Protocol (anunciar/descobrir recursos), Peer Information Protocol (obter status de peers), Pipe Binding Protocol (estabelecer canal comunicação) e Rendezvous Protocol (propagar mensagens). Para iniciar a rede uma preocupação é configurar o modo de conexão, a instância e o local dos arquivos de configuração. Para isto, foi utilizado nos testes o modo EDGE por oferecer facilidades de comunicação (multicasting, TCP ou HTTP) e conexão (Rendezvous Peer de forma automática). Com o estudo realizado pode-se notar que para um bom funcionamento da rede é necessário que todos os peers colaborem com o sistema, obtendo e fornecendo os recursos para outros peers.