1 / 44

Les Réseaux « peer to peer »

Les Réseaux « peer to peer ». Plan. Le peer to peer Définition Historique Applications Les différentes architectures Comparatif (avantages / inconvénients) Le protocole Gnutella Le projet JXTA. Le peer to peer : Définition.

Download Presentation

Les Réseaux « peer to peer »

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Les Réseaux « peer to peer » S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  2. Plan • Le peer to peer • Définition • Historique • Applications • Les différentes architectures • Comparatif (avantages / inconvénients) • Le protocole Gnutella • Le projet JXTA S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  3. Le peer to peer : Définition • Peer to peer en français : « d’égal à égal » ou « pair à pair  » • Système d'échange direct de ressources entre machines connectées en réseau • Se distingue fondamentalement de l’architecture client / serveur S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  4. Le peer to peer : Historique Historique : • Années 60 : à l’origine Internet était axé sur l’ échange d’informations entre universités (Arpanet) • 1999 : Napster (S.Fanning), architecture centralisée qui compte plus de 25.000.000 d’usagers en 2000 • 2000 : Gnutella (AOL – Nullsoft), architecture décentralisée • 2001 : Kazaa (Zennstrom & Fiis) , projet JXTA (Sun), architecture centralisée-décentralisée S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  5. Le peer to peer : Applications • Calcul distribué • Ex : projet SETI • Échange de fichiers • Ex : Napster, Gnutella, Kazaa, … • Stockage distribué, plate-forme de développement et groupes de collaboration • Ex : JXTA S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  6. Le peer to peer : Architectures • Architecture centralisée : • Mise en relation à partir du serveur • Puis liaison directe entre les clients • Architecture client / serveur : • Ce n’est PAS un réseau peer to peer • Ici tout passe par le serveur • Aucune liaison directe entre les clients S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  7. Le peer to peer : Architectures • Architecture décentralisée : • Égalité entre tous les utilisateurs • Liaisons établies de proche en proche • Requêtes transférées et relayées • Fichiers transférés directement du demandeur au donneur • Réseau en perpétuelle mutation S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  8. Le peer to peer : Architectures • Architecture centralisée-décentralisée (utilisation d’ « ultra-peers ») : • Pratiquement le même schéma que l’architecture décentralisée • Permet de palier au problème de la bande passante S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  9. Le peer to peer : Comparatif • P2P centralisé • Avantage : • Efficacité des recherches, facilité d'utilisation • Inconvénients : • Complètement tributaire du serveur central • Aucun anonymat n'est garanti • Possibilité pour le serveur central de créer des fichiers clients et des profils d’utilisateurs pour les revendre à des compagnies spécialisées S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  10. Le peer to peer : Comparatif • P2P décentralisé • Avantages : • Grande souplesse, grande robustesse • Anonymat (relatif) assuré car il n'y a pas de serveur qui stocke des données sur les utilisateurs • Inconvénients : • Problèmes au niveau de la bande passante • Anonymat => risques de piratage et d’échange de données illégales S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  11. Le peer to peer : Comparatif • P2P centralisé-décentralisé • Avantages : • Les mêmes qu’en décentralisé • Plus de bande passante • Inconvénients : • Choix difficile des ultra-peers • Compliqué à mettre en place S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  12. Plan • Le peer to peer • Le protocole Gnutella • Introduction • Description • Inconvénients • Nouvelle version • Le projet JXTA S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  13. Le protocole Gnutella : Introduction • Développé en 2000 par NullSoft (J.Frankel & T.Pepper) qui fut ensuite racheté par AOL-Time-Warner • Dédié avant tout au partage de fichiers • Chaque utilisateur joue à la fois le rôle de client et de serveur : on les appelle les servants S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  14. Le protocole Gnutella : Description • Ce protocole fonctionne au moyen de 5 descripteurs principaux : • Ping • Pong • Query • QueryHit • Push • Ces descripteurs permettent la transmission : • Des infos entre les servants (nœuds) du réseau • Des règles qui régissent l'échange de ces descripteurs S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  15. Le protocole Gnutella : Description • EN-TETE des descripteurs : • Descriptor ID : identifie le descripteur de façon unique • Payload Descriptor : 0x00 : Ping 0x40 : Query 0x81 : Push 0x01 : Pong 0x80 : QueryHit • TTL : « time to live » indique le nombre de sauts que peut encore effectuer le descripteur entre servants Gnutella avant sa destruction • Hops : nombre de sauts déjà accomplis • Payload Length : indique la longueur du descripteur suivant immédiatement l'en-tête S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  16. Le protocole Gnutella : Description • Descripteur PING • N'a pas de Payload associé • Ne contient qu’ un en-tête dans lequel Payload Lenght vaut 0x00000000 et Payload Descriptor vaut 0x00 • Permet de sonder le réseau à la recherche d'autres servants • Chacun des servants qui reçoit un Ping répond avec un Pong S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  17. Le protocole Gnutella : Description • Descripteur PONG • Port : numéro de port sur lequel le servent atteint peut accepter les connexions incidentes. • IP Adress : adresse IP du servent atteint. • Nb of files shared, Nb of kB shared : nombre de fichiers et nombre d'octets de données partagés par le servant défini par le port et l'adresse IP précédents. N.B : à un Ping reçu, plusieurs Pongs peuvent être renvoyés. Cela permet à un servant de renvoyer des infos le concernant personnellement, mais aussi des infos qu'il gardait en mémoire cache sur d'autres servants. S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  18. Le protocole Gnutella : Description • Descripteur QUERY • Minimum speed : vitesse minimale (en ko/s) des servants qui doivent répondre à ce message. Les servants plus lents que ce seuil ne sont pas censés répondre • Search Criteria : • Cette chaîne contient des critères de recherche, tels que des noms de fichier, ou des types de fichiers (MP3, jpeg,...) et se termine par 0x00 • Sa longueur n'est limitée que par le Payload length de l'en-tête S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  19. Le protocole Gnutella : Description • Descripteur QueryHit • Nb of hits : Nb de "coups au but" dans le Result Set • Port : Le numéro de port sur lequel le servant atteint peut accepter les connexions incidentes • IP Adress : Adresse IP du servant atteint • Speed : Vitesse du servant atteint S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  20. Le protocole Gnutella : Description • Descripteur QueryHit • Result Set : • File Index : nombre attribué par le servant répondant, destiné à identifier de façon unique le fichier correspondant à la requête. • File Size : Taille en ko du fichier référencé par File Index. • File Name : Nom du fichier référencé par File Index, se termine nécéssairement par 0x0000. Sa taille est limitée par le champ Payload Lenght de l'en-tête. S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  21. Le protocole Gnutella : Description • Descripteur QueryHit • Servant ID : Chaîne de 16 octets qui identifie le servant répondant à la requête. • Un QueryHit n'est envoyé que si le servant possède des fichiers correspondants aux critères de recherche d'un Query • Le champ Descritpor ID dans l'en-tête du QueryHit doit contenir la même valeur que le champ Descritpor ID de l'en-tête du Query S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  22. Le protocole Gnutella : Description • Descripteur PUSH • Servant ID : Chaîne de 16 octets qui identifie le servant à qui l'on demande de "pousser" le fichier référencé par File Index. • File Index : Cet index détermine le fichier qui doit être "poussé" à partir du servent cible. • IP Adress : Adresse IP du servant vers lequel le fichier référencé par File Index doit être "poussé". • Port : Port vers lequel le fichier référencé par File Index doit être "poussé". S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  23. Le protocole Gnutella : Description • Descripteur PUSH • Utilité : • Palier au problème des FireWalls • Lorsqu’on est derrière un firewall, au lieu d’initier soit même la connexion, le servant qui possède le fichier l’initialise en « poussant » le fichier S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  24. Le protocole Gnutella : Description • Routage des descripteurs • Les Pongs (resp. QueryHit, Push) empruntent le même chemin que les Pings (resp. Query ) auxquels ils répondent • Un servant recevant un Ping (ou Query) le transmettra à tous ses voisins immédiats, sauf celui d'où provient le descripteur • Chaque servant, à la réception d'un descripteur, décrémente son TTL et incrémente son Hops • TTL = 0 => le descripteur n'est plus transmis • Non transmission des descripteurs ayant le même payload et DescriptorID qu’un autre reçu précédemment S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  25. Le protocole Gnutella : Description • A se connecte • A envoie un Ping à B et C • B et C répondent avec un Pong • Un Query est lancé par A • Le Query est relayé jusqu'à un servent possédant les fichiers demandés • Celui-ci renvoie un QueryHit contenant la liste des fichiers vérifiant les critères de recherche • Le téléchargement se fait via HTTP S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  26. Le protocole Gnutella : Inconvénients • Réseau inondé de Pings : • si la connectivité moyenne d'un servant est de n, on obtient n^TTL Pings sur le réseau ! • Beaucoup d’utilisateurs ont une connexion lente (modem 56K) • Problème du descripteur Push : • un servant ne sait pas s'il se trouve derrière un Firewall ou encore que le servant qu'il essaye de joindre se trouve derrière un Firewall • Immense gâchis de bande passante S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  27. Le protocole Gnutella : Nouvelle version • Concept des ultrapeers • Hierarchie des nœuds • Choix des ultrapeers basé sur les capacités de calcul et de bande passante S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  28. Le protocole Gnutella : Nouvelle version • L’ultrapeer envoie périodiquement des "indexing queries" à ses fils qui répondent en envoyant chacun leur liste de fichiers partagés • L’ultrapeer ne fait suivre les Query qu’aux clients qui ont une entrée correspondante. • Concept compatible avec les clients anciens qui sont vus comme des ultrapeers sans fils. S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  29. Le protocole Gnutella : Nouvelle version • Choix des ultrapeers : • L’ordinateur ne doit pas être situé derrière un firewall et doit avoir un système d’exploitation relativement récent. • Doit avoir une bande passante et un processeur de bonne qualité. • Doit être sur le réseau depuis assez longtemps. S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  30. Le protocole Gnutella : Problème • Beaucoup de « pillards » • Répartition des fichiers inégales S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  31. Le protocole Gnutella : Solution • Réplication des données • Réplication après téléchargement • Réplication « sur le chemin » • Réplication au hasard • Evite une concentration des fichiers • Difficile à mettre en place S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  32. Quelques clients Gnutella : • LimeWire • Shareazaa • BearShare • Gnucleus • Morpheus • Ares S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  33. Exemple de client Gnutella : FreeWire S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  34. Plan • Le peer to peer • Le protocole Gnutella • Le projet JXTA • Introduction • L’architecture • Les concepts • Les protocoles • Conclusion S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  35. JXTA : Introduction • Pourquoi un tel projet ? • De plus en plus d’internautes • Un engouement pour le p2p • Les mêmes problèmes rencontrés par les développeurs • Les objectifs • Interopérabilité : facilité de localisation et de communication quels que soient les systèmes • Indépendance envers les plates-formes : langages (C, Java…), systèmes (Windows, Unix…) et réseau (TCP/IP, Bluetooth…) • Ubiquité : tout type de support (PDA, routeurs, ordinateurs…) S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  36. JXTA : Architecture • La structure possède 3 couches : • Le noyau : JXTA Core • La couche des services : JXTA Services • La couche des applications : JXTA Applications S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  37. JXTA : Architecture • JXTA Core • Encapsule le minimum pour avoir un réseau p2p • Les applications communiquent à travers ce noyau • JXTA Services • Propose différents services optionnels : • Recherche, partage de fichier, authentification … • JXTA Applications • Couche la plus haute • Instant messaging, e-mail, etc… S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  38. JXTA : Concepts • Pipes • Tubes de communication unidirectionnels pour envoyer et recevoir des messages • Ils supportent tout type d’objets • Deux types de connexions : • Connexion point-à-point • Connexion par propagation • Annonces • Messages XML qui nomment, décriventt et publient l’existence d’une ressource • Durée de vie limitée S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  39. JXTA : Concepts • Peer pipes S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  40. JXTA : Concepts • Peer • Entité qui peut communiquer à travers les protocoles JXTA. • Fournissent une interface pour des connections point-à-point • Recherchent des autres pairs pour former des relations passagères ou durables appelées « peer groups » • Peer Groups • Collection de peers coopérant et fournissant un ensemble de services communs • Un peer peut appartenir à plusieurs groupes • Le groupe par défaut est le « Net Peer Group » S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  41. JXTA : Protocoles • JXTA définit une série de messages XML pour la communication entre peers • Utilisés pour découvrir d’autres peers, annoncer et trouver des ressources pour la communication et le routage • Ils sont basés sur le principe question/réponse S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  42. JXTA : Protocoles • Des protocoles aux nombres de six : • Peer Discovery Protocol : trouver les annonces sur d’autres peers et rechercher des ressources (Peers, Peers group, pipe, services) • Peer Resolver Protocol : envoyer et recevoir des requêtes génériques ciblées • Peer Information Protocol : prendre connaissance du statut d’un autre peer • Peer MemberShip Protocol : obtenir les autorisations pour accéder à un groupe • Peer Binding Protocol : établir un Pipe entre 2 ou plusieurs peers • Peer Endpoint Protocol : demander à un routeur les accès disponibles pour envoyer un message à un peer cible S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  43. JXTA : Conclusion • Une technologie encore jeune • De nombreuses applications en cours de développement • Un futur standard ? S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

  44. Références • http://www.zdnet.fr • http://solutions.journaldunet.com • http://www.openp2p.com • http://www-lor.int-evry.fr • The O’Reilly Peer-to-Peer and Web services Conference, Washington DC – Sept.18-21, 2001 : • http://conferences.oreilly.com/p2p • http://www.jxta.org • http://www.gnutella.org S.Feres - Les réseaux peer to peer - UFRIMA - Octobre 2003

More Related