Bittorrent

De Wiki de la communauté Mandriva.


Bittorrent est un protocole peer to peer (p2p) qui permet le téléchargement de données. Il est particulièrement utilisé pour la distribution de très gros fichiers comme, dans le cas présent, les ISOs mandriva. A la différence d'un accès par FTP, pour lequel vous dépendez de la bande passante disponible et du nombre de personnes en train de télécharger en même temps que vous, les utilisateurs de BitTorrent téléchargent directement depuis et vers les autres utilisateurs. De cette manière, vous devriez éviter les serveurs FTP surchargés à l'occasion de la sortie d'une nouvelle distribution Mandriva. Vous pourrez également vous procurer les nouvelles ISOs avant qu'elles ne soient accessibles au grand public grâce à vos fichiers torrent club.

L'utilisation de BitTorrent permettra en outre à Mandriva de réduire ses coûts d'achat de bande passante et de matériel dédié au FTP. Plus vous serez nombreux à régulièrement mettre à disposition votre capacité de téléchargement, plus ceux-ci seront rapides pour tout le monde !


Sommaire

Description

Veuillez lire complètement ce guide de manière à connaître la meilleure démarche à suivre en fonction de votre niveau et de votre expérience.

Voici une description succincte de la façon de procéder de bittorent:

D'abord il existe un "tracker", c'est-à-dire un serveur Internet qui maintient une liste d'utilisateurs connectés et partageant le même fichier. Il met notamment à jour le compte des "seeders" (utilisateurs possédant le fichier en entier (seed) et qui le partagent sans télécharger) et des "leechs" (utilisateurs n'ayant pas encore terminé leur téléchargement, mais qui proposent déjà les morceaux du fichier qu'ils ont téléchargé). Le tracker est primordial pour synchroniser et optimiser le réseau formé par les utilisateurs. Vous pouvez le voir fonctionner ici :

Votre programme bittorrent passe donc une partie de son temps, à dialoguer avec le tracker, à trouver d'autres utilisateurs avec qui partager dans un sens ou dans l'autre, à dialoguer avec ces autres clients, à évaluer quels morceaux donner en priorité aux autres par rapport à leur rareté sur le réseau afin que les utilisateurs qui ont des morceaux manquants puissent les trouver facilement, à trouver à quel utilisateur se connecter le plus efficacement, à gérer une liste de clients avec qui se connecter pour ça, etc.

Il se dégage de ces points plusieurs faits importants :

  • La vitesse de votre téléchargement dépendra du temps auquel vous restez connecté. Plus vous restez connecté, plus votre client trouve de clients à qui se connecter et reçoit d'informations du réseau pour optimiser son téléchargement.
  • Bittorrent a besoin de bande passante en plus de la bande passante accordée aux téléchargements pour communiquer avec le réseau formé par les utilisateurs afin d'optimiser le téléchargement global de ce réseau.

Les performances de votre connexion ne seront pas optimales si vous attribuez toute votre bande passante montante (upload) à bittorrent. Il a besoin d'envoyer des informations même quand vous téléchargez.

  • Ainsi, plus vous restez connecté, plus vous contribuez à améliorer les performances de ce réseau global.

Ce point a été démontré par le succès du système des Early Seeders, lequel a permis de corriger l'écueil des débuts difficiles du réseau qui voyait beaucoup d'utilisateurs se déconnecter et se reconnecter, déçus par la vitesse lente du début, et le réseau perdait donc encore plus de temps à optimiser le téléchargement, et donc, la vitesse augmentait encore moins vite qu'elle n'aurait pu.

  • Il est donc primordial de rester connecté une fois reçu le fichier en entier puisque vous devenez alors seeder, c'est-à-dire que vous devenez un point important du réseau de partage, un point qui ne prend plus mais au contraire transmet. On considère que le minimum à faire est de redistribuer autant que vous avez reçu, pour ne pas avoir été une charge pour le réseau.

Installation

De quoi ai-je besoin?

  • Vous devez avoir un fichier torrent *.torrent* contenant les ISOs séléctionnées (cf infra).
  • Vous devez également avoir un *client BitTorrent * (application) qui gèrera le téléchargement.
  • Cela peut paraitre évident mais vous avez également besoin de suffisamment d'espace sur la partition où vous comptez télécharger les données.

(Si vous téléchargez sur une partition Windows, gardez à l'esprit que la taille maximum d'un fichier en FAT32 est de 4GB, ce qui ne sera pas suffisant pour une ISO dvd Powerpack!)


Fichier .torrent

Votre fichier .torrent est disponible à l'adresse suivante: http://club.mandriva.com/xwiki/bin/view/Downloads/MyTorrents. Sélectionnez l'ISO que vous voulez et téléchargez le fichier qui est sous la forme :

