Transfert · le cœur du P2P

Comment plusieurs PC fabriquent-ils mon fichier ?

eMule ne dépend pas d'une source unique. Plusieurs clients peuvent fournir des zones différentes du même fichier, que votre logiciel réassemble progressivement.

Le multisource

Un fichier, plusieurs robinets.

Chaque source ne possède pas forcément tout le fichier. eMule combine ce que chacune peut fournir.

Alice
Bob
Claire
↓ ↓ ↓
Fichier en reconstruction
La force du système est là.

Si une source disparaît, les autres peuvent continuer. Le fichier n'est pas lié à un serveur ou à une machine unique.

Découpage

Parts puis blocs.

Le fichier est découpé en grandes parts eD2K de 9 728 000 octets. Les transferts eux-mêmes utilisent des morceaux plus petits afin de répartir efficacement les demandes entre plusieurs sources.

PART9 728 000 octets
Vue pédagogique : les petits rectangles symbolisent les blocs demandés à l'intérieur d'une part.
Choisir intelligemment

Rare Part First : sauver ce qui est rare.

Si une part n'existe que chez deux sources alors qu'une autre existe chez cinquante, récupérer la rare en priorité réduit le risque de voir le fichier devenir incomplet sur le réseau.

PART A2 sourcesprioritaire
PART B50 sourcesmoins urgente
eMule n'essaie pas seulement d'aller vite.

Ses choix peuvent aussi favoriser la disponibilité globale des morceaux, ce qui bénéficie au réseau entier.

La fin est différente

Endgame : quand il ne reste presque rien.

Au début d'un téléchargement, de nombreuses parts sont utiles. À 99,9 %, quelques blocs manquants peuvent au contraire dépendre d'une source lente ou intermittente.

1 bloc manque

La stratégie de fin de téléchargement cherche à éviter qu'un seul petit morceau fasse attendre inutilement tout le fichier.

Sous le capot : pourquoi demander plusieurs blocs plutôt qu'un flux continu ?
Le découpage permet de paralléliser le téléchargement, de changer de source, de reprendre après interruption et de vérifier progressivement les données. Le réseau manipule donc des portions identifiables plutôt qu'un long flux indifférencié.
Les octets sont arrivés

Encore une question :
sont-ils corrects ?

MD4 et AICH permettent à eMule de contrôler que les morceaux reçus reconstruisent bien le fichier attendu.