Пользователь
0,0
рейтинг
9 июня 2013 в 15:49

Разработка → Hyperboria: Как все устроено



В прошлой статье был общий обзор сети Hyperboria, в этой мы рассмотрим её структуру, какие она решает проблемы и её прямое назначение — Mesh сеть между wi-fi устройствами.

Зачем нужна Hyperboria?


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

2) В этой сети невозможно реализовать атаку MiTM вообще, таким образом, бестрекерные раздачи через протокол Bittorrent будут совершенно неконтролируемые.

3) Вы получаете внешний IPv6 адрес с открытыми портами — решение проблем с Nat'ом

4) Можно частично отказаться от https подключений — сеть гарантирует что пакет сможет прочитать именно тот пир, которому он предназначен

Оверлейная или Mesh сеть ?


Hyperboria — гибридная сеть. Именно из-за этого было решено отказаться от автоматического подключения к пирам (как в I2P/Tor), таким образом вы сам себе провайдер, сами можете выбрать uplink / downlink и так же раздавать свои тем, кому вы считаете нужным.

Но если Hyperboria начинает работать в Mesh режиме — то все становится именно так, как и должно быть:

1) Сеть может работать как через wi-fi так и через ethernet, как в первом так и во втором случае будет работать авто-нахождение пиров и авто-подключение. И конечно, для всего этого НЕ потребуется протокол TCP/IP.

Как должно все работать


Таким образом, все должно работать так:
По технологии Mesh создаются «островки» которые автоматически конфигурируются образуют локальную mesh сеть, а с помощью транзита через старый интернет, mesh сеть соединена с глобальной паутиной, как вы уже догадались, выходов из mesh сети в оверлейную может быть много, и в зависимости от нагрузки и длины маршрута, будет выбран оптимальный вариант.

Скорость работы сети


Возможно вы удивитесь, но многие сервисы которые имеют dual access (через старый интернет и через hyperboria) работают быстрее через mesh сеть, такое получается из-за того, что трафик нигде не распаковывается у провайдера, никакой DPI его не обрабатывает. -> Получается что ваш трафик неприкосновенен, что подтверждается не конституцией а открытым исходным кодом и дизайном сети.

Я владелец сайта, зачем мне Hyperboria ?


1) Использование Hyperboria может заменить вам наличие SSL сертификата для безопасного, зашифрованного подключения.
2) По сравнению с I2P и Tor у каждого пользователя есть свой СТАТИЧЕСКИЙ IPv6 адрес, так, что забанить пользователя тоже возможно.
3) Предоставления доступа к закрытым частям сайта которые противоречат политическому строю.
4) Простота настройки — вам стоит только добавить AAAA запись в DNS и установить cjdns на ваш сервер — он сразу будет работать в сети Hyperboria

Как работает маршрутизация в сети?


В сети Hyperboria маршруты строятся с помощью анонсирования вашей ноды на соседние, прще говоря, когда вы подключаетесь к вашей дружественной ноде, которая прописана в файле настроек, вы посылаете запрос к распределенной таблице маршрутизации о том, что ваш IPv6 адрес находится именно здесь.

Если же вы хотите получить доступ к сайту который расположен в другом адресном пространстве — когда у вас нет общих нод, то ваш анонс передается с помощью DHT на все соседние ноды для определения маршрута, как только первая нода ответит о том, что она знает маршрут — он будет разослан всем участникам сети.

Информацию о маршрутах подделать невозможно из-за использования ассиметричного шифрования.

Избыточность


По сравнению с сетью Bitcoin — вы не храните все маршруты, у вас сохранены только часто-используемые маршруты, которые вы запрашивали, система кэширования работает аналогично таковой в системе DNS.

Таким образом, если в сети будет несколько миллионов устройств, вы не будите хранить всю таблицу маршрутизации, что позволит не растрачивать системные ресурсы.

Какие проекты сейчас активно разрабатываются внутри сети?


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

Сейчас выбираются программные движки для создания следующих сервисов:
1) Децентрализованный DNS (скорее всего namecoin / P2P DNS)
2) Децентрализованный файловый хостинг (Скорее всего TAHOE-LAFS)
3) Децентрализованная социальная сеть

Подведем итог


Hyperboria это:
1) Оверлейная/Mesh сеть
2) Атака MITM невозможна
3) Невозможно прочитать пакет данных если он вам не принадлежит
4) Сеть не анонимная ровно до того момента пока она оверлейная, а не mesh
5) Таблица маршрутизации распределённая и транслируется с помощью DHT

В прошлой статье было множество вопросов по отсутствию документации на руском и отсутствия публичных пиров для подключения.

Теперь этот минус исправлен, по аналогии с зарубежным сайтом cjdns.com был поднят http://hype.rusblock.com/ На нем вы сможете проверить подключены ли вы к сети Hyperboria (внизу страницы) а так же представлен 1 публичный пир .

Если вы хотите предоставить свою hyperboria ноду для всех — отправьте мне её ip/публичный ключ/пароль, она будет добавлена.


Для уменьшения нагрузки на зарубежных коллег, на сервере генерируется каждый час новая карта сети в SVG и PNG формате В качестве имен используются последние 4 цифры вашего IPv6 адреса.

Ну и конечно, проверить работу сети вы можете:
1) Зайдя на http://[fc2c:4e20:c108:dcc3:5cb9:1aba:858a:9c0e]/
2) Скачав пробный торрент http://[fc2c:4e20:c108:dcc3:5cb9:1aba:858a:9c0e]/hyperboria_torrent.torrent

И пожалуй еще один самый частый вопрос — будет ли работать сеть Hyperboria если у вас уже есть нормальный IPv6 адрес?
— Да будет, сеть использует зарезервированный диапазон IPv6 адресов (по аналогии с 10.0.xx и 192.168.)

Еще о Hyperboria:


