Как мы обсуждали ранее, отключение интернета в конкретной стране или городе — не вымышленная угроза, а вполне реализуемое действие. В частности, международная ассоциация 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.
- AES-128 в режиме CBC с набивкой PKCS7;
- Защищённые от подделки подтверждения доставки пакетов.
- Разнообразие типов интерфейсов.
- Интуитивно понятный и простой в использовании 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)
importno
22.04.2022 21:34+1Реальная сила протокола заключается в том, что он может использовать все виды различных средств связи и соединять их в единую сеть.
Разве IP так не умеет?
MaxStirlits
23.04.2022 01:19Что мешает ему ip сеть запустить внутри и использовать вагон готовых приложений?
Lelant0s
23.04.2022 09:32А можно пару слов о разнице между протоколами Reticulum и LoRa. Второй как минимум заточен на большие расстояния и низкое энергопотребление. Первый, как вы пишете, на шифрование. Хотелось бы понять в чем еще есть "разницы".
Ukaru
24.04.2022 00:57Я так понял что это не практическая статья а только анонс того что кто-то делает что-то интересное что можно хоть на си-би хоть на колючей проволоке поднимать сеть?
impexp
Для этого ректикулума нужно много дефицитного нынче железа, прямые руки и мозги. А для быстрого и массового экстренного развёртывания mesh-сети для связи проще использовать мобильные приложения наподобие briar.
Moraiatw
Сильно ограниченная дальность связи. Не будет работать дальше 1 дома\двора.