24
Redes Peer-to-Peer Ana Flávia Godoi e Paulo Nei Sistemas Distribuídos Mestrado UFPR Roteiro Peer-to-Peer Motivação, Histórico e Definição Classificação de Aplicações Topologia das redes Caracteristicas não funcionais O framework JXTA Virtualização das Redes ID’S, Credentials, Advertisements Message Relay Endpoints Pipes Protocolos JXTA Demonstração de uso do JXTA Motivação Arquiteturas P2P permitem compatilhamento de recursos computacionais com: • Escalabilidade (manter conectividade e performance); Auto-organização com população transiente de nodos; • Adaptação a falhas de rede e de nodos; • Não-necessidade de um servidor central (sem overhead de sua administração); Aceleração da comunicação entre processos e diminuição de custos para as instituições; A utilização de sistemas baseados em peer-to- peer tem mostrado o verdadeiro potencial da Internet Histórico

•Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

  • Upload
    vutu

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Redes Peer-to-Peer

Ana Flávia Godoi e Paulo Nei

Sistemas Distribuídos

Mestrado UFPR

Roteiro• Peer-to-Peer

• Motivação, Histórico e Definição• Classificação de Aplicações• Topologia das redes• Caracteristicas não funcionais

• O framework JXTA•Virtualização das Redes•ID’S, Credentials, Advertisements•Message Relay•Endpoints•Pipes•Protocolos JXTA

• Demonstração de uso do JXTA

MotivaçãoArquiteturas P2P permitem compatilhamento de

recursos computacionais com:

• Escalabilidade (manter conectividade e performance);

• Auto-organização com população transiente de nodos;

• Adaptação a falhas de rede e de nodos;

• Não-necessidade de um servidor central (sem overhead de sua administração);

• Aceleração da comunicação entre processos e diminuição de custos para as instituições;

A utilização de sistemas baseados em peer-to-peer tem mostrado o verdadeiro potencial da

Internet

Histórico

Page 2: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Histórico

• Em 1962, J.C.R.Licklider, do MIT descreveu a “Intergalactic Network”:

– Uma rede de nodos interconectados, que se comunicavam diretamente entre si;

– Deu origem ao Network Control Program(NCP): • primeiro protocolo de rede caracterizado

como “host-host” : Precursor do TCP/IP

Histórico

• A arquitetura cliente-servidor se tornou mais familiar.– Aplicações comerciais que requerem controle de

acesso às informações: utilização de firewalls;– Estrutura das aplicações e serviços, incluindo a

World Wide Web, FTP e outros;

• Nos últimos anos, entretanto, as tecnologias peer-to-peer têm tido profundo efeito na Internet.– Pela forma de distribuição de informações e

compartilhamento de recursos;

Arquitetura cliente-servidor

• Também chamada de arquitetura centralizada, é a mais comum na Internet;

• Os servidores disponibilizam serviços e informações; os clientes requisitam esses serviços, quando necessário;

• Nodos servidores e clientes executam tarefas completamente diferentes;

Arquitetura cliente-servidor

• Exemplo de arquitetura Cliente-Servidor:– as flechas representam o sentido da

comunicação:

Page 3: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Definição das redes Peer-to-Peer

Definições

P2P é definido basicamente pelas características:• Compartilhamento de recursos diretamente

entre nodos:– não necessidade de um servidor central.– um servidor central pode ser utilizado para tarefas

específicas: boot, chaves para criptografia, etc.

• Habilidade para:– tratar conectividade variável e instabilidade;– adaptar-se automaticamente a populações

transientes de nodos e a falhas em componentes;– manter a performance do sistema;

Definições

• peer-to-peer puro se refere a sistemas totalmente distribuídos: nodos são equivalentes em funcionalidades e tarefas;– Falha para compreender sistemas com noção de

supernodos (Kazaa);

• Uma definição largamente aceita é a proposta em [Shyrky 2000]“Peer-to-Peer é uma classe de aplicações que obtém vantagem de recursos – armazenamento, CPU, conteúdo e presença humana - disponível