Hyperboria: Интернет 2.0
Hyperboria: Маршрутизация
Форум о сети
Shift @shifttstas
карма
52,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

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

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

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

  • 0
    мм… Судя по карте, нод всего штук сто в сети? Я ошибся?
    • +1
      Карта в сети cjdns очень субьективна, от меня она выглядит так, с другого ракурса будет выглядить по другому, генератор использован следующий:
      github.com/gerard-/cjdnsmap
      Тем более как я указывал выше — мой узел может не знать все маршруты
  • +1
    хм, интересно, можно ли поверх нее запустить ip2\tor для обеспечения анонимности в оверлейном режиме, и насколько это все будет тормозить…
    • 0
      Для обспечения анонимности можно сделать проще — каждые 5 минут менять выходные тунели =) при подключении через mesh таковой проблемы вообще не возникнет
      • 0
        Если я правильно понимаю, режим mesh работает через скопление точек wi-fi, все-таки у нас таких подключенных точек — единицы на город (не зависимо от того, что за город)
        • +2
          Да вы что, единицы, сейчас в каждой квартире можно найти как минимум 4-10 точек, в многоквартирных домах видит обычно до 40 точек.
          • 0
            Да, но нужно чтобы эти точки тоже были подключены к сети, более того, ещё нужны логин/пароль на подключение к ним.
            Т.е. по сути пройти по дому и убедить всех подключиться? А учитывая, что большинство наверняка далеки от IT, то объяснить зачем им это всё надо — будет довольно проблематично.
            Или я что-то неправильно понял?
            • +1
              Нет неправильно =)

              Если на точке установлено ПО cjdns то она открыта для всех — т.е без пароля и она автоматически подключается ко ВСЕМ соседним таким же точкам — принцип MESH сетей. а доступ к большой сети будет предоставлен если в точку вставить обычный езернет кабель или если любой участник сети подключится к сети, трафик пойдет через него.

              Сейчас идет разработка ПО для OpenWRT как только оно будет разработано, то установка mesh сети будет сводится к 3 кликам в веб-интерфейсе, для пользователей же это значит — бесплатный доступ в сеть
              • 0
                Спасибо за уточнение.
                Правда, т.к. большинство далеких от IT людей работают на стоковых прошивках, то вероятность сейчас найти в доме хоть один узел сети (учитывая дальность действия WiFi) стремится к нулю.

                Но в любом случае, лиха беда начало :)
                • 0
                  Никто не мешает сделать пакет для стоковой прошивки, вот у зухелей система пакетов как у wrt сделана
                  • 0
                    Учитывая, сколько в моем доме просто не защищенных сетей или сетей с неправильными настройками — эта идея будет работать только при установке производителем в каждый роутер по-умолчанию. Ибо большинство — очень далеко от ИТ.
                    В ближайшие несколько лет для постсоветов — несбыточная мечта.
                    Если только китайцы не подсуетятся и не решат обойти официальный интернет, что, практически, — несбыточная мечта (режиму это не понравиться).
                    • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Теоретически можно сделать софтовый приемник-передатчик (SDR), который будет работать в распределенном спектре и который будет невозможно запеленговать, потому что передача будет помехоподобная и мощность будет ниже уровня естественных помех.
      • 0
        при подключении через mesh таковой проблемы вообще не возникнет


        Не верю (С)
        Так как никто так и не ответил на мои вопросы.

        Даже в московской многоквартирном доме я с помощью мобильного телефона и приложения показывающего уровень wifi сигнала, покатавшись на лифте по подъездам, могу с большой долей вероятности вычислить где расположена какая точка. Что мешает последовательно отслеживать точки в радио-mesh-сети дяденькам с более серьезным оборудованием — не понимаю.
        • –1
          Ок отследил он точки, а вы подключены, скажем с телефона, то к точке номер 1 то к точке номер 10 как предлагает вас определять?
          • +1
            Точно так же по уровню сигнала. Тем более, если я засветился с нескольких точек. Не могу же я одновременно выходить с точек расположенных за километры друг от друга? wifi работает на десятки метров. Так что если известны хотя бы три роутера и уровень сигнала до них, то однозначно вычисляется мое положение.
            • –1
              Ну будет понятно что вы из этого дома а дальше что? таких еще 200 клиентов.

              В самом начале была речь о том, что гипербория не анонимная сеть
              • +1
                Ну будет понятно что вы из этого дома а дальше что? таких еще 200 клиентов.


                Я писал выше: анализируя сигнал от источника с самым простым оборудованием можно вычислить местоположение этого источника с точностью до метров. И вай-фай «клиент» в данном случае никак не отличается от вай-фай «сервера» (точки).

                В самом начале была речь о том, что гипербория не анонимная сеть


                Ну так вы же утверждаете, что если она будет mesh на 100% — будет анонимной. Я утверждаю, что это не так. Перестаньте позиционировать эту сеть как сколько либо анонимную (в случае mesh анонимность мне кажется еще хуже, чем у большого инета, где можно через несколько туннелей разбросать свои линки по всему миру) и тогда у меня вопросов больше не будет. Никто не отбирает у Гипербории ее прелестей распределенной сети, но анонимность в ней, мягко говоря, не очевидна при любом раскладе. Хотя быть может мы с Вами просто чего-то не учитываем?
                • +2
                  Ок уточню у разработчика
  • –8
    Похожая статья была недавно
    • –1
      Гм, вы бы Хотябы авторов смотрели, в шапке ссылка имеется, слечь рассматриваются другие аспекты работы сети + имеется публичный пир и документация по его добавлению.
  • –1
    По сравнению с сетью Bitcoin — вы не храните все маршруты, у вас сохранены только часто-используемые маршруты, которые вы запрашивали, система кэширования работает аналогично таковой в системе DNS.

    Одно слово — Electrum
    • 0
      Не совсем, он хранит только ваши транзакции, тут же хранятся все ваши маршруты и маршруты которые были запрошены через вас
      • 0
        Такое же можно реализовать для Биткоина.
        • –2
          можно но не нужно
  • 0
    Я так понимаю в реальности сеть будет идеально работать если каждый роутер будет поддерживать Hyperboria'ю, чтобы как можно больше трафика шло через Mesh. А под openWRT есть пакеты?
    • 0
      Сейчас идет разработка пакета для WRT они недавно собирали деньги для создания клиента для windows и пакета для wrt, я писал об этом в прошлой статье
  • +6
    Так психоделично у меня еще ничто не компилировалось

  • 0
    Из статьи понял, что идея в релейности. Это уже неплохо, но… во-первых, все же, поддержка таких вещей должна начинаться в первую очередь с (wi-fi) роутеров SOHO-сегмента (для России это D-link, TP-Link, ASUS, Zyxel, может еще Mikrotik c Linksys-ом — это для начала). Во-вторых, так и не понял, какая связь IPv6 и этого протокола: он, что, не спасает, если клиент (и сервер) IPv6 не умеют?
    • 0
      Нет не спасет, фишка его в прозрачной работе любого сорта который поддерживает ipv6
  • +4
    Сделайте следующую статью про адресацию:
    1) как децентрализовано выдаются статические ipv6 (и кто следит за конфликтами),
    2) сколько адресов из всей v6 доступно Hyperboria,
    3) какую подсеть получает каждый абонент за роутером (NAT точно не нужен?),
    4) выделенные адреса это полный аналог 10.x.x.x в v4, тогда что делать юзерам, которые уже построили свою внутреннюю сеть на этих адресах (не правильнее было бы зарегистрировать нормальный диапазон, а не использовать служебный, ведь ipv6 пока очень много)
    • +1
      Адресация — большая тема планирую следующую статью посвятить ей
  • +1
    1) Сеть Hyperboria даже в нынешнем виде решает одну очень важную проблему — она добавляет слой шифрования который могут использовать любые приложения, скрывая ваш IPv4 адрес (иногда его даже можно узнать, но об этом ниже.)

    давайте уж на чистоту — сеть не анонимная, а приватная, но быстрая :) и [наконец-то!] тёмная (darknet)!

    2) В этой сети невозможно реализовать атаку MiTM вообще, таким образом, бестрекерные раздачи через протокол Bittorrent будут совершенно неконтролируемые.

    с первой частью [пока] можно согласиться, а вот при чём тут бестрекерные раздачи — не совсем понятно. дело в том, что основная проблема торрент раздач с DHT как раз в том, что из оверлейного пространства в конце концов тебя выбрасывает на реальный айпишник сидера. В плагине i2p для торрента эта проблема решена. а вот в Hyperboria всё равно можно будет отследить айпишник сидера, пока работаешь не в режиме mesh (кстати, хотелось бы прочитать подробнее об этом с следущем материале :) )?

    а в остальном присоединяюсь к qw1

    P.S. кстати, трогали ли вы project-byzantium.org/about/ и как Ваши впечатления?
    • 0
      давайте уж на чистоту — сеть не анонимная, а приватная, но быстрая :) и [наконец-то!] тёмная (darknet)!

      Я и не говорю что она анонимная, только приватная

      с первой частью [пока] можно согласиться, а вот при чём тут бестрекерные раздачи — не совсем понятно. дело в том, что основная проблема торрент раздач с DHT как раз в том, что из оверлейного пространства в конце концов тебя выбрасывает на реальный айпишник сидера. В плагине i2p для торрента эта проблема решена. а вот в Hyperboria всё равно можно будет отследить айпишник сидера, пока работаешь не в режиме mesh (кстати, хотелось бы прочитать подробнее об этом с следущем материале :) )?


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

      PS Нет не трогал, спасибо, почитаю
      • +1
        Проблема торрентов — в том что при вычисление IP адреса можно узнать что клиент раздает перехватив трафик

        на самом деле достаточно просто быть одним участником сети и просто попросить скачать файл. т.е. не надо прослушивать трафик — можно просто попросить адреса всех кто его раздаёт :) а в Hyperboria, по-сути будет то же самое — только адрес дадут из оверлейного пространства — подключившись к нему, убеждаемся, что на этом адресе сидируют закопирайченый контент, трассируем реальный интернет-адрес и profit (иск, маски-шоу и прочие прелести). я, конечно, весьма упростил схему, но поправьте меня, если я ошибаюсь

        про DHT безусловно согласен

        кстати, очень хорошо, что кто-то поднимает тему оверлейных сетей и mesh на хабре, потому как уже давно хотелось бы исследования в этом направлении, но самому всё потестить/потрогать не получается по различным причинам. не обращайте внимания, на колкие и неудобные вопросы — потому как очень важно разобраться с тонкостями каждой реализации и правильно определить те задачи, которые может решать тот или иной проект.
        • 0
          Вы не можете сделать трассировку по IPv4 до конечной точки. Для определения узлов надо лично придти к каждому следующему узлу сети и сделать пинг до следующего узла. Аналогично i2p только маршруты динамически не меняются
    • 0
      Почитал, минусов несколько по сравнению с cjdns — возможность юзаный обычн интернет, невозможность использовать параллельно, невозможность делать интернет мосты между mash сетями
      • 0
        я бы употребил слово «отличия» вместо «минусы». тут немного другая специфика. в первую очередь сеть рассчитана на то, чтобы быстро раскинуть инфраструктуру в случае стихийных бедствий на обычных машинах с никсами и вайфаем. т.е. дать возможность даже без электричества на ноутбуках развернуть чаты и доски объявлений, когда телефонные вышки и назменые линии связи не работают. заодно есть возможность пробросить интрернет в такую меш-сеть.

        с другой стороны буки под никсами есть не у всех, зато у всех есть смартфоны (и много у кого под андроидом). и тут есть www.servalproject.org/, который вроде как на андройдах позволяет создавать меш, доставлять друг другу сообщения просто проходя мимо и имеет ещё некоторые особенности — даже такие как голосовые звонки (и это всё в отсутствие инфраструктуры).

        с третьей стороны, внезапно ожил GNUnet, который именно и создавался как оверлейная сеть для того, чтобы невозбранно раздавать торренты и маскировать такие раздачие «шумом» в трафике. а ещё у него интересный протокол маршрутизации, который поощряет большей скоростью те узлы, которые больше учавстуют в жизни сети.

        есть много всего, и Hyperboria тоже интересна (дуализмом своей природы), поэтому интересно узнать, какие проекты она может заменить, а для чего совсем не предназначена и какие инстурменты выбрать :)
        • 0
          Могу сказать точно, для анонимности hyperboria совершенно не подходит
  • +1
    Эх, вот бы владелец хотя бы одного бот-нета прошёлся по доступным ему миллионам роутеров и подключил там Hyperboria…
  • 0
    > Сейчас выбираются программные движки для создания следующих сервисов:
    > 1) Децентрализованный DNS (скорее всего namecoin / P2P DNS)

    Я хочу предложить к рассмотрению распределённый децентрализованый DNS, базирующийся на EmerCoin: DNS and Name-Value Storage

    Чем EmerCoin DNS лучше аналогичного сервиса от Namecoin?

    1. Каждый кошелёк является нативным DNS-сервером стандарта RFC1034
    2. Поддерживается не одна фиксированая TLD-зона *.bit, a четыре (*.lib *.emc *.coin *.bazar), c возможностью добавления новых.
    3. Хранилище NVS может быть использовано для ряда других сервисов, предложенных в документе выше.
    4. Некоторые уникальные сервисы уже написаны и успешно эксплуатируются (emcssl, emcssh)
    5. Бесплатная и дружественная поддержка от EmerCoin team. Просто напишите на team(symbol)emercoin.com, и Вам с радостью помогут.

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