Vous êtes sur la page 1sur 27

Etude Bibliographique

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Sommaire
Introduction.....................................................................................................3 I. Prsentation du Peer to Peer.................................................................................4
I.1. Le Peer To Peer....................................................................................................4 I.2. Caractristiques...................................................................................................4 I.3. Peer to peer, pour quoi faire?...............................................................................5 I.4. L'utilisateur : un acteur principal...........................................................................5 I.5. Inconvnients.......................................................................................................6 I.6. Avantages............................................................................................................6

II. Architectures Peer To Peer....................................................................................7


II.1. Architecture II.2. Architecture II.3. Architecture II.4. Architecture centralise.......................................................................................7 centralise avec serveurs multiples................................................8 dcentralise...................................................................................9 hybride...........................................................................................11

III. Applications et protocoles du Peer to Peer..................................................12


III.1. Le Partage de fichiers.....................................................................................12 III.1.1. Napster...............................................................................................12 III.1.2. Protocole et rseau eDonkey..............................................................14 III.1.3. Protocole et rseau Gnutella..............................................................17 III.2. La Tlphonie...................................................................................................21 III.2.1. Skype..................................................................................................21 III.3. Le Media Streaming.........................................................................................23 III.3.1. P2PTV.................................................................................................23

Conclusion.....................................................................................................................26 Bibliographie.................................................................................................................27

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Introduction
Au cours de ces dernires annes, la technologie de l'informatique n'a cess d'voluer et de progresser, en particulier dans le domaine des rseaux informatiques. De nouveaux outils (Napster, Kazaa, Emule etc), permettant l'change d'informations entre les diffrents ordinateurs du monde entier, apparaissent la fin des annes 90 et au dbut des annes 2000. Un phnomne est apparu avec ces nouveaux outils : le peer to peer (abrg p2p ), que l'on peut traduire en franais par poste poste ou gal gal ou encore pair pair . Le peer to peer a pris une place considrable dans le monde de l'informatique mondial. En effet, le rseau peer to peer est l'un des acteurs principaux de l'internet aujourd'hui. Il reprsente la plus grande source de tlchargement dans le monde. Les personnes utilisant ce principe de rseaux se comptent actuellement par millions et leur nombre ne cesse d'augmenter. L'effervescence autour de ce phnomne est due la mise disposition de la communaut (utilisateurs du rseau p2p ), des musiques et des vidos rcemment mises sur le march. Les changes des fichiers illgaux posent le problme des droits dauteurs et touchent particulirement les grands groupes dindustriels musicaux et cinmatographiques. La loi franaise relative au droit dauteur et aux droits voisins dans la socit de linformation (DADVSI) tente dendiguer ce phnomne dchange de fichiers. Malgr cette loi et les sanctions encourues, les changes de fichiers par le rseau p2p diminue trs peu. Dans notre tude, nous nous intresserons principalement laspect technique du peer to peer. D'abord, nous prsenterons le peer to peer , ces avantages et ces inconvnients. Ensuite, nous passerons en revue les diffrentes architectures utilises. Enfin, nous prsenterons les applications et les protocoles p2p.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

I. Prsentation du peer to peer


I.1. Le Peer To Peer
A l're de l'internet et du web, nous sommes familiarises avec le concept clientserveur. Dans ce concept, le client demande un service au serveur. Le serveur l'excute et transmet le rsultat au client. En d'autres termes, la demande vient toujours d'un client et le serveur ne prend jamais d'initiative. Avec l'apparition du peer to peer , on ne parle plus de client et de serveur mais d'applications qui sont la fois client et serveur. Ce concept est apparu la fin de l'anne 1998. Un tudiant de l'universit de Boston, Shawn Fanning, alors g de 19 ans, vient de bouleverser le monde bien tabli du client/serveur. Il crit pour lui et ses amis un logiciel gratuit, Napster, qui permet d'changer des fichiers audio au format mp3 via internet. Les changes des fichiers ne passent plus par un serveur. Ils se font directement d'un utilisateur vers un autre utilisateur, dfinissant ainsi le principe d'change du peer to peer . L'informatique peer to peer se dfinit comme le partage des ressources et des services informatiques par changes directs entre systmes. Ces changes peuvent porter sur les informations (des fichiers, des flux multimdia continus (streaming), le calcul rparti, la tlphonie (exemple Skype) sur internet), les cycles de traitement, la mmoire cache ou encore le stockage sur disque des fichiers. Dans le modle de communication peer to peer, chaque ordinateur joue la fois le rle de client et de serveur. Tous les ordinateurs sont ainsi gaux, ils peuvent tous envoyer et recevoir des donnes. Aujourd'hui, avec la baisse des cots de communication et les connexions permanentes l'ADSL, le phnomne du peer to peer a pris normment d'ampleur. Les facteurs de cette explosion sont les suivants : L'augmentation des dbits pour les connexions internet La puissance de calcul La capacit de stockage des ordinateurs. Le peer-to-peer tire parti de la puissance existante des ordinateurs et de la connectivit des rseaux afin de mettre le potentiel collectif des noeuds au service de lensemble du rseau. Avec le peer-to-peer , les ordinateurs personnels ont le pouvoir de devenir une partie intgrante du rseau. Le peer-to-peer dsigne donc une classe dapplications qui tirent partie des ressources matrielles ou humaines qui sont disponibles en bordure du rseau de lInternet.

