David Matos, nº 30635 Filipe Santana, nº 28814 Nuno Cordeiro, nº 30078 Tiago Dias, nº 30760 Definição • O termo Peer-to-Peer (P2P) é utilizado em diferentes tecnologias que adoptam um modelo conceptual "par-a-par”. • A tecnologia Peer-to-Peer permite que qualquer dispositivo capaz de comunicar também seja capaz de fornecer serviços a qualquer outro dispositivo capaz de comunicar. • Geralmente, uma rede P2P é constituída por computadores ou outros tipos de unidades de processamento que não possuem um papel fixo de cliente ou servidor, pelo contrário, costumam ser considerados de igual nível e assumem o papel de cliente ou de servidor dependendo da transacção sendo iniciada ou recebida de um outro peer da mesma rede. Arquitectura Cliente-Servidor Aplicações populares na Internet: Correio electrónico, transferência de ficheiros e a World Wide Web Vantagem: Não necessita de grande poder computacional por parte do cliente Desvantagem: Os computadores não podem trocar serviços entre si Arquitectura P2P Não depende de servidores centrais Trabalha fora do sistema de nomeação da Internet: o DNS Rede de interligação plana e interconectada Os computadores agem como clientes e servidores Arquitectura P2P Vantagens: Distribuição da responsabilidade de fornecer serviços por todos os pontos Explora a disponibilidade da largura de banda Disponibiliza recursos com maior robustez a um custo reduzido Desvantagens: Os pedidos de serviços não são determinísticos por natureza Os pedidos enviados podem não resultar numa resposta imediata ou mesmo nunca devolver resposta Os recursos podem desaparecer da mesma forma que os clientes que os possuem se ligam e desligam da rede Arquitectura P2P “Uma qualquer arquitectura de rede onde os participantes partilhem os seus próprios recursos de hardware (poder de processamento, capacidade de armazenamento, impressoras…)” Arquitectura P2P “PURA” … se qualquer terminal da rede puder ser removido sem que a rede sofra qualquer perda em termos de “serviço”. Arquitectura P2P “HÍBRIDA” … se tiver necessidade de uma entidade central que efectua parte dos serviços da rede. Ex: Napster Evolução do P2P 1ª Geração •USENET •Troca de informação nos primórdios da Internet • ICQ •Troca de mensagens instantâneas • Napster •Partilha de ficheiros MP3 2ª Geração •Gnutella Elimina a necessidade de um servidor central para pesquisa Evolução do P2P 3ª Geração •Freenet Tenta oferecer um espaço de armazenamento anónimo e descentralizado protegido por encriptção para maior segurança •Morpheus Oferece capacidades de pesquisa melhoradas através da meta data nos formatos de audio digital •MojoNation Utiliza uma moeda artificial para permitir a partilha de recursos Tipos de aplicações P2P • Computação Distribuída • File-sharing • aplicações colaborativas Computação Distribuída Tipo de aplicações que exige a decomposição de um determinado problema em pequenos problemas paralelos. SETI@home : • distribuía um screen-saver que permitia aos utilizadores que o instalassem processar dados de um radiotelescópio e assim contribuir para a procura de vida extra-terrestre No futuro: • A computação distribuída pretende tirar todo o partido da tecnologia P2P para criar um mercado para capacidade de processamento disponível. Por exemplo, um utilizador poder ligar-se gratuitamente à Internet desde que isponibilize 10% dos recursos da sua máquina para computações distribuídas. File-Sharing Tipo de aplicação que visa sobretudo deixar ficheiros disponíveis para outros utilizadores poderem fazer o download através da Internet, e também através de pequenas redes. Segue o modelo P2P, onde os ficheiros estão guardados e ao mesmo tempo disponíveis nos computadores dos utilizadores. Sistemas Centralizados FILE-SHARING Sistemas Descentralizados Sistemas Centralizados Tipo de relação de “um para muitos” que permite a um único utilizador comunicar e partilhar ficheiros com múltiplos nós utilizando um servidor central. • Funciona numa arquitectura de cliente-servidor NAPSTER O servidor possui informações sobre os ficheiros armazenados nos computadores dos diferentes utilizadores, informações essas que são actualizadas sempre que um novo utilizador se liga ou desliga da rede. (ver estudo de caso adiante) Sistemas Descentralizados Funciona numa arquitectura de “muitos” para “muitos”, em que não há servidor central. Permite pesquisas altamente automatizadas partilhando através de múltiplos nós. A estrutura descentralizada não confia num servidor central e é consequentemente mais forte que um sistema centralizado. Gnutella É um protocolo de File-Sharing, no qual as aplicações que implementam o protocolo Gnutella dão uma autorização aos utilizadores para efectuar pesquisas e downloads de ficheiros de outros utilizadores que estão ligados à Internet. A sua arquitectura é completamente descentralizada e distribuída. Pontos Fortes dos sistemas P2P - Tem um controle mais descentralizado e mais informação disponível .as partes podem entrar e sair de uma forma ad-hoc .os peers podem manter-se anónimos - São bastante adequados para um grande número de computadores na Internet - Têm o potencial de ser mais escalável do que as soluções apresentadas pelos sistemas centralizados e pelos sistemas cliente-servidor Pontos Fracos dos sistemas P2P - Altamente dependentes da topologia subjacente e dos tipos de aplicações -Grande parte das acções requerem a intervenção do utilizador, tais como, a ligação a uma rede ou um servidor P2P específico - Apresentam muitas mais falhas de segurança que os sistemas centralizados (os sistemas cliente-servidor ) Segurança nos Sistemas P2P - É um modelo de segurança que está exposto. - Os attackers podem vir do interior do sistema com a mesma facilidade com que podem vir do exterior (trojan horses) Exemplo: A associação da indústria de gravação dos Estados Unidos (RIAA), quando planeava “infectar ficheiros MP3 de modo a auditar e eventualmente desactivar a troca de ficheiros” Os sistemas P2P que estavam a distribuir os MP3 não tinham qualquer modelo como que lidar com insiders a distribuir software com conteúdo malicioso ( malware ) : com a implícita assunção de que todo o conteúdo era “trusted” (confiável) Segurança nos Sistemas P2P Identidade Os sistemas P2P oferecem grandes oportunidades de colaboração nas áreas onde a privacidade é muito importante para o desenvolvimento inicial onde esses sistemas têm lugar. Os sistemas de protecção de privacidade são o melhor exemplo onde a necessidade de forte identidade tem sido examinada e removida, e em certos casos, foram tomadas medidas para proteger e disfarçar a identidade. A razão da identidade é importante, se desejar confiar na entidade A, é necessário ser capaz de a identificar. Segurança nos Sistemas P2P É possível que esteja a receber recomendação de outra entidade, B, ou que esteja a basear a sua decisão no comportamento anterior, mas se não conseguir identificar C, não conseguirá tomar uma medida sobre se deve ou não confiar. B B recomenda ao A que C é “de confiança” A Confiar? …Não confiar? …Tem identidade? …se sim confio! C Tem identidade P2P e o Comércio Electrónico - P2P é “A” grande hipótese para empresas que pretendem distribuir os seus produtos digitais ou construir um novo tipo de negócio, porque o P2P dá à empresa um canal de comunicação directo, permanente e sem intermediários com os seus clientes. - Actualmente verifica-se que o P2P pode constituir um modelo empresarial útil para o comércio electrónico entre empresas (B2B). Empresas que vendem através da Internet Empresas que compram através da Internet Evolução e utilização do P2P nos Países da OCDE Países OCDE % do total de países da OCDE 1. Estados Unidos 55.4 2. Alemanha 10.2 3. Canadá 8.0 4. França 7.8 5. Reino Unido 5.4 6. Itália 1.7 7. Espanha 1.1 8. Holanda 1 9. Austrália 0.91 10. Bélgica 0.8 11. Suécia 0.7 12. Japão 0.7 13. Suíça 0.6 14. Áustria 0.5 15. México 0.3 16. Noruega 0.3 17. Coreia 0.2 18. Portugal 0.2 Fonte: OCDE baseada no estudo da BigChampagne Evoluçao e utilização do P2P nos Países da OCDE Relação entre banda larga e P2P Evoluçao e utilização do P2P nos Países da OCDE Evoluçao e utilização do P2P nos Países da OCDE Tamanho dos ficheiros partilhados em 2003 Evoluçao e utilização do P2P nos Países da OCDE Queda da utilização de ficheiros por país da OCDE no KaZaA Caso Prático: Napster 1999 - Shawn Fanning tinha como objectivo criar uma maneira de facilitar a forma com se obtinha músicas MP3 na Internet, sendo que nesta época, isso não era tarefa fácil, era preciso domínio de muitas ferramentas e sobretudo paciência. O Napster foi o primeiro site que usou este tipo de sistema especializado em P2P, sendo este serviço fundamentalmente baseado em trocas de ficheiros MP3. Permitia que os utilizadores efectuassem o download de arquivos directamente de computadores de outros utilizadores, criando uma rede global com milhares de músicas disponíveis, onde era possível fazer o download de uma música existente na rede directamente para o nosso computador pessoal. Caso Prático: Napster Atingiu o seu ponto alto no mês de Janeiro de 2001, apresentando um valor de 8 milhões de utilizadores ligados ao serviço e com um volume estimado de 20 milhões de ficheiros trocados diariamente. Viria a tornar-se o sistema de P2P mais popular entre os utilizadores da Internet. No entanto, no primeiro semestre do ano de 2001, o Napster viria a sofrer uma série de acções legais por parte de editoras e várias bandas, que viam os seus direitos de autor ser abalados pelo funcionamento deste serviço de troca de arquivos áudio, tendo mesmo as suas vendas tendência a apresentar valores decrescentes com o passar do tempo. Após estes “ataques” que acusavam o serviço de pirataria digital, o Napster viria mesmo a verificar o seu encerramento em Março do mesmo ano. Conclusões Espera-se para o futuro um desenvolvimento dos sistemas P2P de acordo com o mencionado nos pontos de segurança, restando porém, uma última questão para nos fazer entender as necessidades dos sistemas P2P no longo prazo: “Quem controla o sistema?” Embora a segurança seja um tema de discussão bastante abrangente, conclui-se que este assunto no caso dos sistemas P2P deverá ser observado de um ponto de vista de TRUST. Obtém-se a visão de que os sistemas P2P representam particulares desafios em termos de confiança sobre outros sistemas sócio técnicos, e identificaram-se três áreas chave de relevante importância: a identidade, o contexto social, o castigo, e a detenção. Um melhor entendimento destas áreas e as trocas a elas associadas poderá ajudar no desenho implementação e manutenção dos sistemas P2P.