Transcript Les réseaux pair-à-pair
Projet M1 ~ Veille technologique ~ Les réseaux pair-à-pair
Blanc Benjamin Dussiot Thomas Héraud Kevin Marahati Naoual
Plan
Introduction Historique Les différentes architectures P2P : • • • • Centralisée (modèle client/serveur) Centralisée à serveurs multiples Décentralisée Hybride (les super-peer) Exemples d’applications et de produits Evolutions Conclusion Bibliographie
Introduction
P2P signifie Peer to Peer, soit en français : Pair à Pair.
Système d'échange direct de ressources entre machines connectées en réseau.
Se distingue fondamentalement de l’architecture client/serveur
Historique
Années 60 : à l’origine Internet était axé sur l’ échange d’informations entre universités (ARPANET - 1969) (mais inexploitables car non transportables pour une utilisation privée) 1999 : Napster (Shawn Fanning), architecture centralisée (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 hybride (centralisée - décentralisée)
Architecture centralisée
Par exemple : Napster Audiogalaxy Un unique serveur qui recense les fichiers proposés par les différents clients.
Dispose 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, ...) Côté client : une fois connecté grâce au logiciel spécifique, on effectue une recherche et on obtient alors une liste d'utilisateurs disposant de la ressource désirée.
Fonctionnement
Déclaration d'un fichier au serveur central Interrogation de l'index central Communication de l'adresse IP Téléchargement du fichier
Avantages / Inconvénients
Avantages : Grand confort d’utilisation (pas de soucis de connexion possible, un seul et unique serveur) Recherche de fichiers facilitée (serveur omniscient, si le fichier est disponible sur le réseau, il le sait systématiquement) Inconvénients : La sécurité (serveur supprimé = intégralité du réseau inactif) Sensible au partitionnement du réseau (serveur inatteignable) et aux attaques Aucun anonymat possible (chaque utilisateur est identifié sur le serveur, possibilité d'élaborer des profils utilisateurs)
Architecture centralisée à serveurs multiples
Par exemple : eDonkey 2000 eMule Amélioration de l'architecture à serveur unique Les serveurs sont en mesure de se connecter entre eux, en fonction de leur connaissance les uns des autres : on peut donc avoir plusieurs réseaux indépendants
Avantages / Inconvénients
On garde sensiblement les mêmes avantages et inconvénients qu’une architecture à un seul serveur, excepté : Avantages : Serveur central remplacé par un réseau de serveurs Description du serveur (nom, IP, description - faite par le propriétaire, ping, nombre d'utilisateurs, nombre de fichiers partagés…) Inconvénients : Le serveur doit se faire connaître du public Choix du serveur ?
Architecture décentralisée
Par exemple : Gnutella Tout le monde est à la fois client et serveur Envoi d’un message de broadcast pour déterminer les autres membres actifs du réseau, et se connecter Un utilisateur n'est pas connecté directement à plus de 3 ou 4 nœuds (dans un souci de cohérence d’informations) Lors d’une recherche, chaque nœud propage la requête à ses voisins (propagation toutefois limitée)
Fonctionnement
Découverte du réseau Création d’un réseau logique de proche en proche Diffusion et propagation de la requête Connexion directe entre les ordinateurs
Avantages / Inconvénients
Avantages : Taille du réseau théoriquement infinie (ne dépend pas du nombre et de la puissance des serveurs) Utilisation anonyme (impossible d'y repérer quelqu'un volontairement) S'adapte bien à la dynamique du réseau (allées et venus des pairs) Inconvénients : Gros consommateur de bande passante Pas de garantie de succès, ni d'estimation de la durée des requêtes Pas de sécurité, ni de réputation (pas de notion de qualité des pairs, ni des données fournies) Problème du free-riding (personnes ne partageant pas de fichiers)
Architecture hybride (les super-peer)
Par exemple : KaZaA Hybride entre le mode client/serveur et le P2P (tous les noeuds ne sont plus égaux) Les noeuds disposant d'une bonne bande passante sont organisés en P2P (les super-peers) Les noeuds avec une faible bande passante sont reliés en mode client/serveur à un super-peer Les super-peers disposent d'un index des ressources de leur cluster
Les super-peer redondants
Éviter de couper tous les clients du réseau si le super peer n‘est plus joignable
Fonctionnement
Chaque super-peer indexe les fichiers des pairs bas-débits qui lui sont rattachés Diffusion de la requête, propagation des données plus rapide Connexion directe entre les 2 peers
Avantages / Inconvénients
Avantages : Les avantages des architecture centralisée et décentralisée Plus de bande passante Inconvénients : Choix difficile des super-peer Très compliqué à mettre en place
Exemples d’applications et de produits
L’échange de fichiers (Napster, KaZaA, eMule…) Le calcul distribué (SETI@HOME) La téléphonie (Skype) Le stockage distribué (FreeNet) Plate-forme de développement et groupe de collaboration (JXTA de Sun)
Evolutions
P2P sémantique : Peut s’appliquer à toutes les architectures Ajouter de l'information dynamique aux tables de routage P2P crypté : (FreeNet, GNUnet) Architecture décentralisée Garantie d’une parfaite confidentialité lors des échanges Clé publique / privée Peu performant au niveau des débits de transfert
Conclusion
Différentes architectures, disposant chacune d’avantages et d’inconvénients Un large choix de logiciels libres P2P Une utilisation moins connue du P2P Évolution vers des échanges totalement cryptés Problèmes juridiques entraînés
Bibliographie
http://fr.wikipedia.org/wiki/Peer_to_peer http://schuler.developpez.com/articles/p2p/ http://www.commentcamarche.net/initiation/peer.php3
http://www-igm.univ mlv.fr/~duris/NTREZO/20042005/Boubaker-Lelion Pierron-P2P.pdf
www-adele.imag.fr/~donsez/ujf/easrr0304/peertopeer.ppt
http://www.tdf.fr/medias/view/?id=700