I.2. Caractristiques
Comme ces ressources ont une connectivit instable ou des adresses IP variables, elles fonctionnent de manire autonome, indpendamment de systmes centraux comme les DNS. Ce qui a rendu Napster et des systmes similaires populaires, c'est le fait de tirer partie de ressources qui taient auparavant inutilises en tolrant et mme en tirant partie d'une connectivit alatoire.
ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Un vrai systme peer-to-peer se reconnat donc par les 2 caractristiques suivantes : Est-ce que le systme permet chaque pair de se connecter de manire intermittente avec des adresses IP variables ? Est-ce que le systme donne chaque pair une autonomie significative ? Si la rponse est oui ces 2 questions, le systme est un systme peer-to-peer . Une autre manire de distinguer un systme peer-to-peer est de raisonner en termes de "proprit". Il faut remplacer la question "Est-ce que les pairs peuvent changer des informations ?" par la question "Qui possde les ressources qui font tourner le systme ?". Dans un systme comme Yahoo!, l'essentiel des ressources est possd par Yahoo! tandis que dans un systme comme Napster, l'essentiel des ressources est possd par les utilisateurs de Napster. Dans les vrais systmes peer-to-peer , on ne se contente pas de dcentraliser les fonctions mais aussi les cots et les charges d'administration. Avec un calcul trs conservateur, 100 millions de PC connects Internet avec une puissance de 100Mhz et 100Mo de disques reprsentent une puissance de dix milliard de Mhz et dix mille traoctets de stockage. C'est de ces ressources dont il faut tirer parti.

I.3. Peer to peer, pour quoi faire?


Dans un environnement peer to peer , les applications se trouvant sur des ordinateurs personnels (PC) se mettent sur un mme pied d'galit. Il n'y en a plus une qui initialise le dialogue et l'autre qui rpond, toute application est capable d'initialiser un dialogue avec une autre et/ou de rpondre un appel. Parmi les applications les plus frquentes permises par le peer to peer , on peut citer :

La collaboration, par exemple entre ordinateurs au sein d'une entreprise ou d'une organisation Le partage de ressources entre deux ordinateurs de particuliers Le peer-to-peer computing, c'est--dire l'utilisation des CPU d'ordinateurs se trouvant n'importe o sur le rseau Internet pendant les moments o ces ordinateurs ne sont pas utiliss La messagerie instantane qui permet deux ordinateurs de communiquer sans passer par un ordinateur central La distribution d'une masse importante de fichiers sur plusieurs ordinateurs au sein d'un LAN. Cela revient rpartir le travail de cache, ralis habituellement par un serveur proxy, sur plusieurs ordinateurs du LAN La tlphonie IP gratuite (exemple : Skype) Le mdia streaming (exemple : internet TV)

I.4. L'utilisateur: un acteur principal


Avec le peer-to-peer , contrairement aux autres programmes sur internet, un logiciel donne aux utilisateurs quasiment le statut le plus important. En effet si l'on y regarde attentivement, l'architecture des rseaux peer-to-peer est relativement simple (explications voir partie II) et ce sont les utilisateurs, eux-mme, qui composent 70% le fonctionnement de ce principe.
ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Sans la participation des utilisateurs, le systme "s'croulerait". Le rle des utilisateurs est donc fondamental, ils sont, en quelque sorte, les pices clef d'un puzzle virtuel gigantesque. La majeure partie des informaticiens actuels considre que les logiciels peer-to-peer sont des communauts "High techs", des communauts du future.

I.5. Inconvnients
Le peer to peer a un certain nombre d'inconvnients : Ce systme n'est pas du tout centralis, ce qui le rend trs difficile administrer La scurit est moins facile assurer, compte tenu des changes transversaux Aucun maillon du systme ne peut tre considr comme fiable Ainsi, le peer to peer est prfrentiellement utilis pour des applications ne ncessitant pas un haut niveau de scurit ni une disponibilit maximale (il est donc dconseill pour un rseau professionnel avec des donnes sensibles).

I.6. Avantages
Le peer to peer possde tout de mme les avantages suivants : Un cot rduit (les cots engendrs par un tel rseau sont le matriel, les cbles et la maintenance) Une simplicit toute preuve

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

II. Architectures Peer To Peer


II.1. Architecture centralise

