22
Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Embed Size (px)

Citation preview

Page 1: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Elementos da Arquitetura P2P (Parte I)

FernandaMarília

Page 2: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

TIPOS DE PEER

Há três tipos de peer: - simple peers- rendezvous peers- router peers

No último o nome difere pela capacidade de terem ou

não algumas funcionalidades fundamentais para a criação de grupo.

Os peers roteadores mantém uma tabela interna com os usuários aptos a entrarem e usarem os serviços do grupo.

Page 3: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

TIPOS DE PEER

- Peer Simples: É designado a servir um único usuário final, permitindo a este prover e consumir serviços da rede.

- Peer Rendezvous: Fornece as localizações na rede para a descoberta de outros peers e de seus recursos disponíveis.

- Peer Router: Fornece um mecanismo para que os peers se comuniquem através de firewalls ou NATs.

Page 4: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PEER GROUPS

Peer Group (segurança/integridade dos dados):

Um grupo de peers com um conjunto comum de interessesou objetivos.

Peer groups podem fornecer aos seus membros serviçosque não estão diretamente acessíveis aos outros peers da rede.

Eles podem ser divididos por: - Aplicação a ser executada no grupo em si- Requisitos de segurança dos peers envolvidos - Necessidades de informações de estado dos seus membros

Page 5: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Na arquitetura OSI, um peer group é um grupo formado porunidades funcionais numa dada camada da rede na qual todasas funções realizadas por uma unidade funcional se estendempelo sistema na mesma camada.

PEER GROUPS

Page 6: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Groups services: funcionalidades que um grupo oferecea qualquer membro desse grupo. Pode ser disponibilizada porvários peers permitindo redundância.

Desde que um peer esteja num peer group os serviçosdesse grupo estão disponíveis.

PEER GROUPS

Page 7: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Infraestrutura de Transporte:

- Endpoints: a origem ou destino de qualquer porção de dados transmitida na rede. Correspondem às interfaces de rede usadaspara enviar e receber dados. É definido por um par de hosts,cada um com seu ip e porta.

Já que TCP identifica uma conexão por um par de endpoints,um número de porta pode ser compartilhado por múltiplasconexões na mesma máquina. TCP define um endpoint comoum par de inteiros (host,port).

ENDPOINTS, PIPES E MENSAGENS

Page 8: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Qualquer par de endpoints pode abrir um socket e"conversar" diretamente entre eles mesmos.

Ex: Cartão de visitas de uma pessoa: – Telefone, endereço, e-mail, fax, celular...

• Um peer pode ser alcançável por um número de endereços virtuais ou endpoints

ENDPOINTS, PIPES E MENSAGENS

Page 9: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Por que usar endpoints?

• Mudanças no estado do peer

• Um endpoint pode não estar sempre disponível

• Peer pode usar somente um protocolo específico (requisitos de segurança, p.ex.).

ENDPOINTS, PIPES E MENSAGENS

Page 10: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

- Pipes: canais de comunicação virtuais, unidirecionais, assíncronos, conectando dois ou mais endpoints. Ex: • Um canal de comunicação entre dois peers tem uma ID • Os pontos finais do canal são identificados pelos endpoints • Se o endereço IP muda? A rede JXTA ajusta o roteamento da mensagem • Dois endpoints podem usar diferentes protocolos

ENDPOINTS, PIPES E MENSAGENS

Page 11: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

• Pipes não são confiáveis (condições da rede)

• Confiabilidade pode ser garantida por uma camada de software (garantir integridade da mensagem)

• Também podem ser seguros (usando criptografia na mensagem)

ENDPOINTS, PIPES E MENSAGENS

Page 12: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

- Mensagens: Recipientes de dados que estão sendo transmitidos em um pipe de um endpoint a outro.

São objetos enviados entre peers JXTA, ou seja é a unidade básica de troca de dados entre peers. Mensagens são enviadas e recebidas por serviços de pipes e por endpoints.

ENDPOINTS, PIPES E MENSAGENS

Page 13: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Aplicações utilizam serviço de pipes para criar, enviar e receber mensagens.

O conteúdo das mensagens podem ser de tipos arbitrários e cada plataforma de software descreve como uma mensagem é convertida de uma estrutura de dados nativa (como exemplo objetos da linguagem Java ou C) para uma representação conhecida por toda arquitetura JXTA.

