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.
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.
PEER GROUPS
Peer Group (segurança/integridade dos dados):
Um grupo de peers com um conjunto comum de interesses
ou objetivos.
Peer groups podem fornecer aos seus membros serviços
que 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
PEER GROUPS
Na arquitetura OSI, um peer group é um grupo formado por
unidades funcionais numa dada camada da rede na qual todas
as funções realizadas por uma unidade funcional se estendem
pelo sistema na mesma camada.
PEER GROUPS
Groups services: funcionalidades que um grupo oferece
a qualquer membro desse grupo. Pode ser disponibilizada por
vários peers permitindo redundância.
Desde que um peer esteja num peer group os serviços
desse grupo estão disponíveis.
ENDPOINTS, PIPES E MENSAGENS
Infraestrutura de Transporte:
- Endpoints: a origem ou destino de qualquer porção de dados
transmitida na rede. Correspondem às interfaces de rede usadas
para 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últiplas
conexões na mesma máquina. TCP define um endpoint como
um par de inteiros (host,port).
ENDPOINTS, PIPES E MENSAGENS
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
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
- 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
• 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
- 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
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.
REDE DE TRANSPORTE
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
- 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
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
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.
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.
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.
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.
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
• Membership
Renew Message: enviar um novo acesso ao grupo de peers.
Cancel Message: enviar um cancelamento da sociedade para o
grupo de pares.
BIBLIOGRAFIA



http://www.gta.ufrj.br/grad/04_1/p2p/
http://www.javaworld.com/javaworld/jw-05-2005/jw-0509jxta.html
http://gnomo.fe.up.pt/~eol/MEMBERS/nuno_sousa/old/ppc/ar
tigo.html
Download

Elementos da Arquitetura I (ppt Marília e Fernanda)