You are on page 1of 37

Matrise E.E.

Mr. DERBALI Mohammed


Mr. EMBOUAZZA Fethi

ETUDE DES
RESEAUX PEER-TO-PEER

T.E.R propos et encadr par Mr. Olivier FOURMAUX .


Anne scolaire 2002-2003

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Table des matires

I.

BIBLIOGRAPHIE SUR LES RSEAUX PEER-TO-PEER ...3


1.1 QUEST CE QUUN RSEAUX PEER-TO-PEER ? ................................3
1.1.1 Introduction ....................................................................................................................... 3
1.1.2 Notion de Client/Serveur .................................................................................................... 3
1.1.3 Avantages et failles des rseaux Peer-to-Peer..................................................................... 4
1.2 ARCHITECTURES PEER-TO-PEER ................................................5
1.2.1 Architecture centralise...................................................................................................... 5
1.2.2 Amlioration du Peer-to-Peer centralis............................................................................. 7
1.2.3 Architecture centralise vers dcentralise ......................................................................... 8
1.2.4 Architecture dcentralise.................................................................................................. 9
1.2.5 Modle hybride : les rseaux Super Noeuds ...................................................................... 10
1.3 LISTE DES RSEAUX PEER-TO-PEER ..........................................11

II. ETUDES DES RSEAUX : GNUTELLA ET FREENET ......20


2.1 TECHNOLOGIE GNUTELLA .......................................................20
2.1.1 Larchitecture du rseau Gnutella..................................................................................... 20
2.1.2 Lidentification des nuds du rseau ................................................................................ 21
2.1.3 En tte de Gnutella........................................................................................................... 22
2.1.4 Les diffrentes fonctionnalits .......................................................................................... 22
2.1.5 Routage des descripteurs.................................................................................................. 25
2.1.6 Les clients Gnutella.......................................................................................................... 26
2.2 TECHNOLOGIE FREENET .........................................................26
2.2.1 La publication de donnes................................................................................................ 26
2.2.2 Lidentification des donnes ............................................................................................. 27
2.2.3 La consultation des donnes et le mcanisme.................................................................... 30
de routage .................................................................................................................................. 30
2.2.4 Linsertion dun nouveau fichier....................................................................................... 32
2.2.5 Lauto-archivage ou lauto-destruction des donnes ......................................................... 32
2.2.6 Faiblesses et limites 33

2.3 Technologie Fasttrack ....35

BIBLIOGRAPHIE ...............................................................37

- 2-

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

I.Bibliographie sur les rseaux Peer-to-peer


1.1

Quest ce quun rseaux Peer-to-Peer ?


1.1.1

Introduction

Lacronyme P2P est apparue bien avant le phnomne marketing de l'apparition tout va
des acronymes lis aux " nouveaux " modles conomique / technologique du march
Internet : B2B, B2C, C2C, etc. Mais le rseau des rseaux, bien avant de reprsenter un
march avec toute la valeur ajoute qu'il peut (difficilement) gnrer, dsignait tout autre
chose auparavant, savoir essentiellement un outil de travail. Or, qui dit travail dans un
environnement rseau, dit ncessairement collaboration, et donc partage. C'est pourquoi,
le P2P, pour Peer-to-Peer (rseau d'gal gal, mais on rencontre galement pair to pair,
de personne personne), fait appel un principe qui est au fondement mme de tout
dispositif informatique reli en rseau : celui du partage des ressources. Il existe toutefois
une nuance de taille en ce qui concerne l'architecture rseau d'gal gal, tel que nous
l'entendons avec le phnomne P2P sur Internet. Il convient ici, avant de se lancer dans le
coeur du sujet, de connatre quelques bases toutes simples directement tires des
technologies rseaux. En particulier, les principes fondamentaux de communication entre
les clients et les serveurs.

1.1.2 Notion de Client/Serveur


Pour bien comprendre le Peer-to-Peer, il faut le distinguer de ce qu'il n'est pas. Sur le
Web, et plus largement sur Internet, on trouve d'un ct les clients. Les clients dsignent
des applications que vous avez installes sur votre machine pour exploiter les services
Internet ou ceux proposs sur un rseau priv : courrier lectronique, Web, Newsgroups,
etc. La plupart du temps, ce type de logiciels est gratuit mais l'accs aux ressources qu'ils
permettent ne l'est pas toujours.
De l'autre ct, il y a les serveurs. Ils reprsentent des machines puissantes conues pour
fournir un service plusieurs utilisateurs (ou clients) connects simultanment. Vous
l'avez compris, ces derniers partagent leurs ressources en ligne et, pour l'occasion, sont
quipes de logiciels spcifiques (que l'on appelle galement serveur), tout comme les
utilisateurs sont quips de programmes particuliers (les outils client) pour accder tous
ses serveurs. Et dans la plupart des cas, la diffrence des programmes client, les
logiciels serveur ne sont pas gratuits. Bien entendu, un client prcis ne pourra pas
fonctionner avec tous les services proposs sur Internet. S'il a t dvelopp pour accder
une plate-forme de jeux en ligne propritaire, par exemple, n'esprez pas alors
l'exploiter de la mme faon pour vous connecter sur le service d'un concurrent.
On parle alors darchitecture client / serveur.
A l'inverse, dans un environnement P2P tous les utilisateurs sont un peu clients et
serveurs en mme temps, quelques exceptions prs (rseau centralis dans la ligne de
Napster par exemple).
Concrtement, travers une architecture P2P, chaque utilisateur peut partager et grer
des ressources comme il l'entend : dfinition des autorisations sur les fichiers et
rpertoires, laboration des structures d'accs l'information, gestion des ressources
machines (publiques et prives), etc. Il n'existe plus de serveur centralis pour stocker et
grer les donnes, mais l'information et la charge (connexion des utilisateurs pour
rcuprer l'information) sont rparties sur diffrentes machines, parfois de faon trs
subtile, toutes relies entre elles grce un logiciel spcifique, mi-client mi-serveur.

- 3-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

1.1.3 Avantages et failles des rseaux Peer-to-Peer


Il s'avre assez difficile de dfinir les avantages et les failles de l'architecture rseau P2P.
Tout dpend en fait du contexte dans lequel la technologie est exploite. Ainsi, dans un
cadre professionnel, les rseaux P2P n'ont pas une bonne presse. Le fait de ne pas pouvoir
centraliser, en un seul endroit, toute l'information de l'entreprise, cela engendre des
difficults d'administration considrables. De plus, la faiblesse d'un tel systme, si aucun
dispositif de sauvegarde et de relais n'a pas t install, apparat ds qu'une ou plusieurs
machines tombent en panne.
En outre, administration et scurit vont toujours de pair, et l encore, dans ce domaine,
les rseaux P2P ne brillent pas par leur qualit de protection et de confidentialit des
donnes lorsqu'il s'agit de distribuer l'information.
D'un autre ct, les rseaux P2P emploient des programmes extrmement simples
installer, configurer et exploiter, o qui tendent le devenir. De plus, toujours dans le
mme esprit, l'conomie financire du choix d'une telle architecture rseau se retrouve
galement au niveau des logiciels installer. En effet, tout systme d'exploitation digne de
ce nom dispose d'outils intgrs pour participer l'laboration et au fonctionnement d'un
rseau P2P.
Enfin, un rseau P2P n'entrane pas les mmes dpenses pour la location de bande
passante si vous exploiter un tel service sur Internet. Mais, par voie de consquence, la
qualit et la rapidit des transferts ne sont jamais assures.
En conclusion, le principal dfaut des rseaux P2P pour les entreprises dsigne l'absence
d'administration (puisque chaque utilisateur est lui mme administrateur de sa propre
machine), mais il constitue galement la principale qualit de cette architecture,
particulirement apprcie des milieux underground informatiques. Ainsi, dans un
environnement de loisir et de divertissement sur Internet, le troque, l'change et le libre
tlchargement dsignent toujours des plates-formes particulirement frquentes et qui
remportent un large succs auprs des jeunes, principalement.
De telles architectures sont difficiles, voire impossible, liminer. Elles se crent de faon
alatoire et n'obissent aucune rgle administrative, ou presque. Il est clair que nous
sommes, actuellement, l'an 1 du P2P grand public sur Internet. Il est vident que de
nombreux modles vont apparatre dans les mois et annes venir, ce qui permettra de
faire un peu de mnage dans le paysage sulfureux du P2P, tel que nous le connaissons
aujourd'hui et qui fait essentiellement parler de lui avec le clbre format de compression
et de diffusion audio : le MP3.
Cela dit, il est galement vident que l'apparition d'un cadre juridique lgal, pour les
changes de fichiers et le partage des ressources directement d'utilisateur utilisateur, ne
suffira pas pour liminer toute la mauvaise graine. Comme dans tout autre domaine
technologique, il existera toujours des gens pour dtourner des outils de leur but principal.
Et l'volution de toutes ces technologies reste ainsi immuable, avec ses failles et ses
parades. On notera que tout cela relve plus d'une course poursuite entre "hackers" et
scientifiques, avec la mise en place progressive de nouvelles protections et l'apparition
rgulire de nouvelles "attaques". Dans une sorte de mouvement perptuel...
Pour ce qui est de l'aspect technique des rseaux P2P, nous n'irons pas plus loin dans le
cadre des gnralits (nous y reviendrons nanmoins plus tard lorsque nous vous
prsenterons le fonctionnement prcis des rseaux P2P). Ds lors, maintenant que vous
connaissez les principales subtilits techniques ncessaires la comprhension du sujet,
passons l'esprit vhicul par ce phnomne. Car n'allez pas croire que le P2P, sur
Internet, se rduit une bande d'nergumnes qui s'changent en cachette de la musique
pirate. En fait, cela va beaucoup plus loin que a car il est tout simplement impossible
d'envisager Internet sans les activits de partage. De fait, l'acheminement de toutes les
donnes repose sur des accords d'change et de rciprocit plus ou moins formaliss entre
les diffrents acteurs de ce march. Cela mrite d'tre regard de plus prs.

Register eDocPrinter - PDF


Pro Online Now!!
4-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

1.2

RESEAUX PEER TO PEER

Architectures Peer-to-Peer
1.2.1 Architecture centralise

