Básico
Identificación de ficheros
A todos los ficheros se les asigna un valor hash. El hash es una combinación de números y letras que identifican a un archivo de forma única. Muchos nombres de ficheros pueden asociarse con un fichero, pero esto no cambia el valor del hash. Esto permite a cada usuario encontrar todas las fuentes de un fichero aunque no coincida con el nombre de fichero que cada usuario le dio. Cada fichero esta partido en 9.28 MB de datos. Cada parte tiene un valor hash. Por ejemplo un fichero de 600 MB contendrá 65 partes. A cada parte se le da un valor hash. Entonces el archivo hash es creado a partir de esas hashes para que puedan ser usadas en la red.
Identificando otros clientes.
Como los archivos hash, cada usuario en la red obtiene un único y permanente hash. Esta identificación de usuarios esta asegurada por una clave publica y privada tipo hash para prevenir engaños.
Descargando datos.
Es importante entender que en eMule la descarga actual no se ve afectada por la red que hallas elegido. La topología de la red esta solo relacionada a la búsqueda de ficheros y clientes que tengan ese fichero.
Una vez que una fuente es encontrada, tu cliente contacta con ella. La fuente especifica un numero en la cola para esa descarga en concreto. Cuando estas en la primera posición de la lista de espera después de un cierto tiempo de espera estas preparado para recibir datos.
Servidor clásico basado en eD2k
Conectando a la red.
El tema de este punto es el servidor eD2k. Cada cliente tiene que conectar a un servidor para entrar en la red.
Cuando se conecta tu cliente a un servidor, el servidor mira si otros clientes pueden libremente conectarse a tu cliente. Si se puede el servidor asigna a tu cliente el llamado "HighID" (N.T: Número de identificación alto). Si la comunicación esta bloqueada, el servidor te asigna un "lowID". (N.T: Numero de identificación Bajo).
después de que el ID sea asignado, eMule te mandara una lista de los ficheros compartidos en el servidor. El servidor añade los nombres de ficheros y sus valores hash que le mandas a su base de datos.
Buscando Ficheros
Una vez conectado a la red, el cliente puede buscar palabras claves en nombres de ficheros. Una búsqueda puede ser local o global, Si es una búsqueda local (busca solo en el servidor al que estas conectado), las búsquedas son mas rápidas pero con menor resultado. Si las búsquedas son globales (busca en todos los servidores de la red), tardara mas tiempo pero los resultados serán mejores. Cada servidor busca las palabras clave en su base de datos local y devuelve cualquier nombre de fichero (con su valor hash) que coincide con la palabra clave.
Buscando fuentes para un fichero
Las descargas pueden ser añadidas por el buscador de eMule o por un link especial en formato eD2k ofrecido por muchos web sites.
Desde que están el la lista de descargas, eMule primero mira en el servidor local (al que estas conectado) y después en los demás servidores de la red, para encontrar fuentes de una descarga en particular. El servidor mira el valor hash del fichero en su base de datos y entonces devuelve el resultado al cliente para que tenga conocimiento de ello.
las fuentes son otros clientes que tienen al menos descargada una parte entera (9,28 MB) del fichero que coincide con el hash.
Kademlia red sin servidor.
Conectando a la red
El único requisito para conectar a esta red es la ip y puerto de cualquier eMule ya conectado. Esto es llamado Boot Strap (N.T: "Cadena de arranque" seria algo similar).
Una vez un cliente esta en una red, el cliente prueba si otros clientes pueden ser conectados libremente. Este proceso es muy similar al HighID/LowId usado en los servidores. Si puedes ser conectado, se te asigna una ID (similar a la HighID) y se te marca con status "abierto". Si no puedes ser conectado, se te asigna un estado de "detrás de un firewall" (N.T: bloqueado). Actualmente usuarios con estado bloqueado no están soportados y necesitaras conectarte a un servidor. Soporte para usuarios con firewall será añadido mas tarde.
Buscando en Kadmlia
En esta red no importa lo que estés buscando. Es una búsqueda por nombres de fichero, por fuentes de descarga o por otros usuarios, todo el funcionamiento es muy parecido.
No hay servidores que guarden el seguimiento de los clientes y los ficheros que comparten así que debe ser hecho por cada cliente participante en la red - en esencia, cada cliente es también un pequeño servidor.
Desde que cada cliente es identificado por un único valor hash, la idea de Kademlia es asociar una cierta "responsabilidad" basada en ese hash. Cada cliente en la red Kademlia trabaja como un servidor para ciertas palabras claves o fuentes. El hash del cliente determina una palabra clave o fuente especifica.
Sumario
Ambas redes tienen un concepto totalmente diferente para archivar lo mismo: Buscando archivos y encontrando fuentes de un archivo. El principal punto de la red Kademlia es ser totalmente independiente de los servidores y una escalabilidad mejorada. Los servidores solo pueden manejar un cierto número de usuarios y que un gran servidor se venga abajo es una gran desventaja. Kademlia es auto independiente y se regula a si mismo para un mejor rendimiento dependiendo del numero de usuarios y sus cualidades de conexión. Y además es mucho más resistente frente a una perdida de red.
Se aplica a la versión: .42a+
Ultima Actualización: 2004-02-27, Monk (Translated by KeDaO, Traducido por KeDaO)
This post has been edited by KeDaO: 14 April 2004 - 11:03 PM