Пользователь
0,0
рейтинг
29 сентября 2012 в 05:31

Разработка → I2P: Принципы функционирования основных сервисов сети

I2P*


Сегодня мы поговорим о том, что такое NetDB, SusiDNS и о начальной инициализации сети I2P.

Совсем скоро интернет в России станет не свободным, уже сейчас различные провайдеры блокируют те или иные сайты.

И у заблокированного ресурса есть два пути:
1) Надеяться, что пользователь будет заходить на сайт через proxy/VPN
2) Перенести сайт в децентрализованную, анонимную сеть

PS Пожалуй, настоящей децентрализованной и анонимной сетью я могу назвать только I2P, TOR не попадает под это определение, из-за того, что принцип сети у тор’а другой — многоуровневый прокси-доступ в обычный интернет, а .onion ресурсы как приятный бонус.

В I2P сети всё наоборот, главное — это внутренние ресурсы а внешний прокси — бонус.


Как происходит начальная инициализация сети I2P?



После скачивания дистрибутива и его установки, сеть I2P пытается инициализироваться, выполняя поиск локальных узлов по NetDB (DHT) если узлы не найдены — идет запрос начального списка узлов по

Интересная особенность, узлы которые получены при начальной инициализации — не могут быть конечными при доступе к внутренним сайтам. (Это сделано для того, что бы исключить вероятность создания нод правительством и анализ трафика) если же нод будет создан вредоносной группой людей, то все равно он будет лишь передавать обезличенный трафик другому узлу, не более.

После получения первых адресов участников I2P сети через стандартное https соединение, клиент пытается подключится к ним и происходит запуск NetDB.

Что же такое NetDB?



Самое просто определение технологии NetDB — это как DHT в протоколе Torrent.



NetDB — это распределённая база участников сети, именно через неё конфигурируются туннели доступа к сайтам, но что интересно, ваш личный идентификатор в сеть не посылается, таким образом произвести аналогию IP и I2P ID — невозможно.

Конечно, в NetDB хранятся и ключи, сообщающие о подлинности информации опубликованной там.



Что еще там хранится?
— Статистика установки тунелей у нод
— Количество успешно установленных соединений через ноду
— Количество отброшенных соединений
— Время таймаута при обращении к ноде
— Версия роутера (клиента I2P)

Сеть NetDB поддерживает всё те же функции бана пиров, как и DHT сеть в протоколе torrent (например если у роутера соотношения успешно завершенных соединений к соединениям с ошибками слишком велико)

Таким образом, единожды установив соединение с NetDB — вы будете в дальнейшем всегда иметь доступ в I2P сеть.

А на специальном сайте — stats.i2p можно посмотреть текущее состоянее сети, которое определяется через NetDB:



Floodfill router — это те роутеры которые обладают полностью актуальной базой NetDB либо близкой к актуальной

Что такое SusiDNS?





Ресурсы в сети I2P имеют свой домен верхнего уровня — .I2P
Но поскольку в I2P нет IP адресов, то и DNS служба там особенная.

По сути, DNS в I2P — это огромный hosts файл.
Изначально, дистрибутив умеет получать соотношение I2P хост: внутренний ID только из родного регистратора, но в сети существуют множество регистраторов которые позволяют зарегистрировать ваш сайт, каков бы он не был и о чем бы вы на нем не писали.

Самый популярный — http://inr.I2P

Но вы можете и не подписываться на регистраторов доменов, вы можете сохранять для каждого имени соответствие самостоятельно.

Используя jump сервисы или вводя длинный хэш-адрес хоста.

Таким образом — на данном этапе сеть борется с киберствоттерством.

Но в любом случае, когда сеть наберет популярность — регистратор скорее всего будет 1 (либо не более 3, самый популярных) и именно за регистрацию у них будут (платить деньги?) бороться.

Так же, возможно использование сервиса Namecoin в место существующей сети DNS в I2P, в нынешнее время, идут активные разработки в этом направлении.

Официальный сайт проекта: http://i2p2.de

Что еще почитать об I2P:
Готовимся к наступлению Великого Русского Фаервола
I2P — Создание своего сайта
I2P — Проект Невидимый Интернет
Shift @shifttstas
карма
51,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое Разработка