Qui n'a pas dj entendu parl de Napster? Un service peer-to-peer spcialis dans
l'change de fichiers son (au format MP3 et Windows Media) qui a largement contribu
dvelopper la technologie P2P sur le march grand public, et mme professionnel. Or,
toute l'originalit de ce rseau, devenu dsormais commercial, consiste avoir adopt une
architecture centralise.
Sur le papier, un tel dispositif reprsente actuellement la solution la plus confortables pour
changer vos fichiers dans une communaut (musique, DVD...). Mais dans la ralit, ce
type d'architecture exige un tel investissement en ressource que les services restent
rarement de bonne qualit (lenteur, disponibilit...). Soit, ils sont saturs ; soit, ils sont
limits en termes d'utilisateurs simultans autoriss.
Concrtement, dans toute architecture centralise, un dispositif exclusivement serveur se
charge de mettre en relation directe tous les utilisateurs connects. L'intrt de cette
technique rside dans l'indexation centralise de tous les rpertoires et intituls de fichiers
partags par les abonns sur le rseau. En gnral, la mise jour de cette base s'effectue
en temps rel, ds qu'un nouvel utilisateur se connecte ou quitte le service.
Comment cela fonctionne pour les clients ? :
Le plus simplement du monde, comme avec un moteur de recherche classique : vous
lancez une requte en inscrivant un mot-cl. Vous obtiendrez une liste d'utilisateurs
actuellement connects au service et dont les fichiers partags correspondent au terme
recherch. Ds lors, il suffit de cliquer sur un des intituls de lien pour vous connecter
directement sur la machine correspondante et entamer le transfert. Dans ces conditions,
aucun moment les fichiers se retrouvent stocks sur le serveur central.

Schma : Architecture centralise

Lgende :
Un utilisateur recherche un fichier ressource en envoyant une requte au serveur central.
Le serveur central rpond et transmet la liste des ordinateurs utilisateurs proposant le fichier demand.
L'utilisateur tlcharge le fichier directement partir d'un des ordinateurs renseigns par le serveur.

Register eDocPrinter - PDF


Pro Online Now!!
5-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Comme nous l'avons dit, le principal atout de cette mthode rside dans le confort et
l'efficacit des recherches, condition que le service ne soit pas surcharg et qu'il dispose
d'une communaut suffisamment nombreuse pour le rendre intressant. Ce qui n'est pas
toujours le cas...
Enfin, nous terminerons par les principaux dfauts qui reviennent lorsqu'on tudie de plus
prs le fonctionnement de ce type d'architecture. On en relvera surtout trois :

Au niveau de la scurit, une architecture P2P centralise s'avre particulirement


vulnrable. Elle ne propose qu'une seule porte d'entre, son serveur centralis, ce
qui constitue le talon d'Achille de tout le rseau. Il suffirait effectivement de
bloquer ce serveur pour dconnecter tous les utilisateurs et stopper le
fonctionnement de l'ensemble du rseau.

Autre chose, le fait de passer travers une architecture centralise, o il faut


s'enregistrer pour pouvoir y accder, ne garantit bien videmment aucun
anonymat. Le service connat l'adresse IP de votre machine et le type de fichiers
que vous tlchargez. Il peut facilement laborer des profils d'utilisateurs et qui ne
le fait pas ? De tels fichiers clients reprsentent pour le moment le principal fond de
commerce des services exclusivement on-line. Vous tes prvenu.

Enfin, l'change de fichiers numriques grande chelle travers Internet


(musique, vido, photo, etc.) entrane bien souvent le non respect des protections
intellectuelles. Les oeuvres places sous copyright qui circulent sur les rseaux P2P
sont lgion et on se retrouve ainsi en face d'une gigantesque organisation de
piratage, et non plus un petit rseau d'change entre amis.

Register eDocPrinter - PDF


Pro Online Now!!
6-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

1.2.2

RESEAUX PEER TO PEER

Amlioration du Peer-to-Peer centralis

Pour rsoudre les problmes de robustesse et amliorer la qualit de connexion avec le


serveur, le serveur central de larchitecture centralise est remplac par un anneau de
serveur. Ceci permet dviter la chute du rseau si une panne se produit sur un serveur,
car il y a toujours un point de connexion valide aux serveurs.
De plus lutilisation de plusieurs serveurs permet de mieux rpartir les demandes de
connexions et donc de limiter la chute de bande passante.
Chaque serveur peut avoir accs aux informations des clients connects sur les autres.
Laccs aux donnes partages est donc totalement transparent pour les utilisateurs.

Schma : Amlioration de larchitecture Peer-to-Peer

Register eDocPrinter - PDF


Pro Online Now!!
7-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

1.2.3

RESEAUX PEER TO PEER

Architecture centralise vers dcentralise

Nous avons vu que larchitecture centralise pose des problmes de scurit, robustesse,
et de limitation de la bande passante. Les problmes sont directement issus de lutilisation
de serveurs dont le seul but est de possder lannuaire des clients.
Si on dsire supprimer les serveurs centraux il faut donc trouver le moyen de constituer
un annuaire sur chaque client, puis de les faire communiquer. C'est sur ces mcanismes
que sont bass les rseaux Peer-to-Peer dcentraliss. Il ny a donc plus de serveurs
centraux, ce sont tous les lments du rseau qui vont jouer ce rle. Chaque machine
dans ses rles est identique une autre, cest pour cela que lon appelle ces types de
rseaux Peer-to-Peer pur.
Un grand avantage de ce nouveau type de rseaux, est en thorie le total anonymat quil
procure. En effet en vitant de communiquer avec une machine centralisant les demandes
et les annuaires, on vite les problmes de rcupration des donnes utilisateurs.
Schma : Architecture centralise vers dcentralise

Register eDocPrinter - PDF


Pro Online Now!!
8-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

1.2.4

RESEAUX PEER TO PEER

Architecture dcentralise

Les abonns des rseaux P2P marquent une nette prfrence pour les architectures
dcentralises. Cela s'explique par l'absence d'anonymat dans les dispositifs centraliss et
cela fait suite galement aux difficults judiciaires rencontres par Napster et Scour,
principalement. C'est pourquoi, trs vite, sont apparues des solutions alternatives. On
pense plus particulirement Gnutella qui constitue incontestablement le fer de lance des
rseaux dcentraliss.
Quoi qu'il en soit, en vous connectant de tels rseaux, vous aurez toujours besoin d'un
programme mi-client mi-serveur pour tablir une connexion sur une ou plusieurs autres
machines quipes, comme la vtre, du mme logiciel. Contrairement aux rseaux
centraliss, ou il suffisait de se connecter au serveur pour avoir accs aux informations, il
faut pour avoir accs une information en dcentralis :
Apprendre la topologie du rseau sur lequel le client est connect.
Rechercher linformation sur tous les noeuds.
Recevoir une rponse dun noeud rpondant aux critres.
Schma : Cration dun annuaire

Lgende :
Le client A se connecte sur le rseau, mais il ne connat pas la topologie du rseau (A est
totalement aveugle).
Pour connatre les autres membres du rseau, A va "broadcaster" une demande
didentification des noeuds du rseau.
Les noeuds recevant la demande vont leur tour la rpercuter sur tous les noeuds voisins
et ainsi de suite (comme les noeuds B, C et D).
Lorsque que la trame est reue et identifie par un autre client, le noeud renvoi une trame
didentification A.
Ainsi A va peu peu pouvoir identifier tous les noeuds du rseau et se crer un annuaire.

De cette faon, la taille d'une telle architecture rseau est thoriquement infinie.

Register eDocPrinter - PDF


Pro Online Now!!
9-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Une fois que votre machine fait partie intgrante du rseau, vous pouvez lancer une
recherche partir d'un ou plusieurs mots-cls, l'instar de tout bon moteur de recherche
que vous connaissez dj. Mais on notera toutefois une diffrence de taille : lorsque vous
validez une requte, celle-ci reste toujours active et son traitement ne s'arrte jamais,
sauf si vous en tablissez une autre. Cela s'explique par ce qu'on appelle l'horizon, c'est-dire toutes les machines du rseau auxquelles vous avez accs pour effectuer vos
recherches. Ds lors, si de nouveaux ordinateurs apparaissent dans votre horizon, leurs
ressources vous seront immdiatement accessibles. Concrtement, la liste des rsultats se
gnre progressivement dans une fentre particulire de votre programme et ds qu'un
fichier correspond au critre de recherche, il s'affiche dans la liste. Pour tlcharger
l'information correspondante, il suffit de cliquer dessus.
Le principal inconvnient de cette mthode est les sries de broadcast qui sont diffuses
sur le rseau. Cela a pour consquence de polluer et donc de ralentir les changes de
donnes entre les machines.

1.2.5

Modle hybride : les rseaux Super Noeuds

Le modle super noeud a pour but dutiliser les avantages des 2 types de rseaux
(centralis et dcentralis). En effet sa structure permet de diminuer le nombres de
connexions sur chaque serveur, et ainsi dviter les problmes de bandes passantes.
Dautre part le rseau de serveurs utilise un mcanisme issu des rseaux dcentraliss
pour tenir jour un annuaire client et un index des fichiers partir des informations
provenant des autres serveurs. Un serveur peut donc proposer nimporte quel client
toutes les informations contenues sur le rseau.
Le rseau nest plus pollu par les trames de broadcast. Mais la contrepartie est que
lanonymat nest plus assur.
Schma : Les Super Noeuds

Register eDocPrinter -10PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

1.3

RESEAUX PEER TO PEER

Liste des rseaux Peer-to-Peer

Napster

La naissance de Napster
Fin 1998, Shawn Fanning, un tudiant amricain passionn
d'informatique alors g de 19 ans vient bouleverser le monde bien
tabli du client / serveur. Il dcide de quitter l'universit et se lance
dans l'criture d'un logiciel pour permettre l'change de fichiers
musicaux. La raison d'tre de ce logiciel repose sur le constat suivant : rechercher des
MP3 sur les moteurs de recherche habituels conduit une perte de temps norme et les
rponses sont souvent inappropries. Aprs quelques mois de travail acharn, une
premire version du logiciel est disponible. Fanning dcide de tester une premire version
le 1er juin 1999 et appelle son logiciel Napster (son pseudo sur Internet). Le logiciel qui ne
devait tre test que par quelques-uns de ses amis remporte un succs des plus rapides.
Il conquiert notamment les universits. Shawn Fanning se retrouve propuls la tte
d'une start-up pleine d'avenir. Lui qui dclare propos de Napster qu'il n'avait "aucune
envie d'en faire un business" voit les utilisateurs arriver en masse.
En septembre 2000, Napster atteint un nombre de tlchargement record. 1,39 milliard
serait le nombre de chansons changes par ses utilisateurs (source : Webnoize, Cabinet
d'tudes amricain).
La fin de Napster
Tombent alors les premires interdictions de la part des universits : les tudiants
l'utilisent tellement qu'ils saturent les bandes passantes. Les groupes de musique
demandent ce qu'on protge leurs droits. Le groupe Metallica ouvre le bal et entame un
procs. En dcembre 1999 le RIAA intente galement un procs Napster.
En novembre 2000, il est prvu que Napster intgre un systme anti-piratage mais en
janvier 2001, le verdict de la 9 cour d'appel de San Francisco tombe : Napster viole la loi
sur les droits d'auteurs et devra cesser dans un bref dlai l'change gratuit de fichiers
musicaux MP3. C'est une victoire importante pour les maisons de disques, mme si elles
n'obtiennent pas la fermeture immdiate de Napster. En fvrier 2001, un systme de
cotisations devait est mis en place, Napster chappe aux procs des maisons de disques
mais les utilisateurs le dlaissent.
OpenNap prolonge le protocole de Napster pour permettre le partage de nimporte quel
type de supports, et il a la capacit de lier des serveurs ensemble. LOpenNap est un
serveur pour relier les clients ensemble, et nest pas un client lui-mme.

Gnutella

Gnutella est n en mars 2000 des mains de Justin


Frankel et Tom Pepper, deux programmeurs sans
aucun papier universitaire, en seulement quatorze
jours. A lorigine, le projet devait servir schanger
des recettes de cuisine et sa premire apparition sur
Internet na dur que quelques heures.
La raison ? Les directeurs dAmerica Online (propritaires de Nullsoft, lentreprise ayant
dvelopp Winamp et Gnutella) ne voyaient pas lintrt damliorer le partage de
recettes. Gnutella a t dclar unauthorized freelance project et (..) put out to
pasture like a car that goes a hundred miles on a gallon .

Register eDocPrinter -11PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Mais comment, me direz-vous, est-ce que Gnutella a vu le jour dans ces conditions ?!? En
fait, un certain Bryan Mayland a fait du reverse engineering afin de trouver le langage
de communication utilis par lapplication et la tout simplement publi lpoque sur
http://gnutella.nerdherd.net. Ensuite, Ian Hall-Beyer et Nathan Moinvarizi ont rassembl
toute une srie de dveloppeurs intresss la cration dapplications bases sur
Gnutella.
Gnutella est laprs Napster dans le sens o beaucoup dutilisateurs se sont tourn vers
cette solution suite la fermeture des services de la start-up de Redwood, mais galement
dans le sens o cest une tape de plus dans larchitecture. En effet, Gnutella ne possde
aucun serveur central vu que sont application est la fois client et serveur
Gnutella se distingue des autres rseaux peer-to-peer en proposant un rseau entirement
libre. Exemple pour enregistrer un client sur le rseau FastTrack, il faut avoir une licence.
Or le rseau Gnutella comme son nom lindique est sous licence Gnu (Gnu est labrviation
de Gnus Not Unix, le cri de la nouvelle gnration de dveloppeurs qui donne un accs
gratuit aux sources de leurs programmes) et donc il est libre de droit. Il sagit dun peerto-peer dcentralis qui a volu au fil du temps. Son architecture tait comparable
Edonkey avec des fonctionnalits en moins (pas de recherches sur les serveurs voisins
etc.).
Suite lexplosion du nombre de clients (de 75.000 300.000), le rseau a volu vers le
pur peer-to-peer. Pour se connecter lutilisateur fait une sorte de "broadcast" vers
lInternet afin de trouver les utilisateurs les plus proches.
Actuellement, il existe sur la toile une multitude de clients se servant de cette technologie
pour partager des fichiers. On peut citer Bearshare, Gnotella, Limewire, Phex, etc. De
plus, les changes peuvent seffectuer quelque soit le client ou la plate-forme (Windows,
Linux/Unix, Macintosh, etc.) sur lequel il se trouve.
Une plus ample analyse de Gnutella sera faite ultrieurement.

eDonkey

Le rseau eDonkey est n en septembre 2000 mais cest au cours de


lanne 2001 quil a connu son vritable essor.
eDonkey reprsente un rseau particulirement anim dont le
client/serveur existe en deux versions : Windows et Linux. Dans tous
les cas, le programme est gratuit et il vous permettra d'accder
diffrentes ressources P2P pour tlcharger vos fichiers.
Sa particularit ? Son efficacit. Par exemple, vous pouvez transfrer un fichier partir de
la machine d'un client qui, lui aussi, transfre au mme moment le mme fichier partir
d'une autre machine client. Notez enfin que Edonkey fait partie des communauts P2P les
plus importantes en ce moment.
Comme plusieurs autres, ce produit est hybride, il est dcentralis et larchitecture est
proche du super nud. Il ne fonctionne pas partir d'un cluster centralis de type Napster
qu'on peut facilement identifier et dsactiver. Mais son application en elle-mme
fonctionne selon un principe centralis (j'entends par l qu'il existe sur son rseau des
serveurs qui centralisent sous forme de pointeurs toutes les ressources disponibles sur
chaque poste client). Il n'y a pas ici d'horizon (au sens de Gnutella) et de relais de
requtes.
Le plus gros avantage deDonkey est son protocole MFTP (Multisource File Transfert
Protocol) Derrire cette abrviation se cache un systme ingnieux pour optimiser les
temps de tlchargement de fichiers. Sur un systme classique, le client ne pourrait
tlcharger des fichiers qu partir de Peer sources disposant du fichier complet. Grce au

Register eDocPrinter -12PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

MFTP, un client peut la fois tlcharger une partie dun fichier partir de plusieurs
sources et aussi partager les parties dj tlcharges.
Les auteurs deDonkey et de son rseau travaillent actuellement sur OverNet, un nouveau
rseau pur peer-to-peer cette fois, un peu la manire de FastTrack. Il limine les
serveurs et certains clients sont compatible eDonkey et OverNet.

FastTrack

Le rseau 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 connat un norme succs dans le monde, sauf en
France. Plusieurs raisons cela :
La prsence dun spyware dans la version grand public du client Kazaa
Le peu de fichiers disponibles en version franaise (la tendance sinverse peu peu).
Sa force rside dans la facilit dutilisation puisque son interface est trs intuitive et
comporte un lecteur multimdia et une bibliothque pour organiser ses fichiers. Autre
avantage, beaucoup de peer de Kazaa dispose de liaison T1 et ainsi il nest pas rare
datteindre des dbits suprieurs 50ko/s.
Ils fonctionnent une subtilit supplmentaire : les super noeuds. Les utilisateurs disposant
dune connexion trs rapide sont immdiatement considre comme des super noeuds et
jouent alors le rle de serveur. Cest eux qui hbergent la liste des fichiers partages par
les clients. Les serveurs principaux ne grent donc que les connections et la liste des super
noeuds. Cette mthode permet au rseau FastTrack de disposer dune quantit croissante
de serveur de recherche avec le nombre de clients prsents
Les super noeuds restent des Peer, ils partagent et tlchargent aussi des fichiers. Le
temps CPU consomm par la fonction de super noeuds est de lordre de 10% et le client
peut refuser de devenir super noeuds, mais dans cas, cest la mort du rseau FastTrack.
Les super noeuds communiquent entre eux pour les recherches. En fonction du TTL (Time
To Live) des paquets, la recherche est plus au moins profonde sur le rseau. Les changes
entre clients se font via le protocole HTTP 1.1.
Kazaa est le client le plus connu du rseau. Il est aussi le plus complet puisquil a t
conu par les auteurs du rseau. Une version "Spyware Free" est disponible et sappelle
Kazaa Lite.
Aucun client connu ne permet de se connecter avec une autre plate-forme que Windows. Il
faut galement disposer dInternet Explorer et de Windows Mdia Player.
Le rseau FastTrack va faire lobjet dune analyse dtaill par la suite.

Freenet

Freenet est un rseau p2p une large chelle, qui


runit la puissance des ordinateurs membres du
monde entier pour crer une mmoire massive et
virtuelle d'informations, ouverte quiconque pour
publier librement, ou accder , des informations de
toutes
Le projet Freenet se trouve toujours, lheure actuelle, en phase de dveloppement mais
ses sources sont dores et dj disponibles sur Internet. La dfinition de son protocole est

Register eDocPrinter -13PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

base sur les ides de Ian Clarke alors tudiant lUniversit dEdinburgh en Ecosse. Le
principe de ce protocole est doffrir un rseau dont les proprits sont les suivantes :
Anonymat pour les producteurs et les consommateurs des informations partages
sur le rseau.
Dresponsabilisation des conservateurs dinformations.
Rsistance du rseau diverses attaques menes par des membres tiers.
Archivage et routage dynamiques des informations.
Dcentralisation de toutes les fonctions du rseau.
Si certaines de ces proprits, comme la dcentralisation des fonctionnalits, sont
inhrentes la majorit des rseaux p2p, les autres dcoulent des particularits mme du
rseau Freenet.
Lanonymat, qui est lun des points cls de la philosophie de Freenet, est
essentiellement assur par les systmes de scurit tel que le chiffrement des donnes
qui transitent entre les nuds et par le fait que la connaissance locale est privilgie sur
la connaissance gnrale. Chaque nud ne peut en effet communiquer qu'avec ses voisins
immdiats et il nest gnralement pas possible de dterminer avec certitude lorigine
exacte dun message. Ceci est du au fait quen faisant suivre un message, le nud qui
ralise cette opration peut se dclarer comme tant la source de ce message.
Le rseau Freenet est lun des trois rseaux dont nous allons tudier le fonctionnement
dans le chapitre suivant

DirectConnect

DirectConnect est original de par son fonctionnement. Les serveurs sont ici appels des
hubs (une traduction possible est "salon"). Chaque hub est cr pour accueillir une
catgorie de fichiers ainsi quune vritable communaut autour dun sujet prcis (films,
musique, animations, logiciels, jeux, ). Si on se connecte ces hubs pour partager des
fichiers ne correspondant pas la catgorie du hubs, on est alors banni. Linterface et le
fonctionnement du client peuvent sapparenter un IRC avec possibilit de partage de
fichiers en plus. Le programme a un fonctionnement similaire eDonkey (liste dattente,
dcentralis) mais ne possde ni le MFTP, ni la communication entre les serveurs lors des
recherches.
Autre diffrence, il faut parfois partager plusieurs Go avant de pouvoir accder aux hubs
les plus intressants du rseau. Limpossibilit de connatre la liste de tous les hubs en fait
une communaut un peu ferme face aux autres peer-to-peer. De fait de sa technologie
moins volue, il est galement moins performant.

OverNet

L'intrt d'un rseau dcentralis comme OverNet est que les sources
ne sont plus seulement propages aux clients connects au mme
serveur mais l'ensemble du rseau

Register eDocPrinter -14PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Groove

Groove networks a t fond en 1997 par linventeur de


Lotus Notes ! Groove Networks distribue gratuitement
Groove, son logiciel.
Groove est une application P2P pour le travail en groupes
flexibles .
Il permet le dialogue en temps rel, le partage de
documents ou doutils dans des espaces de travail personnaliss et autonomes. Des outils
de messagerie instantane ou vocale sont galement intgrs Groove.
Il constitue une reprsentation virtuelle dun groupe de travail l'aide d'outils de
groupware : tableau blanc, calendrier, gestionnaire de conversation hirarchis ou
systme de partage de fichiers.
Groove prserve lautonomie et la libert de chacun : cest un gage dappropriation

Blubster, Piolet

Blubster offre uniquement le partage fichier MP3. Cest un pur Peer-to-Peer et il utilise un
protocole bas UDP pour le transfert des fichiers. Son moteur de recherche dcentralis
est extrmement rapide et le nombre de fichiers prsents est trs important.
Thoriquement il peut se connecter de nimporte o
Son crateur (Pablo Soto, 22 ans) annonce mme :
"Le plus gros avantage de Blubster finalement est sa
facult d'extension et l'intelligence de l'organisation
de notre rseau. Il n'y a en fait aucune limite au
nombre d'utilisateurs connects en mme temps".
Nous avons calcul que mme 1.000.000 d'utilisateurs pouvaient facilement se connecter
simultanment sans problmes de performances.
A prsent Blubster se nomme Piolet ". Le rseau Piolet attend les anciens utilisateurs
d'Audiogalaxy ! "

Tapestry, CAN, Chord

Jusqu prsent, nous avons tudi des rseaux qui taient soit centraliss mais
permettant une recherche exhaustive (Napster) soit dcentraliss mais ne permettant
quune recherche non exhaustive (Gnutella et Freenet). Il existe cependant des rseaux
dcentraliss qui autorisent galement une recherche exhaustive. Nous pouvons citer CAN
(Content Adressable Networks) qui est un rseau en tore dont la taille est fixe
initialement ou Chord qui est dvelopp selon une architecture en hyper cube. Pour finir
nous avons Tapestry dont le but est doffrir un rseau de partage de donnes garantissant
leur prennit.
Tapestry est utilis dans des systmes tels quOceanStore qui permet la conservation
persistante de donnes travers une architecture globale, ou encore dans l'application
Bayeux. Les mcanismes de localisation et de routage du systme .Tapestry sont bass
sur les travaux de Plaxton, Rajamaran et Richa. Tous les noeuds du rseau remplissent les
rles de client, en mettant des requtes, de serveur, en conservant des objets, et de
routeur, en redirigeant les requtes.
Toutefois, Tapestry vite certains inconvnients du systme Plaxton. Ainsi, si Plaxton se
limite l'utilisation d'algorithmes statiques, Tapestry supporte des oprations dynamiques
et dcentralises.

Register eDocPrinter -15PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

JXTA

Le projet JXTA est la plate-forme base sur les


technologies Java propose par Sun Microsystems offrant
un ensemble de mcanismes simples permettant le
dveloppement dapplications bases sur le peer-to-peer.
La structure de JXTA peut se diviser en diffrentes
couches.
Le noyau. Il contient les principales fonctionnalits du systme, savoir la gestion
des canaux de communication, de la scurit ou encore des groupes de pairs.
La couche des services. Certains services sont dj implants dans la plate-forme
JXTA : ce sont les services de Sun, savoir lindexation, la recherche et le partage
de donnes. Dautres services sont et seront dvelopps et ajouts par la
communaut des dveloppeurs JXTA.
La couche des applications. A limage de la couche prcdente, il existe dune
part les applications proposes par Sun et dautre part celles dveloppes par la
communaut JXTA.
La plupart de ces concepts, tels que les pairs, les groupes de pairs, sont des concepts
hrits des architectures peer-to-peer. Cependant, certains de ces concepts comportent
des particularits propres au systme JXTA.

Jini

La technologie de rseau de Jini fournit les mcanismes simples qui


permettent des dispositifs de se brancher ensemble pour former une
communaut impromptue c'est--dire une communaut monte sans
aucune forme de planification, dinstallation ou dintervention humaine.
Chaque dispositif fournit des services que d'autres dispositifs dans la
communaut peuvent galement utiliser. Ces dispositifs fournissent leurs
propres interfaces, ce qui assure fiabilit et compatibilit. Afin de clarifier les esprits, on
peut reprsenter cette technologie sous forme de couches. La centrale de rfrence peut
tre compare aux serveurs deDonkey la diffrence prs que les appareils ont chacun
un identifiant unique (Il sagit dun annuaire).
Lapport de Jini au Peer-to-Peer est une mobilit quasi totale. En effet, nimporte quel
dispositif comportant cette technologie peut changer de voisinage trs aisment afin
dtablir une connexion avec un ou plusieurs autres dispositifs, pour autant quil soit
autoris dans la centrale de rfrence. Dans les autres environnements Peer-to-Peer, un
voisinage donn est trs structur. Java de son ct amne deux avantages. Tout dabord
la portabilit de la technologie, car il suffit davoir une JVM (machine virtuelle Java) dans le
dispositif. Ensuite, le niveau scuritaire du langage qui permet dtablir les droits de
connexion entre dispositifs aisment.

Register eDocPrinter -16PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

SETI@home

SETI@home est une exprience scientifique en radioastronomie exploitant la puissance


inutilise de millions d'ordinateurs connects via Internet dans un projet de Recherche
d'une Intelligence Extra-terrestre (Search for Extra-Terrestrial Intelligence, alias SETI).
SETI est un cas part dans les rseaux peer-to-peer grand public puisquil ne permet pas
de partager des fichiers, mais du temps/machine.
Au dbut de 1960, le premier programme SETI a t lanc en recherchant des signaux
radio mis par les galaxies. Le financement de ces programmes a toujours t alatoire
car il fallait en effet disposer d'une trs grosse puissance de calcul. En 1995, David Gedye
eut l'ide d'utiliser la puissance inutilise des PC connects Internet. Avec 3 autres
collgues de l'universit de Berkeley, ils prsentrent l'ide sur un site Web au dbut de
1998. Ils recueillirent l'inscription de plus de 4.000.000 de volontaires. Le premier logiciel
client fut disponible le 17 mai 1999. Le 14 octobre 2001, il y avait 3311948 participants
dans 226 pays. Le nombre d'instructions excutes a dpass 1 ZettaFLOP (10 puissance
21) ce qui en fait le plus gros calcul jamais effectu. En 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 cot, le programme Seti@Home est beaucoup plus puissant.
Mme si on ne trouve pas d'extraterrestres, ce programme aura dmontr comment les
techniques logicielles pouvaient transformer un grand nombre d'ordinateurs individuels
peu fiables et connects de manire intermittente en un systme trs rapide et trs fiable.
Ils regroupent 4 millions dutilisateurs de 226 pays diffrents.

Utilisateurs :
Rsultats reus :
Temps total CPU :
Temps CPU par unit de travail :

Total
4.230.713
761394877
2.553625e+21 anne
15h09

Le volume de donnes est trs important mais heureusement il est morcelable assez
facilement pour tre exploit par les membres du rseau.
Le site franais SETI@home nous explique le principe des calculs de
http://setiathome.free.fr/information/about_seti/about_seti_at_home_1.html

SETI

Register eDocPrinter -17PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Entropia

Entropia est lexemple type, aprs SETI@Home, en


ce qui concerne les applications centres sur le
calcul. Elle fournit une voie extrmement rentable
de passer lchelle dun superordinateur afin
dexcuter des applications intensives en calculs.
La plate-forme informatique rpartie dune entreprise peut ainsi exploiter la capacit de
traitement considrable, mais inutilise, des PCs formant son rseau (ou des machines
connectes l'Internet) et la rend disponible pour excuter de grandes applications
commerciales et scientifiques.
Lide de faire du calcul distribu est venu du fait que la majorit du temps, un PC le passe
ne rien faire. Entre les clicks de souris, les frappes de claviers, et les transitions de
l'activit courante d'applications, le PC moyen veille jusqu' 95% de son temps. En
tendant ce constat des centaines de millions de PCs dans le monde qui sont relis en
rseaux locaux, voire toutes les machines sur Internet, il y a une norme quantit de
puissance de calcul inutilises qui ne demande qu tre exploite.
Entropia propose quatre projets auquel quiconque possdant une connexion Internet peut
y participer. Il sagit de FightAIDS@Home, SaferMarkets, Benchmark App 0020 et Entropia
Research.
Le but du premier est daider la recherche contre le SIDA en modlisant lvolution de la
rsistance de mdicaments pour le traitement HIV et de crer de nouveaux mdicaments
contre le SIDA.
Le deuxime est un projet voulant mieux comprendre les marchs financiers. Lide est de
faire tourner des modles de simulations et de prvision afin de mieux prdire les
comportements futurs sur la base de performances passes.
En ce qui concerne les deux derniers projets, aucune information na t trouves, mais il
pourrait bien sagir dapplications commerciales qui aident Entropia financer ces projets
pour la bonne cause .
Il faut savoir que mme sil lon ne souhaite aider que la recherche pour la lutte contre le
SIDA, Entropia se rserve le droit dutiliser votre ordinateur galement pour des projets
commerciaux. A vous de voir si votre conscience humanitaire vous le permet
Il est a soulever que les problmes quon d rencontrer Entropia & Co ne sont pas
nouveaux. En effet, ils se sont retrouvs face des problmes traditionnels darchitectures
distribues parallles et massivement parallles. A une diffrence prs tout de mme : ces
entreprises nont pas le contrle de leur primtre de travail, et cest justement cette
caractristique qui permet dinclure ce genre de projet dans la dnomination Peer-to-Peer

Autres rseaux

Nous avons essay de rpertorier tous les rseaux peer-to-peer qui prsentaient le plus
dintrt au niveau de notre tude sur les rseaux peer-to-peer. Voici prsent une liste
de rseau qui mrite dtre cit mme titre que les rseaux prcdents :

Firstpeer, Biz2peer
Ces rseaux lis au commerce lectronique
distribues

construisent des places de march

Akamai
Le rseau Akamai est une architecture distribue de contenu Internet. Linternaute va
chercher les donnes issues de son site favori sur le serveur le plus disponible.

Register eDocPrinter -18PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

iMaestro
Ce rseau propose des enchres en P2P

Infrasearch
Grce a Infrasearch, moteur de recherche en P2P,il es possible daller chercher linfo l o
elle a le plus de chance de se trouver

Neurogrid
Neurogrid propose une nouvelle approche de la recherche en rseau : je demande qui
va dire de demander

Human links (Amoweba)


Grce Human links nous pouvons analyser les pages Web issues des bookmarks des
internautes abonns

Ocanstore, eMikolo, Opencola


Ces projets proposent une alternative au stockage dinformation centralis en le
rpartissant sur un rseau de serveurs ou mme de Px.

IRC
URLBlaze
Kademlia
MojoNation
Carracho

Commentaire :
La technologie du P2P est en constante volution et il est difficile pour nous dtablir une
liste exacte de tous ces rseaux apparaissant sur le net. Certains ne font pas long feu ,
dautres sont cibls une catgorie dutilisateur a but professionnel et dautres permettent
tous les utilisateur dobtenir de tous et de rien la fois. A cela vient sajouter la centaine
de projets reposant sur la technologie du P2P. Il y a aussi certains rseaux que nous
narrivions pas dfinir comme telles (manque dinformation ou trop dinformation
contradictoire).
Grce a une tude plus approfondi sur les rseaux Gnutella et Freenet, nous tenterons de
comprendre plus en dtaille comment fonctionne les rseaux peer-to-peer. Mais aussi de
comprendre lintrt dune telle technologie et la possibilit quelle nous offre lavenir.

Register eDocPrinter -19PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

II.Etudes des rseaux : Gnutella et Freenet


Il ne sagit pas ici de vous prsenter une liste exhaustive des rseaux Peer-to-Peer
accessibles via lInternet mais plutt de vous montrer les principaux acteurs prsents et
leur motivation respective.

2.1 Technologie Gnutella


2.1.1 Larchitecture du rseau Gnutella
Gnutella est un protocole plutt qu'un logiciel. Il a t invent par Nullsoft, l'diteur de
WinAmp aujourd'hui rachet par AOL, mais les sources sont disponibles. Ce protocole
permet de relier les ordinateurs les uns aux autres, il permet le transfert de fichiers
d'une machine une autre de faon plus ou moins anonyme. Chaque machine est la fois
un serveur de fichiers et un client. Contrairement Napster qui tait reli un serveur
central, il n'existe pas de tel serveur pour Gnutella, chacun fait partie intgrante du rseau
et ce rseau se modifie au cours des connexions : Peer to Peer.
Le principe est le suivant : un peer A, quip d'un programme spcifique (Baptis
servent par Gnutella, car il remplit les fonctions de client et de serveur la fois.)
se connecte un peer B, lui aussi quip de ce programme. A lui annonce ainsi sa
prsence sur le rseau. B relaie cette information tous les peers auquel il est
connect. Ceux-ci signifient alors leur prsence A et relaient l'information leur
tour aux peers auxquels ils sont connects, et ainsi de suite jusqu lhorizon
visible (La distance de cet horizon est dtermine comme sous IP par une dure de vie
(TTL) des paquets.) du peer A.
Une fois que A a annonc sa prsence aux autres membres du rseau de peers, il
peut sappuyer sur les peers quil connat pour effectuer ses recherches.
Pour obtenir une ressource, A lance une requte vers certains peers du rseau qui la
relaient vers les peers auxquels ils sont connects, qui eux mme la transmettent.
Si l'un des peers dispose dune ressource qui pourrait convenir A, il transmet
l'information vers A. Ce dernier pourra ainsi ouvrir une connexion directe vers cet
ordinateur et obtenir la ressource.
Ce modle, en tant dcentralis, est beaucoup plus robuste qu'un modle centralis
puisqu'il n'est pas dpendant dun serveur, qui est le point de dfaillance potentiel
d'un rseau centralis. Il tire partie de lintermittence des connexions des nuds car
si lun des noeuds se dconnecte du rseau, la requte pourra tre poursuivie vers les
autres ordinateurs connects.
Un grand avantage de ce nouveau type de rseaux, est en thorie le total anonymat quil
procure.
En effet en vitant de communiquer avec une machine centralisant les demandes et les
annuaires, on vite les problmes de rcupration des donnes utilisateurs.
En revanche, en raison de la faon dont sont transmises les requtes (broadcast), la
bande passante ncessaire pour chaque requte crot exponentiellement quand le
nombre de peers crot linairement.
De plus, ce type de mcanisme est trs facilement victime dactivits malicieuses.
Des membres malintentionns peuvent envoyer en grande quantit des requtes
errones qui produisent une lourde charge sur le rseau, rduisant ainsi son efficacit.

