Première rédaction de cet article le 14 avril 2009
Le développement formidable des techniques pair-à-pair a apporté d'immenses possibilités et des défis nouveaux. Par exemple, si une machine peut potentiellement demander un service à 10 000 pairs, lequel utiliser ? Le plus proche, évidemment mais comment définir « le plus proche » ? Certainement pas par la proximité géographique qui, sur l'Internet, n'est qu'un indicateur très grossier. Et, une fois cette notion de proximité définie, comment la mesurer de manière qui supporte le passage à l'échelle ? Utiliser ping avec chacun des 10 000 pairs prendrait un temps fou et serait très coûteux en ressources réseau.
Meridian intervient ici. Ce protocole, mis au point par Bernard Wong, Aleksandrs Slivkins et Emin Gün Sirer de l'université Cornell, est une approche du problème de la mesure par le biais de requêtes qui sont transmises à des machines de plus en plus proches de la « cible » jusqu'à localiser la plus proche. Il est décrit dans Meridian: A Lightweight Network Location Service without Virtual Coordinates. Meridian est un concurrent des systèmes de coordonnées Internet. Il est moins général mais est censé être moins coûteux en ressources.
Le principe est que chaque nœud Meridian :
Contrairement aux systèmes de coordonnées euclidiennes, Meridian n'a donc pas besoin d'amers fixes.
Pour échanger avec ses pairs l'information qui va permettre de maintenir le réseau de machines Meridian, chaque nœud va utiliser un protocole de bavardage.
L'article original ne semble pas donner beaucoup de détail sur la faon dont Meridian mesure la distance entre pairs. Il utilise probablement une simple mesure de RTT, une métrique imparfaite mais simple.
Une mise
en œuvre de Meridian écrite en C++
est disponible sous une licence libre. Une des applications pratiques de Meridian est
ClosestNode, une passerelle entre le DNS et Meridian. Les services
accessibles sur Internet via un nom de domaine peuvent s'enregistrer
auprès de ClosestNode et celui-ci renverra au client DNS
l'adresse IP du serveur le plus proche de
lui. Testez avec dig en cherchant l'adresse IP
de proxy.cob-web.org
pour un exemple de
ClosestNode en action. ClosestNode est décrit dans le bref
article ClosestNode.com: An
Open-Access, Scalable, Shared Geocast Service for Distributed
Systems. Reposant sur le DNS, il évite donc aux
clients d'avoir à parler le protocole Meridian.
Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)
Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)