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

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

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

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

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



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

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

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

  • Бескоординатная глобальная адресация и идентификация.
  • Полностью самоконфигурирующаяся многоцелевая маршрутизация (multi-hop).
  • Асимметричное шифрование X25519 и подписи Ed25519.
  • Спецификация шифрования Fernet:
    • AES-128 в режиме CBC с набивкой PKCS7;
    • HMAC с аутентификацией SHA256;
    • генерация векторов инициализации с помощью os.urandom();
    • прямая секретность с эфемерными ключами по протоколу Диффи — Хеллмана на эллиптических кривых (ECDH), набор Curve25519.
  • Защищённые от подделки подтверждения доставки пакетов.
  • Разнообразие типов интерфейсов.
  • Интуитивно понятный и простой в использовании 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.



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


  1. impexp
    22.04.2022 18:35
    +2

    Для этого ректикулума нужно много дефицитного нынче железа, прямые руки и мозги. А для быстрого и массового экстренного развёртывания mesh-сети для связи проще использовать мобильные приложения наподобие briar.


    1. Moraiatw
      22.04.2022 21:34
      +1

      briar

      Сильно ограниченная дальность связи. Не будет работать дальше 1 дома\двора.


  1. importno
    22.04.2022 21:34
    +1

    Реальная сила протокола заключается в том, что он может использовать все виды различных средств связи и соединять их в единую сеть.

    Разве IP так не умеет?


  1. MaxStirlits
    23.04.2022 01:19

    Что мешает ему ip сеть запустить внутри и использовать вагон готовых приложений?


    1. SergeyMax
      23.04.2022 13:47

      Таймауты мешают. Извиняюсь за банальность.


  1. Lelant0s
    23.04.2022 09:32

    А можно пару слов о разнице между протоколами Reticulum и LoRa. Второй как минимум заточен на большие расстояния и низкое энергопотребление. Первый, как вы пишете, на шифрование. Хотелось бы понять в чем еще есть "разницы".


    1. makkarpov
      23.04.2022 10:13

      LoRa - не протокол, а вид модуляции, и работает не с байтами, а с радиосигналом, давая на выходе сырые байты.


      1. Lelant0s
        23.04.2022 11:06

        Я имел в виду LoRaWAN, сорри.


  1. Ukaru
    24.04.2022 00:57

    Я так понял что это не практическая статья а только анонс того что кто-то делает что-то интересное что можно хоть на си-би хоть на колючей проволоке поднимать сеть?