Register eDocPrinter -20PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

2.1.2 Lidentification des nuds du rseau


Un client A se connecte sur le rseau. Il commence par rechercher tous les nuds
Gnutella prsents. Pour cela il transmet une trame didentification (PING) tous ces
voisins qui eux-mmes la transmettront leurs voisins. Ces envois sont encapsuls dans
une trame TCP. Pour borner la recherche le mcanisme de recherche joue sur le TTL de la
trame. A chaque nud du rseau le TTL est dcrment et lorsquil devient gal 0 la
retransmission est stoppe.
Un mcanisme permet dviter les boucles dans la transmission. Lorsquune trame
est reue elle est stocke pendant un court laps de temps. Si le nud reoit pendant ce
laps de temps une trame identique il la rejette car elle est dj traite. Lorsquun nud
est identifi, il envoie lmetteur une trame de rponse (PONG).

Ce protocole fonctionne au moyen de 5 descripteurs principaux, qui permettent la


transmission des informations entre les servents (ou noeuds) du rseau, et d'un ensemble
de rgles qui rgissent l'change de ces descripteurs. Les voici :
Descripteur Description
Ping

Utilis pour trouver les autres noeuds sur le rseau.


Un servent recevant un Ping doit rpondre avec un
(ou plusieurs) Pong.

Pong

Rponse un Ping. Le servent rpondant par un Pong


livre son adresse IP ainsi que des informations sur les
donnes qu'il partage.

Query

Requte visant trouver un ou plusieurs fichiers


vrifiant certains critres.

QueryHit

Rponse un Query. Donne une liste de fichiers


correspondant la requte, ainsi que l'adresse IP des
servent o ces fichiers on t trouvs.

Push

Mcanisme permettant aux contributeurs situs


derrire un Firewall de se raccorder au rseau.

Register eDocPrinter -21PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

2.1.3 En tte de Gnutella


Len-tte commune Gnutella est constitue de 5 champs et mesure 23 octets :
Gnode ID
16 octets

Payload
Descriptor
1 octet

TTL
1 octet

Hops
1 octet

Payload
length
4 octets

Gnode ID : identification du nud dans le rseau Gnutella (Cet ID est initialis lors de
linstallation du client).
Payload Descriptor : identifiant de fonction de la trame (PING, PONG, ). Le corps de la
fonctionnalit est transmis dans les trames TCP qui suivent.
0x00
0x01
0x40
0x80
0x81

Ping
Pong
Query
QueryHit
Push

TTL (Time To Live) : permet de borner lhorizon du rseau. Le champ TTL est
dcrment chaque passage dans un nud. A 0 la trame est dtruite.
Hops Indique le nombre de sauts que peut encore effectuer descripteur entre servents
Gnutella avant sa destruction.
Payload length : longueur du corps de la fonctionnalit.

2.1.4 Les diffrentes fonctionnalits


PING : Trame de demande didentification des nuds. La trame principale se suffit elle
mme car le champ Payload est vide et sa longueur est nulle. Il permet de sonder le
rseau la recherche d'autres servents. Chacun des servents qui reoit un Ping rpond
avec un Pong qui contient l'adresse et la quantit de donnes partage par lui-mme ou
par un autre servent actif. La responsabilit de dterminer la frquence d'mission de Ping
revient aux programmes utilisant Gnutella. En effet, des Pings frquents permettent de
"resserrer" les liens entre un servent et le reste du rseau, mais ces Pings (et surtout les
Pongs ainsi gnrs) risquent court terme de saturer le rseau.
PONG : Trame de rponse au PING. Et sa structure est la suivante :
Port
2
octets

IP Address
4 octets

Number of Files shared


4 octets

Number of Kbytes shared


4 octets

Port : Port de communication sur lequel les changes peuvent seffectuer.


IP Address : Adresse IP du nud identifie.
Number of Files : Nombre de fichier partags.
Numbers of Kbytes : Taille des donnes partages.
Il est noter qu' un Ping reu, plusieurs Pongs de rponse peuvent tre renvoys. Cela
permet un servent de renvoyer des informations le concernant personnellement, mais
aussi des informations qu'il gardait en mmoire cache sur d'autres servents.
QUERY : Trame de recherche dinformations.Sa structure est la suivante :

Register eDocPrinter -22PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Minimum Speed
2 octets

Search criteria
N octets

Minimum Speed : vitesse de transmission minimum requise (ex : >10ko). Les servents
plus lents que ce seuil ne sont pas censs rpondre.
Search criteria : Cette chane se termine par 0x00. Sa longueur n'est limit que par le
champ Payload length de l'en-tte. Cette chane contient des critres de recherche, tels
que des noms de fichier, ou des types de fichiers (MP3, jpeg,...)
QUERY HITS : Trame de rponse au QUERY, de structure :
Number of Hits

Port

IP address

Speed

1 octet

2 octets

4 octets

4 octets

Reult Set
File
File
File name
Index
size
4 octets 4 octets N octets

Gnode ID
16 octets

Number of hits : Nombre de "coups au but" dans le Result Set.


Port : Port de communication sur lequel les changes peuvent seffectuer.
IP Address : Adresse IP du nud atteint.
Speed : Vitesse de transmission du noeud.
Gnode ID : Identification du nud rpondant la requte dans le rseau Gnutella.
Result Set : Ce champ est compos dun index des fichiers partags
correspondant aux critres de recherche. Et deux autres champs qui reprsentent la taille
et le nom du fichier correspondant.
File Index : Il s'agit d'un nombre attribu par le servent rpondant, destin
identifier de faon unique le fichier correspondant la requte.
File Size : Taille en ko du fichier rfrenc par File Index.
File Name : Nom du fichier rfrenc par File Index, se termine ncessaire
ment par 0x0000. Sa taille est limite par le champ Payload Lenght de l'en-tte.
De mme que le Pong ne peut exister qu'en tant que rponse un Ping, un QueryHit n'est
envoy que si le servent possde des fichiers correspondants aux critres de recherche
d'un Query.
De plus, il est noter que le champ Gnode ID dans l'en-tte du QueryHit doit contenir la
mme valeur que le champ Gnode ID de l'en-tte du Query. Ainsi, lorsqu'un servent reoit
un QueryHit, il sait quelle requte ce QueryHit fait rponse.
PUSH
Structure :
Gnode ID
File Index
IP adress
Port
16 octets
4 octets
4 octets
1 octet
Gnode ID : Chane de 16 octets qui identifie le servent qui l'on demande de "pousser" le
fichier rfrenc par File Index. Le servent qui initie la requte Push doit remplir ce champ
avec la valeur Servent Identifier du QueryHit correspondant. De cette manire, un servent
recevant la requte Push peut dterminer s'il en est ou non le destinataire.
File Index : Cet index dtermine le fichier qui doit tre "pouss" partir du servent cible.
Il doit correspondre au File Index du Result Set du QueryHit correspondant.
IP Adress : Adresse IP du servent vers lequel le fichier rfrenc par File Index doit tre
"pouss".

