1 votes

Comment obtenir l'ordre exact des morceaux téléchargés par un client bittorrent ?

Pour en savoir plus sur le téléchargement de torrents, j'ai utilisé wireshark pour capturer les paquets transférés pendant le téléchargement. J'ai pu constater qu'un fichier est divisé en plusieurs morceaux provenant de différents pairs. En outre, un seul morceau est transmis sous la forme de plusieurs morceaux de taille égale. L'identifiant et la longueur du morceau sont les informations disponibles pour identifier les morceaux.

J'ai pu faire transférer les identifiants des différentes pièces. Mais maintenant, comment puis-je réorganiser ces pièces dans le bon ordre ? L'identifiant de la pièce a-t-il une quelconque importance à cet égard ?

En outre, Comment les clients torrent réassemblent-ils et stockent-ils les morceaux ? traite des valeurs de hachage. Où puis-je obtenir ces valeurs à partir des paquets capturés à l'aide de wireshark ?

1voto

KTetch Dureek Points 162

Ok, simplifions les choses.

Supposons que vous ayez un torrent de 100 Mb. Vous pourriez le diviser en 100 morceaux de 1 Mo (numérotés de 0 à 99), mais il n'est pas nécessaire qu'il soit de 1 Mo, il peut être aussi petit que 64 Ko ou aussi grand que 16 Mo, et il est généralement (mais pas toujours) d'une puissance de deux. Chacune de ces pièces est composée de morceaux. Chaque morceau a une taille de 16 kb. Un chunk est la plus petite quantité de données qu'un client torrent traite (avec un morceau de 1 Mo, il y a 64 chunks).

Un client peut demander n'importe quel morceau, à partir de n'importe quelle pièce, à n'importe quel pair qui a annoncé qu'il possédait cette pièce.

Une fois que le client dispose de tous les morceaux d'une pièce, il vérifie cette pièce combinée par rapport au hachage SHA1 de cette pièce dans le fichier torrent (pour répondre à la dernière question). S'il réussit, il est enregistré et marqué comme "have" pour que d'autres personnes puissent le demander, sinon il est rejeté.

Alors oui, sans connaître l'identifiant de la pièce, comment savoir de quelle pièce elle provient, et donc comment la regrouper avec le reste de la pièce, puis la comparer au hachage, et enfin l'enregistrer ?

0voto

Jackzz Points 113

L'identification des pièces a une importance dans le réarrangement des pièces. Pour m'en assurer, j'ai créé mon propre torrent à partir d'un petit fichier et je l'ai divisé en 10 morceaux. J'ai ensuite téléchargé le même torrent à partir d'un autre système et j'ai noté l'ordre dans lequel les morceaux ont été téléchargés. En même temps, j'ai capturé les paquets à l'aide de wireshark. Une fois le téléchargement terminé, j'ai vérifié le have Les messages diffusés par le client et les identifiants des pièces dans les messages étaient dans le même ordre que celui dans lequel ils ont été téléchargés. Puisque je ne suis pas concerné par les valeurs de hachage pour l'instant, cela résout ma question.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X