Depuis la version v.42.1, eMule utilise deux réseaux différents – le réseau
eD2k classique, basé sur les serveurs et un tout nouveau réseau sans serveur,
basé sur Kademlia.
Par nature, les deux réseaux disposent des mêmes
fonctions. Ils permettent tous deux, par des moyens différents, de trouver les
autres utilisateurs et les fichiers que vous désirez télécharger.
Identification du fichier
Tous les fichiers reçoivent une valeur de
hachage. Cette valeur est une combinaison de chiffres et de lettres qui permet
l'identification unique de chaque fichier. Un fichier peut avoir de nombreux
noms, mais cela ne modifie en rien sa valeur de hachage. Chaque utilisateur a
donc la possibilité de trouver toutes les sources d'un fichier précis, quels que
soient les noms qui lui sont donnés.
De plus, les fichiers sont divisés en
morceaux de données d'une taille de 9,28 Mo. Chacune de ces parties reçoit aussi
une valeur de hachage. Par exemple, un fichier de 600 Mo contient 65 parties.
Chaque partie possède une valeur de hachage. Puis, afin que le fichier complet
soit reconnu sur le réseau, sa valeur de hachage est créée à partir des valeurs
de toutes ses parties élémentaires.
Identication des autres clients
De la même manière que les
fichiers, chaque utilisateur du réseau reçoit un hachage unique et permanent.
Cette identification de l'utilisateur est hautement sécurisée par
l'établissement d'une liaison basé sur une clé publique / privé afin d'éviter les
abus.
Le téléchargement des données
Il est important de comprendre que le
téléchargement en lui-même n'est pas affecté par le choix du réseau. La
topologie du réseau est seulement relative à la recherche des fichiers et des
clients qui en sont les sources.
Une fois la source trouvée, votre client la
contacte. Elle vous réserve alors une place dans sa file d'attente, pour ce
fichier précis. Lorsque vous atteignez la première place de cette file, après un
certain temps d'attente, vous êtes autorisé à recevoir des données.
La recherche des fichiers
Une fois qu'il est connecté au réseau, le
client peut rechercher des noms de fichiers par mots clés. La recherche peut
être locale ou globale. Une recherche locale (seulement sur le serveur auquel
vous êtes connecté), est plus rapide mais affiche moins de résultats. Une
recherche globale (sur tous les serveurs du réseau), prend plus de temps mais
offre plus de résultats. Chaque serveur vérifie les mots clés dans sa base de
données et retourne tous les noms de fichiers (ainsi que leur valeur de hachage)
qui correspondent à ces mots clés.
Recherche des sources de fichiers
Il est possible d'ajouter les
téléchargements par l'intermédiaire de la fonction de recherche d'eMule ou grâce
à un format eD2k spécial de liens, offerts sur de nombreux sites
internet.
Une fois qu'ils sont dans la liste des téléchargements, eMule
demande tout d'abord au serveur local (celui auquel elle est connectée), puis à
tous les autres serveurs du réseau, des sources pour ces téléchargements. Le
serveur cherche les valeurs de hachage dans sa base de données et renvoie les
clients qui les possèdent.
Les sources sont d'autres clients qui ont au moins
téléchargé une partie élémentaire complète (9,28 Mo) du fichier correspondant à
la valeur de hachage.
Les recherches sur Kademlia
Sur ce réseau, quelles que soient vos
recherches, noms de fichiers, sources de téléchargements ou autres utilisateurs,
l'opération s'effectue de manière identique.
Aucun serveur ne conserve la
trace des clients et des fichiers qu'ils partagent. Ceci doit donc être effectué
par chacun des membres du réseau - par essence, tout client est aussi un petit
serveur.
Comme chaque client est identifié par une valeur de hachage unique,
l'idée de Kademlia est d'associer une certaine "responsabilité" sur la base de
ce hachage. Chacun des clients du réseau Kademlia fonctionne comme un serveur
pour certains mots clés et sources. Le hachage du client détermine pour quels
mots clés et sources ce comportement sera adopté.
Ainsi, le but de tous les
types de recherches est de trouver les clients qui ont la responsabilité de
cette recherche précise. Cela s'effectue par un calcul compliqué de la distance
possible du client cible, en demandant aux autres clients quelle est la route la
plus courte qui mène à lui.
S'applique à la version : .42a+
Copyright © 2007-2008 by Team © #eMule-french