Register eDocPrinter -23PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Port : Port vers lequel le fichier rfrenc par File Index doit tre "pouss".
Un servent peut envoyer un Push lorsqu'il reoit un QueryHit venant d'un servent
n'acceptant pas les connexions incidentes ( cause d'un Firewall par exemple). Un servent
recevant un Push peut s'y conformer si et seulement si le champ Gnode ID du Push
contient la valeur de son propre identifiant.
Concrtement, l'utilit du Push est la suivante :
Si un servent se trouve situ derrire un Firewall, il sera dans l'incapacit de construire
une liaison TCP avec le servent sur lequel se trouvent les fichiers dsirs, et ne pourra
donc pas initier le tlchargement. Cependant, ce dernier servent (jouant ici le rle de
serveur) peut, lui construire cette liaison TCP, et " uploader " les fichiers plutt que laisser
l'autre servent (ici dans le rle de client) les " downloader ". L'objet du Push est de dire au
servent serveur : "A toi d'initialiser le transfert".
On peut rsumer tout ce quon vient de voir dans un schma expliquant lencapsulation
des trames du protocole Gnutella .

Register eDocPrinter -24PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

2.1.5

RESEAUX PEER TO PEER

Routage des descripteurs

Les servents du rseau Gnutella doivent router les descripteurs de faon appropris. Ce
routage s'effectue en suivant les rgles suivantes :
Les Pongs empruntent le mme chemin que les Pings auxquels ils rpondent. Ainsi, seul
les servent ayant rout le Ping initial verront passer le Pong de rponse. Un servent
recevant un Pong avec un Gnode ID donn, et n'ayant jamais vu passer un Ping avec le
Gnode ID correspondant, dtruira le Pong reu.
Mme mcanisme pour les QueryHit : ils suivent le chemin parcouru par le Query
correspondant, et s'ils passent par un servent n'ayant jamais vu le Query correspondant,
ils sont dtruits.
Mme mcanisme pour les Push : ils suivent le chemin parcouru par le QueryHit
correspondant, et s'ils passent par un servent n'ayant jamais vu le QueryHit
correspondant, ils sont dtruits.
Un servent recevant un Ping ou un Query le transmettra tous ses voisins immdiats,
sauf celui d'o provient le descripteur.
Chaque servent, la rception d'un descripteur, dcrmente son TTL et incrmente son
Hops. Si le TTL est alors 0, le descripteur n'est plus transmis.
Un servent recevant un descripteur avec le mme Payload Descriptor et le mme Gnode
ID qu'un autre descripteur prcdemment reu vitera de le transmettre d'autres
servents. Ces derniers devraient l'avoir dj reu auparavant, inutile donc d'augmenter le
trafic.
Exemples de routage :

Une fois que les requtes sont reues par le nud dorigine. Lutilisateur peut dcider de
rcuprer un fichier. Pour cela le tlchargement seffectue directement entre les deux
nuds via le protocole http. Ce transfert ne s'effectue jamais sur le rseau Gnutella luimme (pour des raisons videntes de surcharge!).

Register eDocPrinter -25PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

2.1.6 Les clients Gnutella


Le partage de fichiers partiellement tlchargs nest possible quavec certains clients du
rseau Gnutella (Ares, BearShare, Morpheus). Certains dentre eux, la manire de
Kazaa, imposent laffichage de publicits.
Gnutella dispose de clients Linux et Macintosh :
Windows
Gnutella Clients
BearShare
Gnucleus
Morpheus
Shareaza
Swapper
XoloX
LimeWire
Phex

Linux / Unix
Gnutella Clients
Gnewtellium
Gtk-Gnutella
Mutella
Qtella
LimeWire
Phex

Macintosh
Gnutella Clients
LimeWire
Phex

2.2 Technologie Freenet


2.2.1

La publication de donnes

Dans un premier temps, un document est stock dans un noeud FreeNet. Puis chaque
fois (ou presque) qu'un utilisateur demandera consulter ce document, il sera dupliqu et
stock sur un autre nud plus proche de cet utilisateur.
Ainsi, il devient absurde de rfrencer un document d'aprs son emplacement physique
comme sur le web ( http://machine/rpertoire/nom_du_document ) puisque sur FreeNet
l'emplacement non seulement n'est pas unique, mais qui peut changer tout moment.
Chaque utilisateur peut installer son propre noeud FreeNet, pourvu qu'il soit dot d'une
connexion "permanente", ou du moins, pas trop volatile. L'ADSL tant ainsi considr
comme une connexion "permanente".
Il suffit d'installer un serveur FreeNet sur sa machine. Les implmentations standard des
serveurs FreeNet sont des programmes JAVA, mais ce n'est nullement une obligation
technique.
Lors de l'installation, vous indiquez au serveur la bande passante qu'il est autoris
consommer, ainsi que l'espace disque que vous lui allouez. Une fois le serveur dmarr,
l'espace ainsi octroy votre noeud viendra enrichir l'espace de stockage global de
FreeNet.

Register eDocPrinter -26PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

2.2.2

RESEAUX PEER TO PEER

Lidentification des donnes

Afin de protger les hbergeurs tous les fichiers sont crypts. Ainsi, le possesseur d'un
nud ne peut pas connatre le contenu des fichiers stocks sur son nud. Notons
cependant que en France, la possession de matriel illgal (mme si on l'ignore) est
considre comme du recel.
Le fichier est crypt grce une paire de cls asymtriques (gnre alatoirement) qui
caractrisent le propritaire du fichier. La partie prive de cette cl sert pour signer le
fichier (contrle dintgrit). La partie publique, concatne et hashe avec un texte
descriptif du fichier donne la cl de recherche. Seul le propritaire dun fichier peut le
mettre jour, en (r)insrant sur le rseau un fichier avec la mme cl : les diffrentes
versions sont alors identifies par un hashage direct de leur contenu (cl CHK). Les
anciennes versions des fichiers restent accessible grce leur cl CHK, mais tant de
moins en moins accds, elles finiront par disparatre naturellement du rseau.

Actuellement, la fonction SHA-1 (Secure Hash Algorithm) sur 160 bits est utilise pour
effectuer cette opration.
Freenet permet lutilisation de trois types de cls diffrentes.
La cl signature de mot cl (Keyword Signature Key ou KSK)
Elle est base sur une courte chane de description, gnralement ce sont un ensemble de
mots-cls qui peuvent dcrire le document (exemple : University/UFR/codage/p2p.doc).
Cette chane est utilise comme entre pour gnrer de manire dterministe une paire de
cls publique/prive.
La moiti publique est alors hache pour produire la cl du fichier.

Register eDocPrinter -27PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Gnration dune cl KSK


Chane de description du document

Gnration dune paire de cl


asymtriques

Cl publique
Hachage et
publication de
la cl publique
Cl publie

Cl prive
Utilise pour
le cryptage et
la signature

La cl publie dsigne un
(ou plusieurs) document
Document
sign

La moiti prive de la paire de cls asymtriques est utilise pour signer le fichier,
fournissant un contrle minimum d'intgrit pour qu'un fichier retrouv corresponde sa
cl de fichier.
Pour permettre aux autres de retrouver le fichier, l'utilisateur a seulement besoin de
publier la chane descriptive. Cela rend les cls signature par mots cls faciles se
rappeler et communiquer aux autres.
Nanmoins, ils forment un identifiant trs banal ce qui est problmatique. Rien n'empche,
par exemple, deux utilisateurs de choisir la mme chane descriptive pour des fichiers
diffrents.
La cl KSK ne suffit donc pas garantir son unicit au travers de lInternet, cest pourquoi
on introduit la notion despace des noms prive.
La cl signature despace des noms (Signed Subspace Key ou SSK)
Un utilisateur cre un espace de noms en gnrant alatoirement une paire de cls
publique/prive qui servira reconnatre son identifiant. Pour insrer un fichier, il choisit
une chane de texte descriptive comme prcdemment.
La cl publique de l'identifiant et la chane descriptive sont haches indpendamment,
associes avec un XOR, et re-haches pour produire la cl de fichier.
Comme avec les cls signature par mot cl, la moiti prive de la paire asymtrique est
utilise pour signer le fichier. Cette signature, gnre partir d'une paire de cls
alatoire, est plus scurise que les signatures utilises par les cls signatures par mots
cls.
Le fichier est aussi crypt par la chane descriptive comme avant.

Register eDocPrinter -28PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Pour permettre aux autres utilisateurs de retrouver le fichier, l'utilisateur publie la chane
descriptive avec sa cl publique. Le stockage de nouveaux fichiers dans un sous espace de
nom requiert la cl prive.

Gnration
dune cl SSK

Gnration dune paire de cls


asymtriques

Cl publique
SHA-1
(XOR)

Cl prive

Chane de
SHA-1 description du
document

SHA-1

Utilise pour
la signature

Utilise pour le
cryptage
Document sign
et crypt

Cl publie

La cl publie dsigne
un unique document
La cl hachage de contenu (Content Hash Key ou CHK)
Elle voit son utilit essentiellement dans la mise jour et le dcoupage des fichiers,
permettant ainsi la rcupration de diffrentes parties d'un mme fichier auprs de
multiples sources. Cette cl est obtenue par hachage du contenu du fichier. Ceci donne
chaque fichier une cl pseudo-unique. Les fichiers sont aussi crypts par une cl gnre
alatoirement.
Pour permettre aux autres de retrouver le fichier, l'utilisateur publie la cl CHK avec la cl
de dcryptage. Notez que la cl de dcryptage n'est jamais stocke avec les fichiers mais
est seulement publie avec la cl du fichier.
Pour mettre jour un fichier, le propritaire insre d'abord une nouvelle version sous sa
cl CHK, qui doit tre diffrente de celle de la version prcdente. Il insre ensuite un
nouveau fichier d'indirection sous la cl originale SSK pointant vers la version mise jour.
Lorsqu'une insertion atteint un noeud qui possde l'ancienne version, une collision de cl
apparatra. Le noeud contrlera la signature de la nouvelle version, vrifiant qu'elle est
valide et plus rcente et remplacera l'ancienne version. De cette faon, les cls SSK
mneront la version la plus rcente du fichier alors que les anciennes versions pourront
toujours tre trouves directement par leur cl CHK.

Une cl FreeNet est de la forme :


Type de cl @ la cl binaire du fichier dsir
Exemple :
SSK@npfV5XQijFkF6sXZvuO0o kG4wEPAgM/homepage//

Register eDocPrinter -29PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Dans cet exemple, homepage est l'espace de noms, SSK le type de clef, et npf...AgM
est la cl publique.

2.2.3

La consultation des donnes et le mcanisme


de routage

Chaque nud dun rseau FreeNet gre localement ses propres donnes qui sont
disponibles la fois en lecture et en criture.
Il dispose galement dune table de routage dynamique contenant les adresses dautres
nuds ainsi que les cls de fichiers quils sont susceptibles de dtenir.
Lorsquun utilisateur dsire retrouver une donne, la premire chose quil doit faire est
dobtenir (sur un site WEB par exemple) ou de calculer la cl binaire correspondant cette
donne.
Ensuite, le nud de lutilisateur va crer un message DataRequest qui contiendra cette
cl, ainsi quune valeur hops to live qui correspond un compteur qui est dcrment
chaque passage dans un nud (c'est l'quivalent du Time To Live de Gnutella).
Ce message est alors envoy lun des voisins du nud.
Lorsquun nud reoit un message DataRequest, il consulte ses donnes locales afin de
contrler sil est bien le possesseur de la donne demande.
Si cest effectivement le cas, il va retourner au voisin qui lui a transmis le DataRequest la
donne en question laide dun message DataReply (message 10 de la figure b).
Si ce nud ne possde pas la donne, il va chercher dans sa table de routage une
similitude (dtermine par la distance lexicographique, la plus courte, de deux cls) avec
la cl binaire du fichier contenue dans la requte et il fait suivre le message DataRequest
au nud correspondant.

Figure b. Recherche par le nud A dune donne que possde le nud F. Les liens bleus
correspondent aux messages DataRequest, les rouges aux RequestFailed et les verts aux
DataReply.
Lorsquun nud reoit un message DataReply, il stocke la donne contenue dans ce
message dans son propre cache local avant de faire suivre le message son prdcesseur,
tout comme il ajoutera dans sa table de routage une nouvelle entre associant la source
de la donne et la cl de la requte.
Par exemple, sur la figure b, la donne possde initialement par le nud F sera stocke
finalement par les nuds F, E, B et A. Ceci implique que ces nuds seront plus prompts
rpondre nouveau une recherche de ce fichier.
Ainsi, dans le cas o le nud C vient demander ce fichier au nud B, ce dernier
possdant dsormais cette donne en mmoire cache pourra lui rpondre immdiatement
sans avoir transmettre la requte au nud F.

Register eDocPrinter -30PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Un nud ne peut satisfaire une requte soit parce quil ne possde plus de voisins qui
faire suivre le message (comme le nud C dans la figure b), soit parce que la valeur du
hops to live du message a atteint 0, soit encore parce que le nud a dj reu la requte.
Lorsqu'un nud se retrouve dans lun de ces cas, il rpond laide dun message
RequestFailed. Son prdcesseur enverra donc la requte vers un autre nud de sa table
de routage (comme par exemple les messages 3,7 et 8 de la figure b).
Voici un schma et quelque phrase qui rsume le principe de routage de larchitecture
freenet :

Un nud Freenet possde une table de routage dynamique. Les entres de cette table
associent un identifiant avec un nud, ainsi lorsque l'on soumet une requte un nud, si
celui ci ne possde pas le document, il transmet la requte vers le nud dont la cl dans la
table de routage est la plus proche (lexico graphiquement) de l'identifiant du fichier dsir.
Les nuds ajoutent des entres dans leur table de deux faons. Lorsqu'un nouveau nud se
joint au rseau, d'autres nuds contacts alatoirement dterminent conjointement (et semi
alatoirement) la cl qui sera associe au nouveau dans leur table de routage (ainsi le
nouveau nud recevra les requtes se rapprochant de cette cl). Ensuite, lorsqu'une requte
est soumise, elle est rpercute de nuds en nuds en fonction de l'identifiant cherch. La
recherche est donc ralise par un parcours en profondeur du graphe des connexions. Un
identifiant unique pour chaque requte (gnr alatoirement) permet de dtecter et dviter
les boucles.(exemple : voir figure : 5.6.7 )
Une fois la requte aboutie, la rponse, qui contient le fichier demand ainsi que l'adresse du
nud qui a fournit la rponse, parcours le chemin inverse. Les nuds transmettant cette
rponse ajoutent alors le nud d'origine avec la cl du fichier dans leur table (exemple :
figure 9 ,10,11,12). Au passage, chaque nud va copier le fichier en transit dans son propre
espace de stockage. Cette copie systmatique va permettre aux nuds de se spcialiser
et donc de diminuer le temps de rponse aux requtes. En effet, puisque les recherches sont
diriges en fonction de l'identifiant du nud, les nuds, petit petit, vont tre amens
stocker des fichiers dont les identifiants seront proches de celui que les autres lui ont affect.

