rede cliente a cliente P2P compartilhamento de arquivos tela 1 de 17 Material produzido por Marília Levacov e Ana - FABICO - UFRGS - PDF
Download "rede cliente a cliente P2P compartilhamento de arquivos tela 1 de 17 Material produzido por Marília Levacov e Ana - FABICO - UFRGS"
Geovane Sampaio Amaro
1 rede cliente a cliente P2P compartilhamento de arquivos tela 1 de 17
2 ~ DEFINIÇAO: A tecnologia P2P é uma maneira eficiente de transferir informação eletrônica, via rede, possuindo o potencial de reduzir substancialmente o tempo e os custos com os sistemas de distribuição baseados em servidores. P2P significa peer to peer (parceiro à parceiro) e, como o nome mostra, implica numa relação de igualdade, mesmo nível, entre os dois usuários envolvidos no file sharing: o que possui o arquivo e o que o downloadeia. P2P envolve, portanto, uma troca entre usuários (clientecliente) sem passar por um servidor. Também chamado de computação distribuída, possui um tremendo potencial para compartilhar recursos: Este tipo de programa não serve apenas para trocar arquivos de música mas grandes organizações, como o Projeto Genoma, o utilizam para compartilhar informações para comunidades específicas. tela 2 de 17
3 Continuando: Usualmente, numa relação entre o cliente (que recebe o serviço) e o servidor (que serve o serviço), existe a necessidade de ir até o servidor e de mandar uma ordem para que envie determinado arquivo. Isto é chamado de relação cliente-servidor e o browsing no www é o melhor exemplo deste modelo. No P2P, o computador do usuário serve tanto de cliente quanto de servidor, dependendo do caso (se está buscando ou compartilhando um arquivo), criando uma rede temporária e direta entre 2 usuários. Além disso, como processamento é disperso, há menos pressão em um determinado servidor. INTERNET P P tela 3 de 17
4 A história do P2P (peer to peer - parceiro à parceiro) Para entender o P2P, precisamos lembrar um pouco a história da troca de arquivos na INTERNET. Ao contrário do que se acredita, o P2P não é uma maneira nova de se usar a Internet. Ela mesmo foi criada, na década de 60, mais ou menos como uma rede P2P, pois conectava o computador de Stanford, com o da UCLA, o de UCSanta Barbara e Utah university como equal computing peers (parceiros computacionais iguais). As primeiras aplicações da Internet, FTP e Telnet, apesar de serem aplicações cliente/servidor, na época em que foram criadas funcionavam diretamente de host a host, de servidor a servidor. Naquela época, os servidores eram, simultaneamente, clientes e servidores. O USENET, baseado no UUCP (Unix-to-Unix Copy Protocol) de 1979, que foi criada também dentro deste espírito até evoluir para milhares de computadores depois, é considerado o avó de aplicações tipo o Gnutella e o Napster (que veremos mais adiante), que compartilha arquivos entre computadores sem um controle central. tela 4 de 17
5 No início da rede, o programa mais popular de file sharing (compartilhamento de arquivos, era o (anônimo) FTP (File Treansfer Protocol). O servidor de FTP anônimo permitia que o usuário fizesse um login usando um nome qualquer para receber (fazer o download) ou enviar (upload) um programa ou arquivo qualquer, pela Internet. Os arquivos podiam ser buscados num search-engine das listas de servidores de FTP, chamado Archie. Por diversas razões, o Archie era uma maneira pouco eficiente de encontrar o que se buscava. A USENET, listas de discussão, bulletin boards e chats ajudavam a espalhar a informação sobre o que estava aonde. O FTP continuou sendo usado até que, em 1997, o ICQ ( I seek you messenger) tornou-se uma maneira mais sofisticada de trocar arquivos. O ICQ, além de ser uma ferramenta de comunicação p/ o chat com grupos de amigos, possui também uma opção para file sharing. As redes de P2P usadas atualmente começaram a ser desenvolvidas há 15 anos atrás e a Boing e a Intel foram as primeiras a usá-las. Muitas redes P2P se desenvolveram durante a década de 90. tela 5 de 17
6 O NAPSTER O Napster foi desenvolvido por Shawn Fanning que era aluno do primeiro ano da Northeastern University e que o disponibilizou em maio de Quando o usuário downloadava a aplicação, tornava-se imediatamente capaz uploadar info a respeito dos arquivos que iria disponibilizar, e de localizar as demais pessoas que possuiam a aplicação, para vasculhar a parte pública de seus HDs atrás de arquivos (de música, em formato MP3) e realizar trocas com elas. Estima-se que milhões de pessoas eram usuários regulares.e, porque havia tal quantidade de usuários, as questões de copyright nos arquivos de música tornaram-se um problema. Artistas, gravadoras e a RIAA (Recording Industry Association of America) sentiram-se lesados e, em dezembro do mesmo ano, a RIAA acionou o Napster até que, após uma longa batalha judicial, ganhou o processo final, em julho de Por causa disto e outras fatores, além da fragilidade de sua arquitetura (como veremos depois) o Napster foi interditado e não funciona mais. tela 6 de 17
7 O Servidor do NAPSTER informava aos clientes quais arquivos estavam aonde (bem como que tamanho tinham, que tipo de conexão cada cliente dispunha, seu número IP, etc...). Não era possível os clientes saberem estas informações sem acessarem ao servidor, razão pela qual, quando a RIAA tirou o servidor de serviço, toda a rede Napster ficou decepada. Antes porém, tentando negociar com as gravadoras, o servidor do Napster foi reduzindo suas ofertas, censurando as músicas oferecidas, ao ponto de ficar desinteressante a seus usuários. INTERNET Servidor NAPSTER P P tela 7 de 17
8 GNUTELLA DEFINIÇÃO Gnutella é o nome de um protocolo que permite que as pessoas troquem arquivos através da Internet. Conecta-se à Rede Gnutella usando um Gnutella client que acessa a uma comunidade Gnutella. O cliente Gnutella original foi desenvolvido por Justin Frankel and Tom Pepper na Nullsoft (que pertence a AOL). AOL rapidamente fechou o site mas não a tempo de evitar que milhares de pessoas fizessem o download do cliente. A versão original era uma bela idéia mas estava cheia de bugs. Muito tempo depois, diversas companhias e indivíduos diferentes desenvolveram softwares baseados no sempre em evolução protocolo Gnutella. tela 8 de 17
9 O que fazia o Gnutella? Gnutella era descentralizado - isto significa que não havia uma companhia na qual a rede se apoiava, como o Napster ou o ICQ. Isso significa que a propriedade intelectual não está mais sob um controle centralizado. Os usuários do Gnutella conectavam-se uns aos outros e não a uma central. Para fazer isto eles podiam ir a um dos milhares de index de usuários ou conectar-se diretamente uns aos outros. Anonimidade e untracebility protegem os usuários de qualquer controle centralizado. tela 9 de 17
10 A DIFERENÇA Quando o www foi criado, as páginas eram acessadas através dos links nelas colocados. Depois surgiram os indexadores, portais, etc. Ia-se para um lugar para buscar a informação (lugares estes carregados de anúncios e que, basicamente, controlavam o fluxo de informação na rede). O Gnutella punha o fluxo da informação de volta nas mãos dos usuários. Quando se usava o Gnutella software, colocávamos um arquivo, uma parte ou mesmo todo nosso HD (coisa não recomendável) a disposição dos usuários da rede, pois eram aquelas coisas que queríamos tornar públicas e compartilhar. O poder que isto representa é fantástico. Os dados que estão no HD do usuário é que se mostram valiosos. Portanto, o que é compartilhado é aquilo que de valor se possui. O usuário controla este compartilhamento, podendo decidir o que incluir ou excluir a cada momento. Este poder é realmente diferente de compartilhar uma web page. tela 10 de 17
11 Explicando mais O cliente Gnutella (assin como muitos dos p2p atuais) era, simultaneamente, um mini search engine e um file serving system. Quando o usuário buscava algo na rede Gnutella, todos os que estavam no seu horizonte recebiam esta busca e, se a possuissem, ele seria informado. O HORIZONTE no Gnutella Quando o usuário se logava ao rede Gnutella, estava entrando num mar de pessoas. Aparentemente, tantas qtas. conseguir avistar. Algumas, entretanto, desapareciam no horizonte. Esta é a analogia. Quando o usuário, usando o cliente P2P, entra na rede, o contador dispara, são as pessoas no horizonte o saudando. As pessoas podem ir e vir, portanto o horizonte também vai mudando. Mas o que acontece se a informação buscada não está no horizonte? Este nunca contém mais do que hosts. tela 11 de 17
12 Quando o usuário conectar-se outro dia, verá um grande grupo de caras novas, uma parte diferente da multidão que está no seu horizonte neste momento. Diferentes pessoas e diferente informação. Diferentes arquivos. Se a informação desejada não está no seu horizonte é uma falta de sorte. Mas o horizonte está sempre mudando e a informação valiosa, com frequência, é duplicada.é como um jogo de probabilidades mas com as chances a favor dos usuários. E o horizonte de apenas usuários? Isto é apenas um modo da rede criar escalas, pois o Gnutella funciona através da segmentação. Um milhão de pessoas torna a rede lenta mas caso ela se ajuste a grupos pequenos de computadores, tudo fica MUITO mais rápido e a cada momento estes podem parcialmente mudar. tela 12 de 17
13 CARACTERÍSTICAS O Gnutella é file sharing e o usuário escolhe de quem fazer o download, vendo o tipo de conexão para aquela pessoa, etc. O Gnutella é anonymous. O Napster e os outros são centralizados e controlam a liberdade de busca. Os search-engines comerciais mantém logs para a inserção de anúncios, estatísticas, p/ obter o perfil de seus usuários, pois isto também é dado valioso para eles. O Gnutella compartilha qualquer tipo de arquivo, diferentemente do Napster, que compartilhava apenas MP3. tela 13 de 17
14 Durante os últimos meses do Napster surgiram uma quantidade de programas tipo file-sharing ou file-swapping, como passaram a ser chamados, incluindo Gnutella, Audiogalaxy, KaZaA, imesh, edonkey, etc. Coletivamente, estas redes permitiram aos usuários continuar a compartilhar arquivos de música numa quantidade similar ao Napster quando esteve no seu auge. Além de sustentar a crescente demanda para a troca de arquivos, estes programas de terceira geração operam sem o envolvimento de uma agente centralizador, não permitindo uma ação legal para interromper a rede. Nestes programas, também, a demanda está mudando de mp3 para arquivos de vídeo, além dos aplicativos piratas. Saindo do assunto P2P mas quanto a questão de obter arquivos de música na Internet sem violar o copyright, a Apple lançou este ano uma proposta que está tendo um enorme sucesso, a itunes Music Store. O site permite a seus usuários fazer o download de músicas por apenas 99 cents e já vendeu mais de 5 milhões de músicas em 2 meses, desde seu lançamento. Para isto a Apple fez parcerias com as 5 maiores gravadoras mundiais. tela 14 de 17
15 A NOVA GERAÇÃO As novas ferramentas peer-to-peer estão se espalhando pela Internet e gerando dores de cabeça agora para os grandes estúdios de cinema. Programas como edonkey e BitTorrent, da última geração de p2p, possuem ferramentas específicas para a troca de arquivos de vídeo, criadas para aumentar a eficiência e a velocidade de transferência de grandes arquivos, como filmes. Muitos destes programas já estavam em desenvolvimento há alguns anos mas só agora adquiriram a massa crítica necessária para ter um volume de troca impactante. Protetores dos copyrights afirmam que estas novas ferramentas começam a rivalizar o potencial pirata da nova geração pós-napster. No mundo inteiro as pessoas estão fazendo uma quantidade crescente de downloads, num volume espantoso. Programas como edonkey e emull começam a ultrapassar a tecnologia FastTrack dos programas como KaZaA e Grokster. tela 15 de 17
16 Morpheus, um outro programa deste grupo, extremamente popular há pouco tempo atrás, por exemplo, já está em desuso. A nova geração destes programas segue sendo desenvolvida por indivíduos ou pequenos grupos que se debruçam sobre as fragilidades ou deficiências das versões p2p anteriores. edonkey, por exemplo, foi desenvolvido por Jed McCaleb. Seu plano inicial era fazer a busca e a distribuição dos arquivos mais eficientes. A versão final do programa é diferente dos p2p anteriores em 2 maneiras: 1. A primeira tem a ver com a busca descentralizada: quando um arquivo é disponibilizado na rede edonkey, recebe um identificador que é um endereço baseado nas características do próprio arquivo. Cada computador que se loga à rede possui um certo alcance (horizonte) e passa a atuar também como um index do que enxerga. Isto permite que as buscas possam ser feitas de modo mais eficiente do que nos p2p anteriores. Por exemplo, no Gnutella, se uma busca era enviada à rede, ela ia de um em um computador perguntando se possuia aquele arquivo ou se o avistava em seu horizonte. No edonkey, cada computador já é um index dos tela 16 de 17
17 arquivos avistados naquela categoria e, portanto, a resposta retorna de forma muito mais rápida. Superdistribuição: cada novo cliente(usuário) é também um novo servidor. 2. A segunda e principal diferença é que o sistema pode dividir cada arquivo em pequenos pedacinhos, permitindo que eles sejam distribuídos independentemente. Assim que uma pessoa começa a downloadar estes pedacinhos, está também oferecendo-os à rede e isto significa que um filme, por exemplo, não precisa ser downloadado na íntegra antes de ser oferecido ; cada pedacinho pode ser uploadado separadamente, com um usuário, por exemplo, downloadando simultaneamente pedacinhos diferentes de diferentes outros usuários e, naturalmente, tornando a rede muito mais rica e eficiente. + info: Existem outras ferramentas p2p como menciono acima. Uma popular entre a comunidade dos softwares livres chama-se BitTorrent, de Bram Cohen. Ela faz a distribuição de grandes arquivos de modo muito eficiente ainda que lhe falte a capacidade de busca semelhante a do edonkey. tela 17 de 17