Fiche de l`AWT Le modèle peer to peer
Transcription
Fiche de l`AWT Le modèle peer to peer
Fiche de l'AWT Le modèle peer to peer L'arrivée du peer to peer (point à point) bouleverse le modèle traditionnel client-serveur. Dorénavant, toute application peut être à la fois client et serveur. Quels sont les caractéristiques et les limites de cette technologie? Créée le 29/11/01 Modifiée le 29/11/01 1. Présentation de la fiche L'arrivée du peer to peer (point à point) bouleverse le modèle traditionnel clientserveur. Dorénavant, toute application peut être à la fois client et serveur. Quels sont les caractéristiques et les limites de cette technologie? Avec Internet et le Web, nous sommes familiarisés avec le concept de client-serveur. Le client demande un service au serveur qui l'exécute et transmet le résultat au client. L'arrivée du peer to peer bouleverse ce modèle. Dorénavant, toute application peer to peer peut être à la fois client et serveur. Cette fiche présente différents modèles de peer to peer et la nouvelle génération d'applications qui découle de ce concept. 1.1. • Autres fiches à consulter La communication via le réseau Internet Comment se déroule une communication d'informations sur le réseau Internet? Descriptions des éléments logiciels et matériels, présentation des différentes couches et rôle des ISP création le 28/11/00 | dernière modification le 27/02/03 2. Un nouveau modèle de communication sur Internet Avec l'arrivée du peer to peer (point à point), on ne parle plus de client et de serveur mais d'applications qui sont à la fois client et serveur. Deux architectures existent: hybride ou native 2.1. Une rupture avec le modèle client-serveur classique A l'ère d'Internet et du Web, nous sommes familiarisés avec le concept client-serveur. Dans ce concept, le client demande un service au serveur. Le serveur l'exécute et transmet le résultat au client. En d'autres termes, la demande vient toujour d'un client et le serveur ne prend jamais d'initiative. Avec l'arrivée du peer to peer (point à point), on ne parle plus de client et de serveur mais d'applications qui sont à la fois client et serveur. Ce concept est notamment apparu en 1998 avec la célèbre application Napster qui permet de partager et d'échanger entre amis des fichiers contenant de la musique, au format MP3. Condamné par la justice américaine, Napster a été obligé de revoir son organisation. Sur les traces de Napster, d'autres applications suivant ce concept ont vu le jour, comme Gnutella, Seti, Groove, etc. Le peer to peer permet des échanges entre utilisateurs et applications dans un univers hétérogène et mouvant. La force évidente de ce modèle est d'apporter des informations rares et utiles, car ces informations sont générées par les utilisateurs eux-mêmes. 2.2. Peer to peer, pour quoi faire? Dans un environnement peer to peer, les applications se trouvant sur des ordinateurs personnels (PC) se mettent sur un même pied d'égalité. Il n'y en a plus une qui initialise le dialogue et l'autre qui répond, toute application est capable d'initialiser un dialogue avec une autre et/ou de répondre à un appel. Parmi les applications les plus fréquentes permises par le peer to peer, on peut citer: • • • • • la collaboration, par exemple entre ordinateurs au sein d'une entreprise ou d'une organisation, le partage de ressources entre deux ordinateurs de particuliers, le peer-to-peer computing, c'est-à-dire l'utilisation des CPU d'ordinateurs se trouvant n'importe où sur le réseau Internet pendant les moments où ces ordinateurs ne sont pas utilisés, la messagerie instantanée qui permet à deux ordinateurs de communiquer sans passer par un ordinateur central, la distribution d'une masse importante de fichiers sur plusieurs ordinateurs au sein d'un LAN. Cela revient à répartir le travail de cache, réalisé habituellement par un serveur proxy, sur plusieurs ordinateurs du LAN. 2.3. Deux modèles d'architecture Il existe deux grandes variantes de l'architecture peer-to-peer: • • architecture hybride (assistée par un serveur): deux ordinateurs communiquent entre eux après la localisation du fichier recherché. La localisation de la ressource se fait via un serveur, connu par une communauté, contenant un annuaire commun où les utilisateurs s'enregistrent et déclarent les ressources à partager; architecture native: chaque ordinateur se prête au rôle de client/serveur/moteur de recherche. 3. Architecture peer-to-peer hybride Pour échanger des fichiers de ressources, les utilisateurs s'enregistrent dans un annuaire central où ils déclarent les fichiers qu'ils désirent partager, ainsi que l'endroit à partir duquel on peut les transférer 3.1. Présentation Pour échanger des fichiers de ressources (par exemple de la musique), les utilisateurs s'enregistrent dans un annuaire central (serveur) où ils déclarent les fichiers qu'ils désirent partager, ainsi que l'endroit à partir duquel on peut les transférer. Ce répertoire central se trouve sur un serveur. Ce serveur contient et gère les polices de contrôle des échanges (par exemple pour préserver les droits d'auteur dans le cas de Napster). 3.2. Fonctionnement de l'application Si on cherche un fichier sur le répertoire central et que la disponibilité de ce fichier est conforme à la police d'échange du système (par exemple libre de droits d'auteur pour un fichier musical), on obtient les adresses des machines mettant cette ressource à disposition des utilisateurs désirant le transférer. L'utilisateur se connecte alors à un de ces ordinateurs et transfère le fichier souhaité. Pour pouvoir réaliser cette opération, l'ordinateur de l'utilisateur en question doit disposer d'un logiciel spécifique en général fourni par l'entreprise qui gère l'ensemble du système (par exemple le logiciel fourni par Napster). 3.3. Schéma explicatif 1. Un utilisateur recherche un fichier ressource en envoyant une requête au serveur central. 2. Le serveur central répond et transmet la liste des ordinateurs utilisateurs proposant le fichier demandé. 3. L'utilisateur télécharge le fichier directement à partir d'un des ordinateurs renseignés par le serveur. Pour échanger des fichiers de ressources, les utilisateurs s'enregistrent dans un annuaire central où ils déclarent les fichiers qu'ils désirent partager, ainsi que l'endroit à partir duquel on peut les transférer 4. Architecture peer-to-peer native Avec le modèle natif ou pur, on parle de communication entre ordinateurs sans l'intermédiaire d'un serveur. Les usagers peuvent échanger leurs fichiers à condition d'utiliser un même logiciel peer to peer 4.1. Présentation Avec le modèle peer to peer natif ou pur, on parle de communication entre ordinateurs sans l'intermédiaire d'un serveur (par exemple Gnutella ou Freenet). Les usagers connectés peuvent échanger leurs fichiers sans passer par un serveur central à condition d'utiliser un même logiciel peer to peer. A l'installation de ce logiciel, il faut fournir les adresses IP des machines qui désirent participer au groupe de collaboration et les rendre ainsi visibles aux autres ordinateurs du groupe. Le système fournit en général une liste d'adresses IP par défaut, liste qui peut être enrichie avec des adresses publiées régulièrement sur les sites de cette communauté. 4.2. Fonctionnement Lorsque l'on souhaite obtenir un fichier, une requête est envoyée aux ordinateurs connus par le logiciel. Si le fichier ne s'y trouve pas, chacun de ces ordinateurs transmet cette même requête à leurs pairs connus et actifs à cet instant, et ainsi de suite. Au final, l'initiateur de la requête reçoit la liste des fichiers cibles avec leur localisation. Il peut alors déclencher une connexion vers un de ces ordinateurs pour obtenir le fichier recherché. Vu la multiplication de requêtes dans tous les sens sur un réseau étendu, le danger est de voir le nombre de ces requêtes se multiplier à l'infini. Afin d'éviter ce phénomène, la durée de vie d'une requête diffusée sur le réseau est limitée par le temps d'existence de son datagramme IP. Par contre, le nombre de résultats peut s'avérer important et contenir des redondances. Le débit d'une connexion peer to peer est toujours aligné sur le maillon le plus faible de la chaîne de transmission, c'est-à-dire l'ordinateur qui offre le débit le plus bas parmi la communauté. Par ailleurs, le principe d'anonymat des participants peut être respecté. 4.3. Schéma explicatif 1. Un utilisateur (celui du cercle) recherche un fichier et transmet une requête aux différents utilisateurs connus, 2. La question est relayée vers d'autres utilisateurs connus des premiers utilisateurs sollicités, 3. L'utilisateur qui dispose du fichier répond en suivant le chemin inverse, 4. Le transfert du fichier se fait directement à partir de l'ordinateur qui dispose du fichier vers celui qui le réclame. 5. Exemples d'applications Outre les très connus Napster et Gnutella, d'autres applications se développent sur le modèle d'architecture peer to peer Outre les très connus Napster et Gnutella, d'autres applications se développent sur le modèle d'architecture peer to peer. 5.1. Seti@home: à la recherche des extraterrestres Basé sur le calcul distribué, Seti@home (Search for Extra-Terrestrial Intelligence)a été développé par l'université de Berkeley. Cette application permet ainsi de réunir la puissance de calcul de dizaines de milliers d'ordinateurs reliés à Internet. Cette application est destinée à analyser la totalité des ondes radio reçues sur terre en vue de rechercher une autre forme de vie intelligente dans l'univers. Il faut ainsi analyser de gigantesques volumes de données et donc la puissance des ordinateurs doit être tout aussi colossale! L'approche adoptée a été de fractionner le problème en une multitude de petits calculs et de les repartir entre des milliers d'ordinateurs en utilisant leurs ressources non utilisées (typiquement en remplaçant l'économiseur d'écran). L'architecture se base sur la présence d'un ordinateur central qui répartit les données et collecte les résultats effectués sur les ordinateurs. Le transfert de la tranche des données à analyser et la transmission des résultats s'effectuent par Internet. 5.2. Groove: un portail personnel Groove (Groove Networks) a été développé par un groupe de techniciens travaillant sur le Lotus Notes d'IBM. Groove se définit comme étant un portail personnel qui agit du côté client en tant que complément nécessaire aux traitements effectués côté serveur. Il est optimisé pour le travail de groupe des petites communautés d'utilisateurs. Dédié à la collaboration, il permet la création d'un espace de travail virtuel basé sur des outils de groupware et workflow: calendrier, partage des fichiers, messagerie instantanée ou vocale, gestionnaire de conversation hiérarchisé, etc. 5.3. Kontiki: distribution de contenu à la demande Kontiki est une société de distribution de contenu sur demande (vidéo, audio, images et logiciels). Basé sur une architecture regroupant un mélange de serveurs centraux et d'ordinateurs individuels, ce réseau de distribution utilise un logiciel capable de localiser le fichier demandé et d'envoyer une requête pour le transférer, au meilleur prix et avec la connexion la plus rapide, soit à partir d'un serveur central soit à partir d'un PC situé à côté. Le contenu délivré sera sous le contrôle de ce réseau sécurisé et les producteurs seront rassurés quand à la distribution légale des contenus. Un nombre important de ces contenus seront gratuits, comme c'est le cas aujourd'hui sur beaucoup de sites commerciaux, mais ils seront sous le contrôle des distributeurs. Kontiki se présente donc comme un réseau CDN (Content Delivery Network) basé sur une architecture logicielle distribuée et sécurisée, qui permet d'offrir de la distribution de contenu au tiers du coût d'un CDN traditionnel. Le réseau Kontiki Delivery Network a démarré ses activités au mois d'août 2001 en version test. 5.4. Moteurs de recherche Plusieurs moteurs de recherche, dont AltaVista, ont annoncé le lancement de produits adaptant le concept peer to peer pour la recherche d'information sur le Web. Ces produits cherchent l'information sur les ordinateurs personnels et dans des formats des fichiers différents (mail, tableur, etc.). Si l'idée en soi est intéressante, la technique, un peu trop intrusive, n'est pas du goût de tout le monde à cause des dérives potentielles qu'elle implique! 6. Modèles économiques et limites Le business model du peer to peer n'est pas encore très précis, notamment en matière de sources de revenus. Par ailleurs, cette technologie présente certains inconvénients 6.1. Quel modèle économique ? Le business model du peer to peer n'est pas encore très précis, notamment en matière de sources de revenus: • • technologies vendues par des éditeurs à des fins professionnelles: le modèle peut être celui de l'édition de logiciel, réseaux de partage de contenu : si ils sont centralisés, le modèle d'abonnement payant pour les utilisateurs et de rémunération pour les auteurs et producteurs est possible. Par ailleurs, le développement des agents intelligents de commerce électronique pourrait permettre d'acheter et de vendre automatiquement et directement entre les parties, selon des règles programmées. Certaines des applications utilisant le peer to peer seront mieux adaptées pour fonctionner en Intranet afin d'exploiter et de partager l'information entre les utilisateurs (partage des fichiers, recherche dans des formats de fichiers différents: e-mail, tableurs, etc). 6.2. Le "pire" du peer to peer Cette technologie entraîne néanmoins plusieurs inconvénients: • • • • risque de saturer le réseau: o dû au nombre des connexions qui augmentent dangereusement, o dû aux nombreuses requêtes envoyées dans tous les sens, remise en question et abandon partiel du modèle client-serveur, administration et sécurisation difficiles. Une solution est de proposer une bibliothèque de fonctions peer-to-peer sécurisées (authentification, infrastructure à clé publique, respect de l'anonymat, etc), échange des contenus protégés par la propriété intellectuelle (MP3, vidéo, jeux) très difficilement contrôlable dans une communauté peer to peer native. Par ailleurs une limitation importante de ce modèle est liée au fait que les ordinateurs n'ont pas toujours une adresse IP fixe. Soit une adresse leur est attribuée dynamiquement par l'ISP (elle change alors à chaque connexion), soit ils utilisent le NAT pour cacher leurs vraies adresses. Ce problème sera résolu avec l'adoption du standard Ipv6 par tous les ordinateurs utilisant la suite des protocoles TCP/IP, mais ce ne sera pas pour demain. © Agence Wallonne des Télécommunications Avenue de Stassart 16 à 5000 Namur - Belgium www.awt.be - [email protected]