Scénario pédagogique · temps illustratifs

Le voyage d'un fichier

Akshaan cherche un fichier. Nous allons suivre ce qui se passe depuis la première requête jusqu'au moment où son propre eMule commence à partager le résultat avec le réseau.

Notre fichier témoin

Un seul fichier, beaucoup de monde.

Les horaires ci-dessous servent uniquement à raconter le mécanisme. Ils ne représentent pas des temps garantis ou mesurés.

BigBuckBunny.mkv · scénario fictif

Nom lisible pour l'utilisateur · hash eD2K comme identité technique · plusieurs sources réparties sur le réseau.

00:00

Akshaan lance la recherche

Il tape le nom du fichier. eMule peut envoyer la recherche vers son serveur eD2K et/ou vers Kad.

Le texte sert à trouver. Le hash servira ensuite à identifier le vrai contenu.
00:01

Les résultats arrivent

Plusieurs noms peuvent correspondre. eMule regroupe les informations autour des hashes et des tailles afin que l'utilisateur choisisse le bon contenu.

00:03

Le fichier est sélectionné

À partir de maintenant, le hash eD2K devient la référence. Le nom peut changer ; l'identité du contenu reste la même.

Nom affiché : BigBuckBunny.mkv\nIdentité réseau : hash eD2K [16 octets]
00:04

eMule cherche les sources

Serveur, Kad et bientôt Source Exchange peuvent répondre à la même question : « qui possède des morceaux de ce hash ? »

Serveur ─┐\nKad ─────┼──► Alice · Bob · Claire · David…\nSX ──────┘
00:05

Premier contact avec Alice

Une connexion s'établit. HELLO et HELLOANSWER permettent aux deux clients de dire qui ils sont et quelles extensions ils comprennent.

Large Files, Source Exchange, SecureIdent, Kad, obfuscation… les capacités sont annoncées au lieu d'être supposées.
00:06

Alice a le fichier… mais pas de slot libre

Akshaan entre dans sa file d'attente. Trouver une bonne source ne veut donc pas dire télécharger immédiatement.

UPLOAD D'ALICE\n1 Marc ← transfert\n2 Julie\n3 Eric\n…\n74 Akshaan
00:29

eMule ne harcèle pas Alice

Il attend avant de revenir demander son état. Les reasks espacés évitent que des millions de relations client-client saturent le réseau en messages de contrôle.

La valeur historique emblématique est d'environ 29 minutes pour le file reask.
00:47

Un slot s'ouvre

Alice commence à envoyer des blocs. Pendant ce temps, Bob et Claire peuvent fournir d'autres zones du même fichier.

0 %fichier en construction100 %
01:30

Le puzzle avance en parallèle

eMule choisit les zones utiles, favorise les parties rares quand c'est pertinent et peut déplacer une source entre plusieurs téléchargements grâce à A4AF.

02:10

Une part est terminée : contrôle

Le MD4 de la part est comparé au hash attendu. Si quelque chose ne correspond pas, eMule sait qu'il ne doit pas accepter silencieusement les données.

MD4 calculé : 37AF…\nMD4 attendu : 37AF…\nRésultat : ✓ part valide
FIN

Le fichier est complet

Les dernières zones sont récupérées et vérifiées. Le téléchargement peut être finalisé.

+1

Akshaan devient à son tour une source

Le fichier rejoint le partage. Le serveur peut être informé et Kad peut recevoir de nouvelles annonces. Un autre utilisateur pourra maintenant télécharger certains morceaux depuis Akshaan.

Avant : Alice ───► Akshaan\nAprès : Akshaan ───► un autre client
Le point important

À aucun moment le serveur eD2K ou Kad n'a eu besoin d'héberger le fichier. Ils ont surtout aidé Akshaan à découvrir le contenu et les personnes qui pouvaient lui en fournir les morceaux.

La suite

Nous avons traversé le réseau.
Il reste à ouvrir chaque machine.

Les prochaines pages détailleront recherche, sources, connexion, file d'attente, transfert, intégrité, publication et enfin le protocole lui-même.