TheCricLinks

Je me pose plein de questions, Internet est un moyen d'y répondre

Nom :

La devise de la France est Liberté - Égalité - Fraternité. Cette devise peut et doit nous aider à trouver le bon chemin.

dimanche 11 novembre 2007

Dis Papa c'est quoi une Table de hachage distribuée - Wikipédia

La plupart des réseaux P2P modernes utilisent des DHTs , tous les utilisateurs d'eMule utilisent une DHT Kademlia (inventée à l'Université de New-York NYU) pour découvrir le réseau Kad.

Le réseau Bitorrent possède la sienne.

Idem pour les Skype et autres services de vidéo à la demande comme Joost (Architecture ici)

Et cela va continuer avec la P2P VoIP téléphonie dont l'annuaire central est décentralisé par le P2P comme dans le cas du SIP décentralisé promue par p2psip.org dont on peut voir la présence depuis quelques temps dans les groupes de IETF (Internet Engineering task force)

Alors c'est quoi une DHT ?

Une table de hachage distribuée (ou DHT pour Distributed Hash Table ), est une technologie permettant l'identification et l'obtention, dans un système réparti ( voir aussi ici ) , comme certains réseaux P2P, d'une information. Typiquement un nom de fichier (eMule...), un accès téléphonique (Skype, P2P SIP...) , une adresse IP (Kenosis ...), ....

Problème : En cas d'annuaire centralisé, que faire lorsque le serveur central tombe en panne ? Ou prend feu ? Ou est saisi par la police ? Le réseau P2P ne fonctionne plus, on ne peut plus faire de recherche sur les fichiers partagés.

Solution : Les inventeurs des architectures de logiciels P2P ont alors eu une idée : Il faudrait que le "grand annuaire" ne soit pas sur un seul ordinateur, mais réparti sur des centaines. Et ils se sont dit "on a qu'à faire notre logiciel de tel façon que chaque utilisateur soit responsable d'un petit bout du grand annuaire" (la table). Chacun des millions d'utilisateurs est alors responsable d'une petite partie :On dit que c'est une table de hachage distribuée.

Evidemment un des vrais problèmes est la redondance de la table sachant que personne sur le réseau ne peut être responsable de tout et ne doit complètement être responsable que de ce qu'il possède. L'autre problème est évidemment le temps d'accès.

Pratiquement les 4 premières implémentations de DHT utilisées furent CAN, Chord,[1] Pastry, et Tapestry toutes étudiées au début des années 2000.

Pour aller plus loin, si l'on s'interesse à l' algorithmique, voir The Chord/DHash project et ce répertoire de Jinyang Li au MIT et avec en particulier ces papiers : Chord: A Scalable Peer-to-peer Lookup Protocol
for Internet Applications
, Designing a DHT for low latency and high throughput et On the Feasibility of Peer-to-Peer Web Indexing and Search

A oui, vous savez quoi ? dans votre corps aussi l'information est répartie, bonne source d'inspiration n'est-ce pas ? ...

Libellés : , , ,