Home
Télécharger

Accueil Généralités Les Pare-feu Les spywares Internet Le Peer to peer Logiciels P2P Les News Powergrab Démo Le FTP Récap. des sites

Le Peer-to-peer (P2P)


    Je ne connaissais pas tout ce qui suit au moment où j'ai commencé à faire cette page. Notamment à propos des différents réseaux existants: Gnutella, eDonkey, FastTrack... C'est bien de connaître un peu de leur histoire, ou leurs spécificités, même s'ils fonctionnent à peu près tous sur le même principe: le P2P ! La plupart des infos qui suivent viennent d'un rapport d'étudiants publié sur internet. Merci à eux, j'ai mis l'adresse de leur rapport dans la section Sites à visiter.

Dans son essence, l'informatique pair à pair se définit comme le partage des ressources et des services par échange direct entre systèmes. Ces échanges peuvent porter sur les informations, les cycles de traitement, la mémoire cache ou encore le stockage sur disque des fichiers.

Contrairement au modèle client / serveur, chaque système est une entité réseau complète qui remplit à la fois le rôle de serveur et celui de client. Avec le peer-to-peer, les ordinateurs personnels ont le droit de faire partie du réseau. Le peer-to-peer désigne donc une classe d'applications qui tirent partie des ressources matérielles ou humaines qui sont disponibles sur le réseau Internet.

        


Peer-to-Peer: l'avenir des échanges entre machines


En plus du grand public, les entreprises s’intéressent aussi au P2P car ce type de réseaux permet de mutualiser les ressources et de supporter un grand nombre d’utilisateurs. Les domaines d’applications du peer-to-peer sont nombreux (partage de connaissances, travail collaboratif) même si actuellement le partage de fichiers est le plus utilisé. Par exemple Microsoft et sa plate-forme de développement .NET implémente d’ores et déjà le modèle peer-to-peer pour construire des applications distribuées.

Mais il ne faut pas oublier que l’utilisation principale est le téléchargement et cette activité est considérée comme du piratage. Il est bien entendu agréable de télécharger des MP3 gratuitement.
Etonnamment, seuls les artistes très connus et les grandes maisons de disque sont dérangées par ce phénomène. Au contraire, certains artistes, comme le groupe de rap L’Arcane se servent de ces réseaux pour se faire connaître. La chanteuse Lorie a proposé ces titres en téléchargement ce qui l’a rendue célèbre. Des plus grandes stars comme Robbie Williams et Manu Chao se disent pour les réseaux peer-to-peer.
Plus que des problèmes d’ordres légaux, les réseaux peer-to-peer engendrent également des problèmes de morale. Le fait qu’il n’existe aucune censure (de part leur conception, comme internet d'ailleurs, ces réseaux sont non-hiérarchisés, donc sans contrôle du contenu), ce qui pousse certains utilisateurs à commettre des actions immorales et illicites. Les réseaux dans ces cas peuvent êtres considérés comme des éléments d’insécurité publique. On y trouve tout...

Il existe deux grandes familles de P2P. La première de type Napster, qui fonctionnait sur un seul serveur central, alors que sur la deuxième, type EDonkey, tous les serveurs sont décentralisés. Chaque PC connecté est un serveur.

Napster

    On l'a vu, le principe de P2P est que chacun partage des fichiers, et l'on se connecte à des serveurs qui permettent de relier tout le monde. Le premier du genre était Napster, qui a du s'arrêter (ou plutôt changer: le site existe toujours et propose des animations, je vous conseille l'animation "reggae"...) suite à un long procès. L'auteur de ce logiciel est Shawn Fanning. Il l'a fabriqué alors qu'il n'avait que 17 ans. En 1998 il le bricole à la demande de son co-locataire  afin de trouver des morceaux de rap gratuits sur internet. Il met son logiciel sur le Net en 1999 en l'appelant NAPSTER qui était son surnom. En quelque mois, des millions d'étudiants Américains téléchargent le logiciel et l'utilisent. Shawn Fanning ne s'attendait pas à ce succès, et  grâce à l'aide de son oncle, il crée alors sa propre entreprise. Mais voilà, ce n'était pas très légal ... et les ennuis ont commencé ! Pour l'histoire, c'est le groupe Metallica qui le premier l'a traîné en justice... Je n'ai jamais aimé Metallica ! ;-)
