Vous êtes sur la page 1sur 30

Ecole Mohammadia d’Ingénieurs

Systèmes Répartis

Pr. Slimane Bah, Ing. PhD


G. Informatique Semaine 22

1 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Rappel
 Modèles de communication
• Comment elles communiquent ?
▫ Paradigmes de communication :
› La Communication Inter-Processus (IPC)
› Invocation à distance (Remote Invocation)
› Communication indirecte
› Par flux
Applications, Services

Remote Invocation, Communication indirecte

IPC Primitives

Internet Protocols

2 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Rappel
 Modèles de communication : Communication Indirecte

• Se base sur une couche logiciel pour éliminer le couplage temporel et


spatial

• Principe :
Émetteur  Intermédiaire  Récepteur
• Types :
› Communication par groupe
› Publication / notification
› Communication par mémoire virtuelle partagée
› File d’attente

3 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Concepts
 Modèles de communication

• L’organisation et la communication des composants distribués


soulèvent les questions suivantes :

› Quelles sont les entités qui communiquent ?

› Comment elles communiquent ?

› Selon quel modèle architectural communiquent-elles ?

4 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle Client / Serveur
• Rôle Serveur: Client

- Programme offrant un service


Serveur
- Est exécuté tout le temps (en continue)
- Attend une demande de service (écoute passive)
- Répond aux requêtes

Le client et le serveur ne sont pas identiques. Deux programmes qui


coopèrent

5 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle Client / Serveur
• Une application client / serveur:
- Un programme client
- Un programme serveur
- Un protocole applicatif : échange entre C et S

• Le programme client et serveur ne sont pas forcément écrit par le


même programmeur
 RFC protocole

• L’architecture client/serveur possède une configuration et une


organisation
6 © Slimane.bah@emi.ac.ma Semestre 4 : 2019
Architectures
 Modèle Client / Serveur
Le client serveur est un concept lié à la communication et non au
nœud

7 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle Client / Serveur
Client

Serveur

8 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Serveur multi-services

9 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P
• Rôle Pair :
Client + Serveur = servent
(minimum)

• Tous les nœuds sont des pairs égaux

• Ils collaborent pour obtenir un service

• Les pairs partagent des ressources (Ex. processing, stockage)

• Un réseau P2P est un overlay network avec liens logique

10 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P
“Je veux
collaborer
avec mes
“J’aimerai accéder à collègues”
l’information”

Client

Serveur Peer-to-peer

11 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P

Pair 1 veut un fichier. Morceaux du Peer 2 Pair 3 veut un fichier stocké


fichier son chez les pairs 3,4 et 5 chez 1,2 et 6

Peer 1 Peer 3

Peer 6 Peer 4

Peer 5

12 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P
• Avantages
› Tolérance aux pannes
› Fiabilité
› Scalabilité
› Coût
› Partage de ressources

• Inconvénients
› Gestion des ressources et des utilisateurs (ex. copyrights…)
› Sécurité

13 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : classification

• Selon la topologie du réseau :


Graphe aléatoire, étoile, arbre, grille, etc.

• Selon le niveau de distribution :


- Centralisé: un pair central a une fonction privilégiée (Napster)
- Hybride: une partie des pairs (super-pairs) jouent un rôle particulier
- Pur: tous les pairs ont les mêmes fonctionnalités

• Selon la structuration du réseau :


- Non-structuré: pas de critère de répartition des données sur les pairs
- Faiblement structuré: groupement des pairs par caractéristiques
communes ( clustering)
- Structuré: répartition précise des données (ex. par hachage)

14 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P
P2P pur P2P centralisé

15 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P
• Opérations : rejoindre, Chercher, Obtenir, publier

Indexation des ressources : Qui possède la ressource Alpha ?

• P2P non structuré

• P2P structuré

16 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : non structuré
• Le réseau overlay P2P est constitué d’une manière aléatoire

• Chaque nœud connaît juste un ensemble de ses voisins

• Flooding

Découverte des voisins Recherche

