Como dijo cHao, la naturaleza distribuida de la red significa que los nodos necesitan publicar sus identificaciones y sus detalles de contacto en otros nodos con los que hablan. No hay un lugar central donde los ID se mapeen a la información de contacto, por lo que cada nodo debe mantener esta asignación para un subconjunto de los nodos en la red en su propia tabla de enrutamiento.
Las tablas de enrutamiento de Kademlia están estructuradas de manera que los nodos tengan un conocimiento detallado de la red cerca de ellos y disminuyan exponencialmente el conocimiento más allá.
El uso de XOR bit a bit como una medida de la distancia teórica entre ID tiene la ventaja de que para una ID de objetivo determinada, no hay dos ID que puedan tener la misma distancia al objetivo.
Imagine un ejemplo simple donde los ID están en el rango de 00 a 63. Si Kademlia usó, p. diferencia matemática pura como medida de distancia, 15 y 35 sería la misma distancia a 25 - ambos tendrían una distancia de 10. Usando XOR, la distancia entre 15 y 25 es 22, y entre 25 y 35 es 58.
De esta forma, el grupo de k identificadores más cercanos a una ID de destino puede calcularse sin ambigüedades.
La constante k tiene un par de usos en Kademlia, pero es principalmente el factor de replicación. En otras palabras, una parte de los datos se almacena en los k nodos más cercanos a la identificación de los datos.
El proceso de búsqueda está diseñado para devolver un grupo de k nodos (antes de almacenar datos en cada uno de ellos) o devolver un único dato (desde el primer nodo que lo contiene durante las iteraciones de búsqueda).
Debido a esto, Kademlia pura no es la más adecuada para encontrar un solo nodo, por lo que no estoy seguro de que una parte de su pregunta sea demasiado relevante. Si desea utilizar Kademlia para encontrar un solo nodo, probablemente valga la pena modificar el proceso de búsqueda para finalizar temprano tan pronto como un nodo devuelva los detalles de contacto del nodo de destino (de la misma manera que la búsqueda finaliza anticipadamente si el valor objetivo es se encuentra durante el proceso).
Pago y envío http: // gleamly.com/article/introduction-kademlia-dht-how-it-works –