Проєкт Шум (Noise) SHOOM | HyperModem: Девайс для доступа в децентрализованный peer to peer интернет будущего

 

Reticulum — радиопротокол для mesh-сети. Зашифрованная пиринговая связь без интернета

Habr
4 min

Как мы обсуждали ранее, отключение интернета в конкретной стране или городе — не вымышленная угроза, а вполне реализуемое действие. В частности, международная ассоциация Internet Society зафиксировала в 2021 году 49 искусственно вызванных шатдаунов.

Но есть эффективные технологии, которые позволят пережить возможный шатдаун. Например, mesh-сети для радиосвязи.

Одна из последних разработок в этой области — сетевой стек Reticulum (RNS).

К настоящему времени создано много фрагментарных решений и специализированных инструментов, но до сих пор не было полного коммуникационного стека для mesh-сети, которую могут поднять обычные пользователи без какой-либо централизованной координации. Разработчик RNS постарался восполнить этот пробел.

Подобную сеть можно за полчаса развернуть в случае системного сбоя коммуникаций в конкретной области или во всём мире. Не требуется ни драйверов, ни модулей ядра для встроенных ОС. Сетевой стек легко поставить на любой радиомодем, а для этой операции не требуется особый опыт работы с компьютерами или радиопередатчиками (полная документацияpdf).

RNS работает на основе совершенно нового протокола, у которого ряд преимуществ перед IP-протоколом (хотя IP тоже поддерживается).

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

Особенности стека

  • Бескоординатная глобальная адресация и идентификация.
  • Полностью самоконфигурирующаяся многоцелевая маршрутизация (multi-hop).
  • Асимметричное шифрование X25519 и подписи Ed25519.
  • Защищённые от подделки подтверждения доставки пакетов.
  • Разнообразие типов интерфейсов.
  • Интуитивно понятный и простой в использовании API.
  • Надёжная и эффективная передача произвольных объёмов данных.
    • поддержка многогигабайтных файлов;
    • автоматический подсчёт контрольных сумм, координация и восстановление последовательности пакетов;
    • расширяемый механизм запросов/ответов.
  • Эффективное установление соединения: три пакета общим размером 237 байт, далее расход поддержания коннекта 0,62 бита в секунду.

Разработчик сетевого стека — Марк Квист, опытный разработчик и сетевой инженер, который всю свою жизнь занимается созданием и управлением компьютерными сетями. Владелец компании Unsigned.io, которая разрабатывает и продаёт оборудование для радиосвязи (модули RNode, модемы MicroModem и OpenModem).

Reticulum может работать практически на любом девайсе, начиная с крошечного Raspberry Pi Zero. По словам Квиста, с помощью Reticulum люди с минимальными знаниями в области телекоммуникаций и компьютеров могут поднять систему обмена сообщениями на большие расстояния для своего сообщества.

Например, можно легко поднять внутри города mesh-сеть и установить канал связи с соседним городом по УКВ, говорит Квист: «Если у вас уже есть модем и радиопередатчик, на настройку уйдет пять минут. Я действительно старался сделать стек максимально гибким, но при этом очень простым в использовании для людей с минимальным опытом работы с компьютерами и радиопередатчиками».

Как это выглядит на практике, можно посмотреть на примере Nomad Network. Это прототип устойчивой mesh-сети на протоколах LXMF и Reticulum.


Устройства в сети Nomad Network

Данный проект кардинально отличается от многих других проектов mesh-сетей в мире, таких как общественная городская сеть NYC Mesh. Все они ставят целью в конечном итоге выход в интернет. А здесь изначально создаётся отдельная от интернета сеть, да ещё с сильным шифрованием. Это фундаментально иной уровень. Фактически, Reticulum поддерживает сценарий полного апокалипсиса.

«Reticulum — это попытка создать альтернативный протокол базового уровня для сетей передачи данных, — говорит автор. — По сути, это не одна сеть, а инструмент для построения сетей. Его можно сравнить с IP, стеком интернет-протокола, на котором работает Интернет и 99,99% всех других сетей на Земле. Он решает те же проблемы, что и стек IP, обеспечивая передачу цифровых данных из точки А в точку Б, но делает это совершенно иначе и с совершенно другими предположениями. Реальная сила протокола заключается в том, что он может использовать все виды различных средств связи и соединять их в единую сеть. Он может использовать [дальние] приёмопередатчики, модемы, радиосвязь, Ethernet, WiFi или даже моток старой медной проволоки, если у вас есть такая возможность».


Обмен зашифрованными сообщениями в радиосети Nomad Network
Ещё несколько скриншотов