gael-Mandriva-Linux-Powerpack-2006-CD-1_4.i586.torrent 

c'est-à-dire :

Identifiant club-Mandriva-Linux-Version téléchargée-CDs (éventuellement).architecture.torrent

Notes sur les fichiers torrents créés par Mandriva pour ses téléchargements :

  • Ce fichier est lié à la fois à votre compte et à votre adresse IP *actuelle*.

Conséquence : si vous vous déconnectez de votre fournisseur d'accès ou du site et que votre adresse IP est allouée dynamiquement par votre FAI (fournisseur d'accés internet), ce fichier deviendra obsolète, et vous devrez en télécharger un nouveau à partir de la page de téléchargement. Ce n'est pas si grave, comme nous allons le voir).

  • Pour les personnes derrière un proxy d'entreprise :

Le système pour créer des fichiers .torrents transparents aux proxys n'est pas disponible pour l'instant. Mais pour la plupart des utilisateurs dans ce cas, il a suffit de télécharger leur torrent sur la même page mais en remplaçant http par https dans l'URL. Ainsi : http://club.mandriva.com/xwiki/bin/view/Downloads/MyTorrents


Client BitTorrent

Vous pouvez utiliser plusieurs clients BitTorrent (cf infra pour les liens) mais pour cet article, nous utiliserons le plus répandu - les derniers RPMS BitTorrent, Azureus et ktorrent.


les RPMs BitTorrent

Pour installer bittorrent-gui, lancez Image:drakrpm-icon.png Installer et désinstaller des logiciels et recherchez le paquet bittorrent-gui.

Sélectionnez-le et cliquez sur Appliquer (Aide).

Vous pouvez également l'installer en utilisant la console en tant qu'administrateur avec la commande suivante : urpmi bittorrent-gui

Azureus

Pour utiliser Azureus, vous devez avoir le dernier paquetage Java installé. Servez vous de votre Gestionnaire de Logiciels et configurez la source *Club Commercial* comme pour *contrib* ci-dessus. Si vous avez les CD ou ISO commerciaux, vous pouvez aussi trouver le paquetage Java dessus (il a même de grandes chances d'avoir déjà été installé : taper "java -version" pour savoir).

Un paquetage d'Azureus est disponible dans la 2007 (il s'installe à partir du MCC, comme tous les paquetages), mais il est possible qu'il ne fonctionne pas sur toutes les configurations. Pour l'utiliser, il faut la JVM de Sun avec lui : c'est le paquetage décrit ci-dessus et éviter les paquetages libres (jamvm, gcj, cacao, ...) qui ont moins de chances de fonctionner avec Azureus. Si le paquetage ne fonctionne pas, utilisez la méthode ci-dessous :

Téléchargez Azureus à partir de Sourceforge

Enregistrez le fichier tar dans le répertoire de votre choix. Utilisez un logiciel avec interface graphique comme *Ark* pour extraire les fichiers dans le répertoire. Si vous préférez la ligne de commande, tapez :

  *tar xvjf Azureus_x.x.x.x_linux...tar.bz2*

Le dossier Azureus sera installé dans le répertoire. Ouvrez le répertoire Azureus et, avec l'interface graphique, double cliquez sur le programme azureus, ou en ligne de commande, allez dans le répertoire contenant Azureus et tapez :

   *./azureus*

une aide pour la configuration sera automatiquement lancée à la première exécution d'Azureus. Quand vous aurez terminé la configuration, vous pourrez ouvrir votre fichier torrent avec Azureus normalement.

Lorsque vous devrez configurer les ports, plus tard, sachez qu'Azureus utilise le port TCP 6881, pas besoin d'ouvrir d'autres ports pour lui. Ce n'est pas vrai avec les autres clients (bittornado, bittorrent, ktorrent, etc...) : ils ont besoin d'autant de ports que l'on ouvre de torrents. Azureus utilise aussi les "bases trackers distribués" fonction qui a été inventée par Azureus pour améliorer la rapidité de recherche des autres clients. Cette fonctionnalité utilise l'UDP sur le port 6881.

Plus d'infos:


Ktorrent

Voir ktorrent

Où puis-je trouver une alternative pour Windows, MacOSX ou Linux?

  • Pour linux

Essayer une recherche avec le terme bittorrent dans votre gestionnaire de logiciels, vous pourrez trouver des alternatives. Mais nous vous recommandons les programmes évoqués dans ces pages.

  • Autres Os

La FAQ BitTorrent est l'endroit idéal pour trouver un autre client BitTorrent.


