La taxonomie des systèmes informatiques est présentée dans la gure 3.1. On
peut voir que les systèmes informatiques sont formés de deux grandes familles qui
sont les systèmes centralisés et les systèmes distribués. Cette dernière famille est
divisée en deux classes : les systèmes Client/Serveur et les systèmes pair-à-pair.
3.2. Topologie 59
communiquent seulement avec un seul serveur, soit hiérarchique dans le cas où les
clients n'ont de contacts qu'avec les serveurs de plus haut niveau qu'eux. Pour le
modèle plat, on peut citer comme exemple la solution des intergiciels (middleware)
comme Object Request Broker (ORB). Pour le modèle hiérarchique, on peut citer
comme exemple les serveurs DNS.
Le modèle pair-à-pair peut être soit centralisé, soit hybride ou bien pur.
3.2.1 Le modèle centralisé
Il est très proche du modèle Client/Serveur. Il repose sur un serveur central
(gure 3.2) qui détient l'ensemble des connaissances. Les clients envoient et
reçoivent les informations à travers le serveur mais les ressources sont hébergées
par les clients. Une fois qu'un client a reçu du serveur la liste des ressources et
des clients les hébergeant, il peut interagir directement avec les autres. C'est la
principale diérence avec le modèle Client/Serveur.
Figure 3.2 Topologie construite sur le modèle centralisé.
L'avantage du modèle centralisé est la facilité de sa mise en ÷uvre. Sa gestion
est très facile. Il n'y a aucun problème de cohérence des données. Il est de plus
aisé de sécuriser un tel modèle puisqu'il s'agit de protéger un seul ordinateur :
le serveur. Des systèmes s'appuyant sur ce modèle existent : serveurs de base de
données, serveurs web, etc.
rapidement un point vulnérable : s'il tombe en panne c'est tout le système qui
le sera. De plus, c'est un handicap majeur pour l'augmentation des capacités et
des performances du système. Quelques solutions sont utilisées pour améliorer ce
modèle comme la réplication du serveur et l'utilisation de processeurs spécialisés
puissants.
3.2.2 Le modèle hybride
Avec le modèle hybride (gure 3.3), le contrôle des informations s'échange à
travers le serveur alors que les ux de données sont échangés de pair à pair. Le
serveur de commande agit en tant qu'agent de surveillance pour tous les autres
pairs et assure la concordance de l'information.
Les inconvénients reliés à la gestion centralisée restent encore valables. En
eet, si le serveur tombe en panne, le système perd la capacité d'échanger
les informations mais les échanges de ux de données entre pairs continuent
à fonctionner. Le rôle exact des serveurs dans le modèle hybride dépend des
infrastructures (Doyen, 2005). Ils sont en général utilisés pour assurer des
fonctions relatives au routage, à la comptabilité (Hausheer et al., 2003) ou à
l'organisation fonctionnelle des pairs. Par exemple, Kazaa (Kazaa, web) les utilise
pour la découverte et la localisation de ressources.
3.2. Topologie 61
3.2.3 Le modèle pur
Dans ce type de modèle (gure 3.4), il n'y a aucun serveur. Le fait qu'un
pair quitte le réseau n'aecte pas le système. Les pairs sont considérés comme
strictement équivalents. Diérentes applications sont construites sur ce type de
topologie. On peut citer à titre d'exemple Gnutella tel qu'il était déployé dans sa
première version ainsi que toutes les infrastructures à base de table de hachage
distribuée telles que Chord (Stoica et al., 2001), Pastry (Rowstron and Druschel,
2001), Tapestry (Zhao et al., 2001), CAN (Ratnasamy et al., 2001)...
Figure 3.4 Topologie construite sur le modèle pur.
Modèle structuré
Dans les modèles structurés (Ratnasamy et al., 2001; Rowstron and Druschel,
2001; Stoica et al., 2001; Zhao et al., 2001), l'évolution du réseau ainsi que
l'emplacement des n÷uds sont strictement contrôlés. Ces contraintes imposées
inuent sur la robustesse du réseau et l'autonomie des n÷uds. Les modèles
pair-à-pair structurés sont une excellente solution pour bâtir des systèmes où une
importance particulière est donnée au placement des ressources contrôlées tel que
le stockage de chier distribué. Toutefois, ce type de modèle n'est pas approprié
dans le cas où les n÷uds seraient très dynamiques. Le principal avantage est que
ces modèles utilisent des mécanismes de recherche native an de tirer prot de la
structure particulière ajoutée au réseau.
CAN (The Content Adressable Network) proposé par Ratnasamy et al.
(Ratnasamy et al., 2001), est une plate-forme pour les systèmes
pair-à-pair structurés basé sur des coordonnées spatiales cartésiennes virtuelles.
Chaque n÷ud est responsable de sa part d'espace. CAN permet de stocker
des données à un point donné de l'espace dans un réseau pair-à-pair et de
router d'un point de l'espace à un autre. Une visualisation d'un graphe
formé de 32 n÷ud est illustrée sur la gure 3.5.
Figure 3.5 Réseau de type CAN.
Chord proposé par Stoica et al. (Stoica et al., 2001), est un autre modèle de
système de pair à pair structuré. Il repose sur une topologie en anneau. Un
n÷ud de Chord a la connaissance de son prédécesseur et de son successeur.
Une fonction de hachage régulière génère une clé pour chaque n÷ud à partir
de son adresse IP. Ensuite, chaque n÷ud est placé dans l'anneau de manière
à ordonner les clés par ordre croissant. La complexité de cet algorithme est
au plus de O(logN)requêtes pour trouver une information dans un anneau
de N éléments grâce à une table de hachage distribuée. Une illustration de
ce type de réseau est présentée sur la gure 3.6 pour le cas de 32 n÷ud.
Dans le document
Réseaux pair-à-pair et simulation distribuée<br />Application à la simulation multiagent
(Page 59-64)