En janvier 2001, le verdict de la 9e cour d'appel de San Francisco tombe : Napster viole la loi sur les droits d'auteurs et devra cesser dans un bref délai l'échange gratuit de fichiers musicaux MP3.

Devant les menaces de la justice pour violation des droits d'auteurs puis l'interruption du service sur décision judiciaire, de nouveaux logiciels (Gnutella, Freenet, EDonkey) similaires apparaissent. Mais au lieu de faire appel à un serveur centralisé indexant les ressources pour mettre en relation les usagers, ils transfèrent cette fonction d'annuaire à des milliers d'ordinateurs de par le monde. Le principe du pur peer to-peer est né.
En gros tout le monde peut interroger tout le monde, et accéder à tout le monde. A la différence de Napster, qui centralisait toutes les informations des fichiers disponibles sur un seul et même serveur, ces réseaux permettent à certains de se déclarer en tant que serveur, multipliant ainsi les sources d'information, et décentralisant encore un peu le concept. Ceci permet de pourvoir avoir accès à une multitude de serveurs, multipliant ainsi le nombre de sources et réduisant la dépendance, dans le cas d'un réseau à serveur unique.

Le réseau Gnutella

    Le réseau Gnutella est le plus ancien des P2P, créé par les ingénieurs de Nullsoft, la société qui a lancé WinAmp (voir les pages sur la musiqe). Le but était d'optimiser la bande passante. Le plus drôle de l'histoire, c'est que Gnutella est né chez AOL, propriétaire de Time-Warner. Mis au point quasi-clandestinement par les auteurs de Winamp, le programme a été mis en ligne au mois de mars 2000 sur le site de Nullsoft. Les dirigeants d'AOL, propriétaire de Nullsoft -Winamp ont peu goûté la plaisanterie et le logiciel a été très vite retiré du site… Mais trop tard, des milliers de copies étaient en circulation, et des centaines de programmeurs travaillaient déjà à améliorer le programme. Et créer une nouvelle terre promise.
Gnutella se distingue en proposant un réseau entièrement libre. Pour écrire un client pour le réseau Fasttrack (voir plus bas), il faut avoir une licence. Gnutella (comme son nom l’indique) et sous licence Gnu et donc libre de droit. Il s’agit d’un peer-to-peer décentralisé qui a évolué au fil du temps. Son architecture était comparable à e-Donkey avec des fonctionnalités en moins (pas de recherches sur les serveurs voisins etc.). Suite à l’explosion du nombre de clients (de 75.000 à 300.000), le réseau a évolué vers le pur peer-to-peer. Pour se connecter l’utilisateur fait une sorte de "broadcast" vers l’Internet afin de trouver les utilisateurs les plus proches.

L’identification des nœuds du réseau

    Un client A se connecte sur le réseau. Il commence par rechercher tous les nœuds Gnutella présents. Pour cela il transmet une trame d’identification (PING) à tous ces voisins qui eux-mêmes la transmettront à leurs voisins. Ces envois sont encapsulés dans une trame TCP. Pour borner la recherche le mécanisme de recherche joue sur le TTL de la trame. A chaque nœud du réseau le TTL est décrémenté et lorsqu’il devient égal à 0 la retransmission est stoppée.
Un mécanisme permet d’éviter les boucles dans la transmission. Lorsqu’une trame est reçue elle est stockée pendant un court laps de temps. Si le nœud reçoit pendant ce laps de temps une trame identique il la rejette car elle est déjà traitée. Lorsqu’un nœud est identifié, il envoie à l’émetteur une trame de réponse (PONG).


Les clients Gnutella

    Le partage de fichiers partiellement téléchargés n’est possible qu’avec certains clients du réseau Gnutella (Ares, BearShare, Morpheus…). Certains d’entre eux, à la manière de Kazaa, imposent l’affichage de publicités. Gnutella dispose de clients Linux et Macintosh.