Configuration et utilisation

Quels sont les ports utilisés pour configurer mon parefeu (firewall) ou mon routeur?

Le port principal est le 6881, bien qu'il y ait une foule de possibilités (configurable dans votre client bittorrent). Cependant, les ports à ouvrir pour être sûr que ça fonctionne sont *la plage de port 6881 à 6889* en entrée vers votre machine (inbound) et les ports *6969, 7070 et 8080 en TCP* en sortie depuis votre machine (outbound).

Si vous utilisez un routeur ou un appareil en mode routeur comme une freebox, veillez à le configurer pour qu'il laisse libres ces ports ou déconnectez le mode routeur le temps de votre téléchargement.

Votre machine sous linux fait aussi office de firewall grâce à shorewall. Cela implique qu'il faut la configurer aussi. Normalement, avec shorewall, la configuration se fait en mode graphique: allez dans le Panneau de Contrôle Mandriva, menu Sécurité, icône Pare-feu (s'il n'apparait pas, activez le mode "expert" dans le menu). Vous pouvez spécifier des plages de ports non standards de cette manière :

  • Cliquez sur le bouton Avancé
  • Spécifiez la plage de ports ainsi : 6881:6889/tcp 6881/udp

En sortie, par défaut, votre machine linux accepte tout, donc pas besoin de configurer les ports en sortie (mais attention à ce que votre routeur laisse passer les ports ci-dessus quand même).

En ligne de commande, vous pouvez faire comme suit : Voici les régles shorewall correspondantes à mettre dans /etc/shorewall/rules : ACCEPT net fw tcp 6881:6889
ACCEPT net fw udp 6881

En général, vous devrez aussi déporter les ports en question (on dit aussi faire du "port-forwarding") depuis le routeur ou le coupefeu. La configuration du routeur est très différente d'un routeur à l'autre, reportez-vous à la documentation de celui-ci ou consultez cette adresse : http://www.ratiatum.com/forum/index.php?showtopic=46422

Ce port est-il ouvert sur mon réseau local?

Vous pouvez vérifier à partir de cette page, si un port (ou un range de ports) est ouvert ou fermé sur votre réseau local: http://sebille.name/openport/


Quelle doit être ma vitesse d'envoi (upload)?

Lorsque vous téléchargez avec BitTorrent, il ne faut pas que l'upload soit supérieur à 70/80 % de la capacité maximale de votre connexion. Mais alors, comment calculer le débit montant pratique à donner? Supposons que vous ayez une connexion 1024/128, c'est à dire un upload potentiel de 128 Kbits/s (128Kb/s), soit 16 KOctets/s (128Kb/s divisés par 8 = 16KB/s). Réglez l'upload BT sur 12 KOctets/s (80% de 16).

Mais gardez à l'esprit que vous serez pénalisé si vous restreignez trop votre capacité d'envoi après tout, il s'agit quand même de peer-to-peer! (c'est à dire que la philosophie est le partage)


Tout est en ordre. Comment télécharger?

  • Ouvrez BitTorrent
  • Ouvrez le fichier .torrent correspondant au fichier que vous voulez télécharger ou partager avec les autres.
  • Réglez le débit montant
  • Laissez la vitesse augmenter patiemment.
  • Pour reprendre un torrent en cours, suivez la même procédure. Il se peut que bittorent prenne un peu de temps à vérifier le fichier avant de lancer le partage. Patience...
  • Pour partager un fichier, il suffit soit de garder le programme bittorrent lancé une fois le fichier complet téléchargé, soit de relancer le programme si vous l'avez arrêté entre temps. Ne déplacez pas vos fichiers téléchargés entre temps si vous ne voulez pas voir relancé *tout* le téléchargement.


Puis-je utiliser un navigateur?

Si vous cliquez sur votre lien .torrent à partir de votre navigateur Konqueror, Firefox, seamonkey, ou opera, le client de gestion de bittorrent Mandriva: *drakbt* sera automatiquement démarré ou une fenêtre de dialogue demandera votre accord pour la lancer. Il lancera ensuite le programme bittorrent en mode graphique automatique si aucun problème ne survient. Cf. au dessus.


Dépannage

Message d'erreur communs

404 Not found

Votre adresse internet a probablement changé depuis que vous avez téléchargé le fichier .torrent.
Vous avez dû vous déconnecter ou être déconnecté par votre FAI ou un problème de connexion. Téléchargez à nouveau le fichier .torrent sur le site Mandriva, votre nouvelle adresse sera dans ce fichier. Azureus est censé éviter cet écueil mais au prix d'une perte de performance.

