Redes de Computadores

Redes P2P estruturadas e não-estruturadas

Redes P2P estruturadas e não-estruturadas

Rede Sobreposta

Um conceito importante do paradigma P2P é a rede sobreposta, ou rede overlay. Na rede overlay, os nós são formados pelos processos e os enlaces são representados pelos possíveis canais de comunicação (que são tipicamente conexões TCP). No geral, um processo não pode se comunicar diretamente com outro processo arbitrário, mas só pode enviar mensagens através dos canais de comunicação disponíveis. Nesse sentido, cada nó possui um conjunto de vizinhos, que por sua vez possuirão outros conjuntos de vizinhos. A figura abaixo ilustra a rede sobreposta sobre a camada de rede (p.e. Internet). Observe que dois nós que são vizinhos na rede overlay não são necessariamente vizinhos na rede física.

A localização de nós e objetos é realizado na rede overlay através de um algoritmo de roteamento distribuído. Esse algoritmo é implementado sobre a camada de aplicação, não tendo nenhuma ligação com o roteamento implementado pelos roteadores da camada de rede. Através desse algoritmo que as requisições dos cliente são roteadas para um hospedeiro que possui o objeto pela qual a requisição está endereçada. Os objetos de interesse são colocados e relocados em qualquer nó na rede sem o envolvimento do cliente.

O roteamento garante que qualquer nó pode acessar qualquer objeto na rede overlay, explorando o conhecimento de cada nó na rede para localizar o objeto de destino. Sistemas peer-to-peer geralmente armazenam múltiplas réplicas de um mesmo objeto para garantir disponibilidade. Dessa forma, o algoritmo de roteamento mantém o mínimo de informação possível sobre a localização de todas as réplicas, e envia as requisições para o nó “vivo” (p.ex. não falho) mais próximo que mantém uma cópia do objeto relevante. Existem basicamente dois tipos de redes sobrepostas: as redes estruturadas e as redes não-estruturadas.

Image Hosted by ImageShack.us

Arquiteturas Peer-to-Peer Estruturadas

Numa rede peer-to-peer estruturada, a rede sobreposta é construída através de um procedimento determinístico. O procedimento mais utilizado, de longe, é organizar os processos através de uma tabela hash distribuída (DHT). Num sistema baseado em DHTs, os dados recebem uma chave aleatória de um extenso espaço de identificadores, tipicamente um identificador de 128 ou 160 bits. Os nodos da rede também recebem um identificador do mesmo espaço. O grande desafio num sistema baseado em DHT é implementar um esquema eficiente e determinístico que mapeia unicamente a chave de um ítem para o identificador do nodo responsável pelo ítem desejado. A partir disso, é possível retornar o endereço de rede do nodo responsável pelo ítem desejado, que pode ser contactado diretamente.

Várias implementações e protocolos baseados em DHT foram desenvolvidos. Dentre eles, as mais populares são o Chord. NodeWiz é um serviço de descoberta em grids (GIS) que utiliza uma estrutura de árvores para organizar os seus nós na rede sobreposta. Para tal, cada nó na árvore é responsável por um subespaço do espaço completo dos atributos. Assim, é possível realizar eficientemente consultas por faixas de valores, ao contrário do que acontece na DHT, onde as consultas se dão por valores exatos.

Arquiteturas Peer-to-Peer Não-Estruturadas

Sistemas peer-to-peer não-estruturados geralmente se baseiam em algoritmos aleatórios para a construção da rede sobreposta. A idéia principal é que cada nó mantenha uma lista de vizinhos, que é construída mais ou menos de forma randômica. Da mesma forma, se assume que os dados são colocados de forma aleatória nos nodos. Assim, quando um nó necessita localizar um ítem específico, a única coisa que pode fazer é inundar a rede com uma busca. Uma desvantagem desse tipo de busca é que consultas podem não ser respondidas caso o cliente e o hospedeiro estejam muito afastados na rede. Isso acontece, devido a mecanismos que impedem que mensagens se propaguem indefinidamente na rede (p. ex. TTL). Outra desvantagem é que mecanismos de inundação geralmente causam grande tráfico de sinalização, o que, muitas vezes, torna esse tipo de busca lenta.

Muitos sistemas peer-to-peer não-estruturados constroem redes sobrepostas que remetem a um grafo aleatório. O modelo básico é que cada nó mantém uma lista com c vizinhos, onde, idealmente cada um desses vizinhos representa um nodo escolhido aleatoriamente dentre o conjunto dos nodos “vivos”. Essa lista de nós pode ser chamada de visão parcial. Dentre os sistemas P2P que utilizam arquiteturas não-estruturadas podemos citar o BitTorrent que constrói sua overlay de forma aleatória, as Content Delivery Networks (CDNs), e o Gnutella.

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.

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.

Sobre Peer-to-Peer / P2P by Rede on June 23rd, 2009
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.

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.

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.



Thank you for reading this post. You can now Leave A Comment (0) or Leave A Trackback.

Post Info

This entry was posted on Sunday, July 5th, 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: Requisitos de uma Aplicação Peer-to-Peer »
Next Post: Plataformas, Frameworks e Aplicações Peer-to-Peer »

Read More

Related Reading:



    Leave a Reply

    Note: Any comments are permitted only because the site owner is letting you post, and any comments will be removed for any reason at the absolute discretion of the site owner.

    You must be logged in to post a comment.