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>

  • É algo semelhante à arquitectura do servidor cliente no sentido em que mantém um enorme servidor central para fornecer serviço de directório.
  • Todos os pares informam este servidor central do seu endereço IP e dos ficheiros que estão a disponibilizar para partilha.
  • O servidor consulta os pares a intervalos regulares para se certificar se os pares ainda estão ligados ou não.
  • Então, basicamente, este servidor mantém uma enorme base de dados sobre que ficheiro está presente em que endereços IP.
  • 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.

    Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *