Upload
raulf-lepretre
View
112
Download
2
Embed Size (px)
Citation preview
Le Peer-to-Peer
GALLO Stéphanie
LIGOUT Yohann
RICM 3e année
Plan de la présentation
• Les concepts du Peer-to-Peer
• La plate-forme JXTA
• La vision de Microsoft
Concepts et notions du P2P
• Définition.
• Les architectures P2P.
• P2P vs client/serveur.
Définitions
• "égal à égal" ou "point à point".
• Classe d’applications capables d’optimiser l’utilisation des ressources (CPU, stockage et bande passante) de l’ensemble du réseau.
• Fusion des fonctions de client et de serveur.
Les architectures P2P le client/serveur
• Le serveur est un intermédiaire de stockage pour les échanges de données entre clients.
• Le serveur est un intermédiaire de communication.
• Les seules ressources publiées sont celles localisées sur le serveur.
Ex: Messagerie Mail.
Les architectures P2PLe modèle P2P centralisé
• Modèle hybride entre client/serveur et pur P2P.
• Le serveur est un intermédiaire de coordination ou/et de communication entre pairs.
• La consommation des ressources se fait par connexion directe.
Les architectures P2PModèle P2P centralisé(Exemples)
• Napster• Partage de fichiers
musicaux.• Recherche effectuée
sur l’index du serveur.
• Groove• Service collaboratif
d’édition de documents.• Service de relai pour
coordonner les pairs sur le contenu des documents.
Les architectures P2PLe modèle P2P décentralisé
• Pur P2P.
• Pas de serveur dédié.
• Les pairs publient et consomment des ressources.
• Les pairs orientent les requêtes.
Les architectures P2PLe modèle décentralisé(Gnutella)
• Aucun serveur central.
• Découvertes et requêtes transmises
de proche en proche.
• Diffusion limitée par le TTL.
• Connaissance locale du réseau.
P2P vs client/serveur (1/2)
• Rapidité d’exécution:– Plus de puissance processeur; – Plus de capacité mémoire; – Temps de transit réduits.
• Meilleur utilisation de la bande passante.
• Tolérance aux pannes:– Connexions plus instables; – Redondance accrue des informations.
P2P vs client/serveur (2/2)
• Coûts réduits:– Maintenance;– Equipements.
• Meilleure capacité d’extensibilité.
• Sécurité.
• Problèmes éthiques (droits d’auteurs,...).
La plate-forme JXTA
• Architecture
• Les protocoles
• Les ressources
• La sécurité
• Avantages/problèmes
• A venir
Architecture
De Sun Microsystems, Inc
Définitions• Peer: Un élément ayant implémenté le Peer Discovery
Protocol;
• Peer Group: ensemble de nœuds fournissant le même ensemble de service;
• Pipes: Canaux de communication asynchrones et uni-directionnels;
• Advertisement: Document XML qui décrit et annonce l’existence d’une ressource;
• Message: Unité d’échange entre les nœuds.
JXTA Core
• Comprend les primitives minimales nécessaires au P2P: peer, peer group, découverte, communication, contrôle et sécurité;
• Cette couche est partagée par tous les nœuds.
JXTA Services
• Services fournis en standard par la plate-forme;
• Constituent une base pour développer des services plus élaborés.
Ex: Indexage, échange de fichiers…
Les Protocoles (1/3)
• Peer Discovery ProtocolPour découvrir les nœuds, les groupes de nœuds, les annonces ou toute autre ressource faisant l’objet d’un advertisement.
• Peer Resolver ProtocolPour l’envoi et la réception de requête et de réponses;
Les Protocoles (2/3)
• Peer Information ProtocolUtilisé pour recueillir des informations sur le statut ou les capacités de n’importe quel élément de la plate-forme (peer, peer group, pipes…);
• Peer Membership ProtocolRégule les droits de création, d’entrée et de sortie des groupes de nœuds;
Les Protocoles (3/3)
• Pipe Binding ProtocolUtilisé pour définir la fonction d’un pipe pour les nœuds extérieurs;
• Peer Endpoint ProtocolPermet à un nœud d’interroger un nœud routeur pour connaître une route.
Les Advertisements (1/3)
• Peer Advertisement: – PID unique, nom et Mot-clés optionnels;– Des Services et EndPoint Advertisements;– Les services lancés au boot du nœud (optionnel).
• PeerGroup Advertisement:– GID unique, nom et Mot-clés optionnels;– Des Services Advertisements pour les services fournis;– Un service Advertisement concernant un service que
l’on suggère de démarrer à chaque entrée dans le groupe.
Les Advertisements (2/3)
• Pipe Advertisement:– ID unique et un nom optionnel;
– Type de qualité de service fournie par le pipe.
• Service Advertisement:– ID unique, nom et mot-clés optionnels;
– Version du service et fournisseur;
– Pipe advertisement du pipe à joindre (si nécessaire);
– Liste des paramètres à l’invocation du service;
– URI du lieu où trouver une implémentation du service;
– Les méthodes du service.
Les Advertisements (3/3)
• Content Advertisement:– ID unique du contenu;
– Le type et la taille du contenu;
– Le type de codage.
• Endpoint Advertisement:– Nom et mots-clés optionnels;
– Adresse virtuelle (par ex. tcp://123.124.20.20:1002).
Les Pipes
• Abstraction de la couche transport du réseau
• Deux modes de communication:
– Point to point– Propagate
De Sun Microsystems, Inc
Les Messages
• Composés en XML
• Peuvent contenir:– Des données;– Du code;– Des informations sur
les ressources du réseau.
De Sun Microsystems, Inc
La Sécurité
• Basé sur le modèle « sujet-objet-action »
• Fournit des bibliothèques de cryptographie
• Basé sur les mécanismes et non sur les règles
• Neutre vis-à-vis du système de cryptage
Avantages
• Interopérabilité
• Indépendance vis-à-vis de la plate-forme
• Ubiquité
Chaque nœud doit pouvoir profiter du fait d’être connecté à des millions d’autres nœuds.
Principaux problèmes
• Mécanismes de découverte des ressources
• Limitations de propagation des messages
• Sécurité
• NAT et pare-feu
• Contrôle et mesures des capacités des systèmes
A venir
• Implémentation C/C++
• Implémentation pour les PDA et téléphones cellulaires
• Test à grande échelle
• Service de nommage intégré à la plate-forme
• Service de sécurité « tout en un »
La vision de Microsoft
• A l’initiative de .NET
• Qu’est-ce que .NET my services ?
• Architecture
• Sécurité
A l’initiative de .NET
• Problème d’interopérabilité.
• Manque de contrôle sur les informations personnelles.
• Répétition des saisies à effectuer.
• Lourdeur des procédures mise à jour.
Qu’est-ce que .NET My Services ?
• Architecture centrée utilisateur.
• Services permettant:– la protection des informations.– L’interaction entre services, applications et
machines.
Architecture (1/2)
• Chaque service a une vocation indépendante.
Ex : déclinaison de l’identité (.NET Profile) agenda (.NET Calendar)...
• Ce sont des services web XML.
• Utilisation du standard SOAP.
Architecture (2/2)
• HTTP comme protocole de transport.
• L’utilisateur accède aux services via les "endpoints".
Sécurité - Principe
• Chargement des informations personnelles dans la "digital safe deposit box ".
• L’utilisateur détermine qui ou quel service a des droits d’accès sur ses données.
• L’utilisateur peut révoquer les droits d’accès accordés.
• L’utilisateur peut donner une date d’expiration aux droits d’accès accordés.
Sécurité - .NET Passport
• Mécanisme d’authentification de .NET My Services.
• L’utilisateur sélectionne les sites avec lesquels il partage des informations .
• Encryptage des données transférées avec SSL.
• Les sites utilisant .NET Passport doivent s’inscrire auprès de Microsoft.
Liens utiles
• http://www.microsoft.com/myservices/services/faq.asp
• http://www.microsoft.com/myservices/passport/overview.asp
• http://www.openp2p.com/
• http://www.sun.fr/produits-solutions/logiciels/opensource/p2p
• http://www.jxta.org
• http://www.groove.net
• http://www.limewire.com/