Votre FAI utilise peut-être un Proxy transparent qui rend votre véritable adresse IP invisible pour BitTorrent. Ceci est *très* courant. Pour régler ce problème, allez à: http://www.mandrivaclub.com/article.php?sid=1271&mode=nocomments et téléchargez le fichier .torrent transparency proxy. (cette fonctionnalité n'est malheureusement plus disponible pour la 2007)

Transférer les données torrent à l'adresse correcte devrait également régler ce problème. Particulièrement indiqué si vous êtes derrière un routeur. Allez à la page d'accueil du Club Torrent : http://club.mandriva.com/xwiki/bin/view/Downloads/MyTorrents et copiez votre adresse IP. Ouvrez une console en tant que root et collez l'adresse IP dans la commande suivante :

iptables -t nat -I PREROUTING -p tcp ––dport 6881:6889 -j DNAT ––to* votre_adresse_IP

Vous pouvez vérifier que votre connexion internet utilise un Proxy sur cette page: http://www.lagado.com/proxy-test


Unable to connect to the tracker

Votre parefeu interdit les connexions au port 6969 ou 7070 ou 8080 (en sortie). Si ce port est bloqué, impossible de télécharger. testez cette page : http://torrent.mandriva.com:6969 (ou 7070 ou 8080).

Si vous n'êtes pas autorisés à ouvrir le port 6969, un serveur mandataire de type 'socks' peut être une solution (ou 7070 ou 8080): http://www.mandrivaclub.com/article.php?sid=1285&mode=nocomments


ISO's are not working

Toute ISO vient avec un fichier *md5sum file* qui contient la 'somme' de l'ISO originale, basée sur un algorithme. Comparez la md5sum sur du fichier avec celle de l'ISO que vous avez téléchargée. Si la md5sum de l'ISO ne correspond pas à celle contenue dans le fichier que vous avez téléchargé avec elle, cela signifie que votre ISO est corrompue. * Ce n'est pas une véritable copie de l'original.

Pensez à toujours vérifier ce que vous avez téléchargé ! Bien que BitTorrent vérifie l'intégrité des fichiers, il est conseillé de vérifier la *md5sum* avant de graver sur CD/DVD.

Allez à http://club.mandriva.com/xwiki/bin/view/KB/isocheck pour plus de détails sur la méthode de vérification des md5sum.

(note : Le logiciel de gravure K3b peut vérifier la md5sum de vos ISOs avant de graver).

Exemples de md5sums : -

132d0fea15e901f4ef7f1a9647a77d49 Mandrakelinux-10.1-Official-Powerpack-CD1.i586.iso


Bad file info

Vous n'avez probablement pas téléchargé votre fichier torrent convenablement. Son nom doit être du type décrit au dessus et avoir 'd8:announce95:' au début du fichier. En cliquant sur les liens fournis par Mandriva, vous devriez éviter ce problème.


J'utilise Mandriva mais je n'arrive pas à installer le paquetage 'bittorrent-gui'

Rendez vous sur le forum d'utilisateur et demandez de l'aide. Utilisez le paquetage bittorrent qui fournit une version en ligne de commande 'ncurses'.

Pour utiliser BitTorrent en ligne de commande, vous devez taper dans une console (mais n'oubliez pas de déclarer votre niveau d'upload!) :

bittorrent-curses –max_upload_rate 12 fichier.torrent*


Import Error-No module named BitTorrent'

Vous rencontrerez ce problème si vous avez remplacé python2.2 par python2.3 (Version antérieure à la 2005). Le module BitTorrent ne sera pas trouvé car le chemin par défaut pour y accéder sera différent. Dans ce cas, vous pouvez régler la variable d'environnement PYTHONPATH dans "/usr/lib/python2.2/site-packages/" (Note : en fonction de la version de votre RPM BitTorrent, mais ça n'est pas dangereux en tous cas).


General problem with download

Si le logiciel n'est pas patché ou que vous avez des erreurs matérielles, votre téléchargement peut être anormalement lent ou être stoppé. Redémarrez votre programme client Torrent. Relancez le téléchargement torrent ou forcez le téléchargement (option du menu contextuel -clic droit-) peut servir.

Liens

Guide Bittorrent par Dutch, mis à jour pour la 2005 par newimr

(Thanks go to the original posters of this info * Shahrooz, Kadjo, Maxim Heijndijk, Fafane and everyone else who contributed)! (Remerciements aux membres du club qui ont et vont participer aux infos ci-dessus: Esfa, newimr, yoho, orphee, ...)


Legal: This page is covered by the [GNU Free Documentation License | http://www.gnu.org/licenses/fdl.txt]. Standard disclaimers of warranty apply. Copyright LSTB and Mandriva.