Arquitetura

A rede P2P é uma rede abstrata, constituída de inúmeros nós, que são os terminais de cada usuário. Esses nós, por sua vez, fazem conexões com outros nós, independente da distância física. Essas conexões servem para a comunicação entre os terminais, já que o processo de um terminal não pode interferir no processo de outro diretamente. Como a quantidade de terminais é ‘ilimitada’ e a conexão entre eles também, os nós vizinhos se interligam, criando assim uma enorme rede de comunicação de dados.

A rede P2P é classificada em 2 tipos:

Estruturada:

Nas redes estruturadas os terminais e seus processos são organizados através de tabelas Hash distribuídas (DHT), onde eles recebem chaves, que serão utilizadas como identificação dos nós e dos dados que ele contém. Além disso, cada nó fica responsável por parte do mapa das chaves, assim qualquer interrupção em uma conexão é rapidamente contornada. Posteriormente, qualquer usuário que fizer uma busca para tal dado identificado por uma chave terá um direcionamento exato para o nó que o contém. Isso se torna um impecílio às buscas por faixas de valores, dado que elas são feitas apenas para valores exatos.

Não Estruturada:

As redes não estruturadas tem seus nós dispostos de maneira aleatória, assim cada novo usuário entra na rede em uma posição não determinada. Além disso, como os nós são dispostos de forma aleatória, os mecanismos de buscas se baseiam em inundar os canais à procura de um dado, trazendo lentidão na busca pelo elevado tráfego. Existem três tipos de redes não-estruturadas:

1) Centralizada: Nessa estrutura cada nó disponibiliza, para o servidor central, uma lista de dados que compartilhará na rede. Assim, esse servidor central tem a tarefa de gerenciar a comunicação entre dois nós. Ou seja, o servidor fica encarregado de, a partir da busca de certo usuário, encontrar o próximo usuário disponível com os dados da busca do primeiro, e informar sua localização. Logo não há troca de dados entre os usuários e o servidor, apenas dos usuários entre si. O grande problema desse tipo de estrutura acontece quando há algum problema com o servidor, pois toda a rede é interrompida.

2) Parcialmente Centralizada: Nessa estrutura os próprios nós ociosos da rede fazem o papel de servidores (supernós), provendo a busca e localização de possíveis dados em nós próximos. Mais flexível que a estrutura anterior, pois permite, caso haja algum problema com o supernó, que outro supernó gerencie aquela área.

3) Descentralizada: Nessa estrutura não existe nenhum tipo de servidor gerenciando a busca dos usuários, ou seja, todos os nós são também servidores, e a busca é lançada por toda a rede. Estrutura totalmente descentralizada, sendo dífícil acontecer um problema com a rede.