Figure 2.1 : Architecture centralise Cette architecture repose sur un serveur central qui gre les partages, la recherche et l'insertion d'information auquel se connecte les clients. Le serveur dispose principalement de deux types d'informations : celles sur le fichier (nom, taille, ...), et celles sur l'utilisateur (nom utilis, IP, nombre de fichiers, type de connexion, ...). Toutes ces informations sont collectes l'aides d'un systme d'indexation appel la table de hachage distribue qui permet en thorie d'viter la multiplication de fichiers inutiles. En effet, les fichiers peuvent tre identiques sans pour autant possder le mme nom et inversement. On associe donc un identifiant unique (hash) chaque pair, chaque mot cl et chaque fichier en fonction de son contenu et non de son nom. Ce qui permet par exemple de rcuprer le bon fichier mme si le nom est incorrect. Le client se connecte au serveur via une application p2p. Une fois connect, le client peut faire des recherches pour rcuprer le fichier dsir. Il obtient alors une liste d'utilisateurs disposant de la ressource dsire .Il suffit alors de cliquer sur le bon lien pour commencer le tlchargement. Cette tape est compltement indpendante du serveur, et reprsente la seule partie P2P du logiciel. Un exemple de rseau centralis est Napster. Ce service de partage de fichiers sera prsent par la suite.
ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Avantages :

Le confort d'utilisation est grand, puisqu'il n'y a pas de soucis de connexion au bon serveur. La recherche de document est facilite. En effet, le serveur est omniscient : si un fichier est disponible sur le rseau, on est en mesure de le savoir systmatiquement.

Inconvnients :

La scurit est le talon d'Achille de ce type d'architectures : il suffit de supprimer le serveur pour que l'intgralit du rseau soit inactive. Sensible au partitionnement du rseau (serveur inatteignable) et aux attaques. Aucun anonymat n'est possible, puisque chaque utilisateur est identifi sur le serveur. Il est alors on ne peut plus facile d'laborer des profils utilisateurs (diverses possibilits d'utilisation : de la publicit cible l'identification des clients violant les protections intellectuelles par exemple).

II.2. Architecture centralise serveurs multiples

Figure 2.2 : Architecture centralise serveurs multiples

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Afin de pallier aux dficiences introduites par un unique serveur, une amlioration consiste remplacer le serveur central par un rseau de serveurs. L'exemple le plus connu est sans doute le rseau eDonkey. Dans ce type de rseau, on diffre encore une fois trs bien les serveurs des clients. Ce sont d'ailleurs deux programmes totalement distincts. Le serveur est, encore une fois, une machine puissante, (gnralement) ddie faire tourner le programme (non pas que le programme soit lourd, mais les requtes des utilisateurs oui). Tout le problme d'un serveur est de se faire connatre du public. Les serveurs sont ensuite en mesure de se connecter entre eux, en fonction de leur connaissance les uns des autres. On peut donc avoir plusieurs rseaux indpendants (CF figure 2.2). Lorsqu'un client lance le logiciel, il est alors oblig de choisir un serveur auquel se connecter. Pour cela, il doit connatre au moins un serveur. Des listes de serveurs sont donc disponibles sur le net, tout le problme rsidant alors dans le fait de choisir le bon... Pour ce faire, le logiciel client permet de disposer d'une description de chaque serveur avec son nom, son IP, une description (faite par le propritaire du serveur), le ping, le nombre d'utilisateurs, le nombre maximal d'utilisateurs et le nombre de fichiers partags. Le rseau eDonkey est un rseau centralis serveurs multiple. Nous verrons avec plus de prcisions ce rseau dans la troisime partie de notre tude.

II.3. Architecture dcentralise

Figure 2.3 : Architecture dcentralise

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

Une autre architecture de peer to peer est l'architecture dcentralise. Beaucoup moins vulnrable, le rseau dcentralis nutilise pour sa part aucun serveur, mais continue de sappuyer sur les tables de hachage distribues. Chaque utilisateur est la fois un client et un serveur (servent), et tous se dcouvrent et se connectent dynamiquement entre eux en relayant les requtes dordinateur ordinateur. Si cette architecture prsente lavantage dtre robuste, elle gnre en revanche un trafic important et la recherche de fichier prendra plus de temps. Chaque requte sera adresse chaque utilisateur connect, chacun dentre eux faisant de mme, ce qui peut prendre un temps considrable si des milliers dutilisateurs sont prsents. Pour viter daugmenter exponentiellement ce trafic de donnes, on a recours plusieurs procds. commencer par la limitation du nombre dutilisateurs (pairs) visibles par un autre pair. Cest ce quon appelle lhorizon. De cette faon, les requtes sont dabord envoyes au pair de lhorizon. Et ce nest quen cas dchec que les requtes sont envoyes dautres pairs. Pour rduire encore davantage le trafic et pour viter tout goulet dtranglement, on utilise galement le time out qui nest autre quun dlai de limite avant abandon dune requte en cas de non-rponse. Un autre problme se pose galement. Absence de serveur oblige, chaque pair prend en charge une partie du rle du serveur et donc une partie de la table de hachage. Mais dans le cas o plusieurs pairs viendraient disparatre, une partie de lannuaire recensant les pairs et toutes les ressources partages disparatraient galement. Pour viter une telle situation, plusieurs pairs sont simultanment responsables dune partie de la table de hachage. Gnutella est un exemple de rseau dcentralis. Par la suite, nous dtaillerons ce rseau. Avantages :

