С помощью Reticulum можно развернуть территориально-распределенную сеть на бюджетном железе и без IP. Поговорим об особенностях технологии.
На случай аварии
Современный интернет обладает определенным уровнем централизации, что ведет к появлению единых точек отказа. Так, авария даже в одном дата-центре может приводить к массовым сбоям. Еще в 2006 году землетрясение у берегов Тайваня вызвало перебои в сети на территории Южной Кореи, Японии и Сингапура. Другой пример — два года назад из-за неправильной настройки оборудования крупного американского провайдера оказались недоступны десятки игровых сервисов и мессенджеров.
В попытке построить более надежный и децентрализованный интернет, инженер Марк Квист работает над новым сетевым стеком — Reticulum. Он позволяет поднимать сети в условиях высоких задержек и низкой пропускной способности.
Как это работает
Reticulum подразумевает отказ от привычной концепции IP-адресов и портов в пользу «точек назначения» (destinations). Этим идентификатором (или несколькими) обладает каждое приложение в сети. Он представлен десятью байтами — например, <80e29bf7cccaf31431b3> — которые получены путем усечения хэша SHA-256. Всего предусмотрены четыре типа точек назначения:
Single — имеет уникальный открытый ключ, прочитать отправленные данные может только владелец закрытого ключа.
Group — данные зашифрованы симметричным ключом, прочитать их может любой, кто этим ключом владеет.
Plain — трафик не шифруется.
Link — туннель к точке типа Single, который предлагает более надежные механизмы шифрования. Например, прямую секретность (forward secrecy), которая обеспечивает защиту прошлых коммуникаций, даже если один из закрытых ключей был скомпрометирован.
Что касается самого шифрования, то Reticulum использует криптографию на эллиптических кривых и производные эфемерные ключи для защиты данных.
Перспективы
Для комфортной работы с сетью на базе Reticulum достаточно полудуплексного канала с пропускной способностью 500 бит/с и MTU в 500 байт. В таком контексте трафик можно свободно передавать по Wi-Fi, AX.25 TNC (пакетная радиосвязь), микроволновым каналам и даже LoRa-интерфейсам — в частности, RNode специально разработали для работы с новым стеком. Технологию также использует устойчивый к задержкам протокол передачи данных LXMF и платформа mesh-коммуникаций Nomad Network.
Поскольку Reticulum позволяет построить систему обмена сообщениями на маломощном железе — в том числе на базе Raspberry Pi Zero — один из резидентов Hacker News отметил, что технология найдет применение на сейсмоактивных территориях с рисками обрывов связи. Это — одна из ключевых задач, которую поставил сам разработчик.
Но участники треда также отметили ряд недостатков Reticulum, правда, они свойственны большинству mesh-сетей. Речь про уязвимость к атакам Сивиллы, загрязнению кэша и DDoS-атакам — противостоять им в распределенных системах сложно. Решением могут стать блокчейны и алгоритмы proof-of-work, но они довольно ресурсоёмкие.
Кто еще занимается подобными вещами
Еще одна открытая разработка для построения сетей в сложных условиях называется JS8Call. Эта программа позволяет радиолюбителям обмениваться текстовыми сообщениями по коротким волнам.
Её разработчики черпали вдохновение в таких проектах, как WSJT-X и FSQCall, но внесли в свою систему ряд модификаций. Так, JS8Call использует 8-тоновую FSK-модуляцию и обеспечивает возможность адресного вызова для обмена сообщениями.
Дополнительное чтение о сетях и протоколах в нашем корпоративном блоге:
ivankudryavtsev
Поправьте - 10 байтами, видимо.
VASExperts Автор
Спасибо!