Les R - PowerPoint PPT Presentation

About This Presentation
Title:

Les R

Description:

IP Adress : Adresse IP du servant atteint. Speed : Vitesse du servant ... IP Adress : Adresse IP du servant vers lequel le fichier r f renc par File ... – PowerPoint PPT presentation

Number of Views:417
Avg rating:3.0/5.0
Slides: 45
Provided by: membresli
Category:
Tags: adress | les

less

Transcript and Presenter's Notes

Title: Les R


1
Les Réseaux  peer to peer 
2
Plan
  1. Le peer to peer
  2. Définition
  3. Historique
  4. Applications
  5. Les différentes architectures
  6. Comparatif (avantages / inconvénients)
  7. Le protocole Gnutella
  8. Le projet JXTA

3
Le peer to peer Définition
  • Peer to peer en français  dégal à égal  ou
     pair à pair  
  • Système d'échange direct de ressources entre
    machines connectées en réseau
  • Se distingue fondamentalement de larchitecture
    client / serveur

4
Le peer to peer Historique
  • Historique
  • Années 60 à lorigine Internet était axé sur l
    échange dinformations entre universités
    (Arpanet)
  • 1999 Napster (S.Fanning), architecture
    centralisée qui compte plus de 25.000.000
    dusagers en 2000
  • 2000 Gnutella (AOL Nullsoft), architecture
    décentralisée
  • 2001 Kazaa (Zennstrom Fiis) , projet JXTA
    (Sun), architecture centralisée-décentralisée

5
Le peer to peer Applications
  • Calcul distribué
  • Ex projet SETI
  • Échange de fichiers
  • Ex Napster, Gnutella, Kazaa,
  • Stockage distribué, plate-forme de développement
    et groupes de collaboration
  • Ex JXTA

6
Le peer to peer Architectures
  • Architecture centralisée
  • Mise en relation à partir du serveur
  • Puis liaison directe entre les clients
  • Architecture client / serveur
  • Ce nest PAS un réseau peer to peer
  • Ici tout passe par le serveur
  • Aucune liaison directe entre les clients

7
Le peer to peer Architectures
  • Architecture décentralisée
  • Égalité entre tous les utilisateurs
  • Liaisons établies de proche en proche
  • Requêtes transférées et relayées
  • Fichiers transférés directement du demandeur au
    donneur
  • Réseau en perpétuelle mutation

8
Le peer to peer Architectures
  • Architecture centralisée-décentralisée
    (utilisation d  ultra-peers )
  • Pratiquement le même schéma que larchitecture
    décentralisée
  • Permet de palier au problème de la bande passante

9
Le peer to peer Comparatif
  • P2P centralisé
  • Avantage
  • Efficacité des recherches, facilité d'utilisation
  • Inconvénients
  • Complètement tributaire du serveur central
  • Aucun anonymat n'est garanti
  • Possibilité pour le serveur central de créer des
    fichiers clients et des profils dutilisateurs
    pour les revendre à des compagnies spécialisées

10
Le peer to peer Comparatif
  • P2P décentralisé
  • Avantages
  • Grande souplesse, grande robustesse
  • Anonymat (relatif) assuré car il n'y a pas de
    serveur qui stocke des données sur les
    utilisateurs
  • Inconvénients
  • Problèmes au niveau de la bande passante
  • Anonymat gt risques de piratage et déchange de
    données illégales

11
Le peer to peer Comparatif
  • P2P centralisé-décentralisé
  • Avantages
  • Les mêmes quen décentralisé
  • Plus de bande passante
  • Inconvénients
  • Choix difficile des ultra-peers
  • Compliqué à mettre en place

12
Plan
  1. Le peer to peer
  2. Le protocole Gnutella
  3. Introduction
  4. Description
  5. Inconvénients
  6. Nouvelle version
  7. Le projet JXTA

13
Le protocole Gnutella Introduction
  • Développé en 2000 par NullSoft (J.Frankel
    T.Pepper) qui fut ensuite racheté par
    AOL-Time-Warner
  • Dédié avant tout au partage de fichiers
  • Chaque utilisateur joue à la fois le rôle de
    client et de serveur on les appelle les
    servants