La taille d'un tel rseau est thoriquement infinie, contrairement aux autres architectures dont le nombre de clients dpend du nombre et de la puissance des serveurs. L'utilisation d'un tel rseau est anonyme, c'est dire qu'il est impossible d'y reprer quelqu'un volontairement. Rseau trs tolrant aux fautes S'adapte bien la dynamique du rseau (alles et venus des pairs)

Inconvnients :

Gros consommateur de Bande passante Pas de garantie de succs, ni d'estimation de la dure des requtes Pas de scurit, ni de rputation (pas de notion de qualit des pairs, ni des donnes fournies). Problme du free-riding (personnes ne partageant pas de fichiers)

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

10

II.4. Architecture hybride

Figure 2.4 : Architecture hybride L'architecture hybride est le plus complexe mettre en oeuvre et combine la fois le rseau centralis et dcentralis. Le rseau de ce type sappuie sur un ensemble de serveurs (lordinateur dun utilisateur peut devenir un serveur) grant un groupe dutilisateurs suivant larchitecture centralise. Puis, chaque serveur est ensuite connect dautres serveurs suivant larchitecture dcentralise. De cette faon, si un fichier recherch par un utilisateur nest pas index par le serveur auquel il est rattach, celui-ci transmet alors la requte un autre serveur. Cette architecture permet de bnficier dune meilleure bande passante en rduisant le trafic de requtes. En combinant la fois les rseaux dcentralis et centralis, le rseau hybride utilise les internautes de deux manires diffrentes. Outre les utilisateurs lambda, ceux qui possdent une bande passante plus importante sont utiliss comme des serveurs centraux qualifis de super-peer . Ils sont relis entre eux de manire dcentralise. Un exemple de rseau hybride est Kazaa.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

11

III. Applications et protocoles du Peer to Peer


Les rseaux peer to peer peuvent tre classifis par leur degr de centralisation comme nous l'avons vu prcdemment. Par la suite, nous allons vous dcrire les diffrentes applications du peer to peer en les classifiant par le service fourni. Ainsi nous pourrons observer que le peer to peer ne se rduit pas seulement au partage de fichiers. Les diffrents types d'application que nous allons traiter sont :

Le Partage de fichiers La Tlphonie Le Media Streaming (audio ou vido)

III.1. Le Partage de fichiers :


En ce qui concerne le partage de fichiers, nous allons commencer par ce qu'on peut considrer comme le premier rseau peer to peer : Napster. Par la suite, nous allons prsenter le protocole et le rseau eDonkey ainsi que son application la plus connue : Emule. Nous traiterons enfin le protocole et le rseau gnutella. III.1.1. Napster : Napster est le service de partage de fichiers qui a ouvert la voie aux logiciels peer to peer utilisant une structure dcentralise. La popularit et les rpercussions du premier Napster ont fait de lui une icne dans le domaine de l'informatique. Principe : Napster est un service de partage de fichiers qui se base sur une architecture centralise c'est--dire que les utilisateurs se connectent un serveur pour pouvoir partager leurs fichiers. Les peers annoncent au serveur central les fichiers dont ils disposent ainsi que leur adresse IP et leur numro de port. En change, le serveur central leur fournit les adresses IP et le numro de port des lments du rseau qui possdent les objets recherchs. Les connexions sont faites point point TCP sur les ports 7777 ou 8888.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

12

Le fonctionnement de Napster se divise en 4 tapes : 4

Noeud i
3 2 1

Noeud j
Fichier A

Index Centralis
Figure 3.1.1 : Exemple de fonctionnement de Napster
Source : http://schuler.developpez.com/articles/p2p

1. Enregistrement du noeud i. Ajout des fichiers de i dans l'index. Demande du Fichier A. 2. Rponse contenant les noeuds disposant du Fichier A. 3. Demande directe de i j pour tlcharger le Fichier A. 4. Tlchargement du Fichier A, et ajout dans la base de ressources partages. Origines : Napster a t cre par un tudiant de NorthEastern University Boston aux Etats-Unis. Celui-ci cherchait une faon plus simple de trouver des musiques qu'en cherchant sur le IRC ou sur Lycos. Grce l'aide financire de son oncle, Napster a vu le jour en septembre 1999. Il tait spcialis dans le partage de fichiers de musique MP3 et prsentait une interface graphique simple d'utilisation (figure 3.1.2). Etat actuel : Le logiciel a t retir en 2001 pour infraction la lgislation sur le droit d'auteur. Actuellement, Napster est devenu aux Etats-Unis un site de tlchargement lgal de musique.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

