Peer-to-Peer ( P2P ), Pair à Pair et cie

par Jean-Paul Figer, ARMOSC

Publié le

vide

Principales rubriques

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 ?

Un peu d'histoire pour comprendre

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.

Les 2 caractéristiques du peer-to-peer

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 :

  • Est-ce que le système permet à chaque pair de se connecter de manière intermittente avec des adresses IP variables ?
  • Est-ce que le système donne à chaque pair une autonomie significative ?

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, Seti@home, Napster et les autres

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.

Description vide ICQ : les pionniers

Quatre 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.

Description vide Seti@Home, l'ordinateur le plus puissant du monde

Sommes-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.

Description vide

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.

Les autres

Chacune des technologies précédentes a engendré une nombreuse descendance :

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.

Quel avenir pour le Peer-to-peer ?

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.

Envoyer vos remarques, suggestions ou questions à

Jean-Paul Figer
© Jean-Paul Figer, 1958-2013

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, inscrivez-vous avec votre adresse mail

Pour expérimenter

Pour ceux qui veulent expérimenter cette technologie, il existe un excellent produit gratuit pour se faire la main BadBlue.

Définition dans Wikipédia

La définition du Peer to peer dans l'encyclopédie Wikipédia.