FAQ ed2k-fr
ED2K, c'est quoi ?
A la base ED2K est un protocol pour le client P2P (pair-à-pair) eDonkey2000, c'est de là que vient son nom. C'est un protocol basé sur une interraction serveur-client, avec la capacité d'échanger les sources entre les clients.
Le réseau ED2K est basé sur les serveurs à la différence des réseaux de P2P tels que Kazaa, ce qui signifie que la première chose que vous faites lorsque vous lancez aMule est de vous connecter à un serveur (manuellement ou automatiquement).
Une fois connecté avec succès à un serveur, le client peut chercher, soit localement (au serveur connecté) soit globalement (tout les serveurs), n'importe quel fichier et le serveur questionné fournira au client une liste de tout les fichiers qui répondent aux paramètres de recherche.
Si l'utilisateur démarre un téléchargement, le client demandera alors au serveur des sources et le serveur va renvoyer le nom (sous la forme d'adresse IP) des clients qui ont répondu qu'ils avaient bien le fichier demandé.
Ensuite le client distant va commencer à envoyer un chunk entier à votre client aussitôt que vous serrez le premier dans la file d'attente. Et, quand le chunk à été envoyé en entier, vous serez effacé de sa file des envois. Cette façon qu'on les différents chunks de se répendre autour du réseau ED2K fait que même si personne n'a à un instant donné le fichier complet, he bien il peut être complété en téléchargeant les différents chunks à partir de différentes personne ( c'est bien connu que les gens arrêtent de partager un fichier une fois qu'il à été complété).
Remarquez que les client n'envoient que un chunk à la fois à un autre client. Même si un client est à la fois dans la file d'attente des envois pour deux fichiers différents chez un même utilisateur, et arrive en premier pour ses deux fichiers alors cet utilisateur ne lui enverra que un fichier à la fois (celon l'application ED2K que le client utilise, l'autre envoi restera probablement à une priorité maximale dans la file des envois, mais il ne commencera pas tant que l'autre chunk n'a pas été envoyé complètement).
Si les deux utilisateurs ont un HighID le transfert sera effectué directement de client à client (Pair-à-Pair), mais si un des clients à un LowID, la connection sera établie par l'intermédiaire du serveur parceque les LowID ne peuvent pas accepter une connection entrente. A cause de ca, deux client ayant un LowID ne peuvent pas se connecter entre eux.