17 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : non structuré
• Avantages
› Taille théoriquement infinie : pas de serveur central.
› Anonymat
› Tolérance aux pannes (nbr élevé de copies des mêmes données)
› Adaptabilité (connexion et déconnection des pairs simple)

• Inconvénients
› Gros consommateur de bande passante.
› Pas de garantie de succès, ni d'estimation de la durée des requêtes.
› Pas de sécurité, ni de réputation (des pairs, ni des données fournies).

• Amélioration : Super-nœud (cluster Head)

18 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Le réseau overlay P2P est constitué selon une organisation précise

• Chaque nœud a un ID unique

• Chaque nœud a une table de liens avec certains autres nœuds

• Ils sont aussi appelées : DHT (Distributed Hash Tables)

• Trouver une valeur revient à trouver le nœud responsable de la valeur

• Plusieurs façons de réaliser ce modèle : Chord, freenet, Pastry …

19 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord
Nœud : identifié par m bits via une fonction de hashage H
Clé : hash (H) d’une séquence de bytes (m bits)
Valeur : séquence de bytes (data)

ID(node) = hash(IP, Port)


ID(key) = hash(key)

La fonction affecte presque le même nombre de clés par nœud (Load


balancing)

20 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord
identifier
m=3 node
6
X key
2m identifiants 1
0 successor(1) = 1
7 1

identifier
successor(6) = 0 6 6 circle 2 2 successor(2) = 3

5 3
4
2

21 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord : Join and Leave

m=3
6

1
0
7 1

6 2

5 3
4
2

22 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord : Join and Leave

m=3

6 1
successor(6) = 7 0
7 1

6 2

5 3
4
2

23 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord : Join and Leave

m=3

6
0
7 1 successor(1) = 3

6 2

5 3
4
2 1

24 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
m=6
2m 0
• Exemple Chord N1

- Organisé en cercle N56 N8


(selon l’id du nœud) K54
K10
N51

- Les clés assignés aux nœuds N48 N14

dont l’ID est égal ou suit l’ID


de la clé (successeur) N42
N21

N38 K24
K38

N32 K30

25 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord : Recherche

- Chaque nœud maintient une table de m entrées appelée Finger table

- La ième entrée de la table du nœud n contient l’identité du premier


nœud s qui dépasse n par au moins 2i-1

26 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré
• Exemple Chord : Recherche
finger table keys
For. start succ. 6
0
0+2 1 1
0+21 2 3
0+22 4 0

finger table keys


0 For. start succ. 1

7 1 1+2 0
2 3
1+21 3 3
1+22 5 0

6 2

finger table keys


5 3 For. start succ. 2
0
3+2 4 0
4 3+21 5 0
3+22 7 0

27 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : Structuré Finger table
N8+1 N14
• Exemple Chord m=6
N8+2 N14
N8+4 N14
2m-1 0 N8+8 N21
N1
N8+16 N32
- Chaque nœud j connait m N8+32 N42
successeurs : id(j) + 2 i - 1 N56
lookup(K54) N8
K54 +1
i = num Ligne +2
N51
+4

- Recherche se fait vers le N48 +16 +8 N14

successeur le plus proche +32

(inférieur à la clé)
N42
N21

- Performance pour la recherche: N38

O(log N)
N32

28 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Modèle P2P : structuré
• Avantages
› Gestion
› Bande passante
› Garantie de résultat
› Temps de réponse

• Inconvénients
› Tolérance aux pannes
› Maintenance de la structure
› Equilibrage de charge

29 © Slimane.bah@emi.ac.ma Semestre 4 : 2019


Architectures
 Récap.

• P2P non structuré: nœuds ont des voisins


sélectionnées de manière aléatoire

• P2P structuré: nœuds sont organisés selon une


structure spécifique

• P2P Hybride : des fonctions spéciales sont


affectées à quelques nœuds d’une manière organisée.

30 © Slimane.bah@emi.ac.ma Semestre 4 : 2019

Vous aimerez peut-être aussi