13

Figure 3.1.2 : Interface de Napster


Source : http://en.wikipedia.org/wiki/Napster

III.1.2. Protocole et rseau eDonkey : Rseau eDonkey : Le rseau eDonkey est un rseau dcentralis qui est bas sur des serveurs. Il avait pour but au dpart le partage de fichiers pour tous mais par la suite, et son dsavantage, il sera utilis pour le partage de fichiers de faon gratuite et illgale. Il existe deux familles de logiciels de serveur eDonkey :

Le serveur d'origine, cre par MetaMachine (crateurs d'eDonkey), n'est plus maintenu eserver est crit par Lugdunum en C. Il est disponible pour diffrents systmes d'exploitation. Actuellement, le dveloppement et le support de eserver sont encore actifs et la plupart des serveurs utilisent ce logiciel.

Protocole eDonkey : Pour rpondre l'asymtrie de l'adsl (plus de dbit en Download qu'en Upload ), les dveloppeurs du protocole eDonkey ont eu l'ide de rendre possible le tlchargement partir de plusieurs sources. Ainsi un fichier est dcoup en plusieurs
ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

14

tranches et peut tre ensuite tlcharg morceau par morceau partir de plusieurs participants du rseau. Le trafic en Download est nourri par plusieurs trafics en Upload . Mais on se rend compte que cette solution n'est que partielle car elle ne permet pas tous les participants d'avoir en mme temps le mme dbit en Download . Ceci est d au fait que l'quilibrage global du rseau n'est pas encore parfait. Par ailleurs, la fragmentation de fichiers favorise le partage de parties de fichiers, donc la collaboration.

Figure 3.1.3 : Principe du tlchargement multiple par eDonkey


Source : http://interstices.info/display.jsp?qs=id%3Djalios_5127&id=c_8622&part=1

Les fichiers sont identifis de manire unique grce l'algorithme MD4 sur les serveurs de localisation. Ce qui permet de mieux grer le partage des parties de fichiers. Un dernier point intressant est la propagation des sources entre les clients. Supposons que l'on ait 3 clients : les clients 1, 2 et 3. Les clients 1 et 2 sont sur le mme serveur, et le client 3 est sur un autre. Enfin, le client 3 dispose d'un gros fichier que voudra le client 2, puis le client 1. Voici les tapes :

Le client 2 effectue une requte Le serveur rpond que le client 3 dispose de la ressource Le client 2 demande le fichier au client 3, le tlchargement commence Ds que le client 2 dispose d'un segment complet du fichier, il prvient son serveur qu'il dispose de la ressource de type "fichier". Le client 1 demande son tour le fichier. Le serveur lui rpond que le client 2 en dispose Le client 1 demande le fichier au client 2 Le client 2 envoie le fichier et prvient le client 1 que le client 3 dispose galement de la ressource Le client 1 va donc galement demander au client 3 des segments du fichier, afin de tlcharger plus vite. Le client 1 tlcharge chez le client 2 et le client 3, et le client 2 tlcharge chez le client 3. Mais si le client 1 tlcharge un autre segment que le client 2, on se retrouve avec le cas de figure 3.1.4 :

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

15

1 Client 1 Client 2 Client 3

Figure 3.1.4 : Propagation des sources


Source : sans source

Le client 1 va tlcharger la partie 1 du fichier des clients 2 et 3. Le client 2 tlchargera la partie 2 des clients 1 et 3 mme s'il tait le premier demander le fichier au client 3, le client 1 aura fini la partie 2 avant lui. Les parties 3 et 4 seront tlcharges par les clients 1 et 2 du client 3, mais il peut arriver que ce ne soit pas en mme temps. Donc ceci nous montre le fonctionnement de la propagation de sources

Exemple : Emule Emule est un logiciel d'change de fichiers qui utilise le rseau eDonkey2000. Emule a diffrents avantages : Grande base d'utilisateur : une moyenne de 20 millions en 2007, ce qui le rend excellent pour trouver des fichiers rares.

Reprend le protocole d'eDonkey2000 et ses amliorations. Gre le gestionnaire de correction d'erreurs. Gre l'change de sources entre clients via le rseau Kademlia (lui permettant de rduire sensiblement les charges sur les serveurs).

Emule a dvelopp la coopration, qui est un aspect essentiel des rseaux peer to peer de partage de fichiers. La plupart des utilisateurs ne partagent pas leurs donnes mais utilisent les rseaux peer to peer pour acqurir des donnes. La coopration consiste partager des fichiers entre les utilisateurs. Habituellement, ds qu'un utilisateur fini de tlcharger une partie du fichier, il commence partager cette partie avec d'autres utilisateurs, mais quand l'utilisateur fini de tlcharger son fichier, il a tendance, soit l'effacer du dossier partag, soit se dconnecter du rseau peer to peer , ce qui nuit la coopration. Pour inciter la coopration, Emule a donc mis en place un systme de points, qui fonctionnent sur le modle du bonus/malus : les donnes fournies en Upload permettent d'acqurir des points qui pourront tre utiliss pour avoir des performances plus leves pour le transfert des donnes en Download .

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

16

Figure 3.1.5 : Interface d'Emule


Source : http://fr.wikipedia.org/wiki/EMule

III.1.3. Protocole et rseau Gnutella : Gnutella est un protocole qui a t invent par Nullsoft, l'diteur de WinAmp, aujourd'hui rachet par AOL. Ce protocole permet de relier les ordinateurs les uns aux autres, il permet le transfert de fichiers. Ce protocole sert transfrer des fichiers d'une machine une autre de faon plus ou moins anonyme. Chaque machine est la fois un serveur de fichiers et un client. Types Description Information Annonce la disponibilit, Ping et lance une recherche Vide de pair IP et N de port. Nombre et taille Pong Rponse un ping des fichiers partags Bande passante minimum Query Requte demande Critres de recherche Rponse query si on IP + N de port + Bande Passante. QueryHit possde la ressource Nombre de rponses + descripteur Demande de IP du pair ; index du fichier Push tlchargement pour les demand. Adresse IP + N de port pairs derrire un firewall o envoyer le fichier Figure 3.1.6 : Diffrentes requtes de Gnutella
Source : http://schuler.developpez.com/articles/p2p/

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

17

Ajout d'un noeud dans un rseau Gnutella: Nous supposons ici que le pair A souhaite se connecter un rseau Gnutella. Afin de rendre les schmas plus lisibles, nous limitons le nombre de pairs 5. Pour se faire, le pair A va tout d'abord mettre un message ping (figure 3.1.7 : Flches rouges). Ici, le message ping est d'abord reu par le pair B, qui va alors effectuer deux actions :

Rpondre au pair A avec un message pong (figure 3.1.7 : Flches Noires) Transfrer le message du pair A vers les deux clients qu'il connat, les pairs C et D.

Les pairs C et D (figure 3.1.7 : Flches vertes et jaunes respectivement) rptent alors les mmes actions et par la suite le pair E.

A C

B
Ping de A Pong de B Pong de C Pong de D Pong de E

D E
Figure 3.1.7: Ajout d'un noeud dans Gnutella
Source : http://schuler.developpez.com/articles/p2p/

Le pair A va donc connatre les noeuds B, C, D et E. On peut d'ailleurs remarquer que E connat l'existence de A grce C et D, mais qu'il ne rpond qu'une fois (via le chemin le plus court, ou le premier qui l'a contact).

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

18

Recherche d'un fichier dans le rseau Gnutella : Dans cet exemple, A cherche obtenir le Fichier A , disponible chez le pair C et E, ce qui n'est pas su par le pair A.

A C
Dispose du Fichier A

B
Query de A QueryHit de C QueryHit de E

D E
Dispose du Fichier A

Figure 3.1.8 : Exemple de recherche dans Gnutella


Source : http://schuler.developpez.com/articles/p2p/

Le pair A va donc envoyer un message Query (Figure 3.1.8 : Flches rouges) aux premiers noeuds qu'il connat (ici le pair B), qui se charge :

de rpondre s'il dispose de la ressource (Dans notre exemple, ce n'est pas le cas.) de propager le message Query .

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

19

Les autres noeuds rptent l'action, ce qui conduit le pair C rpondre et propager la requte en mme temps. Le pair A peut alors envoyer C le message get A pour rcuprer le fichier A. Le transfert dbute par la suite.

Exemple : Gnucleus Gnucleus est un client pour les rseaux Gnutella ou Gnutella2 pour windows, ralis sous licence GNU (General Public Licence). Le but principal du projet est la scurit et la stabilit. Le client a t cre pour tre facile a utiliser sans rduire le nombre d'options disponibles. Gnucleus implante de nombreux traits incluant : Les Ultrapeers (Des noeuds Gnutella de haute capacit qui regroupe les noeuds fils pour prvenir les noeuds de basse capacit de crer des goulots d'tranglement.) Le partage partiel de fichiers Support du serveur proxy Le support du rseau Gnutella2

