Kad es una red de intercambio peer-to-peer (P2P) que usa una variante del protocolo Kademlia. Fue creada por los desarrolladores de eMule, y es incompatible con la red Overnet a pesar de que ambas usan esencialmente el mismo protocolo. La mayoría de usuarios de la red Kad también están conectados a
servidores de la red eDonkey. Los clientes de Kad normalmente consultan
nodos conocidos de la red eDonkey para encontrar un nodo inicial en la
red Kad.
Uso
La red Kad usa UDP para:
- Encontrar fuentes para hashes ed2k.
- Búsquedas de hashes ed2k basadas en palabras clave del nombre del archivo.
- Encontrar comentarios y valoraciones de los archivos (hashes).
- Proveer buddy services(?) a nodos con cortafuegos (Low ID).
- Almacenar direcciones, comentarios y (palabras clave de) nombres de archivo.
En realidad, en la red Kad no se transfieren archivos a través de
una red P2P. En cambio, cuando se inicia la transferencia de un
archivo, los clientes conectan directamente uno con el otro (usando la
red IP estándar).
Como todas las redes descentralizadas, la red Kad no necesita servidores de ninguna clase. Igualmente, no puede ser inutilizada apagando un subconjunto de de nodos
clave. A pesar de todo, como los nodos están comunicándose
continuamente entre ellos, puede producir una mayor carga en máquinas
individuales en comparación a conectarse a una base de datos
centralizada.
Clientes
Sólo tres grandes clientes soportan actualmente la implementación de
la red Kad. Sin embargo, comprenden más del 80% de la base de usuarios
y probablemente cerca del 95% de las instalaciones ed2k. Dichos
clientes son:
- aMule: Un fork multiplataforma de lMule y xMule enfocado a sistemas UNIX.
- MLDonkey: Un cliente de software libre que funciona en varios sistemas y soporta varios protocolos de intercambio más.
- eMule: Un cliente de código abierto para Windows. Es el más popular, con un 80% de usuarios. También funciona en Linux a través de Wine.
- Lphant: Un cliente que soporta también BitTorrent.
Existen cierto número de variantes menores o forks de eMule que soportan las mismas funciones básicas que eMule.
Búsquedas
La red Kad soporta búsquedas de archivos por nombre y por otras
características secundarias como tamaño, extensión, bitrate, etc.
Kademlia
Kademlia es un protocolo de la capa de aplicación diseñado para redes P2P
descentralizadas. Especifica la estructura de la red, regula la
comunicación entre nodos y el intercambio de información. Los nodos se
comunican entre sí usando el protocolo sin conexión UDP (ver modelo OSI). Con Kademlia se crea una nueva red virtual sobre una red LAN/WAN existente, como Internet, en la cual cada nodo de la red es identificado por un número (ID del Nodo).
Como Kademlia es un protocolo que no requiere servidores, desaparece
el cuello de botella que se creaba con la necesidad de estos. Ahora, en
vez de conectarse a un servidor, se conecta a un cliente (con una
dirección IP y puerto conocidos), que soporte el protocolo Kademlia.
Esto se llama Bootstrapping.
Cuando se busca, cada cliente actúa como un pequeño servidor y se le
da la responsabilidad de ciertas palabras clave o fuentes. Esto añade
complejidad al encontrar fuentes, ya que no existe un servidor central
al que preguntar, pero a cambio tendrás tu consulta propagada a través
de la red.
¿Es Kademlia lo mismo que Overnet o Kad?
No, Kademlia es un protocolo, y las redes Overnet y Kad son eso, redes. Overnet fue una variante del protocolo Kademlia y era la red nativa sin servidores del desaparecido programa eDonkey, mientras que Kad
usa otra variante distinta y es la red nativa sin servidores de los
clientes *Mule. Aún así, ambas redes usan esencialmente el mismo
protocolo (Kademlia), pero diferentes variantes, incompatibles entre sí. El cliente MLDonkey soporta ambas. El protocolo Kademlia es un desarrollo abierto y público. [1] ...
Programas con soportes del protocolo
Fuente: Wikipedia