14
Le protocole Gnutella Description
  • Ce protocole fonctionne au moyen de 5
    descripteurs principaux
  • Ping
  • Pong
  • Query
  • QueryHit
  • Push
  • Ces descripteurs permettent la transmission
  • Des infos entre les servants (nœuds) du réseau
  • Des règles qui régissent l'échange de ces
    descripteurs

15
Le protocole Gnutella Description
  • EN-TETE des descripteurs
  • Descriptor ID identifie le descripteur de façon
    unique
  • Payload Descriptor
  • 0x00 Ping 0x40 Query 0x81 Push
  • 0x01 Pong 0x80 QueryHit
  • TTL  time to live  indique le nombre de sauts
    que peut encore effectuer le descripteur entre
    servants Gnutella avant sa destruction
  • Hops nombre de sauts déjà accomplis
  • Payload Length indique la longueur du
    descripteur suivant immédiatement l'en-tête

DescriptorID Payload Descriptor TTL Hops Payload length
0 16 17 18 19 22
16
Le protocole Gnutella Description
  • Descripteur PING
  • N'a pas de Payload associé
  • Ne contient qu un en-tête dans lequel Payload
    Lenght vaut 0x00000000 et Payload Descriptor vaut
    0x00
  • Permet de sonder le réseau à la recherche
    d'autres servants
  • Chacun des servants qui reçoit un Ping répond
    avec un Pong

17
Le protocole Gnutella Description
  • Descripteur PONG
  • Port numéro de port sur lequel le servent
    atteint peut accepter les connexions incidentes.
  • IP Adress adresse IP du servent atteint.
  • Nb of files shared, Nb of kB shared nombre de
    fichiers et nombre d'octets de données partagés
    par le servant défini par le port et l'adresse IP
    précédents.
  • N.B à un Ping reçu, plusieurs Pongs peuvent
    être renvoyés. Cela permet à un servant de
    renvoyer des infos le concernant personnellement,
    mais aussi des infos qu'il gardait en mémoire
    cache sur d'autres servants.

Port IP adress Nb of files shared Nb of kB shared
0 2 6 10 13
18
Le protocole Gnutella Description
  • Descripteur QUERY
  • Minimum speed vitesse minimale (en ko/s) des
    servants qui doivent répondre à ce message. Les
    servants plus lents que ce seuil ne sont pas
    censés répondre
  • Search Criteria
  • Cette chaîne contient des critères de recherche,
    tels que des noms de fichier, ou des types de
    fichiers (MP3, jpeg,...) et se termine par 0x00
  • Sa longueur n'est limitée que par le Payload
    length de l'en-tête

Minimum speed Search Criteria
0 2
19
Le protocole Gnutella Description
  • Descripteur QueryHit
  • Nb of hits Nb de "coups au but" dans le Result
    Set
  • Port Le numéro de port sur lequel le servant
    atteint peut accepter les connexions incidentes
  • IP Adress Adresse IP du servant atteint
  • Speed Vitesse du servant atteint

Nb of hits Port IP Adress Speed Result Set Servant ID
0 1 3 7 11 n n16
20
Le protocole Gnutella Description
  • Descripteur QueryHit
  • Result Set
  • File Index nombre attribué par le servant
    répondant, destiné à identifier de façon unique
    le fichier correspondant à la requête.
  • File Size Taille en ko du fichier référencé par
    File Index.
  • File Name Nom du fichier référencé par File
    Index, se termine nécéssairement par 0x0000. Sa
    taille est limitée par le champ Payload Lenght de
    l'en-tête.

