Commentaires
Plan
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 P2P
Le 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.
Diapositive 7
Les architectures P2P
Le 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.
"Aucun serveur central."
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
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 Protocol
Pour découvrir les nœuds, les groupes de nœuds, les annonces ou toute autre ressource faisant l’objet d’un advertisement.
Peer Resolver Protocol
Pour l’envoi et la réception de requête et de réponses;
Les Protocoles (2/3)
Peer Information Protocol
Utilisé 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 Protocol
Régule les droits de création, d’entrée et de sortie des groupes de nœuds;
Les Protocoles (3/3)
Pipe Binding Protocol
Utilisé pour définir la fonction d’un pipe pour les nœuds extérieurs;
Peer Endpoint Protocol
Permet à 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
Les Messages
Composés en XML
Peuvent contenir:
Des données;
Du code;
Des informations sur les ressources du réseau.
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/