Un client eDonkey ou eMule B doit contacter un autre client A (peer to peer) pour obtenir une 'source' ou morceau de fichier. Or pour contacter un peer, il faut connaître son adresse IP. Cette adresse IP, le donkey la détermine grâce à l'ID du peer A que le serveur lui a communiqué, dans le résultat d'un search.
Si le ID de A est un 'HighID', B tente directement une connexion TCP vers le port 4662 de A. Le peer to peer en natif!
Si le ID de A est 'faible' (par opposition à HighID), l'adresse IP ne peut pas être calculée, le peer n'est pas joignable directement.
Pour le joindre, il faut que le client B envoie une trame spéciale au serveur du client A (sur son port UDP 4665). Sur réception d'une demande de ce type, le serveur envoie au client A sur sa liaison TCP 4661 la demande du client B, en indiquant l'adresse IP et le port du client B. Le client A peut ensuite essayer de contacter le client B sur son port 4662. Ce mécanisme est impossible si A et B sont en LowID. De plus, la demande du client B est envoyée en UDP au serveur de A, or UDP est un protocole moins fiable que TCP. Les serveurs étant saturés, une bonne partie des trames UDP 4665 sont perdues sur le réseau Internet.
Conclusion:
- si un client eDonkey obtient un LowID, il n'est pas joignable par un autre client LowID. Il réduit donc les probabilités de croisement des sources.
- Il engendre une surcharge de son serveur qui sera sollicité par les clients eDonkey désireux d'obtenir des sources chez le LowID. Les serveurs ayant une bande passante limitée sont obligés de réduire leur nombre maximal d'utilisateurs. le réseau eDonkey fonctionne moins bien.
L'expérimentation commencée le 22 mai sur lugdunum et ed2k.ch a permis de constater la baisse du trafic engendrée lorsque le taux de LowID diminue sur un serveur. Fran_48 a fait une étude mathématique à ce sujet.
Si trop de personnes ont un LowID, les téléchargements ne peuvent plus se faire, c'est mathématique (par le jeu des probabilités).
- Deux clients ayant un LowID ne peuvent pas communiquer entre eux.
- Deux clients ayant un HighID peuvent communiquer dans les deux sens: situation optimale pour eux mais aussi pour la bonne santé du réseau eDonkey. Les serveurs ne sont pas sollicités pour jouer le rôle de relais. Les serveurs effectuent des recherches, ce pour quoi ils sont faits.