Statistiques de performance I2P
J'ai testé i2p ...
Il fonctionne, mais les performances, l’anonymat et la fiabilité sont très discutables…
TL;DR
En résumé
- J’ai testé 3 types de déploiements pour mesurer comment ils fonctionnent en tant que proxys (très similaires)
- J’ai testé 3 types de déploiements de services cachés (i2p+ était le meilleur)
- La participation à la flood n’affecte pas les performances du réseau i2p, mais augmente la consommation de ressources.
I2P est lent. Un ping prend 5 à 10 secondes. Et il n’est pas garanti qu’il ne se bloque pas, même si vous avez une bonne connexion.
En bref, c’est quoi
I2P est un protocole réseau au-dessus d’IP, il utilise à la fois TCP et UDP, ainsi que IPv6 et IPv4.
L’idée principale est similaire à celle de TOR : faire transiter les paquets réseau en les chiffrant en temps réel, de sorte que
- le nœud qui transmet le paquet ne sait pas ce qu’il contient
- le nœud qui reçoit le paquet ne sait pas l’expéditeur original.
I2P n’a pas de moyen standard pour accéder à l’« internet normal » (clearnet), il existe des outproxies, mais soyons honnêtes… TOR est bien meilleur à cet égard. Ce que I2P propose, c’est des « services cachés ». Théoriquement, ces services ne savent pas qui les appelle et les utilisateurs ne savent pas quel nœud chaque service est situé.
Les services peuvent être n’importe quel programme standard d’internet – serveur IRC, serveur web avec n’importe quel contenu hôte, API REST, serveur XMPP ou de courriel.
Et il n’y a pas beaucoup de services là-bas. Environ 200 sites ? Ou 300 ?
Objectif, moyen, aspects moraux et juridiques.
Je vois deux motivations pour héberger un service caché
- Assurer (s’assurer) de son anonymat et de sa vie privée
- Échapper à la surveillance directe du « Grand Frère » – pas tous les gens vivent dans des pays démocratiques, certains gouvernements tyranniques oppriment et répriment quiconque ils peuvent. Mais dans ce compartiment (« échapper »), je mettrais toute activité illégale. C’est juste une motivation.
Les aspects moraux et juridiques sont complexes. Mon avis (je ne suis pas un expert juridique, donc ne le prenez pas comme conseil) :
Les gens ont le [droit moral] à la vie privée. Ils ont le [droit moral] de dire « F***. Cela ne vous regarde pas ». Ils ont le [droit moral] d’être… disons… pas contents, lorsque certains programmes ou téléphones mobiles publient leur localisation, les satellites prennent des photos de leurs jardins et les publient sur Google Street View, et les gouvernements ignorent cette activité et cette insatisfaction. En même temps, le gouvernement a, à ma connaissance, le [droit juridique] d’intriger la vie privée des gens, sous certaines conditions, parfois. Par exemple, en Australie, un policier peut exiger que vous déverrouillez votre téléphone mobile, ce qui a énormément d’implications morales. Voir l’histoire de Monica Smith qui a été quelque part exigeée de déverrouiller son téléphone, où la police aurait obtenu les contacts de manifestants pro-liberté. (C’étaient les jours des confinements liés au COVID à Melbourne, les plus durs du monde). La police a reculé, mais Monica a alors risqué de passer en prison pour non-respect.
L’anonymat est un autre grand aspect de la vie des gens. Mon avis est que la surveillance et la dénonciation sont trop fréquemment utilisées uniquement pour le doxxing, l’invasion de la vie privée et le harcèlement. Et mieux vaut avoir des règles claires et des procédures lorsqu’on autorise quiconque à l’utiliser.
Performances
OK. Allons-y.
J’ai mesuré combien de temps il faut pour terminer un ping. (HEAD {site}.i2p)
Ci-dessous, la dispersion des délais de réponse.
Ce graphique de dispersion montre que la durée attendue d’appel serait d’environ 5 secondes.
J’ai défini un délai d’attente de 90 secondes, et comme vous pouvez le voir, certaines requêtes n’ont même pas terminé. 30 secondes et 60 secondes, je suppose, sont des délais d’attente côté service ou côté routeur.
Les sites principaux sont des sites bien établis http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p et similaires, au total 25 de ces sites. Groupe Supplémentaire – ensemble d’autres 100+ sites.
J’ai supposé que les propriétaires des sites principaux savaient ce qu’ils faisaient, et en effet, leurs performances sont meilleures que celles du groupe supplémentaire. Mais la différence n’est pas énorme – juste 1 seconde (~5 secondes vs ~6 secondes médiane de durée d’appel). ET ! les sites principaux ont parfois également des temps d’attente, comme vous pouvez le voir sur le premier graphique (dispersion de la durée de la requête).
Ci-dessous est le graphique d’utilisabilité par type de proxy.
Durées de ping mesurées des sites du groupe principal à partir de différents proxys. I2P+ sur un et I2Pd sur deux déploiements différents montrent des résultats assez similaires.
Maintenant, l’adaptabilité à l’hébergement de services.
Le rouge épais ici est I2P+.
Anonymat
Il y avait entre 4000 et 10 000 routeurs en ligne, leurs adresses IP publiques sont bien visibles. Donc, nous ne pouvons pas parler d’anonymat important ici.
Consommation de ressources
Dans mes expériences, I2Pd a consommé environ 130 Mo de RAM + environ 7 % du CPU.
I2P+ consommait environ 350 Mo + 70 % du CPU.
Dans la configuration I2P+, j’ai un peu augmenté l’autorisation de RAM, espérant qu’il fonctionnerait mieux. Donc, voilà.
La participation à la flood dans mes expériences n’affectait pas les performances du réseau i2p, mais augmentait la charge du CPU d’environ +20 %.
Donc, si vous prévoyez d’héberger I2Pd – 1 vCPU + 512 Mo suffiront, je pense. Et pour I2P+ – au moins 2 vCPU + 1 Go.
L’impression
C’est comme un Fido, un BBS et de bons vieux temps. Quand le net est si petit que presque tout le monde se connaît, juste par des pseudos.
C’est lent. Et vide.
Mais l’impression est si analogique.