Auteur : Gérard Bourlier (DTECH) Version : 1.O Date : 5 février 2004 Réf. : sav0110 Niveau de diffusion Contrôlé Interne Libre X 1. Généralités Le P2P / Réseaux de poste à poste L expression «réseau peer to peer (P2P 1 )», que l on traduit généralement par réseau de «poste à poste» désigne une architecture de réseau où les postes connectés communiquent directement entre eux et partagent leurs ressources. Tous les postes ont un rôle équivalent, à la fois client et serveur par rapport à ces ressources (espace de stockage, puissance de calcul, bande passante, ). C est la mise en commun de ces ressources qui fait la force et le succès du p2p. Ce type d architecture qui est à la base d Internet dès l origine, a été largement médiatisé ces dernières années, avec le succès de Napster, réseau d échange de fichiers musicaux mp3 sur Internet. Les applications vont du partage de films ou de fichiers musicaux pour le grand public au travail collaboratif ou au calcul distribué pour l entreprise. On estime à environ 130 millions de fichiers musicaux qui s échangent chaque jour à travers le monde via le p2p. Le trafic p2p représenterait 60% du trafic des réseaux haut débit le jour et 90% la nuit. 2. Architectures 2.1. Architecture distribuée 1 Littéralement de pair à pair
C est l architecture p2p pure, il n y a pas de serveur, tous les postes ont un rôle équivalent (notion de pair). Les membres du réseau se découvrent dynamiquement en relayant les requêtes de proche en proche. Un poste transmet une requête à ses voisins qui font de même et ainsi de suite (notion d inondation). Pour limiter la génération d un nombre exponentiel de messages par ce procédé, on limite la propagation des messages jusqu à un horizon, défini par un paramètre de durée de vie de la requête (TTL Time To Live), décrémenté à chaque poste. Une fois trouvé un poste possédant la ressource, une connexion directe s établit entre les postes. Ce modèle a pour avantages une grande robustesse et l anonymat des utilisateurs, en revanche il génère beaucoup de trafic. 2.2. Architecture centralisée Ce type d architecture respose sur un serveur central auquel se connectent les utilisateurs. L utilisateur recherche le fichier désiré sur le serveur qui lui indique alors la liste des postes sur lesquels il est susceptible de le trouver. L utilisateur se connecte alors directement à l un de ces postes pour transférer le fichier. A aucun moment le fichier ne passe par le serveur central. Le serveur peut donner également des indications sur les postes connectés, le débit et le temps de chargement. Remarques : - Le serveur central peut être constitué par un ensemble de serveurs fonctionnant comme un seul serveur (ferme de serveurs). - Du fait de la présence d un serveur, certains considèrent que ce modèle n est pas entièrement p2p. Les avantages de cette architecture sont : efficacité des recherches par une indexation centralisée, facilité d utilisation et mise à jour en temps réel de la base de données centrale. En contre partie, le réseau est complètement dépendant du serveur central qui est le goulet d étranglement, aucun anonymat n est garanti, il y a possibilité de constituer des fichiers avec le profil de l utilisateur. Diffusion libre page 2/8
2.3. Architectures hybrides Super Node Super Node Super Node Super Node Dans ce type de réseau il existe des machines particulières jouant le rôle de serveur local (super node) gérant un groupe de postes. Lorsqu un poste se connecte, il est affecté à l un de ces groupes. Les serveurs sont reliés entre eux suivant le mode décentralisé. Chaque serveur référence les contenus de son groupe. Si un serveur ne possède pas le fichier demandé par un poste de son groupe, il transmet à ce dernier, l adresse d un autre super node où renouveler la requête. Cette configuration offre une meilleure bande passante mais est plus complexe à mettre en œuvre. Un poste utilisateur peut devenir super node s il dispose d une connexion haut débit. La fonction de super node consomme environ 10 % des ressources du poste. 3. Les principaux logiciels de réseaux p2p Il existe des dizaines de logiciels basés sur l utilisation de réseaux p2p. La plupart peuvent se regrouper par famille suivant les 3 architectures ci-dessus. Les différences se font en termes de fonctionnalités, d ergonomie ou de performances. D une manière générale, ces réseaux utilisent des protocoles applicatifs spécifiques, basés sur les protocoles standards d Internet : HTTP 1.1, TCP/IP et UDP. Ils mettent en œuvre un système d'adressage indépendant des DNS 2. 3.1. Napster C est l application phare du p2p. Il est basé sur un réseau de type centralisé spécialisé dans l échange de fichiers mp3. Il a été créé en mai 1999 puis fermé en septembre 2001 suite au procès du RIAA pour non respect de la propriété intellectuelle. Il a enregistré 37 millions d utilisateurs avec plus de 1,5 millions de téléchargements journaliers au sommet de sa gloire en août 2000. Suite à la disparition de Napster, est apparu le réseau Open Nap, basé sur un un réseau centralisé mais avec des serveurs qui sont des ordinateurs personnels, dispersés de part le monde. 2 Domain Name Service Diffusion libre page 3/8
3.2. Gnutella C est un logiciel open source, apparu en mars 2001 et basé sur une architecture hybride. Il utilise un protocole applicatif spécifique au-dessus de TCP/IP constitué d un jeu de primitives (Ping / Pong pour la découverte des postes connectés Query / Query Hit pour rechercher un fichier, Get / Push pour transférer un fichier). La dernière version permet de gérer le multi-source pour trouver un fichier. Parmi les nombreux logiciels compatibles Gnutella, on peut citer : Gnucleus, Bearshare, Limewire, Shareaza, Morpheus, 3.3. Kazaa Kazaa est basé sur le réseau FastTrack, d architecture hybride. Il a la particularité de gérer la notion de degré de participation d un utilisateur pour encourager ceux qui jouent le jeu du partage. Une note de 0 à 250 est attribuée en fonction du nombre de fichiers mis à disposition aux autres membres et de leur intégrité. Un poste possédant une note élevée a accès aux fichiers très demandés et est servi en priorité. Cependant, il possède l inconvénient d héberger un logiciel espion «spyware», chargé d établir le profil des utilisateurs afin de cibler des offres publicitaires. Il est plus rapide que e-donkey, on obtient facilement 50 à 60 ko/s sur adsl. 3.4. edonkey Ce logiciel exploite une architecture hybride avec un grand nombre de serveurs. Il est bien adapté aux gros fichiers (divx). Le serveur gère la facilité de connexion avec le poste client par l attribution d un identifiant spécifique dérivé de l adresse IP. Un «low ID» implique une connexion difficile (présence d un pare feu). Inversement un poste avec un «highid» accédera facilement aux ressources edonkey. Deux postes avec un «low ID» ne peuvent pas communiquer directement entre eux. Le logiciel permet le téléchargement à partir de sources multiples et partielles (protocole MFTP). Un fichier en cours de chargement peut devenir une source partielle pour un autre poste. L utilisateur est obligé d autoriser l upload à partir de son poste, pour pouvoir lui-même télécharger. Les serveurs n étant pas reliés entre eux pour tenir un répertoire unique de fichiers, un poste doit donc interroger plusieurs serveurs pour obtenir un fichier donné. Un poste récupère du serveur une liste d autres postes possédant totalement ou partiellement le fichier désiré. Les postes gèrent directement entre eux un chargement à partir de sources multiples. 3.5. Freenet Le réseau Freenet met en œuvre un système de stockage morcelé et distribué dans le but ne plus pouvoir imputer la responsabilité d un contenu à un hébergeur donné et préserver ainsi la liberté d expression. En combinant cryptographie et virtualisation du stockage (l utilisateur ne sait pas ce qu il y a sur son disque) c est le réseau le mieux armé pour la protection de la vie privée et pour résister aux hackers. Diffusion libre page 4/8
3.6. Les plates-formes de développement La plupart des logiciels évoqués ci dessus ont été développés de manière spécifique sans référence à des standards propres au p2p. Des initiatives se sont fait jour pour répondre à ce besoin. Elles proposent un environnement permettant de développer des applications p2p, en offrant les fonctions de base : gestion des pairs, nommage, découverte des ressources, communication entre pairs, sécurité. Ainsi Sun propose sa plate-forme JXTA basée sur la technologie Java et Microsoft intègre dans.net des outils pour développer des applications p2p. Intel propose, en Open source, des outils standards («p2p trusted library») pour sécuriser le p2p (cryptage, authentification, stockage sécurisé) et intègre dans le pentium 4 une unité de calcul pour le stockage de fichiers distribué. Les futurs développements concernant le p2p prendront en compte les standards des web services, du fait de la convergence naturelle entre ces deux domaines. En effet, les web services destinés à la mise en œuvre de services applicatifs distribués, peuvent être vus comme des ressources réparties, décrites en WSDL 3, accessibles avec le protocole SOAP 4 et référencées dans des annuaires UDDI 5. 4. Applications 4.1.1. Le travail collaboratif C est la principale application pour les entreprises. Le logiciel le plus connu dans ce domaine est Groove qui permet le dialogue en temps réel, le partage de documents ou d outils dans des espaces de travail personnalisés et autonomes, avec des mécanismes de synchronisation des données en temps réel et gestion de la sécurité (authentification, confidentialité, ). Groove Networks travail en relation étroite avec Microsoft et le logiciel bénéficie d une intégration poussée sous Windows. Il existe également «Bleu» de L2T et «Magi» de Endeavors. 4.1.2. Les CDN 6 De part la possibilité de tirer parti des ressources de stockage en périphérie de l Internet, les réseaux de type p2p sont bien adaptés pour des applications de type cdn. En effet, ils nécessitent de faibles investissements matériels et ont une capacité de montée en charge, a priori sans limite, avec cependant des problèmes de maîtrise de la bande passante disponible, de gestion de l équilibrage de charge et donc globalement de qos. De ce fait, ce type de solution reste encore marginal (10 à 20% du marché). Akamai et Kontiki intègrent des éléments de p2p dans leurs solutions de cdn pour assembler dynamiquement du contenu en bordure du réseau. (voir aussi : Zodiac Networks, Emikolo) 4.1.3. La gestion de connaissance La technologie p2p permet d exploiter des contenus répartis via un réseau et de mettre en œuvre une application de gestion de connaissance comme NextPage ou Kanari. L avantage est que la gestion de l information se fait directement à la source, l auteur en maîtrise directement les droits d accès. Les difficultés potentielles sont la maîtrise de la qualité et de la consistance des contenus. 4.1.4. Le calcul distribué (grid computing) Le p2p peut être mis à profit pour exploiter en parallèle les capacités de calcul d un grand nombre d ordinateurs. De nombreux projets scientifiques exploitent cette possibilité : Seti@home pour la recherche de vie extraterrestre, genome@home pour le décryptage du génome humain, Le Global Grid Forum a rejoint en 2002 le P2P working Group. 3 WSDL : Web Services Description Language 4 SOAP : Simple Object Access Protocol 5 UDDI : Universal Description Discovery and Integration 6 Content Delivery Network Diffusion libre page 5/8
4.1.5. Les moteurs de recherches Le but est de palier les limites des moteurs traditionnels qui passent à côté de beaucoup de contenu. On estime qu un moteur comme Google n explore que 15% du web. Le principe est de rechercher sur tous les appareils connectés (ordinateurs personnels, palm pilot, serveurs,...) au réseau et d exploiter également les liens favoris (book marks) des utilisateurs. Exemples: Amoweba, OpenCola, Infrasearch (racheté par Sun). 4.1.6. Les bases de données distribuées L idée est de sauvegarder des fichiers et des informations de manière distribuée sur le réseau (sans se limiter aux disques durs locaux) ex :Mariposa, Chord. 4.1.7. Diverses autres applications Parmi les nombreuses autres applications on peut encore citer : le jeu en réseau (Doom), la téléphonie (espykes), la diffusion de flux en continu (Peercast, Streamer), les places de marchés (ebay), 5. Problématiques spécifiques 5.1. Aspects juridiques Le développement des réseaux p2p, permettant une diffusion non contrôlée de contenus, a posé de manière aiguë le problème du respect des droits d auteurs. Il faut rappeler que la mise en ligne d œuvres protégées sans autorisation expose à des poursuites au titre de l article L 335-4 de la propriété intellectuelle. Le téléchargement de copies illicites rend coupable de contre façon et de recel d après l article 321-1 du code pénal. Napster a été condamné et interdit en 2001 suite au non respect du droit d auteur. Mais d autre part, la justice a rejeté la demande d interdiction de Kazaa du fait que ce n est qu un système de mise en relation d utilisateurs et seuls les utilisateurs sont responsables de l usage qu ils ont font. A ce titre, les particuliers font désormais l objet de condamnations suites aux plaintes des maisons de disques. Tout ceci a amené à la création de sites payants pour la distribution en ligne de musique (itunes d Apple). Une parade également utilisée est de polluer les réseaux de fichiers musicaux altérés (leurres) de façon à décourager les utilisateurs. 5.2. Aspects sécurité Un réseau p2p est constitué de postes a priori non identifiés et donc potentiellement dangereux (propagation de virus, installation de logiciels espions, ). ll convient donc de mettre en œuvre différents mécanismes de sécurité, parmi lesquels on trouve le cryptage de données avec clés multiples, le sandboxing qui consiste à exécuter une application dans un environnement clos, la gestion des droits d utilisation et la mise en place de pare-feux. L utilisation d IPV6 par ses mécanismes d authentification, d autorisation et d intégrité pourrait pallier le regroupement de machines sous la protection de pare-feux et assurer la sécurité des échanges. Diffusion libre page 6/8
5.3. Aspects réseaux Souvent les infrastructures des réseaux mises en œuvre doivent faire face à un trafic spécifique pour lequel elles n ont pas forcément été conçues au départ : présence de pics de trafic, échanges symétriques sur des liaisons asymétriques (surtout en périphérie de réseau). Les FAI 7 voient leur bande passante accaparée par les utilisateurs de ces réseaux. D autre part, les réseaux p2p ne sont pas, par nature, administrés de manière centralisée, chaque utilisateur gère les droits sur ses propres ressources ce qui rend la qualité de service difficilement maîtrisable. Ceci est plus un problème pour les entreprises que pour le grand public. Des techniques de supervision à base d agents mobiles sont expérimentées pour essayer d améliorer cette situation. Enfin, se pose le problème du blocage du trafic lié aux échanges p2p. En effet, les pares-feux sont habituellement configurés pour bloquer toute connexion entrante et laisser passer uniquement les connexions sortantes. Cependant les logiciels p2p contournent ce problème en initiant des «push» des machines situées derrière le pare-feu. Le détournement de ports (ex port 80, HTTP) ou le tunneling complique encore la tâche de l administrateur réseau. Il existe des outils comme «snort» qui permettent d analyser le contenu des flux échangés et qui possèdent «la signature» des réseaux p2p les plus connus. 5.4. Aspects économiques Dans un réseau p2p, l essentiel du service étant fourni par les utilisateurs eux-mêmes, les modèles économiques simples, basés sur une facturation directe, sont inadaptés. De plus, l existence dans ce domaine de nombreuses initiatives open source rend encore plus difficile la possibilité de tirer un revenu de l exploitation d un réseau p2p. Les solutions généralement rencontrées sont : - associer au logiciel p2p un logiciel de diffusion publicitaire (adware) ou d espionnage (spyware) pour du marketing ciblé - exploiter des données personnelles - faire payer le logiciel d accès au réseau - demander un abonnement - vendre la technologie liée au réseau A titre d illustration, l exemple du réseau Sharman Networks qui exploite Kazaa est intéressant. Son modèle économique est basé sur la vente d espaces publicitaires, l association avec des sociétés pour du marketing ciblé et l accès à des contenus protégés et des accords de distribution du logiciel Kazaa avec des opérateurs de télécommunication qui cherchent à accroître l utilisation du large bande. 6. projets TDF et FT En 2003, TDF-C2R a mené une étude d opportunité concernant l utilisation d un réseau p2p dans le cadre des activités de TV-Radio.com. Le but était de valider l utilisation du p2p pour la diffusion de flux audio temps réel sur Internet en évaluant la réduction potentielle de bande passante. C est la technologie Allcast qui a été utilisée. Le flux est cascadé à partir d un certain nombre de postes d auditeurs. Un site central gère la connexion d un nouvel auditeur vers l auditeur le plus proche. L expérimentation n a pas été concluante : problème de blocage au niveau des FAI, difficultés liées à des déconnexions inopinées, non maîtrise de la qos, absence de modèle économique viable. A France Telecom, on peut citer les projets e-contenus dont le but est de proposer un système de distribution de contenus basé sur du p2p avec protection des droits (DRM 8 ), CoNex (Commercial Network Exchange) pour mettre en place une infrastructure pour pouvoir faire du commerce avec du p2p, e-infovalue qui est une plate-forme collaborative pour l entreprise, RE-ACTIF pour l utilisation du p2p avec des réseaux actifs. 7 Fournisseur d Accès Internet 8 Digital Rights Management Diffusion libre page 7/8
7. Références 7.1. Sites http://actup2p.free.fr peertopeercentral.com http://www.peer-to-peerwg.org http://www.openp2p.com www.jxta.org http://www.ida.liu.se/conferences/p2p/p2p2003/ http://cnscenter.future.co.kr/hot-topic/p2p.html http://compnetworking.about.com/cs/peertopeer/ http://www.abou.org/p2p/p2p.html http://www.kazaa.com http://www.gnutella.com http://www.freenetproject.org http://www.edonkey2000-france.com 7.2. Ouvrages Peer to peer par Marc Waldman ed O Reilly Kazaa, imesh, edonkey, ed Campuspresse actualité du peer to peer Portail francophone Site du peer to peer working group Portail fédérant les informations sur le peer to peer le projet de plate-forme Sun Conférences IEEE sur le p2p site d un auteur de divers ouvrages en français Ouvrage de référence sur le peer to peer Ouvrage sur les aspects pratiques en français 7.3. Articles C2R/DT/SL/1470/2003 Le peer to peer par J.M. de Laigue Expérimentation TV-Radio.com Lettre du RITS de FT Diffusion libre page 8/8