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

Unsplash / Mark Tegethoff
Unsplash / Mark Tegethoff

О чем речь

Yggdrasil — это протокол (и его реализация), позволяющий развернуть децентрализованную сеть IPv6 в режиме оверлея. Схема маршрутизации Yggdrasil выглядит как структурированное дерево с единым «корневым» узлом. Остальные узлы в архитектуре имеют один родительский нод, а также один или несколько дочерних. Так, еще до отправки пакета можно определить оптимальный путь к точке назначения. Информация о маршрутах хранится в распределенной хеш-таблице (DHT). При этом данные внутри сети зашифрованы, а сама она следует идеологии zeroconf, когда настройка и масштабирование происходит автоматически.

В теории Yggdrasil способен поменять подходы к построению сетей. Многие эксперты считают разработку перспективной — так, оживлённые дискуссии по теме ведут на Хабре и Hacker News. Однако есть несколько факторов, которые могут затормозить распространение данной технологии.

Что может помешать внедрению

Проект Yggdrasil достаточно молодой, поэтому в его работе возникают ошибки. В этом году один из пользователей обратил внимание на возможность проведения атаки «дней рождения» с поиском коллизий хеш-функций. Резидент Hacker News также отметил потенциальный вектор атаки при генерации ключей. К недостаткам Yggdrasil также относят не самую подробную документацию, из-за которой становятся неочевидны отдельные рабочие аспекты. Так, одному из участников дискуссии на HN не очень понятно, что с пропускной способностью на едином корневом узле и как сеть проводит реконфигурацию при обрывах подключений.

В то же время Yggdrasil использует IPv6, что также может затормозить распространение технологии. Шестую версию интернет-протокола внедряют довольно медленно — его активировали не все сервис-провайдеры и поддерживает не более 30% сайтов. Здесь стоит заметить, что в оверлейном режиме Yggdrasil не требует подключения по протоколу IPv6 (но его все равно должна поддерживать операционная система, на которой запущен Yggdrasil).

Unsplash / Lizzie Nairn
Unsplash / Lizzie Nairn

В целом Yggdrasil разрабатывают уже более трех лет, но проект до сих пор находится в альфе. Версия v0.2 появилась летом 2018 года, спустя полгода вышла v0.3. Однако дату первого стабильного релиза разработчики назвать не могут. Более того, они не уверены, что это вообще когда-нибудь произойдет.

Чтобы в полной мере оценить возможности системы, нужно провести тесты с большим числом пользователей — пока их недостаточно. Некоторых может отталкивать вероятность потери обратной совместимости. Так, в версии v0.4 авторы кардинально изменили подход к маршрутизации. Хотя стоит заметить, что проекты на Yggdrasil все же реализуют — есть сайты, персональные блоги, даже серверы для игры Minecraft. Но если протоколу не удастся привлечь более широкую аудиторию, он рискует остаться инструментом для энтузиастов.

Кто еще

В любом случае, если новый протокол для организации меш-сетей получит распространение, необязательно, что это будет Yggdrasil. Так, аналогичное решение предлагают авторы протокола Pinecone. Система строит две виртуальные топологии сети: остовное дерево по типу Yggdrasil и последовательную линию на основе открытого ключа. Такая схема маршрутизации получила название SNEK (Sequentially Networked Edwards Key).

К сожалению, у протокола пока нет подробной спецификации (разработчики рекомендуют изучать код и компактную wiki-страничку на GitHub), при этом он не очень хорошо оптимизирован. Однако Pinecone используют в экосистеме Matrix. Это — открытый протокол мгновенного обмена сообщениями и файлами. С ним уже работают европейские правительства и учебные заведения.


Про инфраструктуру провайдеров в нашем блоге:


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


  1. Revertis
    25.12.2021 18:56
    +9

    Как-то набросали, набросали, но ничего и не объяснили.


  1. MAXH0
    25.12.2021 20:33
    +4

    КДПВ очень показательна - Планировали Иггдрасиль, а вырастили Бансай!


  1. Wundarshular
    27.12.2021 06:28
    +2

    Просвятите, пожалуйста, что за проблема с маршрутизацией в сетях сейчас, потому что мне после прочтения статьи совершенно неочевидно, что она есть - понятно только, что объект статьи может что-то поменять, и то в теории, и что обязательно нужно, но необязательно, поддерживать IPv6 на узлах сети.


    1. Surzhikov
      27.12.2021 20:29

      Перевод "проблем современного интернета" с сайта Иггдрасиля.

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

      • Таблицы маршрутизации, содержащие «карту» Интернета, огромны и неэффективны.

      • На самом деле у компьютера нет никакого способа узнать, где он находится в Интернете по сравнению с чем-либо еще.

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

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