Styles architecturaux

Transcription

Styles architecturaux
Styles architecturaux
Styles distribués – Peer to Peer
Peer to Peer (P2P)
• Réseau de pairs
• Aucune structure particulière (loosely coupled)
• Chacun peut agir comme client ou serveur
• Communication par un protocole de communication
• Parfois spécialisé (ex. Napster, Gnutella)
• Décentralisation de l’information et du contrôle
• Style souvent utilisé pour le partage de fichiers - musique, films,
images
• Autres applications possibles :
• Commerce électronique
• Le clavardage (chat)
• Capteurs distribués (remote sensors)
2
Peer to Peer (P2P)
3
Style Peer to Peer
• Peers
– Composantes indépendantes
– Chacune ayant chacun son état et sa boucle de contrôle (thread).
• Connecteurs:
– Protocole réseau, souvent propriétaire.
• Éléments de données:
– Messages réseaux
• Topologie
– En réseau
– Peut avoir des connections redondantes entre les peers
– Peut varier arbitrairement et dynamiquement
• Support au traitement décentralisé par
– Flot de contrôle et ressources distribués parmi les peers
– Fortement robuste en cas de défaillance d’un nœud
– Extensible en terme d’accès aux ressources et de puissance de
traitement
4
Peer to Peer (P2P)
• Découverte de ressources
• L’absence de centralisation rend la localisation de
ressources difficile
• Application P2P pure
• Requête d’information envoyé dans tout le réseau
• Elle se propage jusqu’à ce que:
• l’information soit trouvé; ou
• On dépasse un seuil de propagation
• Si l’information est localisée
• Le demandeur obtient l’adresse directe du peer
• Il le contacte directement
5
Peer to Peer (P2P)
• Applications hybrides
• Approche pour contourner les difficultés du modèle
pure
• Certain peers jouent des rôles spéciaux
• Ex. : localisation de peer
• Ex. : répertoire pour localiser l’information
• Exemple – Napster
• Pas une vraie application P2P
• Un serveur centralisé pour indexer la musique et
localiser les peers.
6
Architectures Peer to Peer
• Exemples de systèmes P2P
– Systèmes de partage et de découverte de
ressources décentralisées
• Napster
• Gnutella
– Skype
• Une approche P2P qui fonctionne bien.
7
Napster
8
Gnutella (original)
1
1
2
2
5
4
2
3
3
9
Skype
10
Intuition de Skype
• Une combinaison d’architecture client-serveur et peer-to-peer
– permet d’aborder le problème de découverte
• La réplication et la distribution de répertoires, sous la forme de
super-noeuds,
– permet d’aborder le problème extensibilité (scalability) et de robustesse
rencontré par Napster.
• La promotion de peers ordinaires en super-noeuds basé sur les
capacités de traitement et de communication
• Permet d’aborder un autre aspect de la performance du système:
on ne peut pas compter sur tous les peers pour les services
importants.
• Un protocole propriétaire employant l’encryption permet la
confidentialité d’appels acheminé par l’intermédaire de supernoeuds
• Restreindre les participants aux clients de Skype, et rendre ces
clients résistants aux inspections et modifications, aide à prévenir
les clients malicieux d’entrer dans le réseau
11
Conclusion
• Le style peer-to-peer est une généralisation du modèle clientserveur.
• Le modèle P2P pure offre une forte robustesse.
• Cependant il présente quelques problèmes
–
–
–
–
Localisation des ressources
Localisation des peers lorsqu’un peer se joint au système.
Engorgement du réseau
Problèmes de sécurité
• Un combinaison des approches client-serveur et P2P semble être le
meilleur compromis.
12