Bittorrent : comment ça fonctionne ?

BitTorrent consomme 12 % du trafic Internet total en Amérique du Nord et 36 % du trafic total dans la région Asie-Pacifique, selon une étude de 2012. Ce protocole est si populaire qu’il a même été la cible de la HADOPI en France qui lutte contre le P2P illégal.

BitTorrent est peut-être connu comme une méthode de piratage, mais il n’est pas réservé aux pirates. En effet, il s’agit d’un protocole peer-to-peer décentralisé, qui présente des avantages significatifs par rapport à d’autres protocoles dans de nombreuses situations.

Dans cet article, nous vous proposons de découvrir comment fonctionne le protocole BitTorrent et pourquoi il ne s’agit pas juste d’un outil de piratage.

Comment fonctionne le protocole BitTorrent ?

Le protocole BitTorrent est un protocole développé pour permettre le partage décentralisé de fichiers. Dans cette partie vous allez découvrir comment fonctionne ce protocole et quels sont les fonctions que remplissent les nœuds dans les communautés BitTorrent.

Le modèle décentralisé en BitTorrent

Réseau avec un serveur central
Réseau avec un serveur central avec le modèle DDL

Lorsque vous visitez une page web comme celle-ci, votre ordinateur se connecte au serveur Web et télécharge les données directement depuis celui-ci. Chaque ordinateur qui télécharge les données les télécharge à partir du serveur central de Mistergeek. C’est ainsi que fonctionne une grande partie du trafic sur le web. D’un côté il y a les serveurs et de l’autre les clients.

Réseau avec un modèle pair-à-pair
Réseau sans serveur central selon le modèle P2P

BitTorrent est un protocole peer-to-peer, ce qui signifie que les ordinateurs d’une communauté BitTorrent (un groupe d’ordinateurs téléchargeant et envoyant les mêmes données) transfèrent des données entre eux sans avoir besoin d’un serveur – du moins en théorie.

Traditionnellement, un ordinateur rejoint une communauté BitTorrent en utilisant un fichier .torrent dans un client BitTorrent (exemples : uTorrent, Vuze, etc.). Le logiciel contacte un « tracker » spécifié dans le fichier .torrent. Dès lors, le tracker met en relation les clients en relation entre eux. Pour apporter des précisions, le tracker est un serveur spécial qui garde la trace des ordinateurs connectés. Ainsi, le tracker partage les adresses IP avec les autres clients BitTorrent de la communauté, permettant ainsi la création d’un essaim.

Une fois connecté, le client BitTorrent télécharge des (petits) morceaux des fichiers du torrent par petits morceaux, téléchargeant tout ce qui est possible. Une fois que le client BitTorrent dispose de suffisamment de données, il peut commencer à les envoyer vers les autres clients BitTorrent de la communauté. De cette façon, toute personne téléchargeant un torrent est également en train de partager le même torrent. Cela accélère la vitesse de téléchargement de l’ensemble de la communauté. Si plusieurs milliers de personnes téléchargent le même fichier, le serveur central n’est pas soumis à une forte charge. Au contraire, chaque utilisateur du réseau contribue à la bande passante de téléchargement des autres utilisateurs qui téléchargent, ce qui garantit la rapidité dans le réseau.

Il faut noter que les clients BitTorrent ne téléchargent jamais de fichiers à partir du serveur lui-même. Le tracker au réseau et à la communauté BitTorrent uniquement en assurant le suivi des clients possédants les fichiers. Le serveur ne fait que transférer les informations entre les utilisateurs.

Leechers et Seeders

Les utilisateurs qui téléchargent à partir d’un réseau BitTorrent sont communément appelés « leechers » ou « peers ». Les utilisateurs qui restent connectés au réseau BitTorrent même après avoir téléchargé le fichier complet, en contribuant davantage à la bande passante de téléchargement, afin que d’autres personnes puissent continuer à télécharger, sont appelés « seeders « . Aussi cela contribue à l’augmentation du ratio sur un tracker BitTorrent privé (ex. YggTorrent). Pour qu’un torrent puisse être téléchargé, un seeder – qui possède une copie complète de tous les fichiers du torrent – doit initialement rejoindre l’essaim pour que les autres utilisateurs puissent télécharger les données. Si un torrent n’a pas de seeders, il ne sera pas possible de le télécharger – aucun utilisateur connecté ne possède le fichier complet.

Les applications récompensent les autres clients qui téléchargent, préférant envoyer des données aux clients qui contribuent à une plus grande largeur de bande de téléchargement plutôt que d’envoyer des données aux clients qui téléchargent à une vitesse très lente. Cela accélère les temps de téléchargement pour l’ensemble de l’essaim et récompense les utilisateurs qui contribuent le plus à la bande passante de téléchargement.

Avec ou sans tracker : le protocole DHT

Synchronisation par DHT sur BitTorrent
DHT permet de passer de tracker pour synchroniser la communauté dans le réseau

BitTorrent a évolué au fil des années jusqu’à pouvoir proposer un système totalement décentralisé « sans tracker ». Cela permet aux logiciels de communiquer entre eux sans avoir besoin de serveurs centraux. Les applications BitTorrent (comme uTorrent) utilisent pour cela la technologie de table de hachage distribuée (DHT – Distributed Hash Table), chaque client BitTorrent fonctionnant alors comme un nœud DHT. Lorsque vous ajoutez un torrent à l’aide d’un lien « magnet », le nœud DHT contacte les nœuds voisins et ces derniers contactent d’autres nœuds jusqu’à ce qu’ils trouvent les informations sur le torrent.
Comme l’explique la spécification du protocole DHT, « chaque pair devient un tracker ». En somme, cela signifie que les clients n’ont plus besoin d’un serveur central pour gérer une communauté. Au lieu de cela, BitTorrent devient un système de transfert de fichiers peer-to-peer entièrement décentralisé.