Le réseau EDonkey

    Le réseau e-Donkey est né en septembre 2000 mais c’est au cours de l’année 2001 qu’il a connu son véritable essor. Par rapport à ses prédécesseurs, eDonkey fonctionne dans un mode décentralisé avec une multitude de serveurs : l’architecture est proche du super noeud. eDonkey permet le transfert de tous types de fichiers et ce, quelque soit la plateforme puisqu’il dispose de client Windows et Unix. Chaque utilisateur peut ouvrir son propre serveur et tous les serveurs peuvent être reliés entre eux. Lorsqu’un client se connecte sur un serveur, il lui fournit la liste des fichiers partagés. Une fois connecté, il peut rechercher un fichier. Soit il le recherche sur le serveur sur lequel il est connecté, soit sur tous les serveurs connus par l’intermédiaire des autres peer (fonctionnalité réservée à eMule).

alt="" src="../images/edonkey2.gif">

Une autre particularité: le quota d’upload / download. Ainsi si on limite l’upload a 0 ko/s, le download est fixé a 0 ko/s. le rapport est de 1 pour 4 :



Ce système permet d’éviter les utilisateurs les plus égoïstes. ;-)
Comme la plupart des réseaux d’échanges de fichiers, à aucun moment les fichiers ne sont transférés sur les serveurs. Celui-ci n’intervient qu’à la connexion et lors des recherches puisqu’il a le rôle d’annuaire. Le protocole de transfert est basé sur UDP, le port utilisé peut être changé.
Le plus gros avantage d’eDonkey est son protocole MFTP (Multisource File Transfert Protocol), également appelé hashing (découpage).
Derrière cette abréviation se cache un système ingénieux pour optimiser les temps de téléchargement de fichiers. Sur un système classique, le client ne pourrait télécharger des fichiers qu’à partir de Peer sources disposant du fichier complet. Grâce au MFTP, un client peut à la fois télécharger une partie d’un fichier à partir de plusieurs sources et aussi partager les parties déjà téléchargées:


Ce schéma explique le principe du téléchargement partagé d'eDonkey. Le client Z possède la totalité du fichier (les minuscules représentent les différentes parties du fichier). Les clients W, X, et Y veulent tous télécharger ce fichier. Puisque les clients X et  Y ont tous les deux différents morceaux du fichier, ils peuvent non seulement télécharger ce fichier à partir de client Z mais ils peuvent aussi commencer à s'envoyer mutuellement ce qu'ils ont. Cela permet de distribuer le plus rapidement possible ce fichier sans bloquer la bande passante de Z. En réalité cette bande passante sera bloquée (les clients X et Y vont télécharger au maximum de la vitesse) mais beaucoup moins longtemps (puisque certains morceaux seront arrivés d'autres sources). De plus le client W peut commencer à charger ce qui lui manque chez les clients X et Y tant que Z n'a plus assez de bande passante.

En plus du MFTP, eDonkey utilise un système de listes d’attente très ingénieux qui favorisent les personnes qui ont le plus de parties du fichier. Grâce à cela la diffusion se fait rapidement et plus il y a de sources qui disposent du fichier complet, plus la vitesse de téléchargement est rapide.

     eMule
remplace peu à peu eDonkey chez les clients Windows grâce à ses nombreuses fonctionnalités comme une gestion des recherches plus poussées et une gestion automatique des files d’attente et des priorités. Mais les réels avantages du réseau eDonkey sont présents depuis son lancement et c’est ce qui fait son succès actuellement avec le fait qu’il soit disponible sous Linux (Les serveurs sont généralement sous Linux),

