BitTorrent
62344
31510385
2008-07-12T03:34:12Z
82.238.145.55
/* Recherches */
{{homonyme|BitTorrent (homonymie)}}
'''BitTorrent''' est un protocole de transfert de données [[poste à poste]] ([[Poste à poste|P2P]]) à travers un [[réseau informatique]] développé par [[Bram Cohen]]. Le protocole a été conçu en avril 2001 et mis en place à l'été 2002 par le programmeur Bram Cohen, et est dorénavant maintenu par la société BitTorrent.
Le protocole BitTorrent part du constat suivant :
* Quand une information se trouve sur un [[serveur informatique]] unique, ''plus'' elle est demandée, ''moins'' elle est accessible (par saturation du serveur).
* On renverse cette tendance si on permet à chaque [[client informatique]] ayant téléchargé l'information de devenir aussitôt ''serveur'' à son tour.
* Une façon de procéder est de découper l'information à partager en segments, et de distribuer des segments différents à des interlocuteurs différents afin qu'ils aient eux-mêmes quelque chose à échanger.
==Avantages==
[[Image:Torrentcomp small.gif|frame|Dans cette animation, les barres colorées sous les clients représentent des pièces ou blocs individuel du fichier distribué. Après le transfert originel depuis le "seeder", les pièces sont individuellement transférées de [[Poste à poste]] (de client à client). Le distributeur originel doit simplement envoyer une copie du fichier pour que tous les clients en reçoivent une copie.]]
BitTorrent est une méthode pour distribuer largement de grandes quantités de [[données]] en répartissant la charge inhérente en matière de [[matériel]], [[hébergement Internet]] et [[bande passante]] quand, dans le modèle classique, elle incombe au seul distributeur originel. Ce dernier n'a plus à servir chaque destinataire : les clients eux-mêmes servent les données déjà reçues aux nouveaux destinataires. Le coût et la charge de la distribution des données sont donc considérablement réduits ; le protocole procure en même temps une [[redondance]] contre les problèmes matériels et réduit la dépendance à l'égard du distributeur originel.
L'apparition de BitTorrent a par exemple permis la mise à disposition de [[Distribution Linux|distributions Linux]] complètes sur [[DVD]], ''y compris pour des versions alpha et bêta'' en lieu et place des téléchargements de simples [[CD]].
Les techniques utilisées sont : le téléchargement [[Poste à poste]] depuis différents « pairs » (''peer'') pour un même fichier (on nomme cette technique « multisourcing ») et le morcellement du fichier en blocs qui le permet. Les blocs peuvent arriver dans un ordre quelconque depuis des sources multiples, le fichier étant réputé téléchargé lorsque la totalité des blocs sera parvenue, quel que soit l'ordre d'arrivée de ceux-ci ou leurs provenances - qui n'ont de fait aucune importance<ref>On reconnaît au passage une similitude de philosophie avec [[TCP/IP]]</ref>.
La validité des données est implicitement garantie : si le fichier est corrompu, c'est qu'il l'était à l'origine, ou qu'il l'a été sur l'ordinateur le téléchargeant ([[mémoire vive]] défectueuse, par exemple, mais en aucun cas durant le transfert de données). Les blocs corrompus sont invariablement rejetés.
L'efficacité du réseau est maximale lorsqu'il y a beaucoup d'utilisateurs, car tous ceux qui téléchargent partagent par construction ce qu'ils téléchargent. Il n'y a pas à attendre dans une file virtuelle pour commencer : tout est immédiat dès lors, cela va de soi, qu'au moins une personne partage le fichier désiré.
Par rapport à d'autres systèmes [[Poste à poste|P2P]], ce système a l'avantage de créer une sorte de [[cercle vertueux]] lors du partage des fichiers. En effet, dès que des parties du fichier souhaité sont téléchargées, elles sont disponibles pour les autres utilisateurs. De plus un système de « récompense » permet de recevoir plus si l'on donne plus. Celui qui donne peu ou pas du tout recevra beaucoup moins d'autrui.
Il tire fortement parti de l'accroissement de la bande passante disponible en « upload », c'est-à-dire en envoi de données, des connexions réseau.
==Inconvénients==
Pour ceux dont la connexion au Web est calculée et facturée au volume de données, la consommation (''upload'' et ''download'') peut dans certains cas doubler ou tripler.
La bande passante en ''upload'' peut être saturée si le logiciel utilisé pour télécharger sur le réseau BitTorrent n'est pas configuré correctement (en fonction des capacités de la connexion à Internet de l'utilisateur) : cela entraîne un ralentissement important de toutes les connexions à Internet en cours. Les téléchargements HTTP et FTP peuvent quasiment s'arrêter et la lecture de radios/tv Internet peut être saccadée voire impossible. Les logiciels de ''chat'' (live messenger, gaim, irc, ...) ne sont pas affectés en raison du faible volume de données qu'ils ont besoin de transmettre vers et depuis Internet.
Pour éviter la saturation de l'upload, il est recommandé de configurer le client de facon à ce qu'il n'utilise que 80 % de la bande passante disponible en upload. Exemples :
* 6 ko/s maximum pour une connexion 56 K (capacité en upload : 8 ko/s) ;
* 12 ko/s maximum pour une connexion RNIS 128 ko/s symétrique ou ADSL xxx/128 (capacité 16 ko/s) ;
* 51 ko/s maximum pour une connexion ADSL xxxx/512 (capacité 64 ko/s) ;
* 102 ko/s maximum pour une connexion ADSL xxxxx/1024 (capacité 128 ko/s).
Une personne qui partage peu recevra aussi beaucoup moins des autres utilisateurs. Il existe cependant des clients basés sur le moteur BitComet ne respectant pas totalement le protocole BitTorrent ; ces clients permettent de recevoir beaucoup de données tout en partageant peu (en faisant croire aux autres peers qu'ils ont déjà envoyé des données). Du fait de leur non-respect du protocole, ces clients ralentissent potentiellement le réseau BitTorrent, il convient donc de ne pas les utiliser.
=== Nouveaux venus ===
Le protocole BitTorrent exploite le principe "un prêté pour un rendu", favorisant l'échange de données entre des machines qui ont déjà coopéré dans le passé. Ceci peut entraîner un démarrage difficile d'un nouveau venu lorsque toutes les autres machines ont déjà presque la totalité du fichier.
=== Disponibilité ===
Le mode de fonctionnement observé de BitTorrent souffre d'un handicap majeur : au début de la mise en disponibilité d'un fichier, beaucoup de sources sont disponibles pour le télécharger, surtout s'il est populaire ou attendu depuis longtemps ; mais avec le temps, il devient de moins en moins partagé, et donc de moins en moins disponible au téléchargement, ce qui aboutit à la « mort » du torrent. Ainsi, il est rare qu'un torrent soit actif pendant plus de quelques mois, voire quelques semaines ou même quelques jours.
Pour remédier à cela, les clients proposent maintenant de laisser le torrent « ouvert », une fois téléchargé. Cela devient alors une source pure et remédie à cet inconvénient.
Une limite à ce raisonnement est la place disponible sur les [[disque dur|disques durs]] et autres systèmes de stockage en ligne. En règle générale, on est « bon citoyen » quand on laisse le fichier en partage assez longtemps pour qu'il soit lui-même au moins autant téléchargé (taux de partage de 1 ou plus); dans le cas contraire, on est considéré comme une [[sangsue]] (''leech'').
=== Utilisation ===
Il faut souvent utiliser un logiciel dédié pour télécharger les fichiers alors qu'un fichier accessible sur un site web ne nécessite rien de plus que le navigateur pour le rapatrier.
''Note : Le navigateur web [[Opera]] 9 inclut un client BitTorrent, les fichiers torrent étant traités de façon transparente. Certains [[plugin]]s du navigateur [[Mozilla Firefox]] permettent également d'ajouter cette fonctionnalité au navigateur. Tout comme la version 1.80 du téléchargeur [http://www.pc-infopratique.com/telecharger-276-flashget.html Flashget] qui prend aussi en charge ce type de fichier. Aussi, de nombreux logiciels p2p (Shareaza, LimeWire...) contiennent cette fonction.''
La première configuration peut être fastidieuse, si l'on ne possède pas quelques notions minimales de [[réseau informatique]], [[adresse IP]], [[pare-feu]] ([[firewall]]) et notion de [[port logiciel]], par exemple. La plupart des logiciels clients récents permettent une configuration automatique en fonction des caractéristiques du réseau environnant, mais certains clients/modems requièrent une configuration spécifique.
Par exemple, pour télécharger à une vitesse optimale en utilisant une [[Box (internet)|Box]], il faut en général rediriger manuellement (dans la configuration du mode routeur de la "Box") le port utilisé par le client BitTorrent vers l'IP (sur le réseau local) de l'ordinateur sur lequel tourne le client.
Dans le cas d'un client utilisant un port au hasard dans une plage prédéfinie (comme BitTornado qui utilise par défaut un port au hasard parmi les ports 10000 à 60000), il faut rediriger la plage entière vers l'ordinateur faisant tourner le client. Cela peut poser problème lorsqu'un autre ordinateur sur le même réseau local utilise un port compris dans cette plage.
Le protocole marque aussi récemment sa flexibilité et son potentiel en se développant sur des supports inattendus tel que la psp ou encore en améliorant ses performances avec des plugin tel que Ono.
=== Recherches ===
Pour trouver les torrents, il faut aller sur [[Internet relay chat|IRC]] ou sur des [[site Web|sites Web]] les recensant, comme Smartorrent, Mininova, Snarf-It, Isohunt ... Un [http://search.bittorrent.com/ moteur de recherche] est aussi en place.
Il y a des sites qui proposent un moteur de recherche pour les torrents, comme [http://www.torrentz.com]www.torrentz.com et plus récemment apparaissent des moteurs qui sélectionnent uniquement les fichiers légaux.
==Vocabulaire==
'''Availability / disponibilité''' : (aussi appelé « distributed copies ») La quantité de copies complètes du fichier disponibles. Un ''peer'' qui se connecte avec une fraction de fichier ajoute cette fraction à la disponibilité (si aucun autre ne possède déjà cette partie du fichier). Chaque ''seed'' ajoute 1,0 à ce nombre, étant donné qu'il possède la totalité du fichier.
Ainsi, un ''peer'' avec 65,3 % d'un fichier téléchargé augmente la disponibilité de 0,653.
Si deux ''peers'' ont téléchargé chacun la même moitié d'un fichier et qu'ils sont rejoints par un ''seeder'' (semeur), la disponibilité s'élève à 1,5.
'''Leecher''' : Une « sangsue » (''leech'' en anglais) est un client souhaitant télécharger le fichier, mais ne le possédant pas en totalité. Ce terme a également un sens péjoratif pour qualifier ceux qui téléchargent sans envoyer en contrepartie de fichier sur le réseau. Lors de la première apparition d'un torrent, il n'y a que peu de sources (seeds) et beaucoup de sangsues (leech).
'''Peers''' : Utilisateurs pouvant transmettre tout ou partie de l'archive (seeders ou bien leechers disposant d'une partie de l'information).
'''Scrape''' : Le client Bittorrent (voir [[#Liste des clients les plus populaires|clients utilisant le réseau BitTorrent]]) débute par un ''scrape'', ce qui consiste à demander au tracker des informations sur le nombre total de sources (''seeds'') et de sangsues (''leech''). Ce nombre sera généralement affiché entre parenthèses.
'''Seed''' : Une ''graine'' (''seed'' en anglais) est un client partageant un fichier complet.
'''Share Ratio''' : Proportion entre le nombre de données envoyées, partagées (upload) et le nombre de données reçues (''download''). Dans un monde utopique, tout un chacun utilisant ce service devrait avoir un ratio de 1:1, ce qui indique qu'il y a eu autant de données envoyées que reçues. De cette façon les téléchargements sont rapides et efficaces pour tous.
'''Superseed''' : ''Seed'' qui tente de minimiser la quantité de données qu'il envoie jusqu'à ce qu'un leecher obtienne la totalité des fichiers du torrent et devienne ainsi un seeder supplémentaire.
Cette fonction ne devrait être utilisée que lorsque qu'il n'y a qu'un seul seeder, ou très peu d'entre eux, disponibles pour un torrent, et que ces seeders disposent de capacités d'upload relativement limitées.
L'opération consiste à ne déclarer posséder aucune partie de l'archive. Lorsque les clients se connectent, le super-seeder les informe qu'il dispose d'une nouvelle partie que personne ne possède. Il transmet la partie en question et ne transmettra aucune nouvelle partie de l'archive tant qu'il n'aura pas reçu confirmation que la pièce a été transmise à nouveau. De cette manière, les clients en mode ''superseed'' n'envoient que les morceaux qui n'ont encore jamais été envoyés, et s'assurent de leur bonne diffusion par, et parmi, les leechers.
'''Swarm''' : Tous les ''peers'' (y compris les ''seeds'') qui partagent un même torrent sont appelés un ''essaim''. Par exemple, six ''peers'' et deux ''seeds'' forment un essaim de huit unités.
'''Torrent''' : Selon le contexte, un ''torrent'' peut signifier soit un fichier de [[métadonnée]]s .torrent, soit tout fichier décrit par lui. Le fichier torrent contient des métadonnées relatives aux fichiers qu'il rend téléchargeables, y compris leurs noms, tailles et [[somme de contrôle|sommes de contrôle]] de toutes pièces du torrent. Il contient également l'[[adresse IP]] d'un ''tracker'' qui coordonne la communication entre les ''peers'' du ''swarm'' (essaim).
'''Tracker''' : Un traqueur est un serveur qui sait en permanence quels ''seeds'' et quels ''peers'' se trouvent dans le ''swarm'' (l'essaim). Les clients lui envoient régulièrement des informations. En échange, ils reçoivent des informations sur d'autres clients auxquels ils peuvent se connecter. Le traqueur n'est pas directement impliqué dans le transfert de données et ne possède pas de copie du fichier. Les quelques secondes par heure où un client se connecte au traqueur sont en principe les seules où il puisse se faire identifier (mais par quelques dizaines d'autres clients seulement).
'''Web Seeding''' : Utiliser un serveur web comme ''seed''. À l'aide de scripts php, d'une modification du torrent on peut permettre à un serveur web de seeder un torrent. Cette fonctionnalité a été intégrée dans les clients Mainline, Azureus, et Bit-tornado.
== Copyright ==
Bien que le protocole BitTorrent ait été [[open source]] jusqu'à la sortie de la version 6 du client officiel (µTorrent), il subsiste des problèmes liés au [[copyright]]. Certains organismes de surveillance des droits d'auteur s'intéressent de près aux sites fournissant les trackers car ceux-ci sont souvent des moyens de distribution de fichiers sous copyright (musiques, films, etc).
La Motion Pictures Agency of America ([[Motion Picture Association of America|MPAA]]) en particulier, a intenté de multiples procès envers divers sites référençant des fichiers .torrent en raison du grand nombre de fichiers illégalement distribués ainsi. Une des plus récentes affaires concerne le site [[The Pirate Bay|ThePirateBay.org]], poursuivi par la police suédoise et le MPAA (début de l'affaire 31 mai 2006, toujours en cours).
Télécharger un fichier vidéo, image ou audio sous une licence propriétaire est un délit et plus encore, le distribuer à grande échelle pourrait être passible d'amendes (voir [[DADVSI]]). Mais les fichiers .torrent ne sont pas à proprement parler ces fichiers sous copyright, ils ne sont qu'un moyen de les télécharger. Ainsi, en principe, les sites rassemblant des trackers ne sont pas "hors-la-loi".
La légalité de la détention de fichiers .torrent permettant le téléchargement de fichiers sous copyright reste encore assez floue, le MPAA et les autres organismes de protection de droits d'auteur ayant attaqué en justice des sites aussi divers que des hébergeurs de fichiers ou des moteurs de recherches pour torrents n'en hébergeant pas (TorrentSpy 27/02/2006).
La législation dépend du pays où l'on se trouve. Par exemple :
* en Suisse, il est illégal de mettre à disposition un contenu, mais pas de le télécharger (un usager ne peut en effet pas savoir si un contenu est licite avant de le connaître)
* en France, mise à disposition et téléchargement sont illégaux, mais la charge de la preuve est tout sauf évidente : le nom d'un fichier et sa taille ne prouvent juridiquement rien sur le contenu de celui-ci.
BitTorrent 6 est associé à un changement majeur de licence : jusque là, le programme et le protocole associés étaient [[open source]]. La licence d'utilisation a été modifiée, et le protocole ne verra plus son code publié, bien qu'il soit possible d'obtenir un [[SDK]] afin de continuer le développement de logiciels tiers.
==Liste des clients les plus populaires==
BitTorrent étant un protocole [[logiciel libre|libre]], de nombreux programmes alternatifs ont pu être développés. Parmi les plus populaires, on peut citer :
* [[ABC (Yet Another BitTorrent Client)|ABC]], [[Windows]], [[GNU/Linux]]
* [[AllPeers]], extension de [[Firefox]], [[Windows]], [[GNU/Linux]], [[Mac OS X]]
* [[Azureus]] développé en [[Java (langage)|Java]] ([[Vuze]]), [[Windows]], [[GNU/Linux]], [[Mac OS X]]
* [[BitComet]], [[Windows]]
* [[BitSpirit]], client pour [[Windows]]
* [[BitTornado]], [[Windows]], [[GNU/Linux]]
* [[Bits on Wheel]] pour [[Mac OS X]].
* BitTorrent : client minimal, pour les environnements [[GNU/Linux]] ou [[Windows]]
* [[createtorrent|Creatorrent]] client ultra-léger pour créer un torrent en mode console, [[GNU/Linux]]
* [[Deluge (logiciel)|Deluge]], client BitTorrent crypté sous [[GNU/Linux]], [[Mac OS X]] et [[Windows]]
* [[FlashGet (logiciel)|FlashGet]], Gestionnaire de téléchargement gérant aussi les Torrents [[Windows]]
* [[KTorrent]], client pour l’environnement [[KDE]], [[GNU/Linux]]
* [[LimeWire]], [[Windows]], [[GNU/Linux]], [[Mac OS X]]
* [[MLDonkey]], client multi-protocole, [[Windows]], [[GNU/Linux]], [[Mac OS X]]
* [[MonoTorrent]], client ultra léger et multi-plateforme ([[Mono (logiciel)|mono]])
* [[µTorrent|µTorrent (microtorrent)]], client ultra-léger, mais qui n'est plus open-source [[Windows]]
* [[Opera]] (suite internet) depuis sa version 9 pour [[Mac OS X]], [[GNU/Linux]] et [[Windows]]
* [[rtorrent]], client ultra-léger mais tout à fait complet, en mode console, [[GNU/Linux]]
* [[Shareaza]], [[Windows]]
* [[Transmission (BitTorrent)|Transmission]] pour [[Mac OS X]], [[GNU/Linux]] et [[BeOS]]
* [[Xtorrent (BitTorrent)|Xtorrent]] pour [[Mac OS X]].
Le client officiel, rapidement concurrencé par les logiciels ci-dessus, porte le même nom que le protocole lui-même, [[BitTorrent (logiciel)|BitTorrent]].
Début décembre 2006, [[BitTorrent Inc.]], la société créée par [[Bram Cohen]], l’inventeur du BitTorrent, et [[Ashwin Navin]], ancien de [[Yahoo!]], annonce l’acquisition du logiciel propriétaire [[µTorrent]]. Ce logiciel remplace alors l’ancien client libre [[BitTorrent (logiciel)|BitTorrent]] en tant que « client officiel ».
==BitTorrent Entertainment Network==
BitTorrent ouvre le 26 février 2007 une plate-forme de téléchargement payante : BitTorrent Entertainment Network<ref>''[http://www.ratiatum.com/news4463_BitTorrent_marchand_nos_premieres_impressions.html BitTorrent marchand : nos premières impressions]'' [[Ratiatum]], 26 février 2007</ref>. Si les prix pratiqués sont relativement peu élevés (3,99 $ pour un film récent) par rapport à d'autres plate-formes de ce type, BitTorrent Entertainment Network souffre en revanche du fait de proposer ses films uniquement pour la location, et protégés par des [[Gestion numérique des droits|DRM]]<ref>''[http://www.ratiatum.com/breve4446_BitTorrent_ouvre_sa_plate-forme_payante_lundi.html BitTorrent ouvre sa plate-forme payante lundi]'' [[Ratiatum]], 24 février 2007</ref>.
Les studios ayant signé un accord de diffusion sont pour l'instant :
* [[20th Century Fox]] ;
* [[Comedy Central]] ;
* [[Lions Gate Film]] ;
* [[MTV]] ;
* [[Paramount]] ;
* [[Spike (télévision)|Spike]] ;
* [[Warner Bros]].
==Sources==
<References/>
== Voir aussi ==
=== Articles connexes ===
* [[Peer-to-peer|P2P]]
* [[eXeem]], autre logiciel utilisant les fichiers Torrent
* [[metalink]], standard convenant aussi à BitTorrent
=== Liens externes ===
* {{en}} [http://www.bittorrent.com/ Site officiel]
* {{en}} {{dmoz|BitTorrent|http://www.dmoz.org/Computers/Software/Internet/Clients/File_Sharing/BitTorrent/}}
* {{en}} [[:en:Comparison of BitTorrent software|Comparaison des logiciels BitTorrent]]
* {{en}} [http://www.bittorrent.org/beps/bep_0003.html Spécification officielle du protocole]
* {{fr}} [http://asdrad.9online.fr/bittorrent/bittorrent.html Documentation] Y compris comment distribuer un de ses fichiers ...
{{Portail informatique}}
[[Catégorie:Partage de fichiers]]
[[ar:بت تورنت]]
[[bg:Торент система]]
[[bs:BitTorrent]]
[[ca:BitTorrent]]
[[cs:BitTorrent]]
[[da:BitTorrent]]
[[de:BitTorrent (Protokoll)]]
[[el:Torrent]]
[[en:BitTorrent (protocol)]]
[[eo:BitTorrent]]
[[es:BitTorrent (protocolo)]]
[[fa:بیتتورنت]]
[[fi:BitTorrent]]
[[gl:BitTorrent]]
[[he:ביטורנט]]
[[hr:BitTorrent]]
[[hu:BitTorrent]]
[[id:BitTorrent]]
[[ilo:BitTorrent]]
[[it:BitTorrent]]
[[ja:BitTorrent]]
[[ka:ტორენტი]]
[[ko:비트토렌트]]
[[ku:BitTorrent]]
[[lt:BitTorrent]]
[[lv:BitTorrent]]
[[ml:ബിറ്റ് ടോറന്റ്]]
[[mr:बिटटॉरेंट]]
[[ms:BitTorrent]]
[[nl:BitTorrent]]
[[nn:BitTorrent]]
[[no:BitTorrent]]
[[pl:BitTorrent]]
[[pt:BitTorrent]]
[[ro:BitTorrent]]
[[ru:BitTorrent]]
[[sk:BitTorrent]]
[[sl:BitTorrent]]
[[sq:BitTorrent]]
[[sv:Bittorrent]]
[[ta:பிட்டொரென்ட்]]
[[th:บิตทอร์เรนต์]]
[[tr:BitTorrent]]
[[uk:BitTorrent]]
[[vi:BitTorrent]]
[[zh:BitTorrent]]
[[zh-yue:BitTorrent]]