¿Qué es kad? ¿Qué es ed2k? ¿Cuál es la relación entre ellos?
Kad es la abreviatura de Kademlia. El sitio web oficial de eMule (eMule) lanzó oficialmente eMule v0.42b el 27 de febrero de 2004. Kad comenzó a integrarse oficialmente como un módulo funcional de eMule. Dijo que a partir de esta versión, eMule comienza a soportar la red Kad.
La aparición de Kad puso fin a la era anterior de edonkey. En el círculo educativo, solo existía ED2K, un modelo de red. Creó y formó su propia red kad a través de nuevos protocolos, haciéndolo similar a la red ED2K. Va de la mano, es totalmente compatible con ambas redes y se puede utilizar universalmente entre las dos redes. Kad también es un software gratuito de código abierto. Su programa y código fuente se pueden descargar en el sitio web oficial.
La característica más importante de la topología de red Kad es que no requiere ningún servidor. Todos sabemos que la red ed2k tradicional requiere soporte de servidor para transferir y almacenar información de la lista hash. de la red ed2k sin utilizar un servidor, lo único que tienes que hacer es conectarte a Internet y abrir kad. Kad requiere soporte de puerto UDP. Luego, Emule determinará automáticamente si puede conectarse libremente de acuerdo con los requisitos del cliente y luego también le asignará una ID. Este proceso es muy similar a nuestra verificación de ID alta y baja de ed2k. este ID es diferente al de la red ed2k. Representa un estado "libre".
Las redes Kad y ed2k tienen conceptos completamente diferentes pero el mismo propósito: buscar y encontrar el origen de los archivos. Los principales objetivos de Kad Network son eliminar la necesidad de servidores y mejorar la escalabilidad. En comparación con el servidor ed2k tradicional, solo puede manejar una cierta cantidad de usuarios (también lo hemos visto en la lista de servidores, cada servidor tiene un número máximo de usuarios), y si el servidor es grande y hay demasiadas personas conectadas , se retrasará seriamente. Kad puede autoorganizarse y autorregularse el número óptimo de usuarios y sus efectos de conexión. Por tanto, puede minimizar la pérdida de la red. Debido a las funciones descritas anteriormente, Kad también se denomina red sin servidor. Aunque actualmente se encuentra en etapa de desarrollo (etapa alfa). Pero no hay duda de que sus incomparables ventajas lo convertirán en el futuro del p2p.
A muchos amigos les puede preocupar que la red kad no tenga un principio de cálculo para ID altas y bajas. ¿Es fluido para ID bajas?
Todos sabemos que en la red ed2k, nuestra ID se calcula mediante el siguiente algoritmo usando IP
Supongamos que nuestra IP = A.B.C.D
Entonces nuestro número de ID= A 256*B 256*256*C 256*256*256*D
El ID bajo se genera porque el resultado de nuestro cálculo de ID es menor que 16777216.
Ese es el número de ID= A 256*B 256*256*C 256*256*256*D lt; 16777216
El principio de cálculo de ID de Kad no es el anterior. Presta más atención a si somos abiertos y libres.
Pero ¿cómo calcula kad nuestro id?
De hecho, su método de cálculo es así
Número de identificación=256*256*256*A 256*256*B 256*C D
Así que kad En realidad, también existen diferencias entre las identificaciones altas y bajas.
Por lo tanto, los usuarios de la intranet aún no pueden lograr el efecto de que los usuarios de la intranet penetren completamente en la red cuando la usan. En la actualidad, todavía existe la introducción del módulo kad, lo que hace que los recursos del sistema se ocupen y se produzca una pérdida de memoria. control de memoria, el rendimiento actual de emule aún no es bueno.
De hecho, Kad tiene un archivo nodes.dat, también llamado archivo de nodo, que almacena nuestros nodos vecinos en la red Kad. Todos ingresamos a la red Kad a través de estos nodos. De hecho, la red de Kad se parece más a las redes Overnet y Kazaa. Los amigos que estén interesados pueden compararlas. La red Kad proporciona un mecanismo para ayudar a encontrar nodos y registrar nodos.
Hablemos del principio de este mecanismo:
Kad tiene un ID de 160 bits y el mensaje enviado por cada nodo debe contener este ID. Cada nodo debe registrar un dato para guardar los nodos existentes. El formato de los datos es (dirección IP, puerto UDP, ID de nodo). El rango del que el nodo debe ser responsable es 2 elevado a i y 2 elevado a i. 1 potencia. El rango de i es 0 lt; i lt; 160. Esta estructura se llama k-bucket. Esta estructura tendrá la forma de un árbol cada vez que reciba nueva información. -bucket. A través de la estructura k-bucket, podemos asegurarnos de que todos los estados de los nodos sean nuevos y definitivamente sabremos dónde está este nodo.
La red Kademlia proporciona cuatro protocolos (RPC)
(1)PING prueba si el nodo existe
(2)STORE almacena información de notificación
(3)FIND_NODE notifica a otros nodos para ayudar a encontrar el nodo
(4)FIND_VALUE notifica a otros nodos para ayudar a encontrar el valor
Cuando se recibe cada instrucción, cada nodo todos buscarán en k-bucket A través de esta estructura, kad proporciona un método conveniente y rápido que puede garantizar que encontrará el nodo requerido en tiempos logN.
En pocas palabras, en la red kad, cada uno de nuestros clientes emule solo es responsable de procesar una pequeña parte del trabajo de búsqueda y búsqueda de fuentes. Al asignar estas tareas, determinamos la coincidencia entre la identificación única de cada cliente y el valor hash del archivo de búsqueda. Por ejemplo, el archivo Supongo que supongo.rm es propiedad del usuario Xiao Wang (determinado por el valor hash del archivo), luego cualquier otro usuario que descargue este archivo les dirá a otros usuarios que Xiao Wang tiene este archivo. Otros usuarios también le preguntarán a Xiao Wang cuando descarguen este archivo, y Xiao Wang también les dirá quién comparte este archivo, para que Kad pueda completar el trabajo de encontrar la fuente. El método de búsqueda es similar, excepto que cada persona es responsable de una palabra clave.
Todo el proceso es un poco como pedir direcciones paso a paso de acuerdo con las pistas y encontrar la dirección correcta, en lugar de simplemente agarrar a personas por todas partes en el camino para pedir direcciones. La información relacionada con la red en cada lugar continuará actualizándose a medida que se agreguen computadoras y archivos. El beneficio es que le permite buscar en toda la web, no sólo dentro de un área determinada. En la actualidad, este mecanismo y algoritmo son absolutamente líderes y muy excelentes.
Cómo encontrar al usuario Xiao Wang es aplicando XOR al ID de usuario. El valor XOR binario de los dos ID determina la distancia lógica entre ellos. Por ejemplo, 1100 está más cerca de 1101 que de 1001. Luego, cuando un usuario se une a kad, primero busque un grupo de ID de usuario, direcciones IP y puertos a través de un usuario conocido. Cuando el usuario quiere encontrar un usuario A específico, el usuario primero pregunta a varios usuarios conocidos que están lógicamente más cerca de A, como el usuario B, el usuario C, el usuario D, B, C y D le dirán al usuario que son. usted conoce el ID, la dirección IP y el puerto del usuario más reciente y, por analogía, este usuario eventualmente podrá encontrar A.
Por lo tanto, el número de búsquedas será del orden de logN, donde N representa el número de personas que preguntan.
De hecho, es un método de hash descentralizado, que básicamente toma una instantánea de los archivos en la red en un momento específico y luego dispersa esta información por toda la red. Para encontrar un archivo específico, la solicitud de búsqueda primero va a cualquier computadora de la red, que luego la reenvía a otra computadora que tenga más información sobre el archivo. La tercera computadora puede tener el archivo en sí o puede continuar a otra computadora con la información correcta. Con este método, normalmente sólo necesitarás saltar dos o tres veces para encontrar fácilmente el archivo que deseas.
Las partes anteriores son un análisis del principio de funcionamiento y el algoritmo de Kad. Muchas personas pueden confundirse después de leerlo, entonces, ¿a qué debemos prestar atención los usuarios comunes?
Es muy simple. Todo lo que tienes que hacer es abrir kad cuando uses emule. Encontrarás dos características obvias
(1) Tu velocidad de descarga se acelerará
p. >(2) La fuente de sus archivos descargados aumentará
Los dos elementos anteriores son más efectivos para lowid y para usuarios que a menudo descargan archivos de fuentes extranjeras, especialmente para aquellos en la red ed2k. con solo unas pocas fuentes o ninguna, la fuente generalmente se puede encontrar en la red kad. Entonces, si usa emule para descargar archivos, básicamente no habrá ninguna fuente, no importa cuánto tiempo lleve, la diferencia es solo la fuente. En cuanto a la pregunta de cuántos números, dado que la red Kad se configura automáticamente, no tienes que distraerte en absoluto, así que abrimosla, ¿por qué no?
Además, cuando buscamos, si utilizamos la búsqueda de red kad, en la mayoría de los casos encontraremos muchas más fuentes de archivos que la búsqueda global de ed2k, lo cual es una buena elección para todos.
Aunque kad aún se encuentra en la etapa experimental, su ascenso es solo cuestión de tiempo. He estado usando kad desde su lanzamiento. Al principio, no mucha gente lo usaba y el efecto no era obvio. . Pero por ahora, antes de publicar, también hice una prueba. Ahora el número de usuarios de kad ha aumentado a pasos agigantados. Encontré al azar un problema para probar y descubrí que la proporción de fuentes de búsqueda de kad representaba el total. La proporción de fuente es 30 o incluso más. Cuanto más tiempo, más obvio será el efecto. Por lo tanto, aquí hacemos un llamado a todos para que abran Kad, para que nuestra velocidad pueda alcanzar un nivel superior. ¡Bienvenidos a la llegada de Kad World lo antes posible!
Ps: Parte de la información técnica de este artículo viene. de sitios web extranjeros. El texto original está en inglés, lo traduje y luego lo cité debido a mis limitados conocimientos de inglés, ¡perdóneme por cualquier error!
Además, el artículo también cita algunos artículos sobre tecnología Kad de sitios web nacionales y extranjeros, pero las citas son demasiado complicadas, así que perdóneme por no citar la fuente del artículo original aquí y le pregunto. ¡Al autor por tu perdón!