nos nodos da Internet.”

Definição mais abragente

“Sistemas Peer-to-Peer são sistemas distribuídos que consistem de nodos interconectados, com capacidade de se auto-organizarem em topologias de rede, com o objetivo de compartilhar recursos como ciclos de CPU, armazenamento e bandwidth, capazes de se adaptar a falhas e acomodar populações transientes de nodos, enquanto mantém conectividade e performance aceitáveis, sem depender da intermediação ou suporte de uma autoridade (servidor) central.”

[Theotokis & Spinellis 2004]

Page 4: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Classificação das Aplicações Peer-to-Peer

Classificação das Aplicações

• Comunicação e Colaboração;

• Sistemas de Bancos de Dados;

• Suporte a Serviços de Internet;

• Computação Distribuída;

• Distribuição de Conteúdo;

Classificação das Aplicações

• Comunicação e Colaboração: – Sistemas que provêem infraestrutura para facilitar a

comunicação direta entre peers– chats, instant-messaging aplications;

• Sistemas de Bancos de Dados Distribuídos: – Baseados na infraestrutura de sistemas P2P;– Edutella: open source project que provê infraestrutura

de banco de dados para aplicações peer-to-peer [Nejdl et al 2003];

• Suporte a Serviços de Internet:– Diferentes aplicações para suportar uma variedade

de serviços de Internet;– proteção contra ataques de vírus;

Classificação das Aplicações

• Computação Distribuída: – Objetivo é aproveitar o poder de

processamento subutilizado dos nodos da Internet;

– Essas tarefas exigem coordenação de um nodo central em tarefas como particionar e distribuir tarefas;

– Exemplo: Seti@Home [SetiAtHome 2003];– Grid Computing X Peer-to-Peer: convergência

Page 5: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Peer-to-Peer X Grid Computing

• Ambos são abordagens para computação distribuída, com foco emcompartilhamento de recursos em larga-escala;

• Grid está baseada em infraestrutura de serviços padronizados;

• À medida que cresce, Grid necessita de soluções para prover auto-organizaçao, tolerância a falhas, escalabilidade, etc:– características de sistemas P2P;

Peer-to-Peer X Grid Computing – Sistemas P2P, por outro lado, tem apresentado

soluções que não buscam padrões para protocolos e infra-estrutura, para prover interoperabilidade.

– Com a tendência das tecnologia Peer-to-Peer para aplicações cada vez mais complexas se espera que haverá uma convergência entre Peer-to-Peer e Computação em Grid.

– O resultado será uma nova classe de tecnologias combinando elementos de ambas:

• Escalabilidade, auto-adaptação, recuperação diante de falhas e infra-estrutura persistente e padronizada para interoperabilidade

[Foster & Iamnitchi]

Classificação das Aplicações

• Distribuição de Conteúdo:

– Maioria dos sistemas Peer-to-Peer são de distribuição de conteúdo;

– Envolve sistemas e infraestrutura para troca de dados entre usuários;

• Sistemas se referem a aplicativos para uso para distribuição de conteúdo;

• Infraestrutura: frameworks - provê a base para os aplicativos P2P (fornecem serviços de rede, tolerância a falhas, etc);

Classificação das Aplicações

• Distribuição de Conteúdo:

– Os sistemas de distribuição de conteúdo podem ser:

• relativamente simples;

• Mais sofisticados: criam locais de armazenamento distribuído de informações, para poder manuzeá-las de forma mais segura e eficiente;

– Ex: Napster, Kazaa [Kazaa 2003], Gnutella [Gnutella 2003]

Page 6: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Peer-to-Peer: Topologias

Topologia da rede

• Arquitetura das redes P2P independe da arquitetura física da rede;

• As redes P2P podem ser implementadas criando-se uma “rede overlay” para os aplicativos utilizarem;