Figure 3.1.9 : Interface de Gnucleus


Source : http://en.wikipedia.org/wiki/Gnucleus

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

20

III.2. La Tlphonie :
III.2.1. Skype : Historique : Les crateurs du logiciel de partage de fichiers P2P Kazaa, Niklas Zennstrm et Janus Friis, publient la premire version (Beta) de Skype en septembre 2003. Cest la fin de lt 2004 que la version 1.0 du logiciel est mise gratuitement la disposition du public. Aujourdhui Skype compte environ 7 millions dutilisateurs. On dnombre en moyenne 1,2 millions dutilisateurs connects simultanment au service. Architecture gnrale : Skype utilisant des technologies propritaires, il est impossible de connatre prcisment son architecture. Les hypothses que nous prsentons sont donc fondes sur les analyses de trafic (reverse-engineering) effectues par Baset et Schulzrinne. Skype sappuie sur une architecture de type peer-to-peer (P2P) pour transmettre la voix sur Internet. A linstar de Kazaa, Skype repose sur un ensemble de "supernoeuds" (Super Nodes). Tout client Skype possdant une adresse IP publique peut tenir le rle de Super Node si ses capacits en termes de CPU et de bande passante le permettent. Nanmoins, le systme nest pas totalement dcentralis. En effet, des serveurs entrent en jeu afin de stocker les informations relatives aux utilisateurs. En particulier, il est ncessaire de se connecter un Super Node puis au serveur dauthentification afin daccder au service.

