|
|
PRATIQUE ALGO/METHODES |
|
|
|
Expliquez-moi... Le fonctionnement du protocole BitTorrent |
|
Grâce à une idée simple mais très efficace, ce logiciel Open Source est devenu le protocole le plus utilisé pour la diffusion efficace de fichiers lourds.
(27/01/2006) |
|
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
BitTorrent est probablement le protocole d'échange de fichiers
qui a connu la plus grosse progression ces dernières années - il est
estimé qu'entre 50 et 80 % des transferts de données sur
Internet se font aujourd'hui selon ce protocole. C'est également
l'un des protocoles les mieux conçus, ainsi que le premier sans
doute à être reconnu par les éditeurs de produits culturels.
Partager la bande passante
Le
principe des systèmes peer-to-peer est de partager la bande
passante nécessaire au téléchargement d'un fichier entre tous
les utilisateurs d'un réseau.
Plus le fichier est partagé par
un grand nombre d'utilisateurs, moins un utilisateur donné sera
responsable pour sa distribution. De nombreux systèmes ont été
mis au point pour gérer au mieux le nombre d'utilisateurs,
mais dans la réalité la charge n'était que rarement vraiment
partagée. Les systèmes Gnutella et Fasttrack en sont un exemple,
mais n'ont jamais véritablement "pris".
Seeders, trackers, leechers
Le système
BitTorrent tente de rendre le système proche de l'idéal : le
fichier à partager est divisé en unités beaucoup plus petites
(généralement, 256 Ko), et le serveur d'origine (ou "seed",
graine) n'aura le plus souvent à partager chaque unité qu'une
seule fois. Chaque ordinateur ayant téléchargé une unité
peut à son tour partager cette unité avec d'autres ordinateurs.
Chaque client devient également seed, et le serveur d'origine
voit ses requêtes grandement baisser : les clients se partagent
le fichier entre eux, sans relation avec la source première.
Les grands bénéficiaires sont ceux qui partagent de lourds fichiers,
comme les
distributions Linux dont les .iso
atteignent facilement les 700 Mo, et sont demandés par beaucoup
dans un laps de temps assez court.
Si les différents clients se contactent directement pour télécharger
précisément l'unité disponible, il faut une méthode pour qu'ils
se connaissent. Cette méthode repose sur l'usage d'un serveur
central, appelé un "tracker". Celui-ci prend en charge
la coordination entre les divers clients : les seeders
(qui partage une ou plusieurs seeds) et les "leechers"
(les demandeurs). Nombreux sont les trackers aujourd'hui
sur Internet, souvent dédiés à un thème, parfois illégaux.
Le fichier .torrent
De point de vue du leecher, le principe est simple :
il va sur un tracker, cherche et trouve le fichier qu'il
veut, et lance le téléchargement du fichier .torrent
qui lui est associé. Si le logiciel compatible BitTorrent installé
sur sa machine est bien configuré, il commencera directement
à chercher à contacter les seeders disponibles. Sinon,
il attendra qu'un seeder se connecte.
Le plus gros du travail est réalisé par celui qui fournit le
fichier en premier, la première seed. Celui prend en
charge la création du .torrent,
ainsi que le premier téléchargement du fichier complet.
Le .torrent contient toutes
les métadonnées relatives au fichier à télécharger :
nom du fichier, taille, empreinte hash de chaque unité,
adresse du tracker, ... C'est un fichier binaire engendré
à partir du fichier complet, avec un outil idoine, comme MakeTorrent,
et stocké par le tracker. A noter qu'un .torrent
peut également être produit à partir d'un dossier, dont tout
le contenu sera alors partagé.
|
Forum |
|
Réagissez
dans les forums
de JDN Développeurs
|
Une fois le .torrent envoyé sur un tracker,
le seeder originel télécharge ce .torrent
en pointant son logiciel vers le fichier ou dossier à partager,
et le logiciel commencera à rendre les unités disponibles au
grand public. Certains logiciels peuvent être réglés afin
de ne partager une unité qu'une seule fois : ainsi, au besoin,
une distribution Linux peut n'avoir à partager qu'une seule
fois un fichier ISO, et laisser les autres clients partager
l'ensemble entre eux. De leur côté, les clients
téléchargent en priorité les unités
les plus rares, afin d'en accroître la disponibilité. |
|
|