Kademlia - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

Kademlia est un réseau de recouvrement créé pour décentraliser les autres réseaux d'échange de fichiers poste-à-poste (Peer-to-Peer ou P2P en anglais).

Le protocole précise la structure du réseau Kademlia, les communications entre les nœuds et l'échange d'information. Les nœuds communiquent grâce à UDP (cf le modèle OSI).

À l'intérieur d'un réseau existant (Internet), Kademlia crée un nouveau réseau, à l'intérieur duquel chaque nœud est identifié par un numéro d'identification, un ID (nombre binaire à 156 bits).

Passée une phase d'amorçage consistant à contacter un nœud du réseau puis à obtenir un ID, un algorithme calcule la "distance" entre deux nœuds, et interroge plusieurs nœuds suivant cet algorithme afin de trouver l'information recherchée. Cet algorithme utilise une notion de distance entre deux nœuds, calculée grâce à une opération mathématique (OU exclusif, aussi appelée XOR) délivrant un résultat sous forme de nombre entier : la "distance". Cette dernière n'a rien à voir avec la situation géographique des participants, mais modélise la distance à l'intérieur de la chaîne des ID. Il peut donc arriver qu'un nœud en Allemagne et un nœud en Australie soient "voisins".

Une information dans Kademlia est conservée dans des "valeurs", chaque valeur étant jointe à une "clé". On dit de Kademlia qu'il est un réseau .

L'ensemble des clés gérées par un nœud est en rapport avec l'adresse de ce nœud ; ainsi, connaissant une clé, l'algorithme peut déterminer la distance approximative qui le sépare du nœud possédant la valeur associée à cette clé. Pour rechercher une clé située sur un nœud N, un nœud A va chercher un voisin B avec Distance(B,N)

D'autres avantages sont inhérents à une structure décentralisée, augmentant par exemple la résistance à une attaque de déni de service. Même si tout une rangée de nœuds est submergée, cela n'aura que des effets limités sur la disponibilité du réseau, qui "recoudra" le réseau autour de ces trous.

Utilisation effective

L'algorithme Kademlia est utilisé par plusieurs clients poste-à-poste (les réseaux sont incompatibles les uns avec les autres) :

  • VarVar (premier client Kademlia, possède son propre réseau)
  • réseau Overnet : Overnet, eDonkeyHybrid, mlDonkey et KadC
  • réseau Kad : eMule (depuis la version 0.40) - mlDonkey (depuis la version 2.5-28) -- aMule (depuis la version 2.1.0)
  • depuis la version 3.50 de lphant (lien)

Certains programmes utilisent de manière isolée un protocole Kademlia :

  • Revconnect DC++ - voir aussi (lien) (depuis la version 0.403)
  • Azureus - utilise Kademlia comme manière alternative de localiser les peers
  • Le client BitTorrent original - La Beta 4.1.0 possède une version de Kademlia
  • BitSpirit
  • eXeem
  • BitComet
  • µTorrent
  • FlashGet
Page générée en 0.085 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise