Statistiche sulle prestazioni di I2P

Ho testato l'i2p ...

Indice

Funziona, ma le prestazioni, l’anonomatà e l’affidabilità sono molto discutibili…

i2p+ desktop

TL;DR

Per sintetizzare

  • Testati 3 tipi di deployment per misurare come funzionano come proxy (molto simili)
  • Testati 3 tipi di deployment di servizi nascosti (i2p+ è stato il migliore)
  • La partecipazione al flood non influisce sulle prestazioni della rete i2p, ma aumenta il consumo delle risorse.

I2P è lento. Un singolo ping richiede 5-10 secondi. E non è garantito che non si verifichi un timeout, anche se si ha una buona connessione.

Breve descrizione di cosa è

I2P è un protocollo di rete sopra IP, utilizza sia TCP che UDP, e sia IPv6 che IPv4.

L’idea principale è simile a TOR: passare i pacchetti di rete criptandoli in tempo reale, in modo che

  • il nodo che trasmette il pacchetto non sappia cosa contiene
  • il nodo che riceve il pacchetto non sappia l’originale mittente.

I2P non ha un metodo standard per visualizzare “l’internet grande” (clearnet), ci sono outproxies, ma andiamo… TOR è molto meglio in questo. Quello che I2P ha sono “servizi nascosti”. Teoricamente questi servizi non sanno chi li chiama e gli utenti non sanno in quale nodo è ubicato ciascun servizio.

I servizi possono essere qualsiasi programma standard internet - server IRC, server web con qualsiasi cosa ospitata lì, API REST, XMPP o server di posta.

E non ci sono molti servizi là. Circa 200 siti? O 300?

Scopo, modo, aspetti morali e legali.

Posso vedere due motivazioni per ospitare un servizio nascosto

  • Garantire (assicurare) la propria anonimia e privacy
  • Fuggire dal controllo diretto del “Grande Fratello” - non tutti vivono in paesi democratici, alcuni governi tirannici opprimono e reprimono chiunque possano. Ma in questo bucket (“fuggire”) metterei qualsiasi attività illegale. È solo un motivo.

Gli aspetti morali e legali sono complessi. La mia visione (non sono un esperto legale, quindi non prenderla come consiglio):

Le persone hanno il [diritto morale] alla privacy. Hanno il [diritto morale] di dire “F.U. Non è affar tuo”. Hanno il [diritto morale] di non essere felici quando alcuni programmi o telefoni cellulari pubblicano la loro posizione, i satelliti scattano foto dei loro cortili e le pubblicano su Google Street View, e i governi ignorano questa attività e questa mancanza di felicità. Allo stesso tempo, il governo ha, a quanto ne so, il [diritto legale] di invadere la privacy delle persone, in alcuni casi. Ad esempio, in Australia, un agente di polizia può richiedere di sbloccare il telefono cellulare, che ha enormi implicazioni morali. Vedi la storia di Monica Smith che in qualche modo fu richiesta di sbloccare il suo telefono, dove la polizia avrebbe ottenuto i contatti di manifestanti a favore della libertà. (Quei tempi erano quelli del lockdown da COVID a Melbourne, il più severo al mondo). La polizia si ritirò, ma Monica rischiò il carcere per non aver obbedito.

L’anonimato è un altro aspetto importante della vita delle persone. La mia visione è che la sorveglianza e la deanonimizzazione vengono troppo spesso utilizzate solo per doxxing, invasione della privacy e bullismo. E meglio avere regole chiare e procedure quando chiunque è autorizzato a usarle.

Prestazioni

OK. Ecco qui.

Ho misurato quanto tempo impiega per completare il ping. (HEAD {site}.i2p)

Di seguito è riportata la distribuzione dei ritardi di risposta.

i2p ping times spread

Questo grafico a dispersione mostra che la durata prevista della chiamata sarebbe intorno ai 5 secondi.

Ho impostato il timeout a 90 secondi, e come puoi vedere alcuni richieste non sono completate affatto. 30 secondi e 60 secondi probabilmente sono alcuni timeout del lato del servizio o del router.

i2p overall ping delays spread

I siti principali sono siti ben stabiliti http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p e simili, in totale 25 di questi. Gruppo Extra - insieme di altri 100+ siti.

Ho supposto che i proprietari dei siti principali sappiano cosa stanno facendo, e infatti le loro prestazioni sono migliori rispetto al gruppo extra. Ma la differenza non è enorme - solo 1 secondo (~5 secondi vs ~6 secondi durata media della chiamata). E! i siti principali hanno comunque occasionalmente timeout, come puoi vedere nel primo grafico (distribuzione della durata della richiesta).

Di seguito è il grafico di utilizzabilità per tipo di proxy.

i2p proxy type usability

Misurata durata del ping dei siti del gruppo principale da diversi proxy. I2P+ su uno e I2Pd su due diversi deployment mostrano risultati abbastanza simili.

Ora la convenienza per l’hosting dei servizi.

i2p service hosting usability

Il rosso spesso qui è I2P+.

Anonimato

Erano online 4000-10000 router, i loro indirizzi IP pubblici sono ben visibili. Quindi non possiamo parlare di un’enorme anonimato qui.

Consumo delle risorse

In miei esperimenti, I2Pd ha consumato ~130MB RAM + ~7% CPU.

Molto bello!

I2P+ stava consumando ~350+MB RAM + ~70+% CPU.

Nella configurazione I2P+ ho aumentato un po’ l’allocazione di RAM, sperando che performsse meglio. Ecco quindi.

Nelle mie esperienze, la partecipazione al flood non influiva sulle prestazioni della rete i2p, ma aumentava il carico CPU circa del +20%.

Quindi, se stai pianificando di ospitare I2Pd - 1vCPU+512MB sarebbero sufficienti, credo. E per I2P+ - almeno 2vCPU+1GB.

La sensazione

È come un Fido, BBS e bei vecchi tempi. Quando la rete è così piccola che quasi tutti si conoscono, solo per i nickname.

È lento. E vuoto.

Ma la sensazione è così analogica.