Nb of hits Port IP Adress Speed Result Set Servant ID
0 1 3 7 11 n n16
File Index File Size File Name
0 4 8
21
Le protocole Gnutella Description
  • Descripteur QueryHit
  • Servant ID Chaîne de 16 octets qui identifie le
    servant répondant à la requête.
  • Un QueryHit n'est envoyé que si le servant
    possède des fichiers correspondants aux critères
    de recherche d'un Query
  • Le champ Descritpor ID dans l'en-tête du QueryHit
    doit contenir la même valeur que le champ
    Descritpor ID de l'en-tête du Query

Nb of hits Port IP Adress Speed Result Set Servant ID
0 1 3 7 11 n n16
22
Le protocole Gnutella Description
  • Descripteur PUSH
  • Servant ID Chaîne de 16 octets qui identifie le
    servant à qui l'on demande de "pousser" le
    fichier référencé par File Index.
  • File Index Cet index détermine le fichier qui
    doit être "poussé" à partir du servent cible.
  • IP Adress Adresse IP du servant vers lequel le
    fichier référencé par File Index doit être
    "poussé".
  • Port Port vers lequel le fichier référencé par
    File Index doit être "poussé".

Servant ID File Index IP adress Port
0 16 20 24 25
23
Le protocole Gnutella Description
  • Descripteur PUSH
  • Utilité
  • Palier au problème des FireWalls
  • Lorsquon est derrière un firewall, au lieu
    dinitier soit même la connexion, le servant qui
    possède le fichier linitialise en  poussant 
    le fichier

24
Le protocole Gnutella Description
  • Routage des descripteurs
  • Les Pongs (resp. QueryHit, Push) empruntent le
    même chemin que les Pings (resp. Query ) auxquels
    ils répondent
  • Un servant recevant un Ping (ou Query) le
    transmettra à tous ses voisins immédiats, sauf
    celui d'où provient le descripteur
  • Chaque servant, à la réception d'un descripteur,
    décrémente son TTL et incrémente son Hops
  • TTL 0 gt le descripteur n'est plus transmis
  • Non transmission des descripteurs ayant le même
    payload et DescriptorID quun autre reçu
    précédemment

25
Le protocole Gnutella Description
  • A se connecte
  • A envoie un Ping à B et C
  • B et C répondent avec un Pong
  • Un Query est lancé par A
  • Le Query est relayé jusqu'à un servent possédant
    les fichiers demandés
  • Celui-ci renvoie un QueryHit contenant la liste
    des fichiers vérifiant les critères de recherche
  • Le téléchargement se fait via HTTP

26
Le protocole Gnutella Inconvénients
  • Réseau inondé de Pings
  • si la connectivité moyenne d'un servant est de n,
    on obtient nTTL Pings sur le réseau !
  • Beaucoup dutilisateurs ont une connexion lente
    (modem 56K)
  • Problème du descripteur Push
  • un servant ne sait pas s'il se trouve derrière un
    Firewall ou encore que le servant qu'il essaye de
    joindre se trouve derrière un Firewall
  • Immense gâchis de bande passante

27
Le protocole Gnutella Nouvelle version
  • Concept des ultrapeers
  • Hierarchie des nœuds
  • Choix des ultrapeers basé sur les capacités de
    calcul et de bande passante

28
Le protocole Gnutella Nouvelle version
  • Lultrapeer envoie périodiquement des "indexing
    queries" à ses fils qui répondent en envoyant
    chacun leur liste de fichiers partagés
  • Lultrapeer ne fait suivre les Query quaux
    clients qui ont une entrée correspondante.
  • Concept compatible avec les clients anciens qui
    sont vus comme des ultrapeers sans fils.

29
Le protocole Gnutella Nouvelle version
  • Choix des ultrapeers
  • Lordinateur ne doit pas être situé derrière un
    firewall et doit avoir un système dexploitation
    relativement récent.
  • Doit avoir une bande passante et un processeur de
    bonne qualité.
  • Doit être sur le réseau depuis assez longtemps.

30
Le protocole Gnutella Problème
  • Beaucoup de  pillards 
  • Répartition des fichiers inégales

31
Le protocole Gnutella Solution
  • Réplication des données
  • Réplication après téléchargement
  • Réplication  sur le chemin 
  • Réplication au hasard
  • Evite une concentration des fichiers
  • Difficile à mettre en place