Figure 3.2.1 : Architecture gnrale


Source : http://labynocle.free.fr/csstest/donnees/voip.pdf

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

21

Ce type darchitecture est sous le joug du nombre dutilisateurs, plus ce nombre est lev, plus le systme est efficace. De mme, il est ncessaire davoir une bonne rpartition gographique des utilisateurs dans le rseau, sans quoi lquit de service ne serait pas assure. De plus, la phase dauthentification tant centralise, le serveur dauthentification semble donc tre le point de vulnrabilit du systme. Si un utilisateur malveillant arrive mettre hors service ce serveur, tout le rseau Skype serait inutilisable.

Host Cache : Chaque Client Skype stocke et met jour rgulirement une liste dadresses de Super Nodes et les ports correspondants. Cette liste, appele Host Cache, est stocke avec dautres informations dans un fichier XML. Cette liste est constitue de 1 200 entres (une entre doit tre valide pour permettre la connexion au rseau). Connexion au rseau : Lorsquun Client Skype dsire se connecter au rseau, il tente de joindre lun des Super Nodes de sa liste Host Cache en UDP. Si la connexion ne peut pas tre tablie, le Client Skype va essayer successivement de se connecter en TCP via les ports 80 (HTTP) et 443 (HTTPS). Ceci permet la traverse dventuels pare-feux ou NAT bloquant les trafics UDP ou certains ports TCP. Si la connectivit ne peut tre obtenue avec aucun des SuperNodes, la phase de connexion choue. Une fois connect un SuperNodes, le Client Skype met en place une connexion TCP entre eux. Il semble que le Client Skype obtienne ladresse du serveur dauthentification auprs du SuperNode via cette connexion. Ainsi, le Client Skype tabli une connexion TCP avec ce serveur. Aprs un change permettant lauthentification, la connexion entre le Client Skype et le serveur dauthentification est rompue. En revanche, la connexion avec le Super Node persiste. Cette connexion est maintenue par un message keep-alive envoy de manire priodique. Si la liaison avec ce Super Node est perdue, alors le Client Skype en tabli une nouvelle avec un autre Super Node . Notons que pour la premire connexion aprs linstallation du Client Skype, Host Cache est initialis avec une liste de 7 adresses. Ces adresses correspondent aux Super Nodes rfrents, elles semblent codes "en dur" dans le Client Skype. Au fur et mesure des connexions, le Host Cache sera complt et mis jour. La manire dont les Client Skype obtiennent de nouveaux Super Nodes reste floue puisque toutes les communications sont cryptes. Nanmoins, il semble que le Client Skype reoive priodiquement une liste de nouveaux noeuds. De mme, une table de Super Nodes "de secours" est cre pour permettre une reprise rapide de la connectivit si aucun des Super Nodes du Host Cache nest disponible.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

22

Figure 3.2.2 : Interface de Skype


Source : http://en.wikipedia.org/wiki/Skype

III.3. Media Streaming :


III.3.1. P2PTV : Systme de diffusion de contenus tlviss et/ou vido en se basant sur un systme dcentralis de type P2P. Un rseau avec une configuration P2P assure une utilisation plus intelligente du dbit disponible. Chaque utilisateur met disposition une partie de son dbit pour alimenter les autres utilisateurs en limitant le dbit ncessaire au fournisseur initial des images.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

23

Figure 3.3.1 : Rseau P2PTV


Source : http://ca.wikipedia.org/wiki/P2ptv

