Протокол Yggdrasil — сможет ли он изменить маршрутизацию в сетях
Протоколу пророчат светлое будущее, и мы решили обсудить, есть ли у него шанс преобразить сетевую архитектуру современных сетей. Подробнее — под катом.
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
В целом Yggdrasil разрабатывают уже более трех лет, но проект до сих пор находится в альфе. Версия v0.2 появилась летом 2018 года, спустя полгода вышла v0.3. Однако дату первого стабильного релиза разработчики назвать не могут. Более того, они не уверены, что это вообще когда-нибудь произойдет.
Чтобы в полной мере оценить возможности системы, нужно провести тесты с большим числом пользователей — пока их недостаточно. Некоторых может отталкивать вероятность потери обратной совместимости. Так, в версии v0.4 авторы кардинально изменили подход к маршрутизации. Хотя стоит заметить, что проекты на Yggdrasil все же реализуют — есть сайты, персональные блоги, даже серверы для игры Minecraft. Но если протоколу не удастся привлечь более широкую аудиторию, он рискует остаться инструментом для энтузиастов.
Кто еще
В любом случае, если новый протокол для организации меш-сетей получит распространение, необязательно, что это будет Yggdrasil. Так, аналогичное решение предлагают авторы протокола Pinecone. Система строит две виртуальные топологии сети: остовное дерево по типу Yggdrasil и последовательную линию на основе открытого ключа. Такая схема маршрутизации получила название SNEK (Sequentially Networked Edwards Key).
К сожалению, у протокола пока нет подробной спецификации (разработчики рекомендуют изучать код и компактную wiki-страничку на GitHub), при этом он не очень хорошо оптимизирован. Однако Pinecone используют в экосистеме Matrix. Это — открытый протокол мгновенного обмена сообщениями и файлами. С ним уже работают европейские правительства и учебные заведения.
Про инфраструктуру провайдеров в нашем блоге: