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

Les technologies pair-à-pair Bruno Richard HP Laboratories Grenoble.

Présentations similaires


Présentation au sujet: "Les technologies pair-à-pair Bruno Richard HP Laboratories Grenoble."— Transcription de la présentation:

1 Les technologies pair-à-pair Bruno Richard HP Laboratories Grenoble

2 Agenda Présentation du pair-à-pair (P2P) Le calcul P2P Les systèmes d'échange de fichiers P2P Etude de propriétés Conclusion

3 Exercice de mise en condition Etude de cas : –Je suis un utilisateur dInternet –Je désire partager des ressources Quels sont mes besoins ? –Type dapplications –Fonctionnalités –Caractéristiques

4 Quelques définitions… Il ny a pas consensus sur une définition : –Sharing of Computing Resources via Direct Exchange Between Computers [Intel, 2000] –Every entity is both a client and a server Lisotropie nest pas fondamentale (Kazaa) –Computing from the edge of Internet Aussi […] from the dark matter of Internet –« P2P is a class of applications that takes advantage of resources -- storage, cycles, content, human presence -- available at the edges of the Internet » [Shirky] Mardi 28 janvier, le Dauphiné Libéré –« Partager ses richesses […] gratuitement » –« Prêter un logiciel de la main à la main, […] avec des millions damis »

5 Définition du pair-à-pair "Le Pair à Pair est une classe de systèmes auto organisants qui permettent de réaliser une fonction globale de manière décentralisée, en tirant parti du partage des ressources disponibles sur un grand nombre d'extrémités de lInternet"

6 Aspect social Le P2P nécessite un contrat communautaire moral Coopération pour le partage de ressources –On utilise les ressources des autres –On offre ses ressources locales Fichiers, CPU, stockage, bande passante Pas de Freeloading s.v.p. ! –Récupération de données sans en partager –Rupture du contrat –Provoque un déséquilibre du système

7 Auto organisation Facilité dutilisation –Et aussi dinstallation et de démarrage –Pas dadministrateur local –Pas dadministrateur global Gestion automatique de la dynamicité –Volatilité des machines –Déconnexions violentes –Hétérogénéité Découverte de ressources automatique –Et annonce automatique Gestion du réseau –Adaptation aux conditions (modem, LAN, ) –Support de la mobilité (roaming) –Accès aux ressources à distance

8 Passage à léchelle Grand nombre de machines –Jusquà plusieurs millions Le système doit rester efficace –Un serveur central doit être bien dimensionné –Travail >= O(N) CPU Réseau Mémoire (dont stockage) Un système P2P doit être en O(log(N)) –Au moins sur sa fonction essentielle

9 Aspects légaux Est-on responsable du contenu de ses disques ? –Certaines jurisprudences semblent le montrer Vente dobjets nazis sur eBay Groupes pédophiles sur Compuserve en Allemagne Peut-on faire une copie de ses propres documents ? –A usage personnel pour linstant –Une tentative de limitation est en cours en France Mise des gens en relation –Passible de poursuites : Exemple de Napster Naisance en 1998 – The Killer app Limité à une fonction dannuaire Rien dillégal sur les serveurs Attaque de Métallica – Plus de MP3 que dalbums vendus ! – adresses IP tracées A été interdit en Mai 2002 Digital Millenium Copyright Act (DMCA) –Emprise forte des éditeurs (Hollywood business) –Recording Industry Association of America (RIAA) (SACEM aux US)

10 Anonymat Réseau insaisissable –Pas le cas de Napster Publication anonyme Edition anonyme Récupération anonyme

11 Systèmes non P2P Téléphone NNTP DNS Microsoft.NET Akamai

12 Composants Système de mise en relation Détection et gestion des ressources locales Transport Ressource s Ces composants sont essentiels au P2P Dautres composants peuvent exister –Sécurité –Routage

13 Direct Gnutella, FastTrack, Napster, eDonkey2000 Favorise la performance Fonction de transport Indirect Freenet, OceanStore, Favorise lanonymat Prévient la censure Quel est le mode de transport entre les pairs ?

14 Système de mise en relation Plusieurs architectures possibles –Centralisée Napster, –Serveurs distribués eDonkey2000 –Superpeers Catalogues hiérarchiques Election automatique FastTrack, Kazaa, BearShare –Distribuée Gnutella, Freenet, Chord Pure P2P Hybrid P2P Centralized P2P

15 Qui cherche trouve Systèmes à base de recherche –Search… –Gnutella, Kazaa –Search « Madonna*.mp3 » Systèmes darchivage –Find… –Freenet, CAN, Chord –Find value for key « 32a48e76df26ba09 »

16 Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire

17 Search… Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire CAN, Chord, Pastry Clé Données Les données sont toujours accessibles Find…

18 Find… Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire Freenet Clé Données On ne trouve pas toujours une donnée existante Les données sont répliquées à lutilisation Résiste aux pics de charge Search…

19 Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire Gnutella Clé Données On recherche les données par requêtes aux voisins

20 Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire Napster Recherche dans un annuaire Annuaire distribué dans certains systèmes Kazaa, eDonkey2000, winXP, FastTrack Résistance à la censure Super-peers

21 Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire Groove, JXTA (!?), ICQ, Jabber, MSN Messenger Importance des sémantiques de données Informations mutables et/ou « jetables » (voix, SMS,…)

22 Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire Décrypthon Modèle master-workers Gros calcul exécuté par petits morceaux

23 Taxonomie Pair-à-pair CalculCentré donnéesCentré utilisateurOverlaysInondationAnnuaireDéterministeAléatoire Autres systèmes hors taxonomie Recherche sur Internet (InfraSearch) Evaluation de performance de sites Web Modèle de business viable ?

24 Historique Sputnik ARPA 1962 ARPAnet Proposed Appears 1969 First 4-node ARPAnet WWW Proposed Web Servers on the Internet 1993 Mosaic Appears K Web Servers on the Internet

25 Internet 1ère génération Accès direct entre les machines (Arpanet) –telnet, ftp, gopher, wais Démarrage en 1970 Les protocoles sont ouverts et amicaux

26 Internet 2ème génération World Wide Web –Tim Berners-Lee proposed protocols –HTTP, HTML Hyperliens de page a page –Internet devient une toile (Web) Lutilisateur est au centre du Web –Mais la publication est difficile

