Sistemas P2P AULA 21/09/2011 COUROURIS, DOLLIMORE, CAP 10 Introdução Motivações Técnicas Milhares de nós interconectados Inúmeros tipos de redes (Ad-Hoc) Arquitetura descentralizada Negócios Distribuição de conteúdo Gerenciamento de conhecimento Compartilhamento de recursos Taxonomia Cliente/Servidor (C/S) Cliente Servidor Gerenciamento das requisições enviadas pelos clientes Interação Acesso a informações em um computador diferente Solicitação/Resposta Problemas Escalabilidade Peer-To-Peer (P2P) Modelo alternativo para C/S Cada nó da rede tem capacidades e responsabilidades equivalentes Um nó não é um denominado cliente ou servidor Um nó é chamado de peer Cada nó participante da rede atua como cliente e servidor, sendo definido como SERVENTS, ou seja, SERVers e cliENTS Cada nó “paga” sua participação na rede provendo acesso a algum tipo de recurso O compartilhamento das informações é realizado diretamente entre os nós da rede. Os recursos de um nó tem conectividade intermitente, que pode ser adicionado ou removido. Peer-To-Peer (P2P) (cont.) Os peers conectados a rede criam uma rede virtual sobreposta a interface de rede utilizada pelos nós. Propriedades Não há um coordenador central Não há um BD central Nenhum peer tem a visão global do sistema Comportamento global surge a partir de interações locais (nó-anó) Todos os dados disponíveis na rede são acessíveis por qualquer peer. Overlay NetWorks É um conjunto de conexões lógicas entre hosts Podem ser estruturadas ou não estruturadas Proximidade entre os nós não é levada em consideração Modelo de desenvolvimento transparente para o programador Toda comunicação está na camada de Aplicação Flexibilidade Manutenção da topologia Protocolo Tipos de Mensagens P2P Centralizadas Servidor virtual utilizado para mediação entre as interações dos peers Vantagens Fácil implementação Fácil controle QoS (Quality of Service) Busca é eficiente e “rápida” Desvantagens Ponto único de falha = servidor Escalabilidade = depende do servidor Vulnerabilidade Ataques DoS (Denial of Service) Performance = grande problema gargalho P2P Descentralizado Todo nó funcionado como SERVENTS Sem coordenador central Exemplo Gnutella, Freenet Vantagens Fácil ingresso Sem manutenção Privacidade Escalabilidade Robustez Desvantagens Consistência dos dados Busca ineficiente Exercícios 1. Os primeiros aplicativos de compartilhamento de arquivo, como o Napster, eram restritos em sua escalabilidade pela necessidade de manter um índice central de recursos e dos hosts que os continham. Quais outras soluções para o problema da indexação você pode identificar? 2. Quais são as principais garantias que os usuários esperam que os servidores convencionais (por exemplo, servidores web ou servidores de arquivos) ofereçam? 3. As garantias oferecidas pelos servidores convencionais podem ser violadas como resultado de: a) dano físico no host; b) erros ou inconsistências dos administradores de sistema e seus gerentes; c) ataques bem-sucedidos contra a segurança do software de sistema; e) erros de hardware ou software. Cite dois exemplos de possíveis incidentes para cada tipo de violação. Quais deles poderiam ser descritos como uma brecha de confiança ou ação criminal? Elas seriam brechas de confiança se ocorressem em um computador pessoal que estivesse contribuindo com alguns recursos para um serviço peer-to-peer? Por que isso é relevante para os sistemas peer-to-peer? 4. Frequentemente é argumentado que os sistemas peer-to-peer podem oferecer anonimato para (a) clientes e (b) os hosts que dão acesso aos recursos. Discuta cada uma destas proposições. Sugira uma maneira pela qual a resistência a ataques sobre o anonimato poderia ser melhorada.