Como funciona o BitTorrent

Autor: 
Carmen Carmack

Cortesia de BitTorrent, Inc.

O BitTorrent é um protocolo que possibilita o download de arquivos grandes utilizando um mínimo de largura de banda da Internet. Não custa nada utilizá-lo e não contém spyware ou anúncios pop-up.

Diferente de outros métodos de download, o BitTorrent maximiza a velocidade de transferência juntando partes do arquivo que você quer e baixando essas partes simultaneamente de pessoas que já os possuem. Esse processo torna o download de arquivos muito grandes e populares, como vídeos e programas de televisão, muito mais rápido do que com outros protocolos.

Neste artigo, veremos como funciona o BitTorrent e como ele é diferente dos outros métodos de distribuição. Além disso, você irá aprender como utilizar o BitTorrent e o que o futuro pode reservar para essa abordagem inovadora de compartilhamento de arquivos na internet.

O idioma do BitTorrent
Como a maioria dos fenômenos na internet, o BitTorrent tem seus próprios jargões. Alguns termos mais comuns são:
  • sanguessugas (leeches) - pessoas que baixam arquivos mas não os compartilham com outros;
  • semeador (seed ou seeder) - um computador com uma cópia completa de um arquivo BitTorrent (é necessário pelo menos um computador "seed" para que o download de um BitTorrent funcione);
  • enxame (swarm) - um grupo de computadores enviando (upload) ou recebendo (download) o mesmo arquivo simultaneamente;
  • .torrent - um arquivo indicador que direciona seu computador para o arquivo que você deseja baixar;
  • rastreador (tracker) - um servidor que gerencia o processo de transferência de arquivos BitTorrent.

Download tradicional cliente-servidor
Para entender como funciona o BitTorrent e por que ele é diferente de outros métodos de compartilhamento de arquivos, vejamos o que acontece quando você baixa um arquivo de um site. Funciona assim:

  • você abre uma página e clica em um link para realizar o download de um arquivo para o seu computador;
  • o navegador do seu computador (o cliente) passa um comando ao servidor (um computador central que comporta a página e o arquivo que você deseja baixar) para que transfira uma cópia do arquivo para o seu computador;
  • a transferência é administrada por um protocolo (um conjunto de regras), como o FTP (File Transfer Protocol - Protocolo de Transferência de Arquivo) ou HTTP (HyperText Transfer Protocol - Protocolo de Transferência de Hipertexto).


Processo de download cliente-servidor

A velocidade de transferência é afetada por uma série de variáveis, incluindo o tipo de protocolo, a quantidade de tráfego no servidor e a quantidade de outros computadores que estão fazendo o download do arquivo. Se o arquivo for grande e popular, a demanda no servidor será grande e o download ficará lento.

Para mais informações sobre servidores da web e download cliente-servidor tradicional, veja Como funcionam os servidores da web.

Transferência de arquivo peer-to-peer (P2P)
Outro método de transferência de arquivo que você pode já ter ouvido falar é o peer-to-peer (transferência ponto-a-ponto). Nesse processo, utiliza-se um software (ao invés do seu navegador) para localizar computadores que possuem o arquivo que você deseja. Esses computadores, normais como o seu e diferentes de servidores, são chamados "peers". O processo funciona assim:

  • você roda um software de compartilhamento de arquivos peer-to-peer (um programa Gnutella, por exemplo) no seu computador e envia uma solicitação para o arquivo que você deseja baixar;
  • para localizar o arquivo, o software consulta outros computadores que estão conectados à internet e rodando o software de compartilhamento de arquivos;
  • quando o software encontra um computador que possui o arquivo que você quer, o download é iniciado;
  • outros computadores utilizando o software de compartilhamento de arquivos podem obter os arquivos que desejam do disco rígido do seu computador.


Processo de download peer-to-peer Gnutella

A carga de transferência é distribuída entre os computadores que contêm o arquivo, mas transferências e buscas de arquivos entre o seu e outros computadores podem causar engarrafamento. Algumas pessoas baixam arquivos e imediatamente desconectam, não permitindo que outras pessoas obtenham arquivos do seu sistema, o que é chamado leeching. Isso limita o número de computadores onde o software pode realizar buscas por arquivos requisitados.

Para mais informações sobre compartilhamento de arquivos e download peer-to-peer, veja Como funciona a rede de compartilhamento de arquivos Gnutella?

O que o BitTorrent faz
Diferente de outros métodos de download peer-to-peer, o BitTorrent é um protocolo que descarrega parte do trabalho de rastreamento para um servidor central (chamado de tracker - rastreador). Uma outra diferença é que ele utiliza um princípio chamado olho por olho. Isso significa que, para receber arquivos, deve-se também fornecê-los. Isso resolve o problema de leeching, um dos principais objetivos do desenvolvedor Bram Cohen (em inglês). Com o BitTorrent, quanto mais arquivos você compartilhar, mais rápidos serão os seus downloads. Por fim, para fazer melhor uso da largura de banda da internet disponível (o canal para a transmissão de dados), o BitTorrent baixa diferentes partes do arquivo que você deseja, simultaneamente, de diversos computadores.

Eis como ele funciona:


Processo de download peer-to-peer BitTorrent
  • você abre uma página e clica em um link para o arquivo que você deseja;
  • o cliente BitTorrent comunica-se com um tracker para encontrar outros computadores rodando o BitTorrent que possuam o arquivo completo (computadores seed ) a partes do arquivo (peers que normalmente também se encontram no processo de download);
  • o tracker identifica o swarm (enxame), que são os computadores conectados que possuem todo ou parte do arquivo e estão em processo de enviar ou receber;
  • o tracker auxilia o cliente a trocar partes do arquivo que você deseja com outros computadores na cadeia de compartilhamento. Seu computador recebe diversas partes do arquivo simultaneamente;
  • se você continuar rodando o cliente BitTorrent depois que o seu download for concluído, outras pessoas podem receber arquivos.torrent do seu computador; as taxas dos seus downloads futuros irão melhorar, já que você estará melhor classificado no sistema "olho por olho".

Baixar partes do arquivo ao mesmo tempo ajuda a resolver um problema comum que ocorre com outros métodos peer-to-peer: os peers realizam upload a uma taxa muito menor do que realizam download. Baixando diversas partes ao mesmo tempo, a velocidade geral é muito melhorada. Quanto mais computadores envolvidos no swarm, mais rápida é a transferência do arquivo, já que há mais fontes para cada parte do arquivo. Por essa razão, o BitTorrent é especialmente útil para arquivos grandes e populares.