p2p - inf.puc-rio.brnoemi/sd-08/p2p.pdf · p2p - arquiteturas •qto a centralização –híbridas...
TRANSCRIPT
tecnologias p2p
o que é p2p?
• sistemas onde todos os nós sãoequivalentes em funcionalidade e no papeldesempenhado
• sistemas que utilizam recursos nas bordasda Internet
.
.
.
características
• compartilhamento de recursos semnecessidade de um elemento centralizador– ciclos de CPU, armazenamento, banda ...
• instabilidade e conectividade variável comonormal– população flutuante
exemplos de uso
• comunicação entre usuários– chat, trabalho colaborativo
• serviços– específicos: multicast– genéricos: infras de computação distribuída
• sistemas replicados– bancos de dados– servidores web
• distribuição de conteúdo
p2p - questões
• localização de recursos• adaptação a entradas e saídas• escalabilidade• privacidade e confidencialidade• disponibilidade e persistência• …
diferentes objetivos criam diferentes necessidades… anonimato X reputação
p2p - arquitetura
• redes de overlay– noções de vizinhança e conectividade
independentes daquelas da rede subjacente
p2p - arquiteturas
• qto a centralização– híbridas
• servidores usados para algumas tarefas– parcialmente centralizadas
• supernós escolhidos dinamicamente– totalmente distribuídas
• servents
• qto a estrutura– não estruturadas– estruturadas: localização de recurso baseada em chave
arquiteturas não estruturadas híbridas
• uso de um servidor central para informaçãode disponibilidade de recursos– em distribuição de conteúdo:
• índices de arquivos• listas de conexões correntes
• simplicidade• falta de escalabilidade
– ? para que escala?
ñ estruturadas descentralizadas
• todos os participantes têm papel simétrico– uso de bases de dados ou até servidores para
encontrar algum participante corrente• roteamento por inundação
exemplo ñ estruturada descentralizada
arquiteturas ñ estrut. parcialmentecentralizadas
• supernós atuam como servidores de cacheou de indexamento
• disponibilidade de banda e de memóriausados como critério de escolha de supernós
• adaptação à heterogeneidade
• relação com free riding
arquiteturas estruturadas
• roteamento baseado emendereço/identificador de nó
• conteúdo: arquivos armazenados em nóscom identificador próximo ao seu– útil para busca por nome exato
exemplo busca estruturada
replicação e caching
• balanceamento de carga e tolerância a falhas– replicação da própria tabela de roteamento– hash para mais de um nó
• cache como consequência do roteamento– replicação passiva
• replicação introspectiva– decorrente de monitoração de tráfego
• relação com adaptação introspectiva em geral
• replicação e sistemas estruturados
segurança da informação
• mesmas técnicas gerais– infos de verificação– técnicas de recuperação a partir de partes da info
segurança
• controle de acesso: modelo?– autenticação x escala de usuários– modelos baseados em papéis– mapeamento de papéis
• identificação para uso em reputação
anonimato
– publicador (usuário ou nó)– interessado (usuário ou nó)– detalhes da consulta
• paranóia X usabilidade
– dificuldade de usar sistemas automáticos dedetecção em massa X dedicação e recursos
anonimato
• Freenet: obfuscação do nó que origina umaconsulta e do nó que responde– cada nó só conhece seus vizinhos na rota
• Publius: replicação e criptografia• outros: uso de infraestrutura de roteamento
– onion-routing layer
exemplo: Tor
http://tor.eff.org/
Tor
Tor
possibilidade de negar conhecimento
• usuário pode afirmar que desconheciaconteúdo armazenado nele?
• relação com anonimato do publicador• armazenamento de partes criptografadas de
documentos
mecanismos de incentivo
• free-riding– relação com tragedy of the commons– exemplos: email, compartilhamento, …
• mecanismos– reputação (confiança)– troca– ignorar o problema
• replicação em gde escala
• importância para sistemas colaborativos– em especial grades computacionais!
grades
grades - ex ourgrid
reputação e micropagtos
• relação com estrutura do sistema• sistemas com suporte a anonimato:
– incompatibilidade com reputação– ok com micropagamentos
• sistemas com identificação de nós/usuários– diferenças no dinamismo do grupo de usuários
micropagtos
• micropagtos– em geral requer que serviços sejam realizados em
pequenos blocos associados à moeda de troca• provas de trabalho (pow)
– non-fungible• trabalho executado não tem valor específico• impede executor de inundar o sistema com pedidos
– prova de gasto de ciclos de CPU• exemplo com hash de segredo que tem que ser adivinhado
como pow
• dinheiro eletrônico– uso de corretores que emitem e controlam uso
reputação
• sistemas informais– atribuição de notas por usuários
• sistemas com métricas– servidores de reputação– cada peer armazenando infos sobre os que conhece
• reputação– problemas com pseudo spoofing em sistemas com pseudônimos
• abandonar pseudônimos?• monitorar sistema para detectar pseudospoofing• tornar pseudônimos não atraentes