I2P Статистика производительности
Я проверил i2p ...
Оно работает, но производительность, анонимность и надежность вызывают сомнения…
TL;DR
Кратко говоря
- Провел тестирование 3 типов развертываний для оценки их работы в качестве прокси-серверов (очень похожие)
- Провел тестирование 3 типов развертываний скрытых сервисов (i2p+ оказался лучшим)
- Участие в флооде не влияет на производительность сети i2p, но увеличивает потребление ресурсов.
I2P медленный. Один пинг занимает 5-10 секунд. И не гарантировано, что он не завершится с ошибкой, даже если у вас хорошее соединение.
Кратко о том, что это такое
I2P — это протокол сети, работающий поверх IP, он использует и TCP, и UDP, а также IPv6 и IPv4.
Основная идея похожа на TOR — передавать пакеты сети, шифруя их на лету, так что
- узел, передающий пакет, не знает, что внутри
- узел, получивший пакет, не знает оригинального отправителя.
У I2P нет стандартного способа просматривать “большой интернет” (clearnet), есть outproxies, но, ну… TOR гораздо лучше с этим справляется. У i2p есть “скрытые сервисы”. Теоретически эти сервисы не знают, кто их вызывает, а пользователи не знают, на каком узле расположен каждый сервис.
Сервисы могут быть любыми стандартными интернет-программами — сервер IRC, веб-сервер с чем угодно, REST API, XMPP или почтовый сервер.
Их там не так много. Примерно 200 сайтов? Или 300?
Цель, способ, моральные и юридические аспекты.
Я вижу две мотивации для размещения скрытых сервисов
- Обеспечить (увериться) в своей анонимности и приватности
- Избежать прямого взгляда “Большого брата” — не все живут в демократических странах, в некоторых тиранических правительства подавляют и репрессируют кого угодно. Но в этот “ящик” (“избежание”) я бы положил любую незаконную деятельность. Это просто мотив.
Моральные и юридические аспекты сложны. Мое мнение (я не юрист, поэтому не принимайте это как совет):
У людей есть [моральное] право на приватность. У них есть [моральное] право сказать “F.U. Это не ваше дело”. У них есть [моральное] право быть … ну, допустим … несчастливыми, когда некоторые программы или мобильные телефоны публикуют их местоположение, спутники снимают фото их заднего двора и публикуют их на Google Street View, а правительства игнорируют эту активность и несчастливость. В то же время, насколько я знаю, у правительства есть [юридическое] право вторгаться в приватность людей, при определенных условиях, иногда. Например, в Австралии полицейский инспектор может потребовать от вас разблокировать свой мобильный телефон, что имеет огромные моральные последствия. См. историю Monica Smith, которая каким-то образом была вынуждена разблокировать свой телефон, чтобы полиция получила контакты сторонников свободы. (Это были времена карантина в Мельбурне, самых жестких в мире). Полиция отступила, но Моника затем рисковала получить тюремное наказание за неповиновение.
Анонимность — еще один важный аспект жизни людей. Мое мнение в том, что наблюдение и деанонимизация слишком часто используются только для доксинга, вторжения в приватность и травли. И лучше иметь четкие правила и процедуры, когда кто-либо может использовать это.
Производительность
Хорошо. Начнем.
Я измерял, сколько времени требуется для завершения пинга. (HEAD {site}.i2p)
Ниже показано распределение задержки ответа.
Это графическое изображение распределения показывает, что ожидаемая продолжительность вызова составляет около 5 секунд.
Я установил тайм-аут на 90 секунд, и, как вы видите, некоторые запросы вообще не завершились. 30 секунд и 60 секунд, наверное, являются тайм-аутами на стороне сервиса или маршрутизатора.
Основные сайты — это хорошо известные сайты http://idk.i2p/, http://zzz.i2p/, http://identiguy.i2p/, http://333.i2p/, http://i2pforum.i2p и подобные, всего 25 таких. Дополнительная группа — набор из более чем 100 сайтов.
Я предположил, что владельцы основных сайтов знают, что делают, и действительно их производительность лучше, чем у дополнительной группы. Но разница не такая большая — всего на 1 секунду (~5 секунд против ~6 секунд медианное время вызова). И! основные сайты все еще время от времени завершались с ошибкой, как вы видите на первом графике (распределение времени вызова).
Ниже показан график удобства использования прокси.
Измеренные продолжительности пинга сайтов из основной группы с использованием разных прокси. I2P+ на одном и I2Pd на двух разных развертываниях показывают довольно похожие результаты.
Теперь удобство размещения сервисов.
Толстая красная линия здесь — это I2P+.
Анонимность
Было онлайн от 4000 до 10 000 маршрутизаторов, их публичные IP-адреса хорошо видны. Поэтому мы не можем говорить о большой анонимности здесь.
Потребление ресурсов
В моих экспериментах I2Pd потреблял ~130 МБ ОЗУ + ~7% процессора.
I2P+ потреблял ~350+ МБ ОЗУ + ~70+% процессора.
В настройках I2P+ я немного увеличил объем ОЗУ, надеясь, что это улучшит производительность. Итак, вот мы и оказались.
Участие в флооде в моих экспериментах не влияло на производительность сети i2p, но увеличило нагрузку на процессор примерно на +20%.
Поэтому, если вы планируете размещение I2Pd — 1vCPU+512MB будет достаточно, я думаю. А для I2P+ — минимум 2vCPU+1GB.
Ощущение
Это похоже на Fido, BBS и старые добрые времена. Когда сеть настолько мала, что все знают друг друга по никам.
Это медленно. И пусто.
Но ощущение так аналоговое.