27 Map of the Internet, December 1998 [http://www.lumeta.com/]

28 Internet 3ème génération Technologies pair-à-pair Linformation nest plus liée au réseau –Plus de notion de serveur Adaptation aux conditions réelles –Administration complexe et coûteuse –Volatilité des ressources physiques

29 Les précurseurs Colonies de fourmis (Ant routing) –Recherches sur le routage par phéromones –Construction dagrégats de ressources –Le processus local ne reflète pas lactivité de la communauté Agents –Délégation de missions a des entités logicielles autonomes Prennent ensuite linitiative sur Internet pour fournir un résultat –« Trouve moi un billet davion pour Barcelone, une voiture et une chambre dhôtel »

30 Enjeux Le P2P est très utile aux utilisateurs –Accès a des banques de ressources énormes –Gratuité Qui y trouve un intérêt ? –On vend moins de hardware Les serveurs ne sont plus nécessaires –Difficile de faire payer les services Metering, Accounting, Reputation pas au point –Qui va donc payer les développements Equipes de recherche Enthousiastes, hackers => Business model à trouver

31 Agenda Présentation du pair-à-pair (P2P) Le calcul P2P Les systèmes d'échange de fichiers P2P Etude de propriétés Conclusion

32 Classes de problèmes Grain de calcul –Gros : Pas de communication entre machines Sauf au début (fork) et à la fin (join) –Moyen : Communication sporadique Echelle : Boucle de calcul Modèle OpenMP : Compilateurs produisant un code parallèle –Fin : Communication continue Supercalcul avec Linpack (inversion dune matrice) Modèle MPI : Passage de messages (send/receive) SIMD/SPMD/MIMD Seul le gros grain est aujourdhui possible en P2P 1.Les latences réseau sont trop grandes –Notre transport est Internet 2.Lhétérogénéité des machines est difficile à gérer –De Pentium 66 aux supercalculateurs multiprocesseurs Les capacités CPU sont très supérieures aux capacités réseau

33 Historique I-WAY, 1995 –Argonne Natl Labs –Fédération de ressources académiques GRID computing –Ian Foster, 1998 –Globus Global computing –DES III challenge, janvier Cassage du DES en 22 heures Dizaines de milliers de machines Metacomputing –[Larry Smarr, NCSA, 1992] Décrypthon

34 Systèmes de calcul distribué 3 types de grands systèmes distribués Les Grilles de calcul ou « GRID » Clusters interconnectés « Metacomputing » ou « Internet Computing » Pas de communications entre machines Les systèmes Pair à Pair volatilité Grands sites de calcul, Clusters (<100 x 100) PC Windows, Linux (~ )

35 GRID Computing Global Grid Forum (GGF) Globus Toolkit

36 Metacomputing Calcul sur la base du volontariat Utilisation des ressources inexploitées

37 MetaComputing –Recherche dextraterrestres –Données provenant du télescope dArecibo au Mexique –Chaque machine reçoit un job individuel et renvoie un résultat après ses calculs Plus de utilisateurs ! –Totalisant années de calcul Découverte des ressources pseudo- automatique –Volontariat Applications figées Pas de communications inter-machines

38 Confinement dexécution - Sandboxing Nécessité disolation –Fichiers/Process/Sessions utilisateur Pas question de risquer ses données –Process de métacalcul Tentatives daccélération de Tricheurs –Protection contre les fautes Software-based fault isolation (SFI) –Pas de hardware spécifique –Java Virtual Machine [Javelin] –Internet C++ Machine virtuelle POSIX Trusted code –Ca devrait être le cas pour –Pas de mécanisme disponible aujourdhui Microsoft.NET –On attend encore

39 Perspectives Besoin denvironnements de programmation –Aujourd'hui les applications sont figées Amélioration de la sécurité –Comment se protéger des fautes –Comportements byzantins et malicieux Limité à quelques applications –Oui, mais un business assez juteux –Intel, AMD utilisent Netbatch I-Cluster –Reconnaissance de clusters de machines au repos –Un domaine de recherche original [HP Labs, INRIA]

40 Agenda Présentation du pair-à-pair (P2P) Le calcul P2P Les systèmes d'échange de fichiers P2P Etude de propriétés Conclusion

41 Types de systèmes 3 types de systèmes (rappel) –Annuaire –Inondation –Overlays Quelques autres systèmes précurseurs –Pas vraiment P2P toutefois…

42 FICUS et BAYOU Distributed file systems –Années 1990 –Ces systèmes ont eu leur heure de gloire –Données mutables (read-write) Réplication optimiste –On réplique les données –On réconcilie les versions en cas de conflit Modèles de cohérence intéressants Peu enclins à la scalabilité –Réplication en O(N)

43 ROAM Topologie en anneau danneaux –Ward model Election automatique –Ward Masters –Maîtres de lanneau local –Participent au super anneau Propriétés de localité –Géographique ou topologique –Support du roaming Scalabilité moyenne –Version vectors Projet pas fini –Pas dajout dynamique de noeuds –Pas de suppression de nœuds –Peu de documentation Super Ward Ward Ward masters

44 Architectures totalement distribuées Le système de mise en relation nécesite –Topologie –Routage Contraintes : –Minimisation de lutilisation des liens du réseau –Temps de recherche court (diamètre faible) –Complexité de reconstruction de la topologie en présence de volatilité –Résistance des propriétés du routage en présence de volatilité –Résistance aux attaques ciblées Méthodes de recherche : Exploration du graphe (aléatoire ou guidée) Routage de requêtes (par clés ou intervalles)

45 Modèle par annuaire OceanStore –Annuaire distribué Exemple de Napster –Un seul serveur central Annuaire NomDeFichier Pair –Liens statiques pairs-serveur Annonce de présence Ressources locales Capacités de communication Charge en cours –Communication continue Heartbeat Serveur dannuaire Pairs sur Internet

46 Recherche dun fichier Le Pair A veut un fichier –Requete au serveur central Une liste complète est aussi disponible –« Search bratisla*.mp3 » –Réponse du serveur Fichiers sur C et D Sassure que les machines sont actives Pair A Pair C Pair D RequêteRéponse

47 Récupération du fichier Connexion directe –De A à C « Get bratislaboys.mp3 » Protocole de download direct Gestion derreurs triviale –Pas de gestion des reprises –Pas de hammering Une seule source Beaucoup mieux aujourdhui –Kazaa, eDonkey2000, WinXP Pair A Pair C Pair D DemandeDownload

48 Modèle par inondation Cest un modèle isotropique –Les pairs sont libres et égaux en dignité et en droit Chacun dispose de données locales –Aucune notion de réplication –Chaque recherche repart de zéro Diffusion en vague dune requête

49 Gnutella Liste de pairs –Locale à chacun –Quelques centaines –Evolutive En fonction dévénements divers Sessions permanentes –Sur 5 à 9 pairs –Routage des messages Continuel

50 Gnutella : Les messages Messages –Ping Annonce de présence –Pong Réponse au ping IP/port du réceptionnaire attachée File padding –Query Requête de recherche Vitesse minimum du répondant –QueryHits Réponse au message Query Nombre de fichiers en réponse avec leurs index

51 Gnutella : Query Routage par broadcast contraint Requête en vague (ou inondation) –Vers tous les voisins –Chacun fait une recherche locale… –…et relaie la requête à tous ses voisins –Les messages déjà reçus sont ignorés Evite les cycles –Chaque message a un Time-To-Live

52 hit Gnutella : QueryHit Recherche locale –Par chaque pair lors du Query Relais inverse –Adresse / Descripteur de fichier –Réponses positives seulement –Aggrégation des retours Padding ou stuffing Lémetteur original choisit un fichier (et le pair associé) Le download se fait alors en direct 32 1 Download

53 Passage a léchelle de Gnutella Ca ne marchera jamais ! –Au passage des utilisateurs, écroulement –Observé en été 2000 –Why Gnutella Can't Scale. No, Really. [Ritter2000] Les leçons tirées –Nécessité de modéliser/simuler/émuler –Hubs BearShare SuperPeers permettant détendre le système Mais pas en O(log(N)) !

54 Modèle par overlay darbres Principe des overlays : –Soit une communauté représentée par un graphe dinterconnexion –Chacun est à la racine dun arbre de profondeur 1, darité variable Cet arbre est un plongement du graphe total du réseau –Chaque membre de la communauté (pair) possède un ID (identifiant) unique –Un algorithme local permet le routage Routage de proche en proche Routage vers un des nœuds de larbre local de router globalement vers un ID quelconque de lespace des ID Aussi appelé Distributed Hash Tables (DHT) La mode : Les Plaxton Meshes (Pastry) Ancêtre : Routage par hypercubes

55 Modèles doverlays triviaux Modèle client serveur –Larbre local est limité à la connaissance du serveur –Larbre du serveur est complet Anneau simple –Larbre est limite au nœud suivant Graphe complet –Larbre local est le graphe complet Ces modèles sont des cas décole uniquement

56 Routage par hypercube Utilisé en architectures parallèles (années ) Cube virtuel en dimension N 2 N participants (hypercube complet) Chaque nœud a un ID sur N bits Chaque nœud a voisins directs Routage très simple de X = {x 0 x 1 x 2 } vers Y = {y 0 y 1 y 2 } : Pour i = 0 à N-1 Si x i != y i router x 0..x i..x N-1 vers x 0..x j..x N-1 Sortie de la boucle FinSi FinPour Routage de proche en proche Exemple en dimension 3 : De 001 a 010 –001 -> 011 –011 -> 010 Algorithmique simple et efficace –65536 nœuds en dimension 16 Mais chacun doit être présent –Pas de volatilité des nœuds possible

57 UUIDs Universally Unique Identifier Identifiant de 128 bits (parfois 160) Statistiquement unique –Probabilité danniversaire 2 64 pour tomber sur deux UUID égaux Généré à partir de divers composants –Uniques Adresse IP Hachage du contenu dun fichier Nom du fichier –Dynamiques Estampille temporelle –Aléatoires Tirage au sort Secure Hash Algorithm (SHA-1) –Fonction non inversible en un temps non polynomial –Mieux que MD5

58 Freenet Un système déchange de fichiers P2P Algorithmique très simple, voire canonique Décentralisation complète Isotropique Anonymat –Pour la publication dinformations –Pour la récupération des informations –Résistance à la censure Open source –Beaucoup de sous projets, contributions, analyses, recherches Résistance aux Hot spots (slashdot effect) –La réplication est basée sur la popularité des fichiers –Plus un fichier est récupéré, plus il est répliqué

59 Freenet : Publication dun fichier Chaque pair a un ID Le Fichier est publié sur 1201 LID du fichier est calculé : 3303 –Hachage du nom de fichier Processus récursif : –Le fichier est caché localement –Si pair avec ID plus proche lexicalement de 3303 que lID local alors réplication sur ce pair :Publication :Réplication3303 3:Réplication

60 4:Copy file 3303 Freenet : Récupération dun fichier Demande du fichier dID 3303 depuis 0200 Processus récursif : –Si pair avec ID plus proche lexicalement de 3303 que lID local alors requête transmise vers ce pair –Si le fichier est trouvé il est copié vers lappelant :Get :Get 3303 hit :Copy file

61 Problème de convergence locale Exemple –Si 3303 est cherché à partir de 0102, il ne sera pas trouvé Freenet fait donc du backtrack –Essai sur le 2ème voisin répondant le mieux –Un Time-To-Live (TTL) est associé à chaque message Limite la durée de vie :Get :Failed

62 Freenet : ajout dun nœud Lajout dun nœud dans Freenet se fait par connaissance dun seed –Cest un nœud déjà membre dune communauté Freenet –Il va « transférer » sa liste de voisins au nouveau –Cette liste évoluera ensuite aléatoirement La destruction des nœuds est automatique –Les nœuds les plus anciens ne sont plus référencés

63 Apprentissage dans Freenet [Georges Da Costa, ID-IMAG / INRIA]

64 Résistance aux attaques/partitions La connaissance est bien distribuée Il faut une grosse attaque pour poser de réels problèmes

65 Freenet Nécessite de connaître les clés Garbage collection Disparition des vieux fichiers On ne trouve pas toujours un fichier existant Charge importante –En bande passante réseau –En stockage local (cache des fichiers)

66 Chord Lab of Computer science, MIT Ressources (Key, Value) Système complètement distribué Ne garantit pas lanonymat –Mais le temps de recherche est prévisible Coût de communication et de gestion en log(n) Equilibrage de charge –Fonction de hachage distribuée équitablement Changement dynamique des tables –Pour le support de la volatilité des nœuds Lespace de clé est plat –Pas de hiérarchie

67 Chord : Placement clés-nœuds Les identifiants (nœud et clé) sur m bits sont ordonnés sur un cercle modulo 2^m La clé k est assignée au nœud k ou à son successeur Redistribution de K/N clés pour N nœuds volages Exemple : –Nœuds 0, 1, 3 disponibles –Stockage des clés 1, 2 et 6 Propriétés : –Distribution équilibrée des clés Successeur(2) = 3 Successeur(1) = 1 Successeur(6) = 0

68 Chord : La recherche Identifiants (nœud et clé) sur m bits Chaque nœud a une table de m entrées Nœud[n].table[i] = nœud[(n+2^i) mod 2^m].next Exemple : –m=3 –Nœuds 0, 1 et 3 disponibles Caractéristiques : –Peu dinfo supplémentaires –Pas de connaissance totale (3 ne connaît pas le successeur de 1) Routage : –Si n ne connaît pas k : n contacte le premier nœud précédant k. –Ce processus est récursif –Le nœud qui possède k répond à n Start Interv Succ 1 [1,2) 1 2 [2,4) 3 4 [4,0) 0 Start Interv Succ 2 [2,3) 3 3 [3,5) 3 5 [5,1) 0 Start Interv Succ 4 [4,5) 0 5 [5,7) 0 7 [7,3) 0

69 Chord : Ajout dun noeud 3 étapes : 1.Construire une table en contactant un nœud n déjà connu 2. Réactualiser les tables des nœuds 3.Transférer les clés dont le nouveau nœud est responsable Retrait : –Chacun remplace les disparus par leur successeur Start Interv Succ 1 [1,2) 1 2 [2,4) 3 4 [4,0) 6 Start Interv Succ 2 [2,3) 3 3 [3,5) 3 5 [5,1) 6 Start Interv Succ 4 [4,5) 6 5 [5,7) 6 7 [7,3) Start Interv Succ 7 [7,0) 0 0 [0,2) 0 2 [2,6) 3 1

70 CFS au-dessus de Chord CFS/Chord est constitué de 3 couches logicielles Chord API: DHash API: Put(clé, Data) get(clé):Data –Gestion de la réplication Par le 1er successeur (sur r successeurs) –Gestion du cache Cache des blocs (Clé, Data) –Authentification CFS API: Insert(Filename) lookup(Filename): Fichier –Chunking des fichiers Limite la taille maximale des blocs Ajoute de la redondance (FEC ?) –Blocs de données –Blocs de métadonnées

71 CAN (Content Adressable Networks) University of Berkeley Table de hachage distribuée Insertion, recherche et destruction de paires (clé, valeur) Système complètement distribué Coût de gestion indépendant du nombre de sites

72 CAN : Placement clés-nœuds Tore cartésien virtuel –Dimension d Espace partagé en zones –Un nœud responsable par zone Association clé-point déterministe –Fonction de hachage –K => Point P dans lespace des coordonnées –P => Zone Z => Responsable R –La paire (clé, valeur) est stockée sur R Donc –K => Valeur 0,0 1,0 C (0-0,5 ; 0,5-1,0) A (0-0,5 ; 0-0,5) B (0,5-1,0 ; 0,0-0,5) DE (0,5-0,75 ; 0,5-1,0) (0,75-1,0 ; 0,5-1,0)

73 CAN : Routage Chaque nœud maintient une table –Adresses IP de ses voisins –Zones de coordonnées associées A est voisin de B B est voisin de D – mais A nest pas voisin de D Routage glouton –Dans la topologie à d dimensions Distance moyenne = O (n^1/d) –(pour n zones) Routage tolérant aux défaillances 0,0 1,0 C (0-0,5 ; 0,5-1,0) A (0-0,5 ; 0-0,5) B (0,5-1,0 ; 0,0-0,5) DE (0,5-0,75 ; 0,5-1,0) (0,75-1,0 ; 0,5-1,0)

74 CAN : Ajout dun nœud Associer le nœud à une nouvelle zone Principe : –Trouver un nœud existant –Couper son espace en deux 1.Obtenir ladresse dun nœud 2.Choisir un point P au hasard 3.Envoyer une requête de découpage au nœud responsable de P 4.Le nœud responsable renvoie le nouveau découpage 5.Il prévient ensuite ses voisins Mécanisme de connectivité du graphe –Tolère les défaillances Exemple en 2D –Découpe selon X et Y Retrait dun nœud –Agrégation de 2 zones –Si pas possible, on agrège la plus petite zone 0,0 1,0 C (0-0,5 ; 0,5-1,0) A (0-0,5 ; 0-0,5) B (0,5-1,0 ; 0,0-0,5) DE (0,5-0,75 ; 0,5-1,0) F

75 Pastry Microsoft Research, University of Rice, Cambridge « Scalable decentralized object location and routing » Table de hachage distribuée Système complètement distribué Propriétés de localité dans le routage Applications basées sur PASTRY –PAST (Persistent Storage utility) –SCRIBE (event notification infrastructure) –Squirrel (Decentralized web cache)

76 Pastry : Placement clés-nœuds Chaque nœud possède un NodeID –Identifiant unique –Aléatoire Espace de nœuds circulaire –2^128 nœuds –Assignation uniforme –Des numéro adjacents concernent des nœuds très différents

77 Pastry : Routage Routage dune requête –Vers le nœud qui possède le NodeID le plus proche de la clé –Nœuds vivants seulement –Routage par proximité de clé –les clés et NodeIDs sont des séquences de chiffres de base 2^b Dans la table chaque NodeID est associé à une adresse IP Exemple –b = 2 –Nœuds connus de –Table de routage Entrées à la ligne n partagent n premiers chiffres avec le NodeID (log2^b n) lignes (2^b –1) colonnes Délai de routage O(log2^b n) NodeID SmallerLarger xxxxxxxxxx xxxxxxxxx

78 Pastry : Ajout dun nœud Un nouveau nœud de NodeID X entre dans Pastry 1.Il contacte un nœud A 2.X demande à A de router le message Join(X) 3.Pastry route le message jusquau nœud Z 4.Les nœuds traversés par la requête envoient leurs tables à X 5.X initialise sa table à partir de ces informations 6.X informe les autres nœuds de sa présence Puisque Z est proche numériquement de X, X et Z partagent les même feuilles.

79 Pastry : retrait dun nœud Heartbeat entre voisins –Messages périodiques –Timeout sur inactivité –Détection des disparitions Un nœud peut mourir –Ses voisins le détectent –Ils collectent les informations des nœuds proches –Ils remettent leur table à jour Nœuds voisins, dont est une feuille NodeID SmallerLarger xxxxxxxxx xxxxxxxxxx …

80 JXTA Développement par Sun Basé sur Java (?!) –Succès mitigé 4 composants principaux –Peer pipes Connexion entre pairs Partage dinformations sur le réseau et de manière distribuée –Peer groups Groupes virtuels Dynamiques Cohérents –Peer Monitoring Surveillance et mesure des interactions Politiques de contrôle entre pairs –Sécurité Mécanismes didentification, de contrôle daccès et de confidentialité

81 Composants JXTA

82 Autres systèmes ICQ AOL Instant Messenger PUPS Clique

83 Perspectives Mutabilité –Mise à jour des données –Ecrivains multiples –Cohérence Topologie réseau –Connaissance de la localisation des machines sur le réseau –Minimalisation de la consommation réseau –Minimalisation des temps de récupération des données Sécurité –Authentification –Contrôle daccès Observation –Simulation ou émulation –Visualisation

84 Agenda Présentation du pair-à-pair (P2P) Le calcul P2P Les systèmes d'échange de fichiers P2P Etude de propriétés Conclusion

85 Small World Stanley Millgram 1967 –Diamètre des américains : 6 –graphe des accointances très connexe Lois de distributions –LogNormal, Power law, Zipf law, Bose-Einstein condensation law Université notre-Dame –Diamètre du WWW : 19

86 Les propriétés small world Deux propriétés essentielles –Regroupement maximal Mes voisins se connaissent entre eux –Chemin minimal La distance entre deux nœuds du graphe est faible Dans lidéal, pour un graphe G=(E,V), max i,j V (min(Path(i,j)) est le plus petit possible Ces propriétés permettent de mettre en œuvre des hubs dinformation –Des nœuds très communicants, connaissant beaucoup de voisins lointains –Ce sont les autoroutes (ou les avions) utiles pour aller loin Permet de rester « scalable », en O(log(N)) Les systèmes P2P doivent (devraient) essayer de faire converger ces paramètres –Ce nest pas toujours le cas

87 Lois de distribution Zipf law Extended Zipf Power law Pareto Exponential Lognormal Ces lois caractérisent une population

88 Sécurité Comment construire une chaîne de trust ? Nécessitent des certificate authorities –E.g. Kerberos Pas possible davoir un serveur central en P2P Comment répudier un membre du groupe ? –Consensus distribué Comment éviter le « déni de service » (DoS attacks) ? Des recherches en cours –Mais assez peu –Systèmes de votes statistiques, à la PGP –Ce sont des domaines difficiles

89 Réputation Comment juger de la qualité dun pair ? –Volume de ressources offertes –Qualité des ressources –Détection des Freeloaders Problème classique eBay (auction sites) –Il est facile de tricher pour augmenter sa réputation Pas de réponse satisfaisante coté recherche

90 Comptabilité Comment faire payer au service ? –Paiement par fichier downloadé –Par unité de calcul Difficile sans serveur central –Dons pas adapté au P2P isotrope Encore une fois, pas de bonne réponse

91 Mutabilité et cohérence Modification des données –Mutabilité –Cohérence Résilience –Checkpointing –Tolérance aux pannes Beaucoup de travaux en cours

92 Quelques acteurs Intel Sun HP IBM Microsoft FastTrack Avaki

93 Agenda Présentation du pair-à-pair (P2P) Le calcul P2P Les systèmes d'échange de fichiers P2P Etude de propriétés Conclusion

94 Conclusion Des systèmes très intéressants –Techniquement –Pour lutilisateur Plein de propriétés séduisantes Réponse à des problèmes très communs Un business model qui se cherche –Quel avenir ?

95 Références Dejan S. Milojicic, Vana Kalogeraki, Kiran Nagaraja, Jim Pruyne, Bruno Richard, Sami Rollins, John Sontag, Peer-To-Peer (P2P) Technology, HP Labs technical report HPL , 57.html, Andy Oram et al., «Peer-to-Peer: harnessing the power of disruptive technologies », OReilly, OReilly network:

96


Télécharger ppt "Les technologies pair-à-pair Bruno Richard HP Laboratories Grenoble."

Présentations similaires


Annonces Google