| Liste Articles: [0-A] [A-C] [C-F] [F-J] [J-M] [M-P] [P-S] [S-Z] | Liste Catégories | Une page au hasard | Pages liées | ||||||
Kademlia (alias Kad) est un protocole de couche
de réseau créé pour décentraliser les réseaux
informatiques 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 au protocole 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 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 <valeur,clé>.
Lors de la recherche d'une certaine clé, l'algorithme explore récursivement le réseau au cours de différentes étapes, chaque étape s'approchant plus près de la clé recherchée, jusqu'à ce que le nœud contacté retourne la valeur, ou que plus aucun nœud ne soit trouvé. La taille du réseau n'influe pas énormément sur le nombre de nœuds contactés durant la recherche ; si le nombre de participants du réseau double, alors le nœud de l'utilisateur doit demander l'information à un seul nœud de plus.
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.
L'algorithme Kademlia est utilisé par plusieurs clients poste-à-poste (les réseaux sont incompatibles les uns avec les autres) :
"Kademlia: A Peer to peer information system Based on the XOR Metric", http://www.cs.rice.edu/Conferences/IPTPS02/109.pdf


