Estadísticas de rendimiento de I2P

He probado i2p ...

Índice

Funciona, pero el rendimiento, la anonimidad y la fiabilidad son muy cuestionables…

i2p+ desktop

TL;DR

Para resumirlo

  • Probé 3 tipos de implementaciones para medir cómo funcionan como proxies (muy similares)
  • Probé 3 tipos de implementaciones de servicios ocultos (i2p+ fue el mejor)
  • La participación en la red no afecta el rendimiento de la red i2p, pero aumenta el consumo de recursos.

I2P es lento. Un ping tarda entre 5 y 10 segundos. Y no está garantizado que no se cuelgue, incluso si tienes una buena conexión.

Breve descripción de qué es

I2P es un protocolo de red sobre IP, utiliza tanto TCP como UDP, tanto IPv6 como IPv4.

La idea principal es similar a la de TOR: pasar los paquetes de red encriptándolos en tiempo real, de manera que

  • el nodo que transmite el paquete no sabe qué hay dentro
  • el nodo que recibe el paquete no sabe quién es el remitente original.

I2P no tiene un método estándar para ver “la gran internet” (clearnet), existen outproxies, pero vamos… TOR es mucho mejor en esto. Lo que sí tiene i2p son “servicios ocultos”. Teóricamente, esos servicios no saben quién los llama y los usuarios no saben en qué nodo está ubicado cada servicio.

Los servicios pueden ser cualquier programa estándar de internet: servidor IRC, servidor web con lo que sea alojado allí, API REST, servidor XMPP o de correo.

Y no hay muchos servicios allí. Aproximadamente 200 sitios? O 300?

Propósito, forma, aspectos morales y legales.

Puedo ver dos motivaciones para alojar un servicio oculto

  • Garantizar (asegurar) la propia anonimidad y privacidad
  • Escapar de la mirada directa del Gran Hermano - no todos viven en países democráticos, algunos gobiernos tiránicos oprimen y reprimen a quien puedan. Pero en este cubo (“escapar”) pondría cualquier actividad ilegal. Es solo un motivo.

Los aspectos morales y legales son complejos. Mi punto de vista (no soy un experto legal, así que no lo tomes como consejo):

Las personas tienen el derecho [moral] a la privacidad. Tienen el derecho [moral] de decir “F.U. No es de tu incumbencia”. Tienen el derecho [moral] de no estar contentas cuando algunos programas o teléfonos móviles publican su ubicación, los satélites toman fotos de sus patios traseros y las publican en Google Street View, y los gobiernos ignoran esta actividad y la falta de contentamiento. Al mismo tiempo, el gobierno tiene, según tengo entendido, el derecho [legal] de invadir la privacidad de las personas, hay algunas condiciones, a veces. Por ejemplo, en Australia, un oficial de policía puede exigirte que desbloquees tu teléfono móvil, lo cual tiene grandes implicaciones morales. Ver la historia de Monica Smith quien fue de alguna manera exigida a desbloquear su teléfono, donde la policía obtendría contactos de manifestantes a favor de la libertad. (Esas eran las épocas de los confinamientos por COVID en Melbourne, los más duros del mundo). La policía retrocedió, pero Monica luego arriesgó tiempo en la cárcel por no cumplir.

La anonimidad es otro gran aspecto de la vida de las personas. Mi punto de vista es que la vigilancia y la desanónimización se usan con demasiada frecuencia solo para doxxing, invasión de la privacidad y acoso. Y es mejor tener reglas claras y procedimientos cuando cualquiera esté permitido usarlas.

Rendimiento

Bien. Aquí vamos.

He medido cuánto tiempo tarda en completar el ping. (HEAD {site}.i2p)

A continuación se muestra la distribución de retrasos de respuesta.

i2p ping times spread

Este gráfico de distribución muestra que la duración esperada de la llamada sería alrededor de 5 segundos.

Establecí un tiempo de espera de 90 segundos, y como ves, algunas solicitudes no se completaron en absoluto. 30 segundos y 60 segundos, supongo que son tiempos de espera del lado del servicio o del router.

i2p overall ping delays spread

Los sitios principales son sitios bien establecidos http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p y similares, un total de 25 de esos. Grupo Extra - conjunto de otros 100+ sitios.

Supuse que los dueños de los sitios principales saben lo que están haciendo, y de hecho, el rendimiento de sus sitios es mejor que el del grupo extra. Pero la diferencia no es enorme - solo 1 segundo (~5 segundos vs ~6 segundos de duración mediana de la llamada). ¡Y! los sitios principales aún se bloqueaban ocasionalmente, como ves en el primer gráfico (distribución de duración de la solicitud).

A continuación se muestra el gráfico de utilidad del tipo de proxy.

i2p proxy type usability

Duraciones de ping medidas de sitios del grupo principal desde diferentes proxies. I2P+ en uno y I2Pd en dos implementaciones diferentes muestran resultados bastante similares.

Ahora la idoneidad para alojar servicios.

i2p service hosting usability

El rojo grueso aquí es I2P+.

Anonimidad

Había entre 4000 y 10000 enrutadores en línea, sus direcciones IP públicas son bien visibles. Así que no podemos hablar de una gran anonimidad aquí.

Consumo de recursos

En mis experimentos, I2Pd consumió ~130MB de RAM + ~7% de CPU.

Muy Bien!

I2P+ consumía ~350+MB de RAM + ~70+% de CPU.

En la configuración de I2P+ he aumentado un poco el límite de RAM, esperando que funcionara mejor. Así que, aquí estamos.

En mis experimentos, la participación en la red no afectó el rendimiento de la red i2p, pero aumentó la carga de CPU aproximadamente en +20%.

Así que si planeas alojar I2Pd - 1vCPU+512MB sería suficiente, creo. Y para I2P+ - al menos 2vCPU+1GB.

La sensación

Es como un Fido, BBS y los buenos tiempos antiguos. Cuando la red es tan pequeña que casi todos se conocen entre sí, solo por apodos.

Es lento. Y vacío.

Pero la sensación es tan analógica.