Les cas d’usage du protocole BitTorrent

Client de Starcraft 2 utilisant le protocole BitTorrent pour le téléchargement de jeu vidéo
Starcraft II utilise BitTorrent pour synchroniser ses fichiers

BitTorrent n’est pas qu’un protocole réservé au piratage. Activision-Blizzard utilise un client intégré personnalisé pour distribuer les mises à jour de ses jeux. C’est notamment le cas sur World of Warcraft, StarCraft II et Diablo 3, ainsi que les jeux du client Battle.net. D’ailleurs, cela permet d’accélérer les téléchargements pour tout le monde en permettant aux gens de partager leur bande passante de téléchargement avec d’autres, en utilisant la bande passante inutilisée pour accélérer les téléchargements pour tout le monde. Bien entendu, cela permet également à Blizzard d’économiser de l’argent sur ses factures de bande passante. Microsoft fait également de même depuis Windows 10 avec la distribution pair-à-pair.

Les gens peuvent utiliser le protocole et le réseau pour distribuer des fichiers volumineux à un grand nombre de personnes sans payer la bande passante de l’hébergement Web. Un film, un album de musique ou un jeu gratuit peut être hébergé sur BitTorrent, ce qui permet une méthode de distribution facile et gratuite où les personnes qui téléchargent le fichier contribuent également à sa distribution. WikiLeaks a distribué des données via BitTorrent, soulageant ainsi considérablement ses serveurs. Les distributions Linux utilisent ce système pour aider à distribuer leurs images de disque ISO. De plus, il y a aussi Sci-Hub, qui s’est mis à partager ses articles scientifiques en torrent pour un total de 55 To de données.

BitTorrent Inc – la société responsable du développement du protocole BitTorrent, qui a également acheté le populaire client torrent µTorrent – développe une variété d’applications qui utilisent le protocole P2P pour de nouveaux usages via leur projet BitTorrent Labs en plus dernièrement de miner de la cryptomonnaie. Les expérimentations de BitTorrent Labs comprennent une application qui synchronise en toute sécurité des fichiers entre plusieurs ordinateurs en les transférant via BitTorrent, mais aussi BitTorrent Live, qui utilise le protocole BitTorrent pour aider à diffuser des vidéos en direct et en continu. En exploitant la puissance du réseau pour diffuser des vidéos en direct à un grand nombre de personnes cela permet de revoir à la baisse les exigences actuelles en matière de bande passante.

Le fonctionnement de BitTorrent

Cette partie reprend l’explication initiale du protocole sur Mistergeek.net. Même si cette partie n’est plus à jour elle complète tout de même la première partie qui est très théorique.

Avant de se plonger dans l’article, vous devez savoir qu’un site de téléchargement BitTorrent, s’appelle plus communément dans le monde du hacking, un « tracker« . Si le nom de « tracker » a été donné à ces sites, c’est tout simplement parce que le protocole s’est construit autour de celui-ci. Ils ont pour fonction de suivre les torrents, les utilisateurs partagent et ceux qui veulent télécharger. Ici pas d’espionnage, comme on pourrait le penser en lisant ce nom, mais un simple suivi de fichiers.

Si vous souhaitez comprendre le fonctionnement d’un réseau Bittorrent vous pouvez vous rendre sur : http://mg8.org/processing/bt.html . Vous aurez une très belle animation du partage P2P.

Un tracker BitTorrent recense des méta-fichiers dans lesquelles se retrouve une liste des fichiers qui doivent être partagés. Ainsi un méta-fichier en « .torrent » peut contenir plusieurs URL de trackers. Ce qui nous place un peu plus dans le domaine du P2P – comprenez Peer-To-Peer ou pair à pair.

Ce méta-fichier, lorsque vous allez l’ouvrir à l’aide de votre client (uTorrent, qBittorrentSeedr, etc.) va contacter les trackers afin de récupérer une liste des utilisateurs qui partagent le contenu. Il va également vous permettre à votre tour de télécharger. Vous comprenez ainsi que, plus il y a d’utilisateurs qui partagent (c’est-à-dire des « seeders »), plus le débit que vous aurez en téléchargement sera élevé. À l’inverse les « leechers », sont les personnes n’ayant pas encore téléchargé totalement le fichier.

Le plus grand avantage du BitTorrent face au DDL est bien la vitesse de téléchargement. Elle ne dépend pas de la capacité des serveurs de l’hébergeur voir de la bande passante attribuée, mais bien du nombre de seeders. Le BitTorrent possède encore beaucoup d’avantages. Par exemple, un fichier n’est perdu que si les seeders arrêtent tous le partage ou si tous les trackers dont dépend le meta-fichier « .torrent » tombent sous le coup de la justice – pour ne pas dire de Hadopi. En clair avec le BitTorrent, vous n’avez pas à craindre les liens morts et vous n’aurez pas à vérifier que toutes les parties de votre fichier soient bien disponibles ou non corrompu. Le protocole le fait pour vous, au fur et à mesure du téléchargement.

En résumé

Le protocole BitTorrent offre beaucoup de souplesse – bien plus que le DDL. Il permet même de  garantir une durée de vie bien supérieure et la disponibilité de vos fichiers. Le Bittorrent vous permet également une montée en débit proportionnelle au nombre de personnes connectées au réseau. En claire, préférez toujours le Bittorrent au DDL et n’oubliez pas d’utiliser un VPN pour vous protéger de Hadopi.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Articles qui pourraient vous intéresser