ENDPOINTS, PIPES E MENSAGENS

Page 14: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

Transmissão utilizando Pipes:

Primeiro o peer precisa achar os endpoints: um ponto para ser a fonte da mensagem e outro para cada destino da mensagem.

Assim se forma um canal virtual entre cada um dos pontos. Quando este canal virtual estiver formado as mensagens podem ser transmitidas de um ponto a outro.

REDE DE TRANSPORTE

Page 15: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

- As mensagens contêm os dados a serem transmitidos

- Peers utilizam output pipe para enviar dados, e o peer que recebe a mensagem utiliza input pipe para extrair os dados da mensagem recebida

- Um pipe de comunicação entre peers pode ser somente unidirecional: para haver comunicação entre dois peers deve haver dois pipes de comunicação entre eles

- Embora uma comunicação bidirecional faça parte de qualquer rede moderna existente, uma comunicação unidirecional pode ser modelada em qualquer ambiente de rede

REDE DE TRANSPORTE

Page 16: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PROTOCOLOS DE TRANSPORTE DE MENSAGEM

- Peer Discovery Protocol: este protocolo permite ao peers noticiarem seus recursos e buscarem recursos que estão disponíveis de outros pares.

• Discovery Query Message: usada para encontrar peers ou grupos de peers

• Discovery Response Message: usado para responder uma discovery query message

Page 17: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PROTOCOLOS DE TRANSPORTE DE MENSAGEM

- Peer Resolver Protocol: este protocolo permite peers enviarem uma consulta para um ou múltiplos peers e receberam uma resposta a uma consulta realizada.

• Resolver Query Message: usado para enviar um resultado de uma consulta para outro peer. Consultas que possuem uma identidade única.

• Resolver Response Message: usado para responder a uma Resolver Query Message. Resposta enviada com a identidade única do remetente.

Page 18: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PROTOCOLOS DE TRANSPORTE DE MENSAGEM

- Peer Information Protocol: permite a um peer descobrir informações de status sobre outros peers, isto é, estado, uptime e capacidades.

• Ping Message: envida para verificar se o peer está ativado e pegar informações sobre o peer.

• PeerInfo Message: envia uma resposta ao uma ping message.

Page 19: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PROTOCOLOS DE TRANSPORTE DE MENSAGEM

- Pipe Binding Protocol: é um mecanismo que permite aos peers realizarem um canal de comunicação virtual (pipe) entre dois ou mais peers.

• Pipe Binding Query Message: um peer procurando por um pipe endpoint envia esta mensagem.

• Pipe Binding Answer Message: a resposta retornada para o peer requisitor.

Page 20: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PROTOCOLOS DE TRANSPORTE DE MENSAGEM

- Endpoint Routing Protocol: este protocolo permite aos peers descobrirem uma rota entre dois peers.

• Route Query Request: enviada por um peer roteador para outro que fez o requerimento.

• Route Answer Request: enviada em resposta ao route query request.

Page 21: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

PROTOCOLOS DE TRANSPORTE DE MENSAGEM

- Rendezvous Protocol: este protocolo permite os peers se tornarem membros de um serviço de propagação (grupo).

• Membership Apply Message: mensagem enviada ao autenticador. Uma resposta irá conter uma credencial e um anúncio do grupo que lista o serviço da sociedade.

• Membership Join Message: enviado por um peer para o autenticador. Esta é uma aplicação para se juntar ao grupo. Para fazê-lo o peer deve passar a credencial.

• Membership ACK Message: é enviada pelo autenticador para indicar ao peer quando este consegue o acesso a uma aplicação ou a uma sociedade completa.

• Membership Renew Message: enviar um novo acesso ao grupo de peers.

• Membership Cancel Message: enviar um cancelamento da sociedade para o grupo de pares.

Page 22: Elementos da Arquitetura P2P (Parte I) Fernanda Marília

BIBLIOGRAFIA

http://www.gta.ufrj.br/grad/04_1/p2p/ http://www.javaworld.com/javaworld/jw-05-2005/jw-0509-

jxta.html http://gnomo.fe.up.pt/~eol/MEMBERS/nuno_sousa/old/ppc/

artigo.html