Red sin servidores Kademlia
Conectando a la red
Lo único necesario para poder conectar a esta red es la dirección IP y el puerto de cualquier otro cliente eMule que ya esté conectado. Esto es lo que se llama "Autoarranque" (bootstrap).
Una vez que el cliente se ha conectado a la red, el cliente consulta con otros clientes para ver si pueden conectarse directamente con él sin problemas. Este proceso es muy similar a la comprobación de ID alta/baja de los servidores. Si pueden contactarte sin problemas se te asigna una ID (similar a una ID alta) y se dice que tienes un estado "abierto". Si no pueden contactar contigo entonces se te asigna un estado "Tras cortafuegos". Desde la versión v.44a en adelante, la red Kademlia soporta un Mediador para los usuarios tras un cortafuegos (firewall). Los Mediadores son otros clientes de Kademlia que tienen estado abierto y actúan como punto de contacto para aquellos usuarios que están tras cortafuegos y por tanto no son accesibles directamente.
Búsquedas en Kademlia
En esta red no importa lo que busques. Da igual que sea una búsqueda de archivos, de fuentes para una descarga o bien de otros usuarios, todas funcionan de una forma similar.
No existen servidores que hagan un seguimiento de los clientes y los ficheros que comparten, por lo que es una labor que la hace cada cliente que se conecta a la red - en esencia, cada cliente es un pequeño servidor.
Dado que cada cliente es identificado de forma única mediante un valor de hash, la idea de Kademlia es asociar una cierta "responsabilidad" en base a ese hash. Cada cliente de la red Kademlia trabaja como un servidor para ciertas palabras clave o fuentes. El hash del cliente determina dichas palabras o fuentes.
Por tanto el objetivo de cualquier búsqueda es encontrar a aquellos clientes que tienen la responsabilidad para el término de búsqueda actual. Esto se consigue mediante un cálculo complejo acerca de la posible distancia al cliente destino y preguntando a otros clientes cual será la ruta más corta hasta él.
Resumen
Ambas redes tienen un concepto totalmente distinto de conseguir lo mismo: Buscar ficheros y buscar fuentes para los ficheros. El principal objetivo de la red Kademlia es ser totalmente independiente de los servidores y facilitar la escalabilidad. Los servidores sólo pueden aceptar un cierto número de clientes y si un servidor grande deja de funcionar la red se resiente gravemente.
Kademlia es una red autoorganizativa y se ajusta a sí misma para obtener el mejor rendimiento posible en base al número de usuarios y la calidad de sus conexiones. Por tanto es más resistente a daños a gran escala en la red.
Del manual eMule
Archivos utilizados por Kad
a... Los contactos establecidos por su nodo Kad se conservan en el fichero
nodes.dat
Este fichero evoluciona regularmente cuando Kad efectúa nuevas búsquedas, integra los nuevos nodos y elimina de los nodos inactivos (PC desconectados de la red, IP cambiados etc.).
Cuidado … En las versiones actuales, mientras funciona Kad, este fichero se actualiza en la memoria del PC. Solo se actualiza en el disco cuando se cierra Kad. Es muy importante entonces cerrar correctamente Kad ; el fichero no está actualizado si se traba Windows.
El fichero nodes.dat tiene así las identificaciones de unos nodos activos. Si deja Kad de actualizarlo (largas desconexiones etc.), los nodos guardados se desactivan poco a poco y el fichero se vuelve inútil.
b... Kad utiliza también dos tablas de índices para las identificaciones de los nodos contactados y los archivos disponibles en dichos nodos. Estas tablas se gestionan en la memoria y solo se guardan en disco al pararse correctamente la mula en dos archivos : s_index.dat y k_index.dat.
.:.