Sobre Peer-to-Peer / P2P
Distribuição Horizontal
A organização de uma aplicação cliente-servidor numa arquitetura multi-camadas distribui o processamento colocando componentes logicamente diferentes em máquinas diferentes. A essa distribuição se dá o nome de distribuição vertical. Uma distribuição vertical facilita o gerenciamento dos sistemas pois divide as funções lógica e fisicamente entre várias máquinas, onde cada máquina é responsável por um grupo especifico de funções.
Uma abordagem alternativa à distribuição horizontal, bastante comum nas arquiteturas modernas, se baseia na distribuição dos clientes e dos servidores, o que se chama de distribuição horizontal. Nessa distribuição, um cliente ou um servidor pode estar fisicamente dividido em partes logicamente equivalentes, onde cada parte opera sobre a sua própria porção dos dados, o que balanceia a carga. Os sistemas peer-to-peer se baseiam na distribuição horizontal.
Olhando de uma perspectiva de alto nível, os processos que constituem um sistema peer-to-peer são todos iguais. Isso significa que as funções necessárias devem estar em todos os processos que constituem o sistema distribuído. Como consequência, a maior parte da interação entre os processos é simétrica: cada processo atua como um “cliente” e um “servidor” ao mesmo tempo.
Características
Sistemas peer-to-peer compartilham essas características:
- O seu design garante que cada usuário contribui com recursos para o sistema.
- Apesar de que eles podem diferir nos recursos que contribuem, todos os nodos em um sistema peer-to-peer possuem as mesmas capacidades funcionais e responsabilidades.
Descentralização
A correta operação de sistemas P2P não depende da existência de um sistema de administração centralizado. Assim, sistemas P2P se confudem com sistemas descentralizados. Num sistema totalmente descentralizado, não só todos os hospedeiros são iguais, mas também não há hospedeiros com atribuições especiais, como administração e descoberta de serviços. Na prática, construir sistemas totalmente descentralizados pode se tornar difícil, o que faz os projetistas geralmente adotarem paradigmas híbridos na construção de aplicações P2P. O DNS por exemplo, é um protocolo peer-to-peer, porém com um senso embutido de hierarquia. Há outros exemplos de sistemas P2P no seu núcleo e com alguma organização semi-centralizada, como o Napster e BitTorrent.
Heterogeneidade
Em redes peer-to-peer, a heterogeneidade dos recursos envolvidos é uma preocupação que deve ser levada em conta durante o seu projeto. Computadores e conexões administrados por diferentes usuários e organizações não têm garantias de ficarem ligados, conectados ou sem falhas, o que os torna necessariamente recursos voláteis. Isso torna a disponibilidade dos nodos de uma rede peer-to-peer imprevisível. Essa imprevisibilidade não permite garantir acesso a recursos individuais, já que eles podem falhar. Para contornar isso, é possível lançar mão da técnica de replicação, diminuindo consideravelmente a probabilidade de falha ao acessar um objeto replicado. A replicação pode também tornar o sistema mais confiável se utilizada para neutralizar a ação de nodos maliciosos, que interceptam o sistema e corrompem os dados, através de técnicas de tolerância à falhas bizantinas.
Sistemas Híbridos
Os sistemas centralizados são simples de implementar e gerenciar, entretanto são um gargalo em potencial, uma vez que o servidor central tem capacidade limitada e pode não suportar o aumento da demanda. Por outro lado, os sistemas descentralizados são escaláveis e robustos, mas isso demanda certa complexidade de implementação, principalmente nas questões de tolerância à falhas e descoberta de recursos. Muitos sistemas distribuídos combinam características das duas arquiteturas, parte do sistema no tradicional modelo cliente-servidor e outra parte peer-to-peer.
Estruturas híbridas são implantadas notavelmente em sistemas distribuídos colaborativos. A principal preocupação em muitos desses sistemas é como se juntar ao sistema, para o qual muitas vezes um esquema tradicional cliente-servidor é adotado. Uma vez que o nodo se junta ao sistema, ele pode utilizar um esquema totalmente descentralizado para colaboração. Um exemplo de servidor que utiliza essa abordagem é o BitTorrent.
Para um usuário de um serviço de comunicação instantânea, a aplicação parece peer-to-peer ao enviar os dados diretamente ao amigo sendo contactado. Mas todos os serviços de comunicação instantânea possuem uma espécie de servidor por trás que facilita a comunicação entre os nodos. Por exemplo, o servidor mantém uma associação entre o nome do usuário e o seu endereço IP, grava mensagens quando o usuário está offline, e roteia mensagens para usuários que estão atrás de firewalls. Um sistema totalmente descentralizado de comunicaçao instantânea não iria funcionar na Internet de hoje, mas existem grandes vantagens de escalabilidade em pemitir comunicação cliente-cliente, quando possível. Assim, grande parte dos sistemas utiliza um esquema de diretório centralizado enquanto a função é distribuída.
Rede
P2P / Peer-to-Peer by Rede on March 10th, 2008
O P2P ou Peer-to-Peer(Par-a-Par) é uma tecnologia para estabelecer uma espécie de rede de computadores virtual, onde cada estação possui capacidades e responsabilidades equivalentes.
Arquitetura Peer-to-Peer by Rede on March 10th, 2008
O Napster e outras aplicações intituladas Peer-to-Peer, tais como o IRC e o ICQ, são baseadas em uma arquitetura cliente/servidor, pelo menos para algumas tarefas críticas, como indexação de informação.
Redes P2P estruturadas e não-estruturadas by Rede on July 5th, 2009
Redes P2P estruturadas e não-estruturadas
Rede Sobreposta
Um conceito importante do paradigma P2P é a rede sobreposta, ou rede overlay.
Requisitos de uma Aplicação Peer-to-Peer by Rede on June 23rd, 2009
Para funcionar eficientemente, sistemas peer-to-peer devem se preocupar com os seguintes requisitos não-funcionais.
Plataformas, Frameworks e Aplicações Peer-to-Peer by Rede on July 5th, 2009
Plataformas, Frameworks e Aplicações Peer-to-Peer
Inicialmente, as aplicações Peer-to-Peer surgiram monolíticas, ou seja, o programa precisava implementar seu próprio protocolo de comunicação Peer-to-Peer para permitir a interoperabilidade entre os nós constituintes do seu sistema em rede.
Thank you for reading this post. You can now Leave A Comment (0) or Leave A Trackback.
Post Info
This entry was posted on Tuesday, June 23rd, 2009 and is filed under P2P, Peer-to-Peer.You can follow any responses to this entry through the Comments Feed. You can Leave A Comment, or A Trackback.
Previous Post: Configurar rede: Compartilhando Internet Wireless ou a Rádio »
Next Post: Requisitos de uma Aplicação Peer-to-Peer »
- Configurar rede sem fio no Windows Vista
- Redes Mesh
- Cabo de par trançado
- Plataformas, Frameworks e Aplicações Peer-to-Peer
- Redes P2P estruturadas e não-estruturadas
- Requisitos de uma Aplicação Peer-to-Peer
- Sobre Peer-to-Peer / P2P
- Configurar rede: Compartilhando Internet Wireless ou a Rádio
- Como configurar rede sem fio
- BNC