Register eDocPrinter -31PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Ce mcanisme de routage implique deux choses importantes :


- La premire est que les nuds vont se spcialiser dans la localisation de cls similaires.
En effet, lorsquun nud est list dans une table de routage avec une cl particulire, il
recevra un grand nombre de requtes pour des cls similaires. Ainsi, ce nud ajoutera
dans sa table de routage les nuds possdant des cls semblables.
- Le second point important est le regroupement des nuds en "clusters" de fichiers cls
similaires.

2.2.4

Linsertion dun nouveau fichier

L'insertion d'un fichier sur le rseau commence par la cration de la cl binaire


correspondante, puis par lenvoi aux voisins du propritaire du fichier dun message
DataInsert qui contient la cl prcdemment calcule. Lorsquun nud reoit un message
DataInsert, il compare la cl contenue dans ce message avec celles dont il dispose pour
dcrire les fichiers stocks localement.
Si cette cl existe dj, alors il retourne la donne correspondant la cl au nud source
du DataInsert, exactement comme sil avait reu un message DataRequest pour cette
donne. Le nud qui dsirait insrer la donne avec cette cl dduira de cette rponse
que la cl existe dj et devra donc en calculer une nouvelle.
Si un nud reoit un message DataInsert et quil ne dispose pas localement dun fichier
identifi par la cl contenue dans ce message, il va chercher dans sa table de routage la
cl la plus proche et fera suivre le message DataInsert au nud correspondant.
Si aucune collision na t rencontre lorsque le message voit son hops to live (nombre de
sauts) atteindre la valeur nulle, un rsultat confirmant linsertion de la donne sera alors
envoye en direction du nud source du DataReply.
La donne nouvellement insre sera enfin propage le long du chemin tablit par la
requte dinsertion. Tout comme le systme de routage, le processus dinsertion a
diffrents effets sur le comportement du rseau.
Les fichiers nouvellement insrs sont stocks sur des nuds possdant des cls
similaires, ce qui renforce le mcanisme de regroupement de cls.
Lorsquun nud se connecte au rseau Freenet, il ne dispose alors que de quelques
voisins donns par le nud introducteur. Les nuds introducteurs sont des nuds
possdant une adresse fixe connue de tous et qui permet l'insertion de nouveaux nuds
sur le rseau.
Linsertion de donnes lui permettra alors de se faire connatre par dautres nuds et par
consquent dlargir sa propre connaissance du rseau.
Une tentative dattaque visant supplanter un fichier dj existant en crant dlibrment
des collisions par linsertion de mauvais fichiers sous une cl existante, aura de grandes
chances d'chouer et de dissminer le vrai fichier. En effet, lorsquune collision apparat
(c'est--dire que deux cls identiques sont rencontres), le fichier dj prsent sur le
rseau et qui est dfinit par la cl en question sera envoy aux metteurs des messages
dinsertion, propageant ainsi le fichier dj prsent sur le rseau.

2.2.5 Lauto-archivage ou lauto-destruction des donnes


Le rseau Freenet peut voir une donne compltement efface du rseau si tel est le choix
fait par les nuds. Les donnes tant effectivement conserves dans des caches (de type
LRU, Least Recently Used), les donnes trs peu demandes se verront tre petit petit
supprimes de ces caches et donc du rseau.

Register eDocPrinter -32PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Il est ainsi possible de profiter de ce processus pour mettre jour une donne, puisque les
fichiers obsoltes ne seront plus demands et donc retirs des nuds. Toutefois, si une
version plus ancienne dune donne continue tre demande, celle-ci sera conserve sur
le rseau.

2.2.6

Les faiblesses et limites


2.2.6.1

le temps de rcupration des fichiers

Le temps ncessaire pour trouver un fichier dans Freenet est trs honorable. La mthode
de routage par cl semble, dans le temps, porter ces fruits en spcialisant les nuds.
Mais une fois un fichier trouv sur un nud, il doit repasser par tous les nuds sur le
chemin. Mme si ces transferts devraient tre (dans le futur) tunells[7], (les nuds
n'attendent pas d'avoir compltement reu le fichier pour le retransmettre), il n'en
demeure pas moins que toutes ces copies ont un cot en temps non ngligeables dont il
n'est pas fait mention dans l'article.
On peut cependant noter que ce temps de recopie ira en diminuant en fonction de l'intrt
que le fichier suscite.

2.2.6.2

la diffusion des cls

Il est (pratiquement) impossible de retrouver une information dans Freenet sans connatre
sa cl. (bien que les auteurs voque limprobable possibilit dune forme dindexation
automatique) : il faut donc que celui qui l'a insre dans le systme dispose d'un moyen
pour diffuser cette cl. Les dveloppeurs envisagent la mise en place d'un site Web
permettant de retrouver les cls des documents. Mais un tel concept va l'encontre mme
de l'ide de totale dcentralisation dont est ne Freenet. Cependant, il est possible avec la
version actuelle de cr un "site web" sur Freenet (donc sans base fixe) pouvant
permettre l'indexation du reste.Cela tant dit, il est, pour l'instant, relativement difficile de
rcuprer des informations depuis Freenet

2.2.6.3

QoS : Attaque possible

La persistance des donnes ntant pas assure, un spam gnral du rseau avec des
donnes corrompues pourrait possiblement provoquer son effondrement. Si la place totale
disponible sur un rseau P2P peut tre considre comme virtuellement infinie, les disques
durs locaux qui la composent sont eux, loin de ltre Aussi une attaque cibl sur une cl
prcise aurait plus de chance daboutir :
En gnrant alatoirement un grand nombre de cls, lattaquant peut obtenir des cls
proches de celle du fichier quil dsire faire effacer du rseau. Lattaquant insre ensuite
dnormes fichiers avec ces cls, qui devraient saturer les nuds ayant des chances de
possder le fichier cibl. En ralisant massivement des requtes sur des cls alatoires,
lattaquant peut rcuprer les adresses de nombreux nuds qui adresser des requtes
pour les fichiers corrompus quil a prcdemment insrs,dutilisant le systme de
duplication pour encore diffuser le spam dans tout le rseau.
Pour palier cette attaque, plusieurs systmes peuvent tre mis en place, par exemple :
- Allouer aux nuds nouvellement insrs une cl proche de celle dun des nuds le
plus plein pour rpartir la charge.
- Utiliser des agents chargs de surveiller et de rpartir de faon plus ou moins
homogne les donnes, comme dans le projet Anthill[16]
- Mettre en place une heuristique de gestion locale de la place moins agressive que le
FILO, par exemple en prenant en compte la prsence ou non dune copie dun
fichier dans le rseau avant de le supprimer.
- Fragmenter alatoirement les copies des fichiers et les disperser dans le rseau
pour augmenter les chances de pouvoir les reconstruire ensuite, comme IBP [17]

Register eDocPrinter -33PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

2.2.6.4

Conclusion

Freenet n'est peut tre pas exactement le systme de stockage et de diffusion de donnes
idales. Il y a cependant des ides intressantes sur la mthode pour propager des
donnes au travers du systme en suivant les chemins des requtes. C'est l finalement le
rel point qui le diffrencie des autres systmes de partage en vogue actuellement : un
nud n'hberge pas que des donnes qui intresse sont propritaire, il permet aux autres
d'y stocker leurs donnes. D'autre projet, comme Free Haven, propose ce mme genre de
systme avec des approches diffrentes pour la rplication des donnes, ncessitant la
mise en place de techniques complexes pour leur ralisation. Freenet a l'avantage, par
rapport aux autres, d'avoir un systme de rplication simple, systmatique et relativement
efficace mais qui souffre dun total manque de garantie sur la dure de vie d'un fichier. Ce
projet open source bnficie du soutient de nombreux programmateurs. Leur enthousiaste
provoque une dispersion dans les domaines de recherche, ce qui finit par nuire la
cohrence des dveloppements, voir lavancement du projet, car il reste encore
beaucoup faire...

2.2.7

Comparaison entre les deux rseaux Gnutella et


Freenet

Voici trois tableaux qui rsument les principaux diffrence entre les deux rseaux tudis :

Gnutella

Freenet

le mot cl de la recherche est le nom de fichier


voulu
on peut facilement dtruire un fichier
pas de structure pour le rseau,pour intgrer le
rseau il suffit davoir assez de nuds actives,
pas besoin de maintenir lensemble rseau
les nuds stock seulement leurs fichiers
les fichiers ne sont pas crypts
de scurit

pas

le mot cl de la recherche ici est trs complexe,


en effet cest un mot crypt par des outils
spcifique.
impossible deffacer un fichier si on nest pas
propritaire.
une structure disperse du rseau, pour
connatre le rseau il faut apprendre du voisin,
un maintien du rseau constamment
un fichier peut tre stocker par plusieurs
noeuds
les fichiers sont crypts
scurit
absolu

la source est connue par le


destinataire
absence de lanonymat

la source est inconnu par


le destinataire
anonymat complte

les broadcast ping sature le rseau

pas de diffusion, mais de bouche oreille

Nom

Rpertoire

Cache

Stockage

Gnutella

Non

Non

Non

Freenet

Oui

Oui

Non

Register eDocPrinter -34PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

caractristique Type de Gnutella


rseau

Freenet

Type de recherche

Nom du fichier

Chane descriptive

Mcanisme de

Propagation aux nuds


voisins

Propagation aux nuds voisins


guide par le critre de la cl

Faible (limit par le


voisinage)

Dpend de la proximit
smantique de la cl

Non

Oui

Non

Oui

Recherche efficace

Recherche efficace+ cache du


contenu

recherche
Efficacit de la
recherche
Anonymat
Cache automatique
Passage lchelle

Remarque :
Comme cette technologie est en cours de construction, alors il ny ai pas de
publication, donc on a pas pu trouver les documents ncessaire pour faire une
recherche approfondie. Mais on comme mme pu faire un rsum sur cette
dernire.

2.3 Technologie Fasttrack


FastTrack est une arrive rcente la scne de pair--pair et avec son venir il apporte un
nouveau, scalable, l'architecture qui suit toujours une conception dcentralise. Le
protocole de FastTrack est actuellement employ les deux applications, KaZaA et
Morpheus. L'application de KaZaA a eu vers le haut de 20 millions de tlchargements et
KaZaA peut avoir n'importe o jusqu' 800.000 utilisateurs relis en mme temps.
L'architecture de FastTrack suit un systme 2-tier dans lequel la premire range se
compose des raccordements rapides au rseau (Cable/DSL et se lve) et la deuxime
range se compose des raccordements plus lents au rseau (modem et plus lent). Des
clients sur la premire range sont connus pendant que SuperNodes et clients sur la
deuxime range sont connus comme noeuds. Lors du raccordement au rseau ce qui se
produit est que le client dcide si vous convenez pour devenir un SuperNode ou pas. Si
vous pouvez devenir un SuperNode vous vous reliez l'autre SuperNodes et commencez
prendre des raccordements des noeuds ordinaires. Si vous devenez un noeud vous trouvez
un SuperNode qui vous permettra de se relier eux et de vous relier. Ceci produit une
topologie deux niveaux dans laquelle les noeuds au centre du rseau sont plus rapides et
produisent donc une pine dorsale plus fiable et plus stable. Ceci permet plus de
messages d'tre conduits que si l'pine dorsale taient plus lente et permet donc un plus
grand scalability.
Le cheminement sur FastTrack est accompli par l'annonce entre le SuperNodes. Par
exemple, quand un noeud publie une demande de recherche au SuperNode il est reli la
demande de recherche est pris par ce SuperNode et a puis annonc tout le SuperNodes
qu'il alternativement est actuellement reli . La recherche continue de cette faon jusqu'
ce que sa TTL ait atteint zro. Chaque SuperNode qu'elle atteint des recherches un index
qui contient tous les dossiers de ses noeuds relis. Ce les moyens, celui avec TTL de 7 et
avec une quantit moyenne de noeuds par SuperNode de 10 une demande de recherche
rechercheront 11 fois plus de noeuds sur un rseau de FastTrack que sur GNUtella.
Malheureusement puisque les recherches sont mission le rseau produit immobile

Register eDocPrinter -35PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

d'normes quantits de donnes qui doivent tre passes de SuperNode SuperNode.


Cependant puisque le SuperNodes sont garantis pour tre raisonnablement rapide il ne
produit pas aussi grand un problme que sur GNUtella.
Le cheminement des rponses suit les mmes lignes que GNUtella. Des rponses sont
conduites en arrire le long du chemin qu'elles sont venues de jusqu' ce qu'elles
atteignent les clients qui les ont l'origine publis. Un grand problme avec ce type de
conduite dans GNUtella tait que les clients faisant vers le haut de son pine dorsale
taient trs passagers et relis et dbranchs au rseau trs sporadiquement qui a signifi
que les paquets tant conduits en arrire le long du chemin qu'ils sont venu pourraient
trouver le chemin all parce qu'un lien dans la chane avait dbranch. Ce problme se
produit moins sur FastTrack comme des clients faisant vers le haut de l'pine dorsale sont
garantis pour tre plus rapides et plus stables et donc les chemins pour les paquets de
retour de cheminement devraient tre plus fiables.
Le tlchargement sur FastTrack est le mme que sur GNUtella. Une fois l'endroit du
dossier a t trouv le client qui veut le dossier se relie au client qui accueille le dossier et
envoie une demande de HTTP du dossier. Le client accueillant le dossier interprte la
demande et envoie une rponse de HTTP. Les en-ttes de HTTP utiliss dans FastTrack ont
t modifis pour adapter l'information supplmentaire telle que des mta-donnes mais
les en-ttes HTTP/1.1 standard sont soutenus qui signifie que des dossiers peuvent tre
tlchargs des clients de KaZaA par un enchanement-web-browser tel que l'Internet
Explorer ou le Mozilla.
Malheureusement bien que la topologie de FastTrack soit une excution d'un KaZaA
dcentralis exige que tous les clients s'inscrivent un serveur central avant d'tre laiss
relier au rseau qui infirme tous les avantages d'avoir une topologie dcentralise.
KaZaA subissent actuellement l'instance judiciaire avec le RIAA (association d'industrie
d'enregistrement de l'Amrique) et si elles perdent et sont arrtes le rseau de KaZaA
cessera de fonctionner. L'enlvement de l'aspect dcentralis de la conception de
FastTrack a prsent un point d'chec au rseau.