Комментарии (61)

  • +23
    Прочитал. Но основы функционирования так и не понял. Толи я тупой, толи вы их не очень подробно обьяснили.
    • +1
      Если вам что-то не понятно — спрашивайте что именно, и либо эта статья будет расширена либо написано дополнение.
      • 0
        Видимо, основы функционирования.
        • 0
          Я и спрашиваю конкретно, что непонятно? принцип функционирования анонимных децентрализованных сетей в целом или что?
      • 0
        Вы не думали задаться целью перевести первые 3 части официального Index to Technical Documentation — www.i2p2.de./how.html? Популяризация реально нужна, и на инглезе там все неплохо структурировано. Думается, это лучшее что сейчас можно сделать.
        Кстати, если знаете, возможно прокомментируете такой момент — у меня кол-во транзитных тоннелей обычно не очень велико, в пределах 5-20, трафик очень маленький, хотя настройки скорости откручены на максимум канала, с сетью все ОК. Как-то после сноса роутера с ручным удалением всех файлов и самого роутера и данных по всем пирам (хранятся в отдельной папке) установил обновление (что-то из последних 0.8х) с нуля и произошла странная штука — с момента запуска в течение нескольких часов стабильно шел более-менее ровный рост транзитных тоннелей до 1000-1500 когда уже сам роутер начинал их отбрасывать из-за перегрузки, пару раз меня перебрасывало в floodfill режим, в итоге у меня начинал подтормаживать инет и я ставил в настройках лимит на транзитные тоннели на пару сотен. Главное — я ничего для этого не подкручивал, только скорость. После очередного обновления количество транзитных тоннелей вернулось к 5-20 хоть тресни. Где могла собака порыться?
        • 0
          Я посмотрю официальные документы и попробую перевести
  • +1
    Поставил. Прежде чем сайты стали открываться прошло больше получаса. Будем надеяться, что вообще оно работает быстрее, чем FreeNet…
    • +4
      Зависит от количества пиров. Обычно, для подключения к достаточному количеству пиров первый раз нужно часов 6.
      Кстати, об этом особо не говорят, но это очень важно: Нужно ждать 11 минут, прежде чем запускать ранее выключенный клиент!
      • +2
        Есть какое-нибудь объяснение этому тайному знанию?
        • +2
          Чтобы все туннели отлетели по таймауту. Если вы не подождете 11 минут, вы не сможете эти же туннели поднять.
  • +3
    к графику со статистикой роутеров было бы неплохо добавить комментарий что такое floodfill router.
    • 0
      Добавил
  • НЛО прилетело и опубликовало эту надпись здесь
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        А я и не говорю так, я лишь говорю что у них различный принцеп и различные цели сети.
      • 0
        У тор свои плюшки, у и2п свои.

        Логично. Но нельзя ли с этого места поподробнее?
        • 0
          Я в начале статьи написал, ТОР — для доступа к внешним сайтам, i2p — одтельный интернет
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            Согласен, тор более адаптирован для домохозяек, но его и используют большее количество людей в данный момент, если i2p будут использоват более 100 000 людей, то я думаю разработчики всё допилят
  • +1
    Админу stats.i2p блокирующего домены на своё усмотрение — лучи ненависти.
    • 0
      Вы про их DNS книгу?
  • –8
    Таким образом, единожды установив соединение с NetDB — вы будите в дальнейшем всегда иметь доступ в I2P сеть.

    Кого я, простите, бужу?
    • +11
      Я вот для себя решил, что обязательно доживу до того времени, когда все грамматические ошибки будут писать в личку автору!

      Дункан Маклаунд
  • +1
    Очень актуально ввиду той бучи про ролик
    • +2
      Спасибо) Если пользователям хабра это интересно, то я планирую сделать цикл статей о I2P:
      1) Устойчивость сети I2P к фильтрации и деанонимизации
      2) Обзор не основных внутренних сервисов (torrent, почта итд)
      3) Плагины для I2P
      • +1
        4) Способы помешать работе I2P, дальнейшее развитие (какой нибудь I2P v2).

        Просто интересно, каким образом государство (государства) может блокировать доступ к неугодному сайту в I2P?
        • 0
          Как минимум, если сервер на котором работает i2p-вебсайт помимо этого предоставляет доступ к своему веб-серверу из обычного инета, то есть техники позволяющие с достаточной степенью вероятности определить, что данный i2p-вебсайт хостится на этом сервере. А дальше сервер изымают/изучают/закрывают как обычно. Вроде в ][акере на эту тему когда-то была статья. Так что поднимая i2p-сайт, как минимум, стоит делать это на выделенном сервере, на котором кроме i2p больше никаких сетевых сервисов нет.
          • 0
            Смотря от кого вы прячетесь, если от конкретной страны — можно держать сайт на теретории us а для русских давать доступ через i2p если же сайт незаконен для всех государств (типа силкроуда) — тогда да, только i2p
            • +6
              Дело не в том, от кого прятаться (тем более, что государства между собой по таким вопросам сумеют договориться), и не в том, чтобы нарушать закон. А в том, что чиновники — обычные люди преследующие свои интересы, и они не должны иметь простой и дешёвой возможности блокировать не нравящиеся им сайты.

              Свинья всегда лужу найдёт. Я слышал, что в инете есть сайты с детским порно, с агитацией за терроризм/разжигание розни/etc. Но я их ни разу не видел. Ибо просто не искал. И они мне абсолютно не мешают жить. В инете чтобы вляпаться в говно — надо это говно целенаправленно поискать и открыть. Но даже если это произошло случайно и не намеренно (реклама/seo/чёрные властелины на хабре), то нет ничего проще как закрыть текущую страничку и выкинуть это из головы. В отличие от реального мира, где это говно приходит к тебе само (через телевизор, почтовый ящик, митинг на площади через которую тебе нужно просто пройти) в инете всё иначе — не ищи говна, и ты в него не вляпаешься.

              В любом случае, даже если государства невероятно белые и пушистые, борьба с сайтами — это борьба со следствием, а не причиной. Хотите решить проблему детского порно — найдите сайты, через них найдите людей, которые его снимают (совершая конкретные действия нарушающие законы) и сажайте этих людей. А сайты оставьте, они помогут поймать следующих, кто решит заняться этим бизнесом. Что до извращенцев, которые его просто смотрят — пусть лучше смотрят уже снятое, чем удовлетворяют свои потребности другими способами, которые могут оказаться не столь безвредными для окружающих. Опять же, таким образом их проще выявить и контролировать. Но, на практике, всё это реальная сложная работа, которой заниматься совсем не так интересно, как просто пиариться на блокировании сайтов или закрывать библиотечные сайты мотивируя это мифической недополученной прибылью.

              Проблема текущих сетей вроде i2p в том, что во-первых у них есть проблемы с безопасностью (т.е. они не выполняют свою основную функцию), и во-вторых проблемы со скоростью. И если проблемы с безопасностью они рано или поздно решат, то нормальной скорости там не будет до тех пор, пока они не начнут использоваться массово. А чтобы появился шанс на массовое использование этих сетей государство должно всего лишь продолжать делать то, что они сейчас активно делают — блокировать youtube, вконтакте, преследовать торренты… так что остаётся только пожелать государству удачи.
            • 0
              Ничего конкретног кромн взламывания сайтов в данной статье я не увидел.
              • 0
                Там описан набор более чем конкретных техник, с помощью которых удалось определить реальные IP-адреса серверов хостящих заметный процент .i2p-сайтов. Т.е. это проблема безопасности i2p-сети. Смысл использовать i2p если тебя всё-равно можно вычислить?
                • 0
                  Можно если либо взломать сервер либо если сервер виден из обычного интернета, других угроз я не увидел
  • +1
    Насколько мне известно Namecoin не прижился в i2p, хотя изначально он был встречен сообществом очень позитивно. Вот тут можно почитать немного
    bitcointalk.org/index.php?topic=60879.0
    bitcointalk.org/index.php?topic=61486.0
    Затем на свет появилось DIANNA bitcointalk.org/index.php?topic=64282.0
    Но до сих пор там все сложно.
    Если у кого-то есть желание поучаствовать в развитии этого проекта и, возможно, увековечить свое имя в истории развития интернет, можете связаться с топикстартером вышеприведенных тем.
    • 0
      Мне кажется в ближайшем будущем данная систем всётаки появится в i2p
  • +2
    ПО для данной сети оставило удручающее впечатление, как и инструкции.
    Пока не будет простого пакета, на уровне «запустил инсталлер и всё работает», не будет и большого притока в эту сеть.
    • +1
      Есть portable сборка.
      Параноики, конечно, не одобрят. Но оно действительно на уровне запустил, подождал пока прогреется, работает.
    • 0
      Пока не будет простого пакета, на уровне «запустил инсталлер и всё работает»

      Вот я этой ночью скачал, запустил, всё работает. Ставится в одну папку, запускается одним скриптом, никаких настроек, всё работает. Неочевидности (и то только для тех, кто совсем не в теме, но таким по-моему лучше держаться подальше от инструментов, о устройстве которых не имеешь представления) ровно две: нужно в браузере прописать прокси 127.0.0.1:4444 и подождать пока пиры понаходятся.
      • +1
        Ха-ха.
        Большинство людей не имеют представления о том, как интернет работает. Или gsm-связь.
        И однако ж.
        Тут вовсю пытаются пропагандировать сеть i2p, но для обычного виндовс-юзера она в настройке сложна. Это существенная проблема на пути её распространения.
        • 0
          Чем она сложна? Зайти в настройки браузера прокси прописать трудно? Ну ладно, для совсем тугих можно сделать дистрибутив, прописывающий прокси в реестре или ставящий отдельный специальный браузер (сделаный за несколько минут на любом WebKit-компоненте). Это решит проблему?
        • +1
          Не так давно то же самое говорили про p2p. Но закрученные гайки сделали свое дело.
        • 0
          Обращаю вате внимание, что тут пытаются пропагандировать сеть i2p для ИТ-сообщества, а не для «обычного виндовс-юзера». Это первые шаги.
          • +1
            Никто тут не пытается ничего пропагандировать ;-)
          • +2
            где посмотреть, что все прогрелось и можно пользоваться

            Ну, «посмотреть» — на сколько я понял, в левой панели web-интерфейса системы раздел «peers», чем больше там цифры — тем лучше, нужно, вроде, чтобы Known было хотябы 200. Работает всё всё-равно с большим скрипом, большинство сайтов или не открываются (найти адрес живого i2p-сайта вообще редкая удача, как мне кажется) или открываются с n-ной попытки. Часто вместо сайта открывается страница, что он не найден с предложением найти его через «jump»-сервис, когда найдётся надо ткнуть ссылку чтобы адрес добавился в адресную книгу и сайт открылся.

            Чтобы работал DNS надо прописать (I2P Internals — Addressbook — Subscriptions) откуда брать hosts-файлы, я как-то пришёл к такому списку (перед каждой строкой надо хытытыпы, тут убрал т.к. парсер всё-равно съест):

            www.i2p2.i2p/hosts.txt
            i2host.i2p/cgi-bin/i2hostetag
            stats.i2p/cgi-bin/newhosts.txt
            inr.i2p/export/alive-hosts.txt
            rus.i2p/hosts.txt

            Некий мониторинг живых сайтов можно увидеть на сайте perv.i2p. Русский форум (включая попытку каталогизировать русскоязычные ресурсы) и WiKi живут на forum.rus.i2p и rus.i2p соответственно. Эти сайты работают достаточно шустро и стабильно, если не работают — или ещё не прогрелось или что-то не так.

            Не забываем прописывать в браузере HTTP-прокси (127.0.0.1:4444).

            Вообще сам меньше суток назад поставил, так что не стоит принимать слишком серьёзно результаты моего антинаучного тыка.
          • +1
            Пардон, предыдущий длинный коммент — ответ для Semy, не туда нажал видать.
  • +1
    А мне, вот, такой вопрос закрался: если взять и поставить такой сервак с i2p на colocation, без физической выемки (или взлома) сервера невозможно будет определить что и кому он раздаёт?
    • +1
      И кроме того, я где-то читал, что i2p гораздо сложнее пресечь (а может даже просто определить) чем TOR. Так ли это, и если так, то почему.
      • +1
        И если уж на то пошло, никто же не идеален, какие в принципе минусы и слабые места у i2p?
        • +1
          Я вижу очевидную слабость DNS в текущей реализации.
          • 0
            Согласен, как я описал выше, команда разработчиков работает над интеграцией namecoin в i2p
  • +1
    Попробовал поставить, запустил. И не могу понять, где посмотреть, что все прогрелось и можно пользоваться? И еще, он работает из за неподконтрольного NAT? А то по FAQ я понял, что он должен слушать входящие подключения.
  • +1
    Промазал с ответом, получилось выше: habrahabr.ru/post/152771/#comment_5196093
    • +2
      Спасибо, прочитал.
  • +2
    Цитата от сюда: www.shpargalko.ru/tag/i2p/
    Что случилось с forum.i2p2.de? Yes, again.

    Учитывая, что официальный i2p2 форум лежит уже около трех недель — стоит прояснить ситуацию. Как утверждается на форуме разработчиков — это из-за русскоязычной ветки. В связи с политической ситуацией в рашке — и обсуждением оной на форуме — сервер находится под жестокой DDoS атакой. Вероятно проворачиваемой какими-то прокремлевскими силами.
    • 0
      Интересно, что же там такого было, что его начали ддосить, и лежит он не 3 недели, меньше…
      • 0
        Еще один повод, приобщиться и узнать все из первых рук. Неужели в Кремле не понимают, что запреты в сети только усиливают интерес?
  • 0
    А каким образом пакеты i2p, ходят по сети. Инкапсуляция в TCP/IP? Если да, то можно же элементарно собрать ip-адреса всех участников i2p и приписать их к терраристам/педофилам/экстримистам/наркобаронам/(подставить нужное). Прям сейчас вижу как по зомби-ящику в новостях пугают как «Террористы и педофилы создают свой интернет».
    • 0
      Это уже будет презумпция виновности, что есть дичайшая дикость. Либо придётся вводить статью об ответственности за использование i2p — что есть не меньшая дикость. Хотя, учитывая, что сейчас Госдума плюётся неправовыми законами как взбесившийся пулемёт — это может быть не за горами.
      • 0
        > Либо придётся вводить статью об ответственности за использование i2p — что есть не меньшая дикость.
        izvestia.ru/news/535724
        • 0
          Это уже баян, там, насколько знаю, даже до внесения законопроекта не добрались — так, потрендели и забыли. Но, повторюсь, я абсолютно не удивлюсь, если завтра внесут законопроект, послезавтра пережуют его в трех чтениях и ещё через день выплюнут нам в морду.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.