Caractristiques : Avantages Rduction du dbit pour le fournisseur des contenus. Infrastructure matrielle plus simple pour le fournisseur des contenus. Indpendance entre infrastructure du rseau et fournisseur. Le fournisseur ne doit pas entretenir de contacts directs avec les fournisseurs daccs. Dsavantages Augmentation du dbit utilis pour les utilisateurs. Des estimations indiquent une augmentation du 40%. Consomme plus de ressources sur les clients. La qualit du service (QoS) est plus difficile garantir par rapport une diffusion classique en streaming. Ncessite lutilisation dun ordinateur, actuellement il nexiste pas de solutions pour regarder de la P2PTV sur le tlviseur sans connecter ce dernier lordinateur.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

24

Figure 3.3.2 : Processus de tlchargement d'une vido avec P2PTV Source : http://ca.wikipedia.org/wiki/P2ptv Chaque pair du rseau demande un fragment du fichier diffrent. Donc tous les pairs cherchant voir le fichier vido recevront le fichier en mme temps. Ce qui permet tous les pairs d'avoir un dbit constant. Si un fragment du fichier est dj demand par beaucoup de pairs alors ce fragment est demand a un autre pair, ayant dj visionn et conserv ce fragment. Ceci permet de ne pas encombrer le pair diffusant le fichier d'origine.

Figure 3.3.3 : Interface P2PTV


Source : http://www.mydigitallife.info/2007/09/30/record-capture-or-save-p2p-tv-shows-with-pprecorder/fr/

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

25

Conclusion
Aujourd'hui, le peer-to-peer est un phnomne de socit. Quel internaute ne connait pas une application p2p ? Mais la plupart d'entre eux ne connaissent pas ce qui se cache derrire cette application. Dans notre tude, nous avons montr les diffrents rseaux d'change de fichiers ainsi que les applications et les protocoles correspondants ces architectures. Nous avons constat que l'architecture centralise est, ce jour, obsolte. L'avenir est dans les architectures compltement dcentralise ou hybrides qui pourraient rsoudre le problme de l'asymtrie de l'adsl. Mme s'il reste encore des recherches faire sur le domaine, le peer to peer est l'avenir du partage d'informations (Fichiers, audio, vido...). Nous avons dcrit les applications de partage de fichiers (exemple eMule), de tlphonie (exemple Skype) et de media streaming (exemple P2PTV) dont la popularit devrait monter dans les annes futures. Ainsi, On peut voir que le peer to peer ne se rsume pas uniquement au transfert de fichiers illgaux (qui est malheureusement l'application la plus connue). On a vu qu'il y a plusieurs autres applications, mme si on n'a trait que les applications les plus connues. Les rseaux peer to peer sont des rseaux communautaires qui permettent de rduire le cot du rseau et qui permettront, dans le futur de crer un rseau aussi large que le web, mais qui n'aura pas de modle client/serveur.

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

26

Bibliographie
Prsentation gnrale :
Wikipdia : http:/fr.wikipedia.org/wiki/Pair_%C3%A0_pair Generation-nt : http://www.generation-nt.com/ Comment a marche: http://www.commentcamarche.net/initiation/peer.php3 Intertistices : http://interstices.info/ Comprendre l'ordinateur : http://sebsauvage.net/comprendre/p2p/ Actualits : http://www.infos-du-net.com/actualite/theme/p2p-peer-to-peer-16.html http://reader.feedshow.com/show_items-feed=d163b6ade12284b275c3e1ebe1583b03 http://www.futura-sciences.com/fr/ http://www.ratiatum.com/

Architecture rseau :
Developpez.com : http://schuler.developpez.com/articles/p2p Wikipdia : http://fr.wikipedia.org/wiki/Architecture_distribu%C3%A9e Cours : http://www-adele.imag.fr/users/Didier.Donsez/cours/p2p.pdf Abou.org : http://www.abou.org/p2p/ Comment a marche : http://www.commentcamarche.net/cs/peer.php3 Netalya.com : http://www.netalya.com/fr/reseaux8.asp Awt.be : http://www.awt.be/web/res/index.aspx?page=res,fr,fic,080,004

Applications et protocoles :
Wikipdia : http://en.wikipedia.org/wiki/Napster http://fr.wikipedia.org/wiki/EMule http://fr.wikipedia.org/wiki/Gnutella http://en.wikipedia.org/wiki/Gnucleus http://en.wikipedia.org/wiki/Skype http://ca.wikipedia.org/wiki/P2ptv Edonkey : http://glehmann.free.fr/eDonkey/fonctionnement.html Gnutella : http://www.gnutella.com/ Intertistices : http://interstices.info/display.jsp?qs=id%3Djalios_5127&id=c_8622&part=1 Voip : http://labynocle.free.fr/csstest/donnees/voip.pdf P2ptv : http://www.mydigitallife.info/2007/09/30/record-capture-or-save-p2p-tv-shows-withpprecorder/fr/

ORDONEZ TENORIO Edgar SOK Serey M2SIR Anne 2007/2008

27