Разработка Reticulum пока находится в зачаточной стадии. Программный код не прошёл аудит на предмет безопасности шифрования. То есть в реальности его пока рановато использовать в серьёзном деле.

Проблема ещё в том, что весь существующий сетевой софт написан для протокола IP. Поэтому для сетевого стека Reticulum придётся создавать ещё и новый программный стек: существующие программы там работать не будут. Хотя кое-что уже разработано. Например, мессенджер Sideband (Android, Linux, MacOS) для обмена текстовыми сообщениями по LoRa, пакетному радио, WiFi, I2P или любому другому транспортному протоколу, который поддерживается стеком пиринговых коммуникаций LXMF.


HyperModem: Девайс для доступа в децентрализованный peer to peer интернет будущего

Habr
3 min
кдпв

Интернет в наше время излишне централизован и держится на костылях. Не всех это устраивает. Для технологии 1970-х годов он еще неплохо справляется, но зачем нам в 2022 году такие вещи, как централизованные интернет-провайдеры, BGP, IPv4, TLS? Можно ведь сделать лучше!

Yggdrasil Network - децентрализованная самоорганизующаяся сетевая инфраструктура. Каждый узел этой сети равно участвует в маршрутизации и расширяет ее охват. Все соединения защищены сквозным шифрованием, значение IPv6 адреса узла вычисляется из его криптоключей. Практически любые пользовательские приложения могут использовать Yggdrasil в качестве среды передачи данных вместо legacy интернета. Как же сделать эту новую технологию более доступной для всех?

Структура mesh-сети Yggdrasil / Источник: https://github.com/MassMesh/blog
Структура mesh-сети Yggdrasil / Источник: https://github.com/MassMesh/blog

HyperModem позволяет быстро создавать Yggdrasil узлы из обычных бытовых устройств. Система основана на открытом исходном коде проекта OpenWrt (Open Wireless Router). По сути, это легковесная Linux сборка с Yggdrasil из коробки, которую, при необходимости, легко допиливать под любые свои нужды.

На какие устройства можно поставить систему HyperModem?

Домашние роутеры, одноплатные компьютеры (Raspberry Pi), старые ноутбуки и так далее.

Критерии поддержки:

  • Устройство поддерживается OpenWrt

  • Для роутеров - минимум 16МБ флеш памяти и 64МБ RAM

  • Желательно, open source драйвера для WiFi чипа (ath9k, mt76)

Как установить?

Скачать готовый образ на странице релизов или собрать собственный из исходников.

Гайды по установке системы на конкретное устройство находятся на сайте OpenWrt. Например, инструкции для роутера Asus RT-AC51URaspbery Pix86 компьютеров.

Как использовать беспроводные peer to peer соединения?

Для P2P соединений по WiFi HyperModem использует стандарт 802.11s. Поддержка этого стандарта зависит от драйвера WiFi устройства, см. столбец mesh здесь. Хорошо подходят устройства с драйверами ath9k и mt76.

Для некоторых устройств беспроводной P2P уже настроен в сборке, на других необходимо добавить сеть типа 802.11s веб интерфейсе.

Параметры сети: mesh_id "meshnet", 11 канал, без шифрования, "Forward mesh peer traffic" выключено.

Как добавить интернет-пиры?

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

На странице https://publicpeers.neilalexander.dev/ выберите один географически близкий к вам пир и добавьте его в веб интерфейсе

Что дальше?

HyperModem корректно работает и связан с другими узлами через беспроводной и/или интернет пиринг.

Теперь, для доступа в Yggdrasil Network на других устройствах (компьютер, домашний сервер, телефон) достаточно установить там программу Yggdrasil и любым способом подключиться к HyperModem. Подключение происходит автоматически при нахождении с HyperModem в общей локальной сети (на уровне L2).

Дисклеймер: Сейчас в сети Yggdrasil около трех тысяч узлов и она работает достаточно стабильно. Но стоит учитывать, что Yggdrasil Network и HyperModem это экспериментальные open source проекты в ранней стадии разработки.

Члены сообщества поддерживают различные сервисы внутри сети, с их списком можно ознакомиться здесь https://yggdrasil-network.github.io/services.html

Русскоязычное сообщество собирает подробную базу знаний про Yggdrasil на HowToYgg wiki. На хабре тоже есть хорошие статьи про эту сеть.

Телеграм канал проекта HyperModem: @PopuraChan

Чаты про Yggdrasil и меш-сети: @Yggdrasil_ru @meshnet

Просмотры:

Коментарі

Популярні публікації