Se você veio de fora, abra a janela principal
Para voltar, feche esta janela



Esta página está sendo mantida online por motivos históricos e não é mais atualizada.
Meu novo weblog está em http://cronicasredux.blogspot.com

This page is kept online for archival reasons only and is no longer updated.
My new weblog is located at http://cronicasredux.blogspot.com




quarta-feira, março 31, 2004

saído diretamente do jarro
 

16:55 HPJ (horário padrão do jarro):



Você já usou algum cliente de P2P ? Já se conectou a qualquer rede descentralizada ? Já puxou uma música na net e viu dezenas de pessoas mandando o mesmo arquivo pra você ?

Algumas pessoas não apreciam a beleza inerente das redes descentralizadas. Diferentemente de um sistema cliente-servidor, você se conecta a um repositório de endereços de nós e então, por , vai tentando estabelecer uma conexão. Este tem vários clientes de nível mais baixo (como você) conectados a ele, chamados folhas. Ele também se conecta a outros nós (e em algumas redes, a um super-nó, um nível superior) criando assim uma rede completamente independente de servidores centrais. Se uma folha cai, nada acontece com as outras. Se um cai, as folhas se re-organizam em outros nós (a maioria das redes permite que uma folha pertença a mais de um , fazendo com que a queda de um seja menos traumática para suas folhas). Mesmo os repositórios de endereços publicam dentro de si os endereços de outros repositórios (e trocam informações uns com os outros), fazendo com que mesmo que eles se percam sua funcionalidade seja re-distribuida. Sua folha é naturalmente promovida a segundo uma porção de fatores, desde velocidade de conexão até disponibilidade on-line e existência de um firewall entre você e a net. Quando você procura uma música, digamos, "Lit - Everything's Cool", aqui em cima, sua folha se livra de toda informação desinteressante e pede para a rede listar todos os arquivos contendo "Lit", "Everything" e "Cool". Seu pedido chega até o , que o retransmite a suas folhas e aos nós vizinhos, que então retransmitem a suas folhas e a seus nós vizinhos num processo ad-infinitum, não fosse pelo fato de que as buscas contém um fator chamado TTL ou Hops, um número que indica por quantos nós ela já passou. Quando este número atinge um limite esta busca deixa de ser re-transmitida, uma espécie miopia auto-induzida que não permite que as buscas circulem para sempre entupindo a rede. Todas as folhas (ou nós, afinal um nada mais é que uma folha que serve outras folhas) que possuem arquivos que respondem ao seu critério re-transmitem a você uma resposta, normalmente contendo o nome do arquivo, tamanho, informações inerentes ao tipo de arquivo (qualidade de compressão de um MP3, por exemplo) e um ou mais hashes. Um hash é um "picadinho", na tradução literal. Ele é composto por uma fórmula matemática que se serve de "pedaços" de um arquivo a intervalos regulares e com eles forma um gigantesco (mas infinitamente menor que o próprio arquivo) número de identificação que é único de cada arquivo(a música do Lit para a qual os links do outro post apontam tem o seguinte hash, criado pela fórmula SHA1: 5DHV5ZTVO6SXD3EB6OAVOU6LTBICBYWH). Este hash serve para diferenciar vários arquivos com o mesmo nome que possam conter dados diferentes (Dois arquivos com o nome de lixo.txt podem conter um o texto "Olha que lixo !" e o outro "Mas que droga !" e, apesar de terem o mesmo nome e tamanho, tem hashes completamente diferentes). Armado desta lista de arquivos e hashes seu cliente lista os resultados e os prioriza por vários critérios (Velocidade de conexão somada de todas as folhas que possuem o arquivo é um dos critério mais importantes) e você escolhe qual puxar. O ato de pedir um arquivo é feito em duas etapas: sua folha pede, diretamente, a cada uma das folhas que possuem o arquivo para que mandem-no para ela e, armada do hash do arquivo, sua folha pede ao(s) nó(s) em que ela está conectada para fazer uma busca por folhas com este exato arquivo. Destas fontes primárias (aquelas que responderam à busca pelo nome) e secundárias (aquelas que responderam à busca pelo hash) é que sua folha puxa o arquivo, de cada fonte um pedaço, dividindo as tarefas priorizando as menos ocupadas e mais rápidas. Algumas redes dão maiores graus de prioridade a folhas que compartilham mais arquivos ou com maior quantidade de dados transmitidos, incentivando-as a compartilhar com o resto da rede.

Tudo isso parece (e é) extremamente complicado no papel, mas o resultado é de uma beleza quase estonteante, praticamente um balé de dados que fluem pela rede de maneira aparentemente errática mas que na verdade é extremamente organizada, até mais do que uma conexão direta entre duas fontes de dados. Se você não consegue vislumbrar a beleza disso, vou te dar uma ajudinha: Clique na imagem acima (um mapa de uma conexão Gnutella) ou neste link para conectar-se à rede Gnutella por um cliente gráfico chamado minitasking, que infelizmente foi descontinuado, mas pelo jeito apenas temporariamente.

P.S. O cliente só conecta depois que você arrastar o quadradinho ao lado do menu (que representa sua folha) ao pontinho verde no centro da tela

Escrito pelo Unknown

Comments:

Fechar esta janela

Postar um comentário