Статистика производительности I2P

Я тестировал i2p ....

Содержимое страницы

Это работает, но производительность, анонимность и надежность вызывают очень большие сомнения…

i2p+ desktop

TL;DR

Короче говоря

  • Проверены 3 типа развертываний для измерения их работы в качестве прокси (очень похожие)
  • Проверены 3 типа развертываний скрытых сервисов (i2p+ был лучшим)
  • Участие в Flood не влияет на производительность сети i2p, но увеличивает потребление ресурсов.

I2P медленный. Один пинг занимает 5-10 сек. И не гарантируется, что он не завершится таймаутом, даже если у вас хорошее соединение.

Кратко о том, что это такое

I2P — это сетевой протокол поверх IP, использующий как TCP, так и UDP, как IPv6, так и IPv4.

Основная идея такая же, как у TOR — передавать сетевые пакеты, шифруя их на лету, так что

  • узел, передающий пакет, не знает, что внутри
  • узел, получивший пакет, не знает оригинального отправителя.

У I2P нет стандартного способа просматривать “большой интернет” (чистый интернет), есть outproxies, но давайте… TOR гораздо лучше в этом. Что есть у i2p, так это “скрытые сервисы”. Теоретически эти сервисы не знают, кто их вызывает, и пользователи не знают, на каком узле расположен каждый сервис.

Сервисами могут быть любые стандартные интернет-программы — IRC-сервер, веб-сервер с чем угодно, хостинг REST API, XMPP или почтовый сервер.

И там не так много сервисов. Примерно 200 сайтов? Или 300?

Цель, способ, моральные и правовые аспекты.

Я вижу две мотивации для хостинга скрытых сервисов

  • Обеспечение (гарантия) собственной анонимности и конфиденциальности
  • Уход от прямого внимания Большого Брата — не все люди живут в демократических странах, некоторые тиранические правительства подавляют и репрессируют кого могут. Но в эту корзину (“уход”) я бы отнес любую незаконную деятельность. Это просто мотив.

Моральные и правовые аспекты сложные. Моя точка зрения (я не юрист, так что не принимайте это как совет):

У людей есть [моральное] право на конфиденциальность. У них есть [моральное] право сказать “Отвали. Это не твое дело”. У них есть [моральное] право быть… давайте скажем… недовольными, когда некоторые программы или мобильные телефоны публикуют их местоположение, спутники делают фотографии их задних дворов и публикуют их в Google Street View, а правительства игнорируют эту активность и недовольство. В то же время, насколько мне известно, у правительства есть [правовое] право вторгаться в частную жизнь людей, есть некоторые условия, иногда. Например, в Австралии полицейский может потребовать от вас разблокировать мобильный телефон, что имеет огромные моральные последствия. Смотрите историю Моники Смит, которая каким-то образом была вынуждена разблокировать свой телефон, где полиция получила бы контакты протестующих за свободу. (Это были дни локдаунов по COVID в Мельбурне, самых жестких в мире). Полиция отступила, но Моника потом рисковала тюремным сроком за невыполнение требований.

Анонимность — еще один большой аспект жизни людей. Моя точка зрения заключается в том, что наблюдение и деанонимизация слишком часто используются только для доксинга, вторжения в частную жизнь и травли. И лучше иметь четкие правила и процедуры, когда кому-то разрешено использовать это.

Производительность

Хорошо. Поехали.

Я измерил, сколько времени занимает выполнение пинга. (HEAD {site}.i2p)

Ниже представлено распределение задержек ответа.

i2p ping times spread

Эта график показывает, что ожидаемая продолжительность вызова составит около 5 секунд.

Я установил таймаут 90 секунд, и как вы видите, некоторые запросы вообще не завершились. 30 секунд и 60 секунд, вероятно, это какие-то таймауты на стороне сервиса или маршрутизатора.

i2p overall ping delays spread

Коровые сайты — это хорошо известные сайты http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p и подобные, всего 25 таких. Группа Extra — набор из других 100+ сайтов.

Я предположил, что владельцы коровых сайтов знают, что делают, и действительно их производительность лучше, чем у группы Extra. Но разница невелика — всего 1 секунда (5 сек против 6 сек медианной продолжительности вызова). И! коровые сайты все еще иногда завершались таймаутом, как вы видите на первом графике (распределение продолжительности запроса).

Ниже представлен график пригодности типов прокси.

i2p proxy type usability

Измеренные продолжительности пинга сайтов из группы Core с разных прокси. I2P+ на одном и I2Pd на двух разных развертываниях показывают довольно похожие результаты.

Теперь пригодность для хостинга сервисов.

i2p service hosting usability

Толстая красная линия здесь — это I2P+.

Анонимность

Было 4000-10000 маршрутизаторов онлайн, их публичные IP-адреса хорошо видны. Так что говорить о большой анонимности здесь не приходится.

Потребление ресурсов

В моих экспериментах I2Pd потреблял 130МБ ОЗУ + 7% ЦП.

Очень круто!

I2P+ потреблял 350+МБ ОЗУ + 70+% ЦП.

В конфигурации I2P+ я немного увеличил разрешение ОЗУ, надеясь, что это улучшит производительность. Так что вот.

Участие в Flood в моих экспериментах не влияло на производительность сети i2p, но увеличивало нагрузку на ЦП примерно на +20%.

Так что если вы планируете хостинг I2Pd — 1vCPU+512MB должно хватить, я думаю. А для I2P+ — как минимум 2vCPU+1ГБ.

Ощущения

Это похоже на Фидо, BBS и старые добрые времена. Когда сеть такая маленькая, что почти все знают друг друга, просто по никам.

Это медленно. И пусто.

Но ощущения такие аналоговые.