quinta-feira, 3 de fevereiro de 2011

Funcionamento do BitTorrent

O que é BitTorrent? Como ele funciona? Essas e outras dúvidas que os leitores possam ter com relação a isso serão respondidas por meio desse post.

BitTorrent é um protocolo para compartilhamento de qualquer arquivo via P2P criado por Bram Cohen. É justamente por isso que ele não pode ser tratado como um protocolo para fins ilegais, como era o Napster, por exemplo.

O P2P significa Peer-to-Peer e é uma forma de compartilhamento no qual um computador pode ser ao mesmo tempo o servidor e um cliente de arquivo. 

Quanto mais pessoas estiverem tentando baixar o arquivo, mais pessoas automaticamente se tornarão os servidores do arquivo, e por isso a velocidade de download irá aumentar. O BitTorrent funciona por P2P, e ele é ainda o meio por P2P que mais é utilizado para fins legais.

O funcionamento do download de um arquivo com a extensão torrent é assim:

O arquivo torrent é criado e colocado em algum website para ser baixado. O arquivo torrent nada mais é do que um arquivo que contém algumas informações do arquivo original, como o nome, o tamanho, o hash, que assegura que o arquivo é o que ele diz ser, e o endereço do tracker, que é um servidor que coordena a comunicação entre os peers (esses termo serão explicados no dicionário do post, que está quase no fim deste).

Depois, uma pessoa baixa o arquivo torrent e abre esse arquivo com um cliente para BitTorrent, que pode ser o BitTorrent, ou o μTorrent, por exemplo. Esse programa lê as informações (mencionadas acima) que o arquivo torrent carrega para garantir que o download seja feito com sucesso.

Então, o cliente começa do download do arquivo. O arquivo é dividido em blocos, e por isso que o protocolo é tão bom: cada usuário pode contribuir com um bloco para que o arquivo seja baixado inteiramente por todos os usuários. Ou seja, os blocos são baixados de forma aleatória e o programa para BitTorrent reúne os blocos para formar o arquivo final.

Então o arquivo é baixado e você pode finalmente usufruir do seu arquivo. A grande vantagem do BitTorrent é que os arquivos com a extensão torrent possuem um tamanho muito pequeno, o que faz com que o download do arquivo com essa extensão seja rápido.

Porém, quando você utiliza o programa, a velocidade será rápida apenas se você tiver uma internet rápida e com uma velocidade boa de upload.

Por quê? Porque existem os chamados "sugadores", que apenas fazem download do arquivo sem contribuir para semeá-lo para outros usuários. Com isso, os programas privilegiam quem possui um upload maior porque eles são os usuários que mais contribuem para que o arquivo fique vivo.

Mas o arquivo pode morrer? Se não houver seeds para o arquivo, ou seja, pessoas que semeiam esse arquivo, não terá como baixar o arquivo.

Ou seja, o protocolo BitTorrent é uma invenção extremamente revolucionária, cujo objetivo é acelerar a velocidade dos downloads cada vez mais, à medida que os usuários vão adquirindo o arquivo.

Agora vamos ao exemplo prático:

Existe um arquivo hipotético que está em formato .torrent e você quer ter esse arquivo. Com isso, você baixa o arquivo e o "executa" em um programa para baixar arquivos desse tipo (exemplos desses programas com links para download estão no post).

Vamos imaginar que existem 10 computadores com o arquivo. O seu computador começará a baixar o arquivo dos 10 computadores, e se alguém mais começar a baixar o arquivo, a pessoa começará a baixar do seu computador também, já que ele possui parte do arquivo e é perfeitamente possível baixar partes dele que o programa as junta depois.

Com isso, você termina o download de seu arquivo e pronto. Caso queira compartilhar o arquivo, é melhor porque os programas privilegiam os compartilhadores para impedir a ação dos sugadores.

Ou seja, quanto mais pessoas semeando um arquivo, melhor, porque o computador baixará o arquivo de diversos computadores diferentes, como se fossem diversos servidores diferentes, e se a velocidade da internet dos peers for rápida, o arquivo será baixado ainda mais rapidamente.

Uma dica: cuidado. Sempre verifique se o arquivo não é um vírus ou um arquivo que parece ser o que você procura, mas na verdade não é.

Abaixo, um pequeno dicionário para resumir os termos do BitTorrent:
  • BitTorrent - protocolo para compartilhamento de arquivos .torrent via P2P.
  • Torrent - arquivo que contém informações sobre o arquivo original, para direcionar o usuário a esse arquivo.
  • Hash - A identificação de cada bloco do arquivo. O arquivo é dividido em blocos de 256kb, por isso é possível baixar o arquivo de diversos computadores. Essa identificação prova que o arquivo é o que ele alega ser.
  • Tracker - Servidor que aseggura a comunicação entre os peers, para que um peer comece o download. O tracker contém informações sobre os usuários que estão baixando o arquivo e sobre a localização do arquivo e de seus blocos.
  • Peer - Computador que faz a comunicação P2P. Ele é ao mesmo tempo um cliente e um servidor, porque enquanto ele possuir uma parte do arquivo ou o arquivo inteiro, ele será um dos servidores do arquivo, e quando ele estiver baixando esse ou outro arquivo, ele será um cliente.
  • Seed - Computador que semeia o arquivo. Ele é o que contribui para que o arquivo fique vivo.
  • Sugador (Leech) - Computador que apenas baixa o arquivo sem semeá-lo. Leech também pode ser usado para indicar as pessoas que estão baixando o arquivo.
  • Swarm - Esse termo não foi mencionado no post, mas caso você o encontre por aí, swarm é o conjunto dos computadores que contém o arquivo e podem enviar e receber informações.
Então, vemos que o funcionamento do torrent não é tão complicado, ele possui apenas alguns detalhes um pouco difíceis de serem compreendidos. O que importa é que você baixa o arquivo e fica feliz com ele. Mesmo assim, é importante conhecer o funcionamento disso tudo.

Eu não pretendo incentivar a pirataria com esse post, apenas estou explicando o funcionamento de um tipo de arquivo muito importante e comum nos dias de hoje.

Reforçando o que já foi dito: no post estão links para baixar os dois programas mais comuns e importantes para o download desse tipo de arquivo.

Qualquer dúvida, contate o Tecnologite ou comente abaixo do post.

0 comments:

Postar um comentário