As tecnologias de P2P (peer to peer) são um dos meios mais utilizados de compartilhamento de arquivos de qualquer tipo pela internet. Uma rede P2P que ganhou bastante destaque é o BitTorrent, que oferece um modo de funcionamento inovador, eficiente e estável. Os principais conceitos que estão por trás do BitTorrent são explicados a seguir.
O que é BitTorrent – Torrent
O BitTorrent é uma tecnologia criada por Bram Cohen que permite o compartilhamento de qualquer tipo de arquivo pela internet, sendo muito usado para a distribuição de vídeos, músicas e programas. Sua forma de trabalho é muito eficaz e evita, por exemplo, que determinados usuários só façam download, mas não compartilhem arquivos (pelos menos teoricamente). Isso porque a taxa de download é equivalente à taxa de upload, ou seja, somente compartilhando é que você consegue baixar arquivos. Por esta razão, quando você está iniciando um determinado download, a velocidade utilizada é lenta e vai aumentando de acordo com o que já foi baixado do arquivo. Quanto mais você tiver de um arquivo, mais usuários se conectarão ao seu computador e pela regra, a taxa de velocidade do seu download aumenta.
Na verdade, o BitTorrent é um protocolo, que, como já dito, permite o compartilhamento de qualquer tipo de arquivo. Devido a isso, o BitTorrent não pode ser considerado um software para fins ilegais (como foi o pioneiro Napster, por permitir a distribuição de músicas no formato MP3), pois qualquer pessoa pode usar o protocolo para distribuir arquivos. Existem até empresas que compartilham seus softwares por este meio. Apenas como exemplo, suponha que um escritor criou um e-book (livro digital). Além de disponibilizá-lo em um site, o autor pode distribuí-lo pelo BitTorrent, e isso não fere nenhuma lei de proteção à propriedade intelectual. Se conteúdo ilegal é distribuído pelo serviço, a responsabilidade, neste caso, é dos usuários que o fazem, e não do programa.
Como o BitTorrent funciona
Na rede BitTorrent os arquivos são quebrados em pedaços de geralmente 256Kb. Ao contrário de outras redes, os clientes da rede Torrent compartilham pedaço em Ordem aleatória que podem ser reconstituídos mais tarde para formar o arquivo final.
O sistema de compartilhamento prioriza máximo o desempenho geral de rede, uma vez que não existem filas de espera e todos compartilham pedaços entre si, não sobrecarregando um servidor central, como acontece com sites e downloads por exemplo. Assim, quanto mais pessoas entram para baixar determinado arquivo, mais largura de banda se torna disponível.
Para que você possa fazer download (e upload) pelo BitTorrent, é necessário que cada item compartilhado esteja associado a um arquivo denominado torrent, cuja extensão é .torrent.
Trata-se de um arquivo pequeno, mas que contém as informações necessárias para o compartilhamento, como o local onde o arquivo está e a seqüência que verifica a integridade deste. Esse arquivo pode estar disponível em um site e, quando acessado, inicia o download do arquivo compartilhado (desde que o BitTorrent esteja instalado). Isso significa que você precisa achar um torrent do arquivo que você deseja baixar. Para encontrar torrents você pode usar sites voltados a este fim. Há vários na internet, basta digitar a palavra "torrent" em mecanismos de busca para localizá-los.
Para entender o compartilhamento de arquivos do BitTorrent, é necessário conhecer alguns termos:
Seed (ou seeding): é a denominação dada ao computador que possui um arquivo completo compartilhado, como o computador que primeiramente disponibilizou o arquivo e os outros que o baixaram por inteiro;
Peer: nome dado a cada computador que compartilha arquivos. Quando você está baixando algo pelo BitTorrent, seu computador é um peer, ou seja, um ponto ou um nó da rede;
Leech (ou leeching): é a denominação dada ao momento em que um computador faz download;
Tracker: denominação dada ao servidor que é responsável por organizar os arquivos disponíveis e direcionar os downloads;
Swarm: nome dado ao conjunto de computadores que estão compartilhando o mesmo arquivo. Se, por exemplo, o arquivo infowester.pdf está sendo compartilhado por 2 seeds e por 8 peers, o swarm do arquivo contém 10 computadores (2 seeds + 8 peers).
O tracker é um dos principais responsáveis pelo funcionamento da rede do BitTorrent, pois ele praticamente gerencia a distribuição de arquivos porque possui informações sobre onde estão os computadores com os arquivos compartilhados num determinado momento.
Quando você inicia um download, o tracker é consultado para que a lista de computadores que possui o arquivo em questão seja informada. Enquanto o download vai sendo feito, seu computador se comunica periodicamente com o tracker para informar o quanto de download já foi feito e para saber o quanto falta. É importante ao tracker saber o quanto já foi baixado ao seu computador porque assim ele pode indicar sua máquina à outra que esteja precisando do "pedaço" do arquivo que você já tem. Assim, quanto mais computadores estiverem compartilhando aquele arquivo, mais rápido será o download, pois há mais opções de fontes.
Um fato interessante, é que se por alguma razão o tracker parar de funcionar (quando isso ocorre, geralmente é temporário) o swarm continua compartilhando o arquivo que lhe cabe, afinal, cada computador sabe de onde fazer o download. No entanto, nenhuma outra máquina poderá fazer parte do swarm, pois não há tracker que possa direcioná-la.
Comparação Com Outros Sistemas de Compartilhamento de Arquivos
O método de distribuição de arquivos do BitTorrent é similar ao usado pela rede eDonkey2000 com uma pequena diferença. Os nós da última costumam partilhar um número muito maior de arquivos, tornando a banda disponível para cada arquivo muito menor. Isso não acontece na rede BitTorrent, pois normalmente cada nó não partilha um número muito grande de arquivos diferentes, tornando maior a disponibilidade de banda. Como na rede eDonkey2000 o volume de arquivos partilhados em cada nó é muito grande, geram-se filas de espera muito longas, aumentando muito o tempo de download. Como compensação existe um sistema de créditos implementado pelos clientes como o eMule por exemplo. Os créditos são dados pelo cliente que faz o upload para o cliente que faz o download de um determinado arquivo, evitando que os créditos possam ser alterados pelo cliente que faz o download. Cada cliente que entra na fila de espera de outro cliente ganha uma posição maior ou menor dependendo dos créditos que ele possui. Devido ao enorme volume de arquivos e ao sistema de créditos e fila de espera, as velocidades de download costumam ser muito instáveis.
O sistema de compensação por uploads do BitTorrent já era implementado numa variante no KaZaA em 2002. O nível de participação de um usuário aumentaria e baixaria de acordo com o volume de uploads. Então quando você faz upload de um arquivo, a pessoa com o maior nível de participação ganha prioridade, que faz o upload para a pessoa com o segundo maior nível de participação, que faz para a terceira e assim por diante. É como uma pirâmide, com a pessoa com a maior banda de upload disponível no topo, seguidas das outras na hierarquia. Este é o modo mais eficiente de distribuir um arquivo, os arquivos são distribuídos a partir do topo, onde está uma quantidade menor de usuários, para os níveis abaixo até a base, onde está a maior quantidade de usuários. Infelizmente o sistema adotado pelo KaZaA é considerado por alguns como falho, uma vez que ele depende que o próprio cliente reporte o seu nível de participação, o que permite que os usuários possam deliberadamente editar o seu nível enganando os outros clientes. O sistema de créditos armazenados no cliente que faz o upload, não no que faz o download, é a correção implementada pela rede Edonkey2000 para este problema.
Para mais informações sobre a tecnologia Bit Torrent, entre nesse link
Nenhum comentário:
Postar um comentário