Register eDocPrinter -36PDF


Pro Online Now!!
-

Register to Remove Trial Watermark!!

DERBALI / EMBOUAZZA

RESEAUX PEER TO PEER

Bibliographie
Historique :
Historique peer-to-peer : http://www.figer.com/publications/p2p.htm
Historique Napster : http://www.ensmp.fr/~00toure/napster/historique.htm

Prsentation gnrale :
Open-Files, quelques chiffres : http://www.open-files.com/site/news/287.htm
Openp2p : http://openp2p.com/
abou.org : http://www.abou.org/p2p/
Comment a marche : http://www.commentcamarche.com/
Indexel : http://www.indexel.net
1formatik : http://www.1formatik.com/news_p2p.htm
01net : http://www.01net.com/article/189227.html
Actu Peer to Peer : http://actup2p.free.fr
Ratiatum : http://www.ratiatum.com/
Journal du Net : http://solutions.journaldunet.com/
InfoAnarchy : http://www.infoanarchy.org/
Les fiches de lAWT : http://www.awt.be/cgi/fic/fic.asp?fic=fic-fr-T11-1
Journal du Net , dfinition du peer-to-peer :
http://solutions.journaldunet.com/0104/010419_p2p.shtml
Architecture rseau :
Cours de Didier Donsez de luniversit de Grenoble : http://www-adele.imag.fr/~donsez/
Edonkey 2000 France : http://www.edonkey2000-france.com
Forum de discussion de Kazaa : http://www.kazaa.com
Peer-to-Peer Technologies and Protocols : http://ntrg.cs.tcd.ie/undergrad/4ba2.02/p2p/
Logiciels et rseaux :
e-Donkey France : http://www.edonkey2000-france.com/
e-Mule project : http://www.emule-project.net
e-Mule France : http://www.emule-france.com
Lugdunum, un serveur de-Donkey : http://lugdunum2k.free.fr/
Project 100k, le plus gros serveur e-Donkey : http://81.91.66.90/ed2kch/projet100k/
SETI : http://setiathome.free.fr/
Kazaa : http://www.kazaa.com
Gnutella : http://www.gnutella.com
DirectConnect : http://www.neo-modus.com
Blubster : http://www.blubster.com
Kanari : http://www.kanari.com
Groove Networks : http://www.groove.net
Freenet : http://freenetproject.org
Livre et revues :
PC Team du mois de fvrier 2003 : dossier sur le peer to peer
Articles de Sciences et Vie Micro anne 2002
Peer to Peer: Harnessing the Power of Disruptive Technologies Andy Oram (editor) First
Edition March 2001 ISBN: 0-596-00110-X

Register eDocPrinter -37PDF


Pro Online Now!!
-

You might also like