Introduction
In Computer Networking, P2P é uma tecnologia de partilha de ficheiros, permitindo aos utilizadores aceder principalmente aos ficheiros multimédia como vídeos, música, e-books, jogos, etc. Os utilizadores individuais desta rede são referidos como pares. Os pares solicitam os ficheiros de outros pares estabelecendo ligações TCP ou UDP.
Como funciona P2P(Overview)
Uma rede peer-to-peer permite que hardware e software de computador comuniquem sem a necessidade de um servidor. Ao contrário da arquitectura cliente-servidor, não existe um servidor central para processar pedidos numa arquitectura P2P. Os pares interagem directamente uns com os outros sem a necessidade de um servidor central.
Agora, quando um par faz um pedido, é possível que vários pares tenham a cópia daquele objecto pedido. Agora o problema é como obter os endereços IP de todos esses pares. Isto é decidido pela arquitectura subjacente suportada pelos sistemas P2P. Através de um destes métodos, o par cliente pode conhecer todos os pares que têm o objecto/arquivo solicitado e a transferência de ficheiro realiza-se directamente entre estes dois pares.
Explorar Heterogeneidade
1. Directório Centralizado
ul>
Trabalho
- Agora, sempre que um par solicitante entra, envia a sua consulta ao servidor.
- li>Desde que o servidor tenha toda a informação dos seus pares, devolve os endereços IP de todos os pares que têm o ficheiro solicitado ao par.
- Agora a transferência de ficheiro tem lugar entre estes dois pares.
O primeiro sistema que fez uso deste método foi o Napster, para efeitos de distribuição Mp3.
O maior problema com tal arquitectura é que existe um único ponto de falha. Se o servidor falhar, toda a rede P2P falha. Além disso, uma vez que todo o processamento deve ser feito por um único servidor, uma enorme quantidade de base de dados tem de ser mantida e regularmente actualizada.
2. Consulta Inundação
- Não parecido com a abordagem centralizada, este método faz uso de sistemas distribuídos.
- Neste, os pares devem ser ligados a uma rede sobreposta. Significa que se existe uma ligação/caminho de um par a outro, é uma parte desta rede sobreposta.
- Nesta rede sobreposta, os pares são chamados como nós e a ligação entre pares é chamada uma borda entre os nós, resultando assim numa estrutura semelhante a um gráfico.
Trabalho
- Agora quando um par solicita algum ficheiro, este pedido é enviado a todos os nós vizinhos, ou seja, a todos os nós que estão ligados a este nó. Se esses nós não tiverem o ficheiro requerido, eles passam a consulta aos seus vizinhos e assim por diante. Isto é chamado como flooding.
- Quando o par com o ficheiro solicitado é encontrado (referido como query hit), o flooding da consulta pára e envia de volta o nome do ficheiro e o tamanho do ficheiro ao cliente, seguindo assim o caminho inverso.
- Se houver múltiplos hits de consulta, o cliente selecciona de um destes pares.
Gnutella foi a primeira rede descentralizada peer to peer.
Este método também tem algumas desvantagens como, a consulta tem de ser enviada a todos os pares vizinhos, a menos que seja encontrada uma correspondência. Isto aumenta o tráfego na rede.
3. Explorando a heterogeneidade
- Esta arquitectura P2P faz uso de ambos os sistemas discutidos acima.
- assemelha-se a um sistema distribuído como o Gnutella porque não existe um servidor central para o processamento da consulta.
- mas ao contrário do Gnutella, não trata todos os seus pares de forma igual. Os pares com maior largura de banda e conectividade de rede estão em maior prioridade e são chamados como líderes de grupo/super nós. O resto dos pares são atribuídos a estes super nodos.
- Estes super nodos estão interligados e os pares sob estes super nodos informam os seus respectivos líderes sobre a sua conectividade, endereço IP e os ficheiros disponíveis para partilha.
KaZaA tecnologia é um exemplo que faz uso de Napster e Gnutella ambos.
Assim, os líderes individuais do grupo juntamente com os seus pares filhos formam uma estrutura semelhante a Napster. Estes líderes de grupo interligam-se então entre si para se assemelharem a uma estrutura semelhante à Gnutella.
Trabalho
- Esta estrutura pode processar as consultas de duas maneiras.
- O primeiro é que os super nós podem contactar outros super nós e fundir as suas bases de dados com a sua própria base de dados. Assim, este super nó tem agora informação de um grande número de pares.
- Outra abordagem é que quando uma consulta chega, é reencaminhada para os super nós vizinhos até ser encontrada uma correspondência, tal como em Gnutella. Assim, existe uma inundação de consulta, mas com alcance limitado, uma vez que cada super-nó tem muitos pares de crianças. Assim, tal sistema explora a heterogeneidade dos pares, designando alguns deles como líderes de grupo/super nós e outros como seus pares filhos.
Referências- Rede de Computadores:Uma Abordagem de cima para baixo Por James F. Kurose
Este artigo é contribuído por Arushi Dhamija. Se gosta de GeeksforGeeks e gostaria de contribuir, pode também escrever um artigo utilizando o contribute.geeksforgeeks.org ou enviar o seu artigo por correio para [email protected]. Veja o seu artigo que aparece na página principal do GeeksforGeeks e ajude outros Geeks.