32
Quelques clients Gnutella
  • LimeWire
  • Shareazaa
  • BearShare
  • Gnucleus
  • Morpheus
  • Ares

33
Exemple de client Gnutella FreeWire
34
Plan
  1. Le peer to peer
  2. Le protocole Gnutella
  3. Le projet JXTA
  4. Introduction
  5. Larchitecture
  6. Les concepts
  7. Les protocoles
  8. Conclusion

35
JXTA Introduction
  • Pourquoi un tel projet ?
  • De plus en plus dinternautes
  • Un engouement pour le p2p
  • Les mêmes problèmes rencontrés par les
    développeurs
  • Les objectifs
  • Interopérabilité facilité de localisation et de
    communication quels que soient les systèmes
  • Indépendance envers les plates-formes langages
    (C, Java), systèmes (Windows, Unix) et réseau
    (TCP/IP, Bluetooth)
  • Ubiquité tout type de support (PDA, routeurs,
    ordinateurs)

36
JXTA Architecture
  • La structure possède 3 couches
  • Le noyau JXTA Core
  • La couche des services JXTA Services
  • La couche des applications JXTA Applications

37
JXTA Architecture
  • JXTA Core
  • Encapsule le minimum pour avoir un réseau p2p
  • Les applications communiquent à travers ce noyau
  • JXTA Services
  • Propose différents services optionnels
  • Recherche, partage de fichier, authentification
  • JXTA Applications
  • Couche la plus haute
  • Instant messaging, e-mail, etc

38
JXTA Concepts
  • Pipes
  • Tubes de communication unidirectionnels pour
    envoyer et recevoir des messages
  • Ils supportent tout type dobjets
  • Deux types de connexions
  • Connexion point-à-point
  • Connexion par propagation
  • Annonces
  • Messages XML qui nomment, décriventt et publient
    lexistence dune ressource
  • Durée de vie limitée

39
JXTA Concepts
  • Peer pipes

40
JXTA Concepts
  • Peer
  • Entité qui peut communiquer à travers les
    protocoles JXTA.
  • Fournissent une interface pour des connections
    point-à-point
  • Recherchent des autres pairs pour former des
    relations passagères ou durables appelées  peer
    groups 
  • Peer Groups
  • Collection de peers coopérant et fournissant un
    ensemble de services communs
  • Un peer peut appartenir à plusieurs groupes
  • Le groupe par défaut est le  Net Peer Group 

41
JXTA Protocoles
  • JXTA définit une série de messages XML pour la
    communication entre peers
  • Utilisés pour découvrir dautres peers, annoncer
    et trouver des ressources pour la communication
    et le routage
  • Ils sont basés sur le principe question/réponse

42
JXTA Protocoles
  • Des protocoles aux nombres de six
  • Peer Discovery Protocol trouver les annonces
    sur dautres peers et rechercher des ressources
    (Peers, Peers group, pipe, services)
  • Peer Resolver Protocol envoyer et recevoir des
    requêtes génériques ciblées
  • Peer Information Protocol prendre connaissance
    du statut dun autre peer
  • Peer MemberShip Protocol obtenir les
    autorisations pour accéder à un groupe
  • Peer Binding Protocol établir un Pipe entre 2
    ou plusieurs peers
  • Peer Endpoint Protocol demander à un routeur
    les accès disponibles pour envoyer un message à
    un peer cible

43
JXTA Conclusion
  • Une technologie encore jeune
  • De nombreuses applications en cours de
    développement
  • Un futur standard ?

44
Références
  • http//www.zdnet.fr
  • http//solutions.journaldunet.com
  • http//www.openp2p.com
  • http//www-lor.int-evry.fr
  • The OReilly Peer-to-Peer and Web services
    Conference, Washington DC Sept.18-21, 2001
  • http//conferences.oreilly.com/p2p
  • http//www.jxta.org
  • http//www.gnutella.org
Write a Comment
User Comments (0)
About PowerShow.com