Queue · trouver une source ne suffit pas

37 sources… et pourtant 0 ko/s ?

Parce qu'une source peut être connue sans avoir de place libre pour vous. eMule organise l'upload avec des files d'attente, des crédits locaux et des rendez-vous périodiques.

Le principe

Source trouvée ≠ slot disponible.

Une source peut avoir des dizaines ou des centaines de clients en attente. Son débit montant est limité : elle ne peut donc servir tout le monde en même temps.

AAliceupload disponible : limité
1MarcTRANSFERT
2Julieattente
3Éricattente
74Akshaanattente
Beaucoup de sources n'impliquent pas un démarrage instantané.

Chaque source possède son propre état : occupée, hors ligne, LowID, partie non disponible… ou simplement une longue file devant vous.

La mémoire de la réciprocité

Les crédits sont locaux.

eMule ne gère pas une monnaie mondiale. Si vous avez envoyé des données à Alice, c'est Alice qui conserve l'information et peut vous favoriser lorsqu'elle vous retrouve.

Akshaanenvoie à Alice
250 Mo →
Alicese souvient de cet échange
Et Bob ?

Bob ne récupère pas automatiquement les crédits qu'Alice vous accorde. Le mécanisme est essentiellement pair-à-pair, pas centralisé.

Éviter l'usurpation

SecureIdent : prouver que c'est bien vous.

Un UserHash seul peut être copié. SecureIdent ajoute une preuve cryptographique permettant de démontrer que le client possède bien l'identité associée aux crédits.

UserHash« Voici mon identité »
+
SecureIdent« Et voici la preuve »
Une source, plusieurs fichiers

A4AF évite de faire la queue trois fois.

Si Alice possède plusieurs fichiers recherchés par Akshaan, eMule garde en général une relation active principale et marque les autres comme Asked For Another File.

Alice
Film Ademandé maintenant
Film BA4AF
Film CA4AF
Le rendez-vous

Le fameux reask.

eMule ne maintient pas en permanence une connexion TCP vers toutes les sources. Il revient périodiquement vérifier sa situation et maintenir la relation utile.

29minutes environ
« Je suis toujours là. Et toi ? »

Le reask permet notamment de rafraîchir l'état de la source, la file et la disponibilité du fichier sans saturer le réseau de demandes constantes.

Sous le capot : pourquoi ne pas demander toutes les 30 secondes ?
Parce qu'un réseau P2P compte énormément de relations simultanées. Réduire brutalement les délais multiplierait les paquets de contrôle, les connexions et la charge chez tous les pairs. Les temporisations font partie de la régulation du réseau.
Le slot s'ouvre

Votre tour arrive.
Les morceaux commencent à circuler.

La prochaine étape montre comment plusieurs sources peuvent construire ensemble le même fichier.