• A topologia das redes peer-to-peer se divide em 3 categorias: [Theotokis & Spinellis]– Puramente descentralizado;– Parcialmente centralizado;– Híbrido descentralizado;

Topologia da rede

• Puramente descentralizada:– Todos os nodos da rede podem realizar as

mesmas tarefas;– Não há coordenação centralizada de dessas

tarefas;– Cada nodo é responsável por sua própria

administração e manutenção;– Gnutella [Gnutella 2003]: constrói uma rede

própria e permite que usuários realizem troca de arquivos;

Topologia da rede

–Puramente descentralizada:

Page 7: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Topologia da rede

• Parcialmente centralizada:– Tem a base como puramente centralizado,

mas há a presença de supernodos;– Supernodos: agem como nodo central de

uma subrede. Neles são armazenados índices para consulta pelos peers;

– Quando um supernodo falha, ele é substituído automaticamente e dinamicamente;

– Kazaa, Edutella [Nejdl et al. 2003], Gnutella mais recentemente;

Topologia da rede

• Parcialmente centralizada:

Topologia da rede

• Híbrido descentralizado: – Há um servidor central que mantém índices e

outras informações para facilitar a interação dos peers;

– A troca de arquivos é feita diretamente entre os nodos (peers);

– Apesar disto, este servidor é um ponto que deixa o sistema mais suscetível a falhas em geral e ataques;

– Este tipo de topologia está excedendo o conceito de peer-to-peer: pode não ter escalabilidade

• Napster, que mantém uma lista estática de nodos servidores)

Peer-to-Peer: Propriedades não funcionais

Page 8: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Propriedades não funcionais

• Características não funcionais:– Segurança;– Escalabilidade;– Performance;– Capacidade de gerenciamento de recursos;– Agrupamento semântico de informações;

A topologia da rede, a estrutura de gerenciamento dos dados, e outras propriedades do sistema

afetam as características funcionais.

Propriedades não funcionais

JXTA

O que é JXTA?

• Apesar dos sistemas P2P serem sistemas distribuídos, nem todos os sistemas distribuídos facilitam a computação P2P

• Sistemas P2P têm um conjunto comum de necessidades

• JXTA provê um conjunto de API’s para prover as funcionalidades necessárias

• Em essência, JXTA é uma biblioteca de desenvolvimento P2P

Page 9: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Virtualização das Redes

• Nodo => identidade única (endereço IP)

• Endereço IP estático• Endereço IP

dinâmico

• O endereço IP determina o roteamento para um mensagem

Virtualização das Redes

• Celular envia mensagem para o PDA

• Ambos têm endereço IP dinâmico

• Asserção: “Endereço IP identifica unicamente uma entidade” => falha

Virtualização das Redes

• Solução: construir uma rede virtual, independente da topologia física

Escritório JXTAAvenida Sete de Setembro, 4698Quinto AndarCuritiba

• Endereço físico (IP ou Ethernet MAC) => endereço amigável (www.jxta.org)

Virtualização das Redes

• TCP/IP tradicional => DNS (Domain Name System) é usado para resolver os nomes amigáveis

• Mas, P2P não pode ter a mesma asserção sobre a infra-estrutura de rede cliente-servidor tradicional

• Em particular, não pode assumir a presença de um diretório de nomes centralizado

Page 10: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Virtualização das Redes

• P2P => identificadores curtos (dispositivos desconectam freqüentemente)

• Mudança freqüente no identificador do peer => diretório centralizado não estabiliza

O Escritório JXTA muda de lugar todo mês

Virtualização das Redes

• Late Binding: capacidade de atrasar a ligação entre o endereço IP e um identificador

• Crucial para telefones móveis e P2P

• Mais notável capacidade JXTA: facilita late binding dos recursos da rede

Virtualização das Redes

• Assinala identificador para um recurso• Resolve a ligação entre o identificador virtual e

físico em tempo de requisição

• Um nodo é identificado de forma independente do endereço IP

