- PowerPoint PPT Presentation

About This Presentation
Title:

Description:

Trouver des annonces de peers, peer groups, services et pipes ... ( Crit re qu'une annonce doit remplir avant d' tre retourn au demandeur) Type=0 ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 47
Provided by: marc2230
Category:

less

Transcript and Presenter's Notes

Title:


1
Étude dapprofondissementProtocoles de
communication en Peer-to-Peer
  • Marc CALVISI
  • M2PGI
  • 02.11.2004

2
Menu
  • Peer-to-peer
  • Gnutella
  • JXTA
  • Documents et Références
  • Démonstration
  • Vos questions?

3
Peer-to-Peer (P2P) - Introduction
  • Définiton
  • Peer-to-Peer (P2P) technology enables any
    network-aware device to provide services to
    another network-aware advice 
  • JXTA, Brendon Wilson
  • Peer
  • Un processeur, une application, une machine
  • Rôle peut être un client et/ou serveur
  • Client demande un service
  • Serveur offre un service, exécute un service
  • Différentes architectures possibles

4
P2P Architecture Centralisée
  • Client/Serveur
  • Données stockées centralement
  • Client se connecte au serveur
  • Pour envoyer et recevoir des données
  • Pour communiquer avec autres clients
  • Pas de communication direct entre les clients
  • Serveur en panne
  • plus de données pour les clients
  • Nombre clients augmente
  • Ressources nécessaires du serveur augmentent
  • Exemple
  • Serveur web
  • Base de données

5
P2P Architecture Décentralisée
  • Peer est client et/ou serveur
  • Pas de serveur central
  • Communication directe entre peers
  • Responsabilités partagées
  • Tolérant aux fautes
  • Exemple
  • Gnutella v0.4

6
P2P Arch. Centralisée/Décentralisée
  • 2 parties
  • Partie centralisée
  • Supernoeud
  • Informations partagées
  • Partie décentralisée
  • Peer
  • Demande dinformations auprès des supernoeuds
  • Communication direct entre clients
  • Pas besoin de contacter tous les peers
  • Exemple Napster, Mirabilis ICQ

7
P2P - Avantages
  • Réseaux très extensibles
  • Responsabilité distribuées
  • Différent canaux de communication possibles
  • Utilisation de toute la bande passante
  • Haute disponibilité
  • Résistant au panne
  • Calculs distribués
  • Espace de stockage distribué

8
P2P - Désavantage
  • Réseaux redondant
  • Requête pour une information
  • Différents résultats
  • Sans réponse
  • Apparition/Disparition de ressource à tout moment
  • Attaques distribuées
  • Problème de sécurité
  • Authentification, Confidentialité, Intercepteurs,

9
Menu
  • Peer-to-peer
  • Gnutella
  • JXTA
  • Documents et Références
  • Démonstration
  • Vos questions?

10
Gnutella - Introduction
  • Protocole pour échanger des fichiers
  • Développé par NullSoft
  • Utilisé par BearShare, Limewire, GTK Gnutella
  • Peer nommé servant
  • Rôle client et/ou serveur

11
Gnutella - Architecture
  • Version 0.4
  • Décentralisée
  • servants interconnectés
  • Trop trafic

12
Gnutella - Architecture
  • Version 0.6
  • Centralisée/décentralisée
  • Ultrapeer (supernoeud)
  • Gateway au réseau Gnutella
  • Interconnecté de manière
  • décentralisé
  • Leaf connecté à un Ultrapeer
  • centralisé
  • Avantages moins de trafic

13
Gnutella - Protocole
  • Protocole v0.4 5 messages
  • Protocole v0.6 6 messages
  • Les messages
  • PING trouver un autre servant
  • PONG réponse à un PING
  • adresses et informations pour partagé des
    données
  • Query Requête pour des fichiers
  • QueryHit réponse à QUERY
  • Informations sur les données trouvées
  • PUSH Communication via firewall
  • BYE Déconnexion (v0.6)

14
Gnutella - Protocole
  • Téléchargement dun fichier
  • via protocole HTTP
  • Communication direct pour léchange
  • Servant envoie HTTP request GET

15
Gnutella - Exemples
  • PING Messages
  • QUERY Messages

16
Menu
  • Peer-to-peer
  • Gnutella
  • JXTA
  • Documents et Références
  • Démonstration
  • Vos questions?

17
JXTA Introduction
  • Problèmes des solutions P2P existants
  • Protocoles propriétaires
  • Protocoles non compatibles
  • Nouvelle application, nouveau protocole
  • Différentes solutions
  • Même propriétés pour les protocoles
  • Souvent solutions seulement pour une platform
  • Projet JXTA lancée par Sun Microsystems
  • JXTA juxtapose
  • Base pour développer une application P2P

18
JXTA - Objectifs
  • Interoperability
  • Peers peuvent trouver autres peers
  • Communication entre tous les peers possible
  • Platform Independance
  • indépendant du système dexploitation
  • Windows, Unix, Solaris,
  • indépendant du langage de programmation
  • C/C, Java, Perl,
  • Messages du protocole en XML
  • Indépendant du moyen de transport
  • TCP/IP, HTTP, Bluetooth,
  • Ubiquity
  • indépendant du type de machine
  • PDA, PC, Telefon mobile,
  • Security

19
JXTA - Architecture
  • Source JXTA Technology Creating Connected
    Communities, Sun Microsystems

20
JXTA - Couche JXTA Core
  • Définie la base pour des réseaux P2P
  • Éléments sont partagés par toutes les solutions
  • Définies 6 protocoles de communications

21
JXTA - Couche JXTA Core
  • Peer
  • Un appareil connecté au réseau
  • Différent peer
  • Simple Peer
  • Offre des services et utilise des services
  • Rendezvous Peer
  • Utiliser pour découvrir dautres peers et des
    ressources de peers
  • Router Peer
  • Trouver un chemin de communication

22
JXTA - Couche JXTA Core
  • Peer groups
  • Peer group Collection de peers offrant un
    service spécifique
  • Création densemble de peers
  • Attribution de nom à des peer groups
  • Création de règles pour
  • Créer, supprimer, découvrir, publier, adhérer
  • peer groups et des peers

23
JXTA - Couche JXTA Core
  • Peer Monitoring
  • Contrôle du fonctionnement et activités des peers
    dans un peer group
  • Gestion de peers
  • Contrôle daccès, adaptation de priorité,
    compteur de trafic, stabilisation de la bande
    passante

24
JXTA - Couche JXTA Core
  • Peer Pipes
  • Canaux de communication entre peers
  • Asynchrone, unidirectionnel
  • Envoie des messages en XML
  • Un pipe lié un point terminal (endpoint) (exemple
    TCP port with an IP)

Source Projext JXTA v2.0 Java Programmers
Guide, Sun Microsystems
25
JXTA - Couche JXTA Core
  • IDs
  • Identifiant unique pour
  • Peer, peer groups, pipes et autres ressources de
    JXTA
  • Exemple did pour un peer
  • urnjxtauuid59616261646162614A78746150325033F3BC7
    6FF13C2414BC0AB663666DA53903

26
JXTA - Couche JXTA Core
  • Advertisements
  • Annonce pour représenter des
  • Peer, peer groups, pipes et services
  • Indépendant du langage de programmation
  • Structure en XML
  • Protocoles utilisent les annonces
  • Décrire, publier lexistence de ressources dun
    peer
  • Peer utilisent les annonces
  • Se connecter et interagir avec un services

27
JXTA - Couche JXTA Core
  • Exemple dune annonce pour un pipe

lt?xml version"1.0"?gt lt!DOCTYPE
jxtaPipeAdvertisementgt ltjxtaPipeAdvertisement
xmlnsjxta"http//jxta.org"gt ltIdgt
urnjxtauuid- 59616261646162614E504720503250
338E3E7862 29EA460DADC1A176B69B731504
lt/Idgt ltTypegtJxtaUnicastlt/Typegt
ltNamegtTestPipe.end1lt/Namegt lt/jxtaPipeAdvertisemen
tgt
28
JXTA - Couche JXTA Core
  • Sécurité
  • 5 requis de base
  • Confidentialité
  • Seulement une personne autorisé peut lire le
    message
  • Authentification
  • Lexpéditeur est celui quil prétend être
  • Autorisation
  • Lexpéditeur est autorisé à envoyer un message
  • Intégrité
  • Pas de changement du message durant le transfert
  • Réfutation
  • Le message a été envoyé par un expéditeur
    identifié
  • Nest pas une copie dune réponse transféré
    précédemment

29
JXTA - Architecture
  • Source Projext JXTA v2.0 Java Programmers
    Guide, Sun Microsystems

30
JXTA Couche JXTA Services
  • Étend les capacités de la couche JXTA Core
  • Facilite le développement dapplications
  • Mécanismes pour
  • Recherche
  • Indexation
  • Partage de fichier
  • Authentification
  • Infrastructure à clé publique

31
JXTA - Architecture
  • Source Projext JXTA v2.0 Java Programmers
    Guide, Sun Microsystems

32
JXTA Couche JXTA Applications
  • Applications utilisant les couches JXTA services
    et JXTA Core
  • Applications possibles
  • Instant messaging
  • Mail
  • Partage de document
  • Partage de ressource

33
JXTA Protocoles
  • Trouver un peer
  • Communication
  • Surveillance
  • Indépendants
  • de larchitecture du réseaux
  • du moyen transport

Source JXTA, Brendon Wilson
34
JXTA Peer Discovery Protocol
  • Trouver des annonces de peers, peer groups,
    services et pipes
  • 2 messages
  • Discovery Query Message
  • Discovery Response Message

35
JXTA Peer Discovery Protocol
  • Exemple Discovery Query Message

lt?xml version"1.0" encodingUTF-8
?gt ltjxtaDiscoveryQuerygt ltTypegt . . . lt/Typegt
ltTresholdgt . . . lt/Tresholdgt ltPeerAdvgt . . .
lt/PeerAdvgt ltAttrgt . . . lt/Attrgt ltValuegt . . .
lt/Valuegt lt/jxtaDiscoveryQuerygt Type(012)(anno
nce pour 0peer,1peer group,2other
type) Treshold? (nbr max. dannonce à retourner
par le peer répondant) PeerAdv? (Annonce pour
identifier un peer de manière unique) (Attr and
Value)? (Critère quune annonce doit remplir
avant dêtre retourné au demandeur) Type0
Threshold0 (gt recevoir toutes les réponses
possibles)
36
JXTA Peer Discovery Protocol
  • Exemple Discovery Response Message

lt?xml version"1.0" encodingUTF-8
?gt ltjxtaDiscoveryQuerygt ltTypegt . . . lt/Typegt
ltCountgt . . . lt/Countgt ltPeerAdvgt . . .
lt/PeerAdvgt ltAttrgt . . . lt/Attrgt ltValuegt . . .
lt/Valuegt ltResponse Expiration"expiration
time"gt . . . lt/Responsegt lt/jxtaDiscoveryQue
rygt Type (le même type que dans le query) Count?
(nbr élement response dans le message) PeerAdv?
(Annonce pour identifier le peer de manière
unique) (Attr and Value)? (Critère) Response?
(contient des annonces avec les critères)
37
JXTA Peer Resolver Protocol
  • Envoyer une requête de recherche
  • 2 messages
  • Resolver Query Message
  • Resolver Response Message

38
JXTA Rendezvous Protocol
  • Envoyer des messages dans des peer groups
  • 3 messages
  • Lease Request Message
  • Lease Granted Message
  • Lease Cancel Message

39
JXTA Peer Information Protocol
  • Demander des informations sur capacité et statut
    dun peer
  • 2 messages
  • Peer Info Query Message
  • Peer Info Response Message

40
JXTA Pipe Binding Protocol
  • Lié un pipe à point terminal(endpoint)
  • 2 messages
  • Pipe Binding Query Message
  • Pipe Binding Answer Message

41
JXTA Endpoint Routing Protocol
  • Trouver un chemin de communication
  • 3 messages
  • Route Query Message
  • Route Response Message
  • Endpoint Router Message

42
Projet JXTA Exemple
  • Un réseau physique et son réseaux virtuel

Source Projext JXTA v2.0 Java Programmers
Guide, Sun Microsystems
43
Documentations et Références
  • Brendon Wilson,  JXTA ,2000
  • Notions P2P, Explications sur les éléments de
    JXTA, larchitecture et les protocoles
  • Livre en pdf sur le site
  • www.brendonwilson.com/projects/jxta/
  • Sun Microsystems,  Project JXTA v2.0 Java
    Programmers Guide ,May 2003
  • Explications sur les éléments de JXTA,
    larchitecture et les protocoles
  • www.jxta.org/docs/JxtaProgGuid_v2.pdf

44
Documentations et Références
  • Site officiel de JXTA
  • www.jxta.org
  • Beaucoup de documentations sur JXTA
  • JXTA Technology Creating Connected Communities,
    Sun Microsystems, 2004
  • www.jxta.org
  • Introduction dans JXTA
  • Sites de Gnutella
  • www.gnutella.com
  • Site officiel
  • http//rfc-gnutella.sourceforge.net/
  • Spécifications du protocole en version 0.4 et 0.6

45
Démonstration
46
Vos Questions ?
Write a Comment
User Comments (0)
About PowerShow.com