
Sommaire
Un peu d'histoire pour comprendre
Les 2 caractéristiques du peer-to-peer
ICQ, Seti@home, Napster et les autres
Quel avenir pour le Peer-to-peer ?
-Annexes
Pour expérimenter
Définition dans Wikipédia
les termes "Peer-to-Peer" ou "P2P" et la timide traduction française "Pair à Pair" commencent à envahir les médias à la suite de la Saga Napster. Littéralement, cela veut dire que des ordinateurs échangent des informations sur un pied d'égalité. Or, ce n'est pas nouveau : les serveurs échangeaient des fichiers depuis très longtemps de même que les utilisateurs de Windows for Workgroups 3.11 dès 1992. Quelle est donc la réalité qui se cache derrière ce nouveau jargon ?
L'informatique s'est d'abord développée autour du concept de l'ordinateur central tout puissant "Big Brother" ou "HAL9000" dans "2001, l'odyssée de l'espace". C'est ce qui a donné naissance aux grands systèmes centraux comme l'IBM 360 ou Multics vers la fin des années 70. Les terminaux ne communiquent entre eux qu'au travers de la machine centrale. Ce concept a ensuite évolué vers un concept quasi-identique, le modèle client/serveur où les clients sont attachés au serveur par réseau au travers d'un logiciel propriétaire. Cependant, dans le foulée de mai 68, des informaticiens un peu visionnaires conçoivent un système -Unix- pour des machines plus petites avec un mode de communication d'égal à égal pour partager des ressources sur le réseau -ARPANET-, l'ancêtre d'Internet. Le protocole de communication de l'Internet a été conçu dès le début comme un système symétrique peer-to-peer. Les premières "killer applications" de l'Internet -FTP pour l'échange de fichiers ou Telnet pour utiliser une machine à distance- étaient en fait des applications client/serveur avec cependant une nuance : chaque système pouvait être à la fois client ET serveur. En effet, la beauté du protocole TCP/IP est d'être parfaitement symétrique. Les premières applications de l'Internet qui utilisent réellement cette symétrie ont été les serveurs de News et les serveurs de noms de domaines (DNS). Dans les 2 cas, le problème était un problème de partage de fichiers. Ceci a été résolu par une coopération entre machines dont chacune sert en priorité l'espace dont elle est responsable. Il est intéressant de noter que dans les 2 cas, c'est une structure hiérarchique qui a permis de résoudre ce partage d'espace (talk.philosophy.humanism pour les newsgroups ou www.figer.com pour les DNS). Au début de l'explosion de l'Internet dans le grand public, le navigateur web et d'autres applications ont été construites sur le modèle simpliste du client/serveur : on pose une question et on attend la réponse. Pire, les fournisseurs d'accès à Internet ont attribué des adresse IP temporaires aux utilisateurs qui se connectaient par téléphone et les firewalls et autres NAT ont achevé de transformer le réseau Internet en un système essentiellement client/serveur.
Le terme Peer-to-Peer n'aide pas à clarifier les choses. Le jeu en réseau Doom, l'émail ou le téléphone peuvent être vus comme des systèmes peer-to-peer (on échange des informations entre pairs) alors que Napster qui a popularisé le concept est construit autour d'un serveur central.
Le vrai changement, c'est la nature des éléments qui constituent les réseaux peer-to-peer. Dans le passé, les centaines de millions d'ordinateurs connectés à Internet de manière intermittente ne faisaient pas partie du réseau. Ils n'avaient pas d'adresse IP fixe sur le réseau connue dans les DNS. Peer-to-peer désigne donc une classe d'applications qui tire partie des ressources matérielles ou humaines qui sont disponibles au bord de l'Internet. Comme ces ressources ont une connectivité instable ou des adresses IP variables, elles fonctionnent de manière autonome, indépendamment de systèmes centraux comme les DNS. Ce qui a rendu Napster et des systèmes similaires populaires, c'est le fait de tirer partie de ressources qui étaient auparavant inutilisées en tolérant et même en tirant partie d'une connectivité aléatoire.
Un vrai système peer-to-peer se reconnaît donc par les 2 caractéristiques suivantes :
Si la réponse est oui à ces 2 questions, le système est un système peer-to-peer.
Une autre manière de distinguer un système peer-to-peer est de raisonner en terme de "propriété". Il faut remplacer la question "Est-ce que les pairs peuvent échanger des informations ?" par la question "Qui possède les ressources qui font tourner le système ?". Dans un système comme Yahoo!, l'essentiel des ressources est possédé par Yahoo! tandis que dans un système comme Napster, l'essentiel des ressources est possédé par les utilisateurs de Napster. Dans les vrais systèmes peer-to-peer, on ne se contente pas de décentraliser les fonctions mais aussi les coûts et les charges d'administration.
Avec un calcul très conservateur, 100 millions de PC connectés à Internet avec une puissance de 100Mhz et 100Mo de disques représentent une puissance de dix milliard de Mhz et dix mille teraoctets de stockage. C'est de ces ressources dont il faut tirer parti.
ICQ a été en 1996 le premier système de messagerie instantanée et Chat sur PC. Pour indiquer la présence d'utilisateurs connectés de manière intermittente, ICQ a développé un système de répertoire des utilisateurs dont l'adresse IP pouvait être mise à jour de manière instantanée. C'est le même "truc" qui est utilisé par Napster, Netmeeting ou Groove. Mais ce n'est pas la seule solution : Gnutella et Freenet utilisent les adresses IP numériques, United Devices et Seti@home donnent des rendez-vous périodiques aux utilisateurs. Voici les principales caractéristiques de ces projets marquants.
: les
pionniersQuatre jeunes israéliens créèrent en juillet 1996 une société Mirabilis
Ltd devenue en juin 1998 ICQ lors du rachat par AOL.
Yair Goldfinger (26 ans,Chief Technology Officer), Arik Vardi (27 ans,Chief Executive
Officer), Sefi Vigiser (25 ans, President) et Amnon Amir (24 ans, encore
étudiant) constatèrent l'accroissement rapide du nombre d'utilisateurs
de l'Internet qui se connectaient à des serveurs web. Bien que ces utilisateurs
soient tous ensemble connectés sur le même réseau, ils n'étaient pas
interconnectés. Le chaînon manquant, c'était le moyen de localiser son
correspondant et d'établir une canal de communication peer-to-peer avec lui.
Développé en quatre mois et proposé en téléchargement gratuit en Novembre
1996, le produit ICQ ("I seek you") se répandit
comme une traînée de poudre pour atteindre plus de 850000 utilisateurs en mai
1997. Il est devenu et resté le programme le plus téléchargé sur l'Internet
jusqu'à l'arrivée des programmes d'échanges de musique autour du .mp3. Pour identifier
les utilisateurs, ICQ leur attribue un numéro. Comme vous pouvez le
constater ici
,
un de mes numéros est un numéro à 6 chiffres (720494) me classant parmi les premiers
utilisateurs des premiers mois. ICQ a ensuite été imité avec AOL
messenger, Netscape messenger, Yahoo messenger, MSN messenger, etc. fragmentant
la communauté des utilisateurs. Une initiative intéressante, c'est celle de Jabber
qui fournit un produit gratuit interopérable avec tous les autres.
Seti@Home
, l'ordinateur le plus puissant du mondeSommes-nous seuls dans l'Univers ? Cette question hante l'humanité depuis la
nuit des temps. Au début de 1960, le
premier programme SETI
( Search for Extra Terrestrial Intelligence) a été
lancé en recherchant des signaux radio émis par les galaxies. Le financement
de ces programmes a toujours été aléatoire car il fallait en effet disposer
d'une très grosse puissance de calcul. En 1995, David Gedye eut l'idée
d'utiliser la puissance inutilisée des PCs connectés à Internet. Avec 3
autres collègues de l'université de Berkeley, ils présentèrent l'idée sur
un site web au début de 1998. Ils recueillirent l'inscription de plus de 400000
volontaires. Le premier logiciel client fut disponible le 17 mai 1999.
Aujourd'hui, 14 octobre 2001, il y a 3311948 participants dans 226 pays. Le nombre d'instructions exécutées a dépassé 1 ZettaFLOP ( 10
puissance 21 ) ce qui en fait le plus gros calcul jamais effectué. Dans les dernières 24 heures, la puissance de calcul a été de
88 TeraFlops/seconde. Le plus gros ordinateur du Monde est actuellement l'ASCI
White d'IBM : 110 Millions de dollars, 106 tonnes et seulement 12.3 teraFlops/s.
Pour moins de 1% du coût, le programme Seti@Home est beaucoup plus
puissant.
Même si on ne trouve pas d'extraterrestres, ce programme aura démontré comment les techniques logiciels pouvaient transformer un grand nombre d'ordinateurs individuels peu fiables et connectés de manière intermittente en un système très rapide et très fiable.
|
La saga Napster |
Napster est sans doute le plus connu des systèmes peer-to-peer. Il permet de partager votre collection de CD avec celle de 50 millions d'utilisateurs.
Les techniques de compression, en particulier le
.mp3
, avaient permis de stocker sur PC des fichiers musicaux et de les échanger sur Internet. Avec le logiciel Napster, dès que
vous vous connectez sur Internet, vous envoyez au serveur la liste de vos titres. Ceux-ci
sont alors stockés dans un répertoire. Si vous recherchez un
titre particulier, Napster vous fournit la liste des utilisateurs en ligne qui
le possèdent et vous pouvez directement le télécharger depuis l'autre PC par une liaison
peer-to-peer. En elle même, l'activité de Napster n'avait rien d'illégal
puisque les fichiers de musique ne passaient pas par le serveur. Il a fallu à la
RIAA
(Recording Industry association of
America) plusieurs tentatives avant d'obtenir un jugement défavorable à Napster. On peut se demander
pourquoi la RIAA ne fait pas de procès, sur les mêmes bases, aux fabricants de graveurs de CD ou de
cassettes. L'interdiction de mettre dans son catalogue des titres de chansons
avec copyright a signé l'arrêt de mort de Napster qui est actuellement fermé.
Immédiatement des dizaines
de Napster-bis se sont développés, dont certains comme AudioGalaxy satellite
ou
MusicCity
Morpheus
ont un succès qui dépasse de loin celui de Napster. La RIAA a du
pain sur la planche.
Chacune des technologies précédentes a engendré une nombreuse descendance :
, Yahoo!messenger
,
Netscape
messenger
, MSN messenger
,..
pour ICQ
, United
Devices
, Internet
Virtual Machine
, Multi
Agent Systems
,... pour Seti@Home
, Gnutellanews
ou Gnutelliums,
AudioGalaxy satellite
,
MusicCity
Morpheus
,.. pour Napster.Des dizaines de systèmes utilisent ces principes comme en particulier un
système destiné à éviter la censure des documents sur Internet Publius
.
Le paradigme P2P n'a pas seulement des conséquences techniques : il
déplace la puissance et en conséquence le pouvoir d'organisations
centralisées vers les individus.
Les définitions comme le peer-to-peer ont peu d'intérêt pour prédire le futur d'une technologie. Si on considère une définition comme le Multimédia, le futur au début des années 90 était construit autour de CD-ROMs produits par des professionnels ou de serveurs forteresses comme Compuserve. En quelques années, le HTML est passé du stade inconnu à l'outil indispensable du multimédia remplaçant les outils complexes de création de CD-ROM ou les coûteuses expérimentations de télévision interactive. Le HTML a réalisé ce tour de force sans R&D centralisée ni coordination particulière ni motivation financière. En fait le HTML a été imposé par les utilisateurs qui avaient trouvé un moyen très simple de réaliser des pages Web sans le recours à des professionnels ou à des outils compliqués. Ce qui est important, pour prédire l'avenir d'une technologie, c'est sa vitesse d'adoption par les utilisateurs. Et les utilisateurs n'adoptent pas une technologie mais des applications. Le peer-to-peer permet d'introduire des applications où l'utilisateur n'est pas seulement un consommateur mais aussi un fournisseur, où la décentralisation n'est pas un objectif mais un outil, où la puissance considérable de chaque PC est un peu mieux utilisée, où ce qui compte ce n'est plus l'adresse physique de la machine mais celle de l'utilisateur. Bref, un monde nouveau pour les applications qui sauront en tirer partie.
Jean-Paul Figer
© Jean-Paul Figer, 1958-2009
J'ai travaillé pendant 40 ans à Capgemini. Cependant les opinions exprimées dans ces articles n'engagent que moi et ne représentent pas la position de Capgemini.
Pour être informé des nouveaux articles de ce site, vous pouvez vous inscrire (et vous désinscrire) ici.
Pour ceux qui veulent expérimenter cette technologie, il
existe un excellent produit gratuit pour se faire la main
BadBlue
.
La définition du Peer to peer dans l'encyclopédie Wikipédia
.