"Filtrer le P2P... Vaste programme !"

Pour ceux qui connaissent un peu l'histoire des protocoles de
transfert et communication P2P les plus connus, je crois qu'il y a une
évidence : ceux qui marchent étaient simples à la base, et se sont
alourdis de mesures anti-filtrage qui ont accaparé le temps de cerveau
disponible de leurs développeurs respectifs, plus en tout cas que
l'optimisation.

Le principe dont on parle, trouver le contenu à un nombre minimal de
hop, a une contrepartie majeure : il faut dupliquer le contenu pour
maximiser les chances de le trouver. Et annoncer tout le contenu
disponible depuis chaque point du réseau.

A contrario, pour privilégier la distribution et réplication du
contenu rare, il faut prioritariser les transferts lointains.

Mais puisque pour optimiser les ratios avec les voisins, il faut
fournir un maximum de paquets sur les contenus les plus demandés, on
se retrouve avec une race-condition.

Un autre problème à annoncer le plus de contenu possible pour
augmenter la probabilité de hit voisin, c'est :
- Le besoin en capacité de stockage sur chaque noeud
- Capacité de stockage à combiner avec une robustesse suffisante pour
supporter assez d'IOPS (emule tue les disques durs, plus que
bittorrent, à cause du nombre de transferts simultanés possibles et
des seek que ça crée sur les têtes de lecture)
- Le besoin de chiffrement et discrétion car plus de contenu annoncé =
plus de chances de diffuser un contenu potentiellement interdit au
partage

Qui dit chiffrement et discrétion (pour passer au travers des DPI) dis
complication de l'algorithme et possible réduction de l'efficacité en
taux de transfert pur (overhead, leurres, ...)

Implémenter une recherche en prioritarisant les échanges sur les
voisins impose aussi une exploration de la topologie du réseau, qui se
fait via ICMP à priori (ou un protocole spécifique dont la signature
sera carractéristique). Il serait alors facile de paralyser le système
: forger des réponses ICMP foireuses au niveau des box.

Enfin, les topologies de réseau peuvent différer du tout au tout en
fonction des ISP, de leurs box, des mesures de filtrage en place, du
média d'accès, de la politique de routage... Aucun intérêt sur le
réseau FT de chercher un voisin sur le même LNS, puisqu'il est à 60ms
minimum. Sur un réseau câble, puisque l'upstream est réduit et
mutualisé, il faut être très vigilant à ne pas interférer avec les ups
rare des voisins. Sur un accès radio / 3G, on peut se retrouver avec
des topologies très hétérogènes au sein du même réseau. La
modélisation des optimisations pour chaque cas de figure impose une
R&D lourde et risque d'aboutir à une usine à gaz.

Alors si on limite la spec à privilégier les échanges internes à un
seul AS, ça semble simple, et ça peut arranger certains ISP, mais au
détriment de la qualité globale (exhaustivité, performance et
robustesse du réseau P2P). Si on cherche à optimiser tous les cas de
figure, pfiouuu... Vaste programme !

Des volontaires ?

-- 
Jérôme Nicolle
---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à