Bittorrent

Un article de Wiki de la communauté Mandriva.

Jump to: navigation, search


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

[modifier] Description

Ce guide a pour but de rassembler toute l'aide fournie par Mandriva Club dans un endroit unique.


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.

Attention !
NOTE pour les usagers de Mandriva 2005 et inférieure: Remplacez dans les lignes de commande de cette page, la commande bittorrent-curses par btdownloadcurses.py.7


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

D'abord il existe un tracker, un serveur internet qui maintient une liste des gens connectés et partageant le même fichier. Il tient notamment le compte des "seeders", personne qui ont le fichier en entier (seed) et qui le partagent sans télécharger, et des "leechs" personne qui téléchargent encore mais qui proposent déjà les morceaux du fichier qu'ils ont téléchargé. Il 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 personnes 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 personnes qui ont des morceaux manquants puissent les trouver facilement, à trouver à qui se connecter le plus efficacement et à gérer une listes de clients avec qui se connecter pour ça, etc 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é.

Au plus vous restez connecté, au 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 optimum 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.

Point démontré par le succès du système des Early Seeders qui a permis d'éviter 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.


[modifier] Installation

[modifier] 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!)


[modifier] 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


[modifier] 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.


[modifier] les RPMs BitTorrent

Bien sûr, vous pouvez télécharger les paquets séparément ;-) mais le plus facile est encore d'installer ces paquets à partir du centre de contrôle Mandriva "Configurez votre ordinateur" > "Gestionnaire de Logiciels" > "Installer des logiciels" ou en utilisant la ligne de commande en tant que root :

Image:Konsole.png
[root@ordi ~]# urpmi bittorrent-gui

Ces deux méthodes vous permettront d'installer BitTorrent et ses dépendances, mais assurez vous que votre liste de miroirs contient la source contrib de votre version de la distribution. Rien de plus facile : rendez vous à l'adresse http://club.mandriva.com/xwiki/bin/view/Downloads/MirrorFinder et suivez les instructions.

[modifier] 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:


[modifier] Ktorrent

Alors que ce programme n'était pas suffisamment stable dans ses versions précédentes, il se révèle maintenant un excellent client BitTorrent (surtout depuis la version 2) mais a l'inconvénient de ne pas encore être traduit totalement, ni d'avoir une documentation excellente. Dans la 2007, c'est un simple paquetage à installer grâce au MCC. Il faut ensuite aller dans sa configuration et faire deux choses : - Relever les deux ports mentionnés TCP et UDP sur la première page (normalement 6881 pour les deux) - Fixer le débit d'upload à 3/4 de ce dont on dispose (soit le fournisseur internet vous le spécifie, soit divers sites vous permettent de tester cette vitesse). Le quart restant vous servira à surfer sans problèmes. - Relever le port UDP mentionné dans la page concernant le "DHT" si vous voulez activer cette fonctionnalité. Elle vous permet de vous connecter aux autres clients qui utilisent aussi ce service "DHT" (cela inclue azureus) et de les trouver plus rapidement. - Activer tous les plugins de la page "plugins" : vous n'y êtes pas obligé, mais cela vous permettra de surveiller ce qu'il se passe de manière plus précise

Les ports relevés vous seront utiles plus tard, si votre routeur ne gère pas le UPnP. S'il le supporte, vous n'avez rient à faire : ktorrent va configurer votre routeur automatiquement pour ouvrir les ports nécessaires et faire du "port-forwarding".

[modifier] 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.


[modifier] Configuration et utilisation

[modifier] 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


[modifier] 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)


[modifier] 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.


[modifier] 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.


[modifier] Dépannage

[modifier] Message d'erreur communs

[modifier] 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


[modifier] 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


[modifier] 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


[modifier] 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.


[modifier] 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*


[modifier] 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).


[modifier] 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.

[modifier] 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.