Протоколу пророчат светлое будущее, и мы решили обсудить, есть ли у него шанс преобразить сетевую архитектуру современных сетей. Подробнее — под катом.
О чем речь
Yggdrasil — это протокол (и его реализация), позволяющий развернуть децентрализованную сеть IPv6 в режиме оверлея. Схема маршрутизации Yggdrasil выглядит как структурированное дерево с единым «корневым» узлом. Остальные узлы в архитектуре имеют один родительский нод, а также один или несколько дочерних. Так, еще до отправки пакета можно определить оптимальный путь к точке назначения. Информация о маршрутах хранится в распределенной хеш-таблице (DHT). При этом данные внутри сети зашифрованы, а сама она следует идеологии zeroconf, когда настройка и масштабирование происходит автоматически.
В теории Yggdrasil способен поменять подходы к построению сетей. Многие эксперты считают разработку перспективной — так, оживлённые дискуссии по теме ведут на Хабре и Hacker News. Однако есть несколько факторов, которые могут затормозить распространение данной технологии.
Что может помешать внедрению
Проект Yggdrasil достаточно молодой, поэтому в его работе возникают ошибки. В этом году один из пользователей обратил внимание на возможность проведения атаки «дней рождения» с поиском коллизий хеш-функций. Резидент Hacker News также отметил потенциальный вектор атаки при генерации ключей. К недостаткам Yggdrasil также относят не самую подробную документацию, из-за которой становятся неочевидны отдельные рабочие аспекты. Так, одному из участников дискуссии на HN не очень понятно, что с пропускной способностью на едином корневом узле и как сеть проводит реконфигурацию при обрывах подключений.
В то же время Yggdrasil использует IPv6, что также может затормозить распространение технологии. Шестую версию интернет-протокола внедряют довольно медленно — его активировали не все сервис-провайдеры и поддерживает не более 30% сайтов. Здесь стоит заметить, что в оверлейном режиме Yggdrasil не требует подключения по протоколу IPv6 (но его все равно должна поддерживать операционная система, на которой запущен Yggdrasil).
В целом Yggdrasil разрабатывают уже более трех лет, но проект до сих пор находится в альфе. Версия v0.2 появилась летом 2018 года, спустя полгода вышла v0.3. Однако дату первого стабильного релиза разработчики назвать не могут. Более того, они не уверены, что это вообще когда-нибудь произойдет.
Чтобы в полной мере оценить возможности системы, нужно провести тесты с большим числом пользователей — пока их недостаточно. Некоторых может отталкивать вероятность потери обратной совместимости. Так, в версии v0.4 авторы кардинально изменили подход к маршрутизации. Хотя стоит заметить, что проекты на Yggdrasil все же реализуют — есть сайты, персональные блоги, даже серверы для игры Minecraft. Но если протоколу не удастся привлечь более широкую аудиторию, он рискует остаться инструментом для энтузиастов.
Кто еще
В любом случае, если новый протокол для организации меш-сетей получит распространение, необязательно, что это будет Yggdrasil. Так, аналогичное решение предлагают авторы протокола Pinecone. Система строит две виртуальные топологии сети: остовное дерево по типу Yggdrasil и последовательную линию на основе открытого ключа. Такая схема маршрутизации получила название SNEK (Sequentially Networked Edwards Key).
К сожалению, у протокола пока нет подробной спецификации (разработчики рекомендуют изучать код и компактную wiki-страничку на GitHub), при этом он не очень хорошо оптимизирован. Однако Pinecone используют в экосистеме Matrix. Это — открытый протокол мгновенного обмена сообщениями и файлами. С ним уже работают европейские правительства и учебные заведения.
Про инфраструктуру провайдеров в нашем блоге:
Комментарии (4)
Wundarshular
27.12.2021 06:28+2Просвятите, пожалуйста, что за проблема с маршрутизацией в сетях сейчас, потому что мне после прочтения статьи совершенно неочевидно, что она есть - понятно только, что объект статьи может что-то поменять, и то в теории, и что обязательно нужно, но необязательно, поддерживать IPv6 на узлах сети.
Surzhikov
27.12.2021 20:29Перевод "проблем современного интернета" с сайта Иггдрасиля.
Интернет в том виде, в каком мы его знаем сегодня, не соответствует четко определенной топологии. В основном это произошло с течением времени - по мере роста Интернета все больше и больше сетей были «скреплены вместе». Отсутствие определенной топологии создает неизбежные проблемы:
Таблицы маршрутизации, содержащие «карту» Интернета, огромны и неэффективны.
На самом деле у компьютера нет никакого способа узнать, где он находится в Интернете по сравнению с чем-либо еще.
Трудно выяснить, куда пойдет пакет от источника к месту назначения, не отправив его на самом деле.
Очень сложно установить надежные сети в местах, которые часто меняются или нестатичны, например, в беспроводной ячеистой сети.
Revertis
Как-то набросали, набросали, но ничего и не объяснили.