Comment les clients torrent rassemblent-ils et stockent-ils les pièces?


9

Je me demandais, comment les morceaux téléchargés par les clients torrent sont-ils stockés et réassemblés? Utilisent-ils des métadonnées? Il semble que ce ne soit pas le cas car on peut les lire s'il s'agit de fichiers à moitié formés? Je ne sais pas comment cela se fait? Donc, fondamentalement, je demande comment sont organisées les pièces du fichier téléchargé? Est-ce juste du premier au dernier, ou y a-t-il des espaces tampons entre les deux?


Existe-t-il un moyen de télécharger des pièces à moitié téléchargées après avoir revérifié?. Ma connexion est comme une connexion à distance ...... Alors, s'il vous plaît, aidez-moi.

Réponses:


19

Bienvenue dans le monde merveilleux de Torrents! Il y a quelques morceaux qui composent le protocole Bittorrent: vous avez votre fichier, legalthing.iso et vous souhaitez le distribuer au plus grand nombre. Vous créez donc un fichier "torrent", qui décrit legalthing.iso, et vous distribuez le fichier torrent via un site Web ou de toute autre manière que vous souhaitez. Le fichier torrent peut pointer directement vers votre ordinateur (et vous agiriez comme la graine) ou le fichier torrent peut pointer vers un "tracker", qui est un serveur qui connecte les "graines" (les utilisateurs avec tout legalthing.iso fichier déjà) et «pairs» (utilisateurs qui téléchargent activement le fichier).

Se rapprocher de votre question maintenant. Le fichier lui-même, legalthing.iso, est haché cryptographiquement afin que chaque personne qui lit le fichier torrent et commence à télécharger legalthing.iso puisse vérifier chaque pièce par rapport au hachage et s'assurer qu'elle ne télécharge pas une pièce qui a été modifiée par rapport à l'original. Les pièces qui échouent aux vérifications de hachage sont jetées.

Imaginez maintenant que vous êtes un ordinateur téléchargeant un fichier, en utilisant Bittorrent. Le protocole peut fonctionner de deux manières, soit vous téléchargerez des morceaux aléatoires du fichier, soit vous téléchargerez d'abord les morceaux les plus rares. Cette dernière approche consiste à augmenter la «santé» globale (disponibilité) du torrent.

Alors, que contient le fichier torrent? Cela varie en fonction du client utilisé pour le faire, mais généralement il contient une section "annonce" qui est l'adresse du tracker que vous utilisez, et une grande liste de tous les morceaux du fichier que vous souhaitez télécharger. Chaque pièce est de taille uniforme (32 ko, 512 ko, 4 Mo, vraiment n'importe quelle taille que vous aimez) et chaque pièce est associée à un hachage. Chaque fois qu'un pair obtient un morceau, il compare le hachage pour ce morceau (en utilisant le code de hachage SHA-1) avec le hachage répertorié dans le fichier torrent. C'est comme ça que les pièces sont bonnes.

Étant donné que le fichier torrent répertorie chaque morceau du fichier que vous téléchargez, chaque fois que votre client télécharge avec succès un morceau et le hache, il écrit la pièce à la bonne position sur le disque dur dans le fichier. C'est pourquoi si vous téléchargez un fichier de 1 Go, le client mettra de côté un bloc d'espace vide sur votre disque d'une taille de 1 Go, pour accueillir les morceaux de torrent que vous téléchargerez.

Maintenant, certains lecteurs vidéo et autres visionneuses de fichiers peuvent gérer les fichiers "corrompus". bien sûr, un torrent à moitié téléchargé n'est pas corrompu, mais il manque des morceaux et pour un programme comme VLC, il semble juste cassé. VLC fera donc de son mieux pour lire toutes les données qu'il peut trouver et c'est pourquoi ils peuvent jouer lorsqu'ils sont partiellement téléchargés.

Il y a des aspects beaucoup plus compliqués (google DHT, tampon d'écriture torrent, toutes ces choses amusantes) mais c'est les bases du fonctionnement de Bittorrent.


Wow, c'est une réponse très complète ... mais je n'ai jamais remarqué qu'il mettait vraiment de côté un fichier de 1 Go? Il semble que ça croît progressivement?
Cenoc

1
@Cenoc dépend du client torrent, certains clients pré-allouent, d'autres non, certains ont des préférences supplémentaires à pré-allouer
Sathyajith Bhat

Intéressant, donc au début, est-ce juste un fichier rempli de '0', puis lorsque le fichier partiellement téléchargé est vérifié pour la première fois, il est comparé aux hachages?
Cenoc

1
C'est un conteneur vide pour le fichier complet éventuel, et comme chaque pièce est téléchargée par le client, elle est vérifiée par rapport au hachage, puis placée à l'endroit approprié dans le conteneur jusqu'à ce que le fichier complet soit complet.
geodave

1
Comme Sathya l'a mentionné, cela dépend du client. Certains pré-alloueront un espace sur votre disque dur pour l'ensemble du fichier; il réservera un tas d'espace, et d'autres programmes ne pourront pas utiliser cet espace sur le lecteur, jusqu'à ce que votre fichier soit téléchargé. D'autres clients bittorrent placeront les pièces terminées dans un emplacement de stockage temporaire pour économiser sur l'espace disque, puis assembleront le fichier complet une fois que toutes les pièces auront été téléchargées. Cela dépend des paramètres que vous choisissez.
geodave
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.