• Um mecanismo liga o identificador virtual ao endereço IP sempre que uma mensagem é enviada ao nodo

• O mecanismo de resolução é independente de um diretório de nomes centralizado (como DNS)

Virtualização das Redes

Page 11: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

ID’SCredentialsAdvertisements

ID’S, Credentials, Advertisements

• Identity (Identidade)• Não identifica somente peers• Qualquer recurso de importância:

– dados– código– grupos de peers– canais virtuais de comunicação

• IDs => URNs (Universal Resource Names)

ID’S, Credentials, Advertisements

• Credential (credencial)• Informação verificando um recurso em

termos humanos

• IDs => atribuídas pelo sistema JXTA• Credentials => atribuídas pelas pessoas• Confiabilidade

ID’S, Credentials, Advertisements

• Advertisement (anúncio)• Descrição do recurso• É um documento XML• Inclui:

– ID único– Credential– Data de validade– Outras informações

Page 12: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

ID’S, Credentials, Advertisements

• Rede JXTA localiza recursos por meio de advertisements

• Peer cria advertisement e publica na rede

• Perguntas se propagam pela rede até encontrarem um advertisement

ID’S, Credentials, Advertisements

• Arquitetura JXTA facilita a propagação de perguntas na rede

• Peer envia pergunta => chega a todos peers no multicast radius (não precisa roteador)

• Propaga para uma rede maior

Message Relay

Message Relay

• Mecanismo de pergunta: você quer achar a resposta perguntando pra todo mundo que conhece!

La Vita È Bella

Quem fez o papel de Dora?

Page 13: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Message Relay

• Message relay (Mensagem transmitida em cadeia)

• Aumenta o conjunto de peers que podem responder uma pergunta

• Rendezvous Peer (rendezvous = ponto de encontro)– Relay Peer que facilita a transmissão da mensagem

além do multicast radius

• Rendezvous Peer conhece outros rendezvous peers, formando uma rede rendezvous

Message Relay

Message Relay

Seu amigo Roberto Benigni sabe quem fez o papel de Dora– Você quer enviar a pergunta pra ele, mas só conhece

seu nome

• Você pode usar um Router Peer– Constrói e mantém rotas para outros peers

• Rota é composta por hops (pulos)• Cada hop tem um ID• Diferentes das rotas dos roteadores IP

Message Relay

Page 14: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Message Relay

Seu amigo Roberto Benigni fala apenas italiano!

• Gateway peer• Transmissão de mensagens em

protocolos heterogêneos (um peer tem HTTP, outro somente TCP)

• Peers separados por firewalls

Message Relay

Message Relay

Dora => Nicoletta Braschi

Message Relay

• Qualquer peer pode assumir responsabilidades relay

• Aumenta confiabilidade e robustez• Relay peer pode implementar cache (de

respostas, de rotas, etc)

Page 15: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Endpoints

Endpoints

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

• Endpoint advertisement informa o tipo de protocolo suportado

EndpointsEndpoints

• 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.)

Page 16: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Pipes

Pipes

• Um canal de comunicação entre dois peers tem uma ID

• Os pontos finais do canal são identificados pelos endpoints (independente do endereço IP)

• Se o endereço IP muda? A rede JXTA ajusta o roteamento da mensagem

• Dois endpoints podem usar diferentes protocolos

Pipes

• Pipe (cano)• Canal de comunicação virtual

• Peers podem trocar mensagens usando – Mensagens simples– Propagação de perguntas

• Mas pipes são a principal abstração para comunicação direta

Pipes

• Cada pipe tem um identificador JXTA• Sistema resolve o identificador em um

endereço IP, seguindo o princípio de late binding

• Comunicação bidirecional: precisa dois pipes

• Um pipe pode transmitir para múltiplos destinos

Page 17: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Pipes

• 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)

Pipes

Protocolos JXTA

Protocolos JXTA

• Operações da rede virtual são definidas em termos de protocolos