Les personnes qui se déclarent en tant que serveur EDonkey (NB: ce n'est pas votre cas, vous serez clients) font en fait office d'annuaire et répertorient les fichiers d'un certain nombre d'autres utilisateurs clients. Donc, quand vous vous connectez en tant que client sur un serveur, celui-ci va répertorier les fichiers que vous avez choisi de partager (paramètrable), et les mettre à la disposition des autres utilisateurs. C'est ce que l'on appelle le "File Sharing".

Techniquement, les serveurs doivent avoir une bande passante suffisante pour pouvoir accepter les requêtes des clients, et retourner des réponses rapides. C'est pour cela que les temps de ping sont indiqués. En fonction de leur bande passante, les serveurs pourront accepter un certain nombre d'utilisateurs, plus ou moins grand. Il est préférable de se connecter à un serveur rapide ayant un grand nombre d'utilisateurs, de façon à ce que vos recherches vous donnent le résultat que vous recherchez le plus vite possible, et le plus exact  possible (titre exact, chanteur exact...).

MFTP

Impact du Hashing (découpage)

    On l'a vu, non seulement EDonkey est moins centralisé que Napster (plusieurs serveurs), mais il bénéficie également d'une autre particularité: il sectionne les fichiers en petits bouts ("Hashing"). Chaque petit bout peut être téléchargé indépendemment des autres et possédé par plusieurs personnes. C'est pour cela que lors du téléchargement d'un fichier, certaines sections pourront être très bleues (car beaucoup de personnes l'ont déjà) et d'autres très claires (peu disponible), voir même rouge (indisponibles). Méfiance donc quand vous téléchargez des fichiers, car il se peut que certains fichiers soient disponibles partiellement, et que le dernier petit bout manquant ne soit pas disponible du tout, ce qui fera que votre téléchargement ne se finira jamais... Soyez vigilants donc.

Vous vous rendez compte que cela peut accélérer terriblement la diffusion... Mais s'il manque à tout le monde le même petit morceau, personne n'aura le fichier complet.

Voici le code des couleurs utilisé par eMule:



Noir montre les parties déjà téléchargées
Rouge indique une partie manquante sur toutes les sources
Les différentes teintes de bleu représentent la disponibilité de cette partie sur les sources: plus le bleu est foncé, plus la disponibilité est haute
Jaune indique une partie en cours de téléchargement
La barre verte en haut représente l'avancement total du téléchargement du fichier

indique que le téléchargement du fichier est terminé (complet)

Vous pouvez aussi double-cliquer sur le fichier en cours de téléchargement pour voir les différentes sources proposant ce fichier. Pour chaque source, vous voyez alors:


Noir indique les parties que vous avez déjà
Bleu représente les parties que vous n'avez pas encore
Argent montre les parties que cette source ne posséde pas non plus
Vert indique les parties en cours de téléchargement
Jaune indique une partie en attente (déjà demandée)

Le réseau Fast Track

    Le réseau FastTrack, dont le client le plus connu du grand public est Kazaa peut être comparé à eDonkey sur plusieurs points. Tout comme lui il permet le partage de fichiers de tous types et emploie le protocole MFTP.
Il connaît un énorme succès dans le monde, malgré la présence d’un spyware dans la version grand public du client Kazaa. Kazaa Lite 2.1.0(k++ edition) ne comporte parait-il aucun spyware ni adware...
Sa force réside dans la facilité d’utilisation puisque son interface est très intuitive et comporte un lecteur multimédia et une bibliothèque pour organiser ses fichiers. Autre avantage, beaucoup de peer de Kazaa disposent de liaison T1 (disons équivalent ADSL) et ainsi il n’est pas rare d’atteindre des débits supérieurs à 50ko/s.
Il fonctionne de la même manière qu’eDonkey avec une subtilité supplémentaire : les supernodes.
Les utilisateurs disposant d’une connexion très rapide sont immédiatement considérés comme des supernodes et jouent alors le rôle de serveur. C’est eux qui hébergent la liste des fichiers partages par les clients. Les serveurs principaux ne gèrent donc que les connections et la liste des supernodes. Cette méthode permet au réseau Fasttrack de disposer d’une quantité croissante de serveur de recherche avec le nombre de clients présents.


Les supernodes restent des Peer, ils partagent et téléchargent aussi des fichiers (Peer C Supernode A). Le temps CPU consommé par la fonction de supernode est de l’ordre de 10% et le client peut refuser de devenir supernode, mais dans cas, c’est la mort du réseau Fasttrack. Les supernodes communiquent entre eux pour les recherches. En fonction du TTL (Time To Live) des paquets, la recherche est plus au moins profonde sur le réseau. Les échanges entre clients se font via le protocole HTTP 1.1.

Kazaa est le client le plus connu du réseau. Il est aussi le plus complet puisqu’il a été conçu par les auteurs du réseau. Une version "Spyware Free" est disponible et s’appelle Kazaa Lite. Aucun client connu ne permet de se connecter avec une autre plate-forme que Windows. Il faut également disposer d’Internet Explorer et de Windows Média Player.

Le réseau OpenNap

    OpenNap étend le protocole de Napster en autorisant le partage de tous types de fichiers média ainsi que la possibilité de relier les serveurs entre eux. Opennap est un serveur Open source pour connecter des clients Napster entre eux. Voir également le client WinMX plus bas.

Le réseau Bittorrent

    Un autre réseau... qui semble mettre l'accent sur une meilleure utilisation de la bande passante, notamment votre capacité d'upload qui est utilisée pour décentraliser encore un peu plus l'ensemble. Il semble être très rapide et efficace, à essayer si vous êtes pressé !

Le réseau DirectConnect


    DirectConnect est original de par son fonctionnement. Les serveurs sont ici appelés des hubs (une traduction possible est "salon"). Chaque hub est créé pour accueillir une catégorie de fichiers ainsi qu’une véritable communauté autour d’un sujet précis (films, musique, animations, logiciels, jeux,…).
Si on se connecte à ces hubs pour partager des fichiers ne correspondant pas à la catégorie du hubs, on est alors banni.

L’interface et le fonctionnement du client peuvent s’apparenter à un IRC avec possibilité de partage de fichiers en plus. Le programme a un fonctionnement similaire à e-Donkey (liste d’attente, décentralisé) mais ne possède ni le MFTP, ni la communication entre les serveurs lors des recherches.

Autre différence, il faut parfois partager plusieurs Go avant de pouvoir accéder aux hubs les plus intéressants du réseau. L’impossibilité de connaître la liste de tous les hubs en fait une communauté un peu fermée face aux autres peer to peer. De fait de sa technologie moins évoluée, il est également moins performant.

Le réseau Blubster

    Blubster offre uniquement le partage fichier MP3, mais il le fait bien. C’est un pur Peer-to-Peer et il utilise un protocole basé UDP pour le transfert des fichiers. Son moteur de recherche décentralisé est extrêmement rapide et le nombre de fichiers présents est très important. Théoriquement il peut se connecter de n’importe où…

Son créateur (Pablo Soto, 22 ans) annonce même : "Le plus gros avantage de Blubster finalement est sa faculté d'extension et l'intelligence de l'organisation de notre réseau. Il n'y a en fait aucune limite au nombre d'utilisateurs connectés en même temps. Nous avons calculé que même 1.000.000 d'utilisateurs pouvaient facilement se connecter simultanément sans problèmes de performances. Donc nous ne pouvons que dire bienvenue aux anciens utilisateurs d'Audiogalaxy !"

Comparatif

Ce tableau n’est pas exhaustif et ne prend en compte que les réseaux de partages de fichiers.

Les chiffres ont été recueillis sur les réseaux respectifs le lundi 3 février 2000 à 21h26, connecté avec une ligne ADSL 512/128.


Ces tests montrent l’importance de la communauté francophone d’e-Donkey et aussi l’efficacité de son système MFTP couplé aux listes d’attente. Les fichiers partagés via ces réseaux se diffusent très rapidement.
Les chiffres fournis sur les réseaux autres qu’e-Donkey sont à vérifier puisqu’il n’existe pas de statistiques précises et régulières.

Nous avons pu voir que les réseaux peer-to-peer sont en plein essor. Ils permettent un partage de ressources unique mais parfois au dépend des lois. On pense notamment aux droits d’auteurs des fichiers téléchargés via ces réseaux. Il faut également prendre en compte l’aspect commercial de ces logiciels et les bases de données utilisateurs que certains logiciels (Kazaa notamment) enrichissent chaque jour.


Retour haut de page