Como funciona o “Force Re-check”?

7

Eu uso o uTorrent há muito tempo. Eu usei seu recurso de "força de verificação" inúmeras vezes. Toda vez que me surpreende como o uTorrent detecta com sucesso quais partes do arquivo foram baixadas e quais partes ainda precisam ser baixadas. Ele os verifica mesmo se você não estiver conectado à internet; então presumo que não faça download de dados da internet para fazer essa verificação.

Por favor, você pode me explicar como funciona esse recurso de "forçar verificação". Eu acho que um hash para cada pedaço é mantido no arquivo .torrent; mas não tenho certeza, é apenas um palpite. Eu procurei no Google com palavras-chave "formato de arquivo torrent" para encontrar o formato de arquivo de arquivos .torrent, mas em vez disso, ele retornou um monte de resultados de pesquisa de torrent. Então o Google não é meu amigo dessa vez. Por favor, explique para mim.

    
por hkBattousai 15.11.2012 / 14:22

1 resposta

4

Pelo que entendi, o arquivo torrent contém um hash para cada parte do arquivo que você está baixando. Ele simplesmente verifica os hashes para cada peça que você acha que tem, contra a lista de verificação. Assim como quando você faz o download de um torrent, qualquer parte que não corresponda é descartada.

Mais detalhadamente, com base nas especificações de bitorrent , você tem o arquivo baixado, 'comprimento de peça' e ' peças'. O comprimento de uma peça é o tamanho de cada peça, e as peças são simplesmente a soma sha1 de cada peça, anexada à peça anterior para formar uma longa sequência.

Para simplificar as coisas, vamos supor que você pré-alocou o arquivo e, basicamente, você tem um grande arquivo 'preenchido' de tamanho igual ao seu arquivo de origem. Primeiro, baseado no comprimento da peça, o programa obtém os primeiros n bits do arquivo e faz uma soma SHA1. Em seguida, compara a soma SHA1 do arquivo com a parte correspondente de 'partes'. Se eles combinam, estamos bem. Mais, é marcado como não bom e descartado.

    
por 15.11.2012 / 14:39