• Se dois peers querem se comunicar, só precisam entender o protocolo

• Conseqüência: Peers podem– Ser implementados em diferentes linguagens

– Ser executados em diferentes tipos de máquinas

– Transmitir mensagens em diferentes camadas de protocolos (TCP, HTTP, Bluetooth)

Page 18: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Protocolos JXTA

• Protocolos são expressos em termos de troca de mensagens

• Em algum ponto deve traduzir a mensagem (bind) na linguagem

• Bindings: Java, C, C++, Perl, Python, Smalltalk ...

• Protocolo independente da linguagem

Protocolos JXTA

• Estruturas de dados XML• Não precisa que peer tenha capacidade

total de processamento XML• Peer com pouco recurso: pré-compila

mensagens na representação binária (não precisa processar XML)

Protocolos JXTA

• Sete protocolos definidos• Peer não precisa entender todos

• Mensagens são pares pergunta-resposta• Respostas assíncronas

Protocolos JXTA

Peer Resolver Protocol (PRP)• Protocolo fundamental• Especifica o mecanismo de pergunta-

resposta

Page 19: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Protocolos JXTAProtocolos JXTA

• Outros protocolos que precisam de mecanismo pergunta-resposta usam PRP

• Pergunta não é endereçada ao peer, mas a um handler (tratador)

• Peer registra um handler, que pode responder perguntas

• Perguntas e respostas podem se perder

Protocolos JXTA• XML schema da pergunta

<xs:element name="ResolverQuery“ type="jxta:ResolverQuery"/>

<xs:complexType name="ResolverQuery"><xs:element name="Credential" type="xs:anyType" minOccurs="0"/> <xs:element name="SrcPeerID" type="JXTAID"/> <xs:element name="HandlerName" type="xs:string"/><xs:element name="QueryID" type="xs:string" minOccurs="0"/> <xs:element name="Query" type="xs:anyType"/>

</xs:complexType>

Protocolos JXTA• XML schema da resposta

<xs:element name="ResolverResponse“ type="ResolverResponse"/>

<xs:complexType name="ResolverResponse">

<xs:element name="Credential" type="xs:anyType" minOccurs="0"/> <xs:element name="HandlerName" type="xs:string"/>

<xs:element name="QueryID" type="xs:string" minOccurs="0"/> <xs:element name="Response" type="xs:anyType"/>

</xs:complexType>

Page 20: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Protocolos JXTA

Endpoint Routing Protocol (ERP)• Especifica roteamento de mensagens• Lista de hops da fonte até destino• Relay peer: router peer• Router conhece o caminho: responde com

uma lista de hops

Protocolos JXTA

• Estrutura de uma rota:

<?xml version="1.0" encoding="UTF-8"?><jxta:EndpointRouter>

<Src> identidade da fonte </Src><Dest> identidade do destino </Dest><TTL> time to live </TTL> <Gateway> seqüência ordenada de gateways </Gateway> <...................> <Gateway> seqüência ordenada de gateways </Gateway>

</jxta:EndpointRouter>

Protocolos JXTA

• Cada peer deixa um trace (marca) na mensagem

• Trace ajuda roteadores a lembrar das rotas

• Peer guarda rota na cache

• Útil também para detectar loops e mensagens duplicadas

Protocolos JXTA

• Estrutura de uma mensagem de roteamento

<?xml version="1.0" encoding="UTF-8"?><jxta:EndpointRouterQuery> <Credential> credencial </Credential> <Dest> id do destino </Dest> <Cached>

true: resposta pode ficar na cache false: resposta não pode ficar na cache

</Cached>

</jxta:EndpointRouterQuery>

Page 21: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Protocolos JXTA

• Roteador responde a pergunta com:

<?xml version="1.0" encoding="UTF-8"?><jxta:EndpointRouterAnswer>

<Credential> credencial </Credential> <Dest> id do destino </Dest>

<RoutingPeer> Id do roteador que conhece uma rota </RoutingPeer> <RoutingPeerAdv> Advertisement do roteador </RoutingPeerAdv><Gateway> seqüência ordenada de gateways </Gateway> < ...................><Gateway> seqüência ordenada de gateways </Gateway>

</EndpointRouterAnswer>

Protocolos JXTA

Protocolos JXTA

• ERP garante alto grau de sucesso• Não garante eficiência

• Peers mais inteligentes podem implementar algoritmos especializados, para otimizar a descoberta de rotas

Outros protocolos...

Page 22: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Protocolos JXTA

Peer Discovery Protocol (PDP)• Propicia a descoberta de recursos, por

meio dos advertisements• Mensagem inclui

– Tipo de advertisement– Chave XML– Valor para a chave

Protocolos JXTA

Rendezvous Protocol (RP)• Define como as perguntas se propagam

pela rede rendezvous

• Propagação limitada a um peer group (definido no advertisement do rendezvous)

Protocolos JXTA

Pipe Binding Protocol (PBP)

• Define a construção de um pipe• Pipe tem advertisement, que define seu

tipo, assim como uma ID

Protocolos JXTA

Peer Information Protocol (PIP)• Permite troca de informações em tempo de

execução:– Tempo de disponibilidade do peer (uptime)

– Número de mensagens processadas num período

• Permite software de monitoramento da rede

• Pode ser estendido, adicionando elementos ao XML

Page 23: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Protocolos JXTA

Peer Membership Protocol (PMP)• Particionamento da rede

• Caso físico (segurança, serviços...)

• Grupo define o escopo das perguntas:

• Padrão: pergunta propaga em busca de advertisement no grupo

• Questões de segurança

Protocolos JXTA

• Protocolo define etapas para entrar no grupo:– Fase de pedido

– Fase de junção

• Peer referencia um autenticador

• Autenticação pode ser feita:– Base de dados

– Perguntas para o peer

– Qualquer outra forma

Protocolos JXTAConclusão

Nesta apresentação mostramos algumas definições sobre peer-to-peer, suas aplicações, características e propriedades básicas.

Falamos também sobre o JXTA. Essa biblioteca de programação Peer-to-Peer mostrou a aplicação de alguns conceitos vistos.

Page 24: •Virtualização das Redes Redes Peer-to-Peer · específicas: boot, chaves para criptografia, etc. ... • Peer cria advertisement e publica na rede • Perguntas se propagam pela

Referências Bibliográficas• Bookshier, D., et al. JXTA: Java™ P2P Programming, Sams

Publishing. Mar 2002.

• Flenner, R. et al. Java™ P2P Unleashed. Sams Publishing. Sep 2002. Cap.16.

• Foster, I. 2000. Internet computing and the emerging grid. Nature Web Matters.

• Foster, I., and Iamnitchi, A. 2003. On death, taxes, and the convergence of peer-to-peer and grid computing. In Proceedings of 2nd International Workshop on Peer-to-Peer Systems (IPTS’02). Berkeley, CA.

• Gnutella 2003. Site do projeto Gnutella: http://www.groove.net

• Kazaa 2003. Site do projeto Kazaa. http://www.kazaa.com.

Referências Bibliográficas• Nejdl, W. et al. 2003. Edutella: A p2p networking

infrastructure based on rdf. In Proceedings of the 12th International Conference on Word Wide Web. Budapest, Hungrary

• Oram, A. Peer to Peer: Harnessing the Power of Disruptive Technologies. Primeira Edição. O'Reilly. Mar 2001

• SetiAtHome 2003. Site do projeto seti@home. http://setiathome.ssl.berkeley.edu.

• Shirky, C. 2000. What is p2p... and what isn’t. Na rede, disponível online em http://www.orreillynet.com/pub/a/ p2p/2000/11/24/shirky1-whatisp2p.html. O’Reilly.

• Theotokis, S.A., Spinellis, D. ACM Computing Surveys, Vol. 36, No., December 2004, pp.335-371.