La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Étude dapprofondissement Protocoles de communication en Peer-to-Peer Marc CALVISI M2PGI 02.11.2004.

Présentations similaires


Présentation au sujet: "Étude dapprofondissement Protocoles de communication en Peer-to-Peer Marc CALVISI M2PGI 02.11.2004."— Transcription de la présentation:

1 Étude dapprofondissement Protocoles de communication en Peer-to-Peer Marc CALVISI M2PGI

2 2 Menu nPeer-to-peer nGnutella nJXTA nDocuments et Références nDémonstration nVos questions?

3 Peer-to-Peer (P2P) - Introduction nDéfiniton «Peer-to-Peer (P2P) technology enables any network-aware device to provide services to another network-aware advice » [JXTA, Brendon Wilson] nPeer 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 nDifférentes architectures possibles

4 P2P – Architecture Centralisée nClient/Serveur nDonnées stockées centralement nClient se connecte au serveur Pour envoyer et recevoir des données Pour communiquer avec autres clients Pas de communication direct entre les clients nServeur en panne plus de données pour les clients nNombre clients augmente Ressources nécessaires du serveur augmentent nExemple : Serveur web Base de données

5 P2P – Architecture Décentralisée nPeer est client et/ou serveur nPas de serveur central nCommunication directe entre peers nResponsabilités partagées nTolérant aux fautes nExemple : Gnutella v0.4

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

7 P2P - Avantages nRéseaux très extensibles nResponsabilité distribuées nDifférent canaux de communication possibles nUtilisation de toute la bande passante nHaute disponibilité nRésistant au panne nCalculs distribués nEspace de stockage distribué

8 P2P - Désavantage nRéseaux redondant nRequête pour une information Différents résultats Sans réponse nApparition/Disparition de ressource à tout moment nAttaques distribuées nProblème de sécurité Authentification, Confidentialité, Intercepteurs, …

9 Menu nPeer-to-peer nGnutella nJXTA nDocuments et Références nDémonstration nVos questions?

10 Gnutella - Introduction nProtocole pour échanger des fichiers nDéveloppé par NullSoft nUtilisé par : BearShare, Limewire, GTK Gnutella nPeer nommé servant Rôle : client et/ou serveur

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

12 Gnutella - Architecture nVersion 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 nProtocole v0.4 : 5 messages nProtocole v0.6 : 6 messages nLes 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 nTéléchargement dun fichier via protocole HTTP Communication direct pour léchange nServant envoie HTTP request GET

15 Gnutella - Exemples nPING Messages nQUERY Messages

16 Menu nPeer-to-peer nGnutella nJXTA nDocuments et Références nDémonstration nVos questions?

17 JXTA – Introduction nProblè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 nProjet JXTA – lancée par Sun Microsystems JXTA = «juxtapose» nBase pour développer une application P2P

18 JXTA - Objectifs nInteroperability Peers peuvent trouver autres peers Communication entre tous les peers possible nPlatform 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, … nUbiquity indépendant du type de machine PDA, PC, Telefon mobile, … nSecurity

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

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

21 JXTA - Couche JXTA Core nPeer 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 nPeer 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 nPeer 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 nPeer 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 nIDs Identifiant unique pour Peer, peer groups, pipes et autres ressources de JXTA Exemple did pour un peer urn:jxta:uuid A F3B C76FF13C2414BC0AB663666DA53903

26 JXTA - Couche JXTA Core nAdvertisements 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 nExemple dune annonce pour un pipe urn:jxta:uuid E E3E EA460DADC1A176B69B JxtaUnicast TestPipe.end1

28 JXTA - Couche JXTA Core nSé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 nÉtend les capacités de la couche JXTA Core nFacilite le développement dapplications nMé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 nApplications utilisant les couches JXTA services et JXTA Core nApplications possibles : Instant messaging Mail Partage de document Partage de ressource

33 JXTA – Protocoles nTrouver un peer nCommunication nSurveillance nIndépendants de larchitecture du réseaux du moyen transport Source : JXTA, Brendon Wilson

34 JXTA – Peer Discovery Protocol nTrouver des annonces de peers, peer groups, services et pipes n2 messages : Discovery Query Message Discovery Response Message

35 JXTA – Peer Discovery Protocol nExemple : Discovery Query Message... Type=(0|1|2)(annonce pour 0:peer,1:peer group,2:other 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) Type=0 & Threshold=0 (=> recevoir toutes les réponses possibles)

36 JXTA – Peer Discovery Protocol nExemple : Discovery Response Message 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 nEnvoyer une requête de recherche n2 messages : Resolver Query Message Resolver Response Message

38 JXTA – Rendezvous Protocol nEnvoyer des messages dans des peer groups n3 messages: Lease Request Message Lease Granted Message Lease Cancel Message

39 JXTA – Peer Information Protocol nDemander des informations sur capacité et statut dun peer n2 messages : Peer Info Query Message Peer Info Response Message

40 JXTA – Pipe Binding Protocol nLié un pipe à point terminal(endpoint) n2 messages : Pipe Binding Query Message Pipe Binding Answer Message

41 JXTA – Endpoint Routing Protocol nTrouver un chemin de communication n3 messages : Route Query Message Route Response Message Endpoint Router Message

42 Projet JXTA – Exemple nUn réseau physique et son réseaux virtuel Source : Projext JXTA v2.0 : Java Programmers Guide, Sun Microsystems

43 Documentations et Références nBrendon Wilson, « JXTA »,2000 Notions P2P, Explications sur les éléments de JXTA, larchitecture et les protocoles Livre en pdf sur le site nSun Microsystems, « Project JXTA v2.0 Java Programmers Guide »,May 2003 Explications sur les éléments de JXTA, larchitecture et les protocoles

44 Documentations et Références nSite officiel de JXTA Beaucoup de documentations sur JXTA nJXTA Technology: Creating Connected Communities, Sun Microsystems, Introduction dans JXTA nSites de Gnutella Site officiel Spécifications du protocole en version 0.4 et 0.6

45 Démonstration

46 Vos Questions ?


Télécharger ppt "Étude dapprofondissement Protocoles de communication en Peer-to-Peer Marc CALVISI M2PGI 02.11.2004."

Présentations similaires


Annonces Google