Visão geral de como o bittorrent funciona:
-
Você tem pares e rastreador . Todos os pares juntos em qualquer momento são os swarm . A situação normal é que um ou alguns pares tem o conjunto de arquivos completo e deseja disponibilizá-lo para outros colegas.
-
Um par adquire um arquivo .torrent, que terá entre outras coisas: A) o hash SHA-1 do conjunto de arquivos, B) a URL do rastreador e C) o número de partes que o arquivo é quebrada, assim como um hash SHA-1 de cada peça. O tamanho das peças é determinado pela própria torrente.
-
O peer se conecta ao rastreador usando o URL especificado no torrent. O rastreador responde com uma lista de pares. Rastreadores falam HTTP pela porta 80 ou 443.
-
O peer seleciona outro peer, usando as informações do rastreador, e o contata diretamente para configurar uma sessão de troca, tentando obter uma peça. Note que as sessões de troca são feitas diretamente pelos pares e o rastreador NÃO está envolvido na transferência. O rastreador só fornece informações.
-
Quando o peer tiver uma parte, ela a verifica no hash SHA-1 e a grava no arquivo. Ele pode oferecer essa peça ao selecionar outro par. Sessões de troca subseqüentes envolvem peças "negociadas". Acredito que os colegas geralmente só lhe darão a primeira peça se você não tiver outras peças.
-
O par reconsulta o rastreador de vez em quando para obter uma lista atualizada de colegas. O peer não precisa esperar que uma troca termine antes de iniciar outra, se ela tiver várias partes, então, assim que o par tiver um monte de peças, a transferência pode realmente acelerar. É por isso que os torrents começam devagar, mas ganham velocidade rapidamente à medida que o par adquire peças.
-
Quando um par possui todas as partes, o arquivo inteiro é verificado em relação ao hash SHA-1 do conjunto de arquivos. Então, ele se torna um semeador e agora não está fazendo nada além de ajudar o conjunto de arquivos a ser mais altamente disponível. Pares que não têm todas as peças são leechers .
-
Se uma torrente não tiver sementes, ela estará morta, embora, se houver uma cópia completa do arquivo entre todas as partes mantidas por todos os pares, elas eventualmente serão negociadas para obter uma cópia completa entre si.
-
O hash SHA-1 é como o rastreador e os pares "sabem" qual arquivo deve ser invadido. Nomes de arquivos na torrente não são usados para identificar os dados. Peças que não são verificadas contra os hases do arquivo .torrent são descartadas. Pares que continuamente enviam peças ruins são esnobados por outros colegas e acabarão não conseguindo se conectar a ninguém no enxame.
-
Um tamanho de peça menor significa que o torrent é mais robusto, pois os colegas podem trocar itens mais rapidamente, mas também significa que mais hashes de peças no arquivo .torrent devem ser listados e, portanto, o arquivo .torrent pode ser grande.
-
Se você está publicando algo via BitTorrent, é melhor distribuir o arquivo contanto que você deseje disponibilizá-lo. Outros colegas o ajudarão, já que a maioria do software BitTorrent implementa algoritmos que favorecem a tentativa de espalhar coisas entre o maior número possível de pares para maximizar as conexões concomitantes. Desta forma, o BitTorrent pode ajudá-lo a publicar coisas e economizar custos de largura de banda.