Русский
Русский
English
Статистика
Реклама

Yggdrasil

Криптографическое образование адреса IPv6 в Yggdrasil

08.03.2021 22:21:25 | Автор: admin

Абонентский IP логический адрес пользователя в сети. В малых сетях обычно используются статические адреса, прописанные вручную, а в более массовых автоматическое назначение через DHCP. За каждый сегмент локальной или глобальной сети отвечает некое лицо или организация, в чьи обязанности входит управление маршрутизацией и контроль IP-адресов.

В большинстве случаев произвольная смена адреса, выданного администратором, не несет абоненту практической пользы, т.к. может отсечь его от сети. Более опытный пользователь знает про коллизию адресов и может этим злоупотребить: назначить своему устройству уже занятый адрес, тем самым лишив изначального хозяина IP-адреса возможности использовать сеть. В обычных сетях за подобным хулиганством бдит администратор, а что происходит в масштабируемых сетях с автоматической маршрутизацией, где контроль за пользователями вовсе отсутствует? Разберем решение этой задачи в Yggdrasil Network масштабируемой меш-сети с оконечным шифрованием и IPv6-маршрутизацией.

Никакого мошенничества

Так как сеть имеет сквозное шифрование от абонента до абонента, очевидно наличие ключей. В Yggdrasil используется шифрование на эллиптических кривых x25519, подразумевающее связку публичного и приватного ключа. Публичный ключ распространяется свободно, а приватный надежно хранится и служит для расшифровки.

Первый байт 02 адреса IPv6-Yggdrasil является константой, а дальше интереснее: от публичного ключа x25519 берется хеш SHA512, количество лидирующих единиц которого, т.е. битов, установленных в ненулевом состоянии, образует второй байт.

Нулевой бит, следующий за массивом единиц, равно как и первый нулевой бит при отсутствии лидирующих единиц, урезается. Следующие за ним 14 байт образуют оставшуюся часть адреса.

Таким образом получается бесконфликтная сеть, где при масштабировании небольшого сегмента сети, например, при подключении локального сегмента к глобальному через публичный пир, не возникает опасности коллизии адресов. Это обуславливается почти безграничным множеством вероятных ключей x25519, случайно генерируемых при первом запуске Yggdrasil.

Почва для размышлений

Хеш SHA512 составляет 64 байта, в том время как адрес IPv6 даже с учетом константы 02 всего лишь 16 байт, а изначальный ключ x25519 32 байта.

Некоторые пользователи сомневаются в практической пользе такого решения и считают, что вполне реально найти ключи с коллизией адресов, т.к. массив данных ключа увеличивается вдвое, а затем от него берется лишь небольшая часть (примерно 1/5), которая образует IPv6. При всем желании, модель угрозы нахождения разных ключей с одинаковым адресом не была подтверждена практически, что говорит о сложно исчислимом количестве вариаций адресов даже при таком на первый взгляд необычном подходе к их образованию.

Разработчики Yggdrasil постарались усложнить подбор адресов. Первые непрерывно идущие единичные биты создают дополнительный фактор уникальности адреса. Вероятность подобрать последовательность из последних 14 байт IPv6 кажется весьма реалистичной, однако общий успех менее вероятен, т.к. напрямую зависит от количества лидирующих единиц в хеше 2-го байта. Отсюда выходит понятие высокого адреса адреса с большим значением во втором байте и, следовательно, с более обширным использованием 64-байтного массива от SHA512. Исходя из этого, имеет смысл майнить высокие адреса для серьезных проектов.

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

Подробнее..

Yggdrasil Network Заря бытовых меш-сетей, или Интернет будущего

16.03.2021 08:11:37 | Автор: admin

Плавно наступает эпоха меш-сетей. Как минимум, этот термин все чаще и чаще появляется в информационной сфере. Что привлекает внимание сетевиков и почему в заголовке статьи фигурирует понятие бытовая меш-сеть? Попробуем разобраться в вопросе, взяв для примера сеть Yggdrasil, как один из многообещающих прототипов. Статья рассчитана на широкого читателя.

Общее представление о топологии

Интернет, как и любая другая сеть, например, локальная на несколько компьютеров, является сетью связанных между собой компьютеров. Порядок соединения устройств в сети называется топологией и определяется сугубо предпочтениями и возможностями администратора. Дома у вас может быть точка доступа Wi-Fi для удобного подключения со смартфона, а пара настольных компьютеров подключены к роутеру кабелем. Очевидно, что порядок подключения ноутбука к интернету в вашей квартире зависит только от вас. Не существует единой и обязательной конфигурации, но любое решение имеет свои плюсы и минусы.

Как видно на иллюстрации, самой уязвимой является топология звезда, она же является самой распространенной в быту из-за простоты организации. За примером далеко ходить не нужно: наверняка у вас дома или в офисе стоит единственный коммутатор или роутер, через который все компьютеры объединяются в одну локальную сеть. Если связующее устройство будет отключено, все абоненты останутся без связи. Топологию дерево можно считать логическим продолжением звезды: представьте здание, где на каждом этаже стоит отдельный коммутатор, к которому подключаются расположенные на нем офисы. Благодаря связи коммутаторов между собой, офисы с разных этажей могут общаться. Если коммутатор на втором этаже сломается, офисы на других этажах смогут по-прежнему взаимодействовать между собой, однако связь первого этажа с остальными будет потеряна.

Mesh или ячеистая топология сетевая архитектура, в рамках которой все участники сети являются равноправными и выступают одновременно клиентом и маршрутизатором для других участников. Главное преимущество меша заключается в высокой отказоустойчивости, а минус в сложности практической реализации. Ячеистая топология широко применяется уже десятки лет, во-первых, военными, во-вторых, крупным бизнесом. Она подразумевает сложное проектирование с учётом всех возможных условий и нередко сопряжена с технологиями радио, т.к. радио незаменимый помощник в организации связи в полевых условиях.

Модель передачи данных по сети

В детстве, смотря телевизор, многие задавались вопросом о магии, которая позволяет по тонкому коаксиальному кабелю передавать звук и картинку. Теперь вопросов стало еще больше, потому что вся мировая паутина каким-то образом передается без проводов прямиком в маленькую коробочку, именуемую смартфоном.

Всем знакомо понятие IP-адреса логического адреса абонента для маршрутизации его входящей и исходящей информации по сети. Не вдаваясь в технические подробности стека TCP/IP, где IP это вовсе легко запоминающийся Internet Protocol, нужно различать два основных вида IP-адресов:

  1. IPv4 четырехбайтные адреса с записью в десятичной системе счисления и разделением байтов через точку в виде 192.168.1.10. IPv4 привычен для глаза и прост в восприятии, однако имеет малое адресное пространство примерно в четыре миллиарда вариаций. Меньше, чем население Земли: выдать каждому человеку по уникальному адресу не получится, не говоря уже про интернет вещей.

  2. IPv6 шестнадцатибайтные адреса, записываемые в шестнадцатеричной системе счисления с разделением каждых двух байтов двоеточиями. Выглядит примерно так: fe80:2a30:6b30:c26d:3d39:3ce4:218:6376. Сложноват для восприятия и запоминания, однако имеет безграничное для человеческого воображения количество возможных адресов. Адресного пространства IPv6 хватит на много планет с учетом, что у каждого жителя будет по три кофеварки, имеющих уникальный адрес.

IPv6 появился позже, чем IPv4 и по сей день некоторое программное обеспечение работает по сети только по протоколу IPv4. Особенно это замечание актуально для старого ПО, разработчики которого прекратили активное развитие продукта.

Чтобы приблизиться к представлению передачи цифровой, т.е. бинарной информации, состоящей из битов нулей и единиц, понадобится базовое понимание модели сетевого взаимодействия Open Systems Interconnection (или просто: OSI). Подробную справку при желании вы найдете в два клика, поэтому не стану переписывать учебник. Знайте: от электрического импульса в проводе до отображения картинки в браузере задействуется несколько логических уровней, и чем ниже уровень, тем меньше энергозатрат на стороне клиента. Пока сигнал идет по проводу, компьютер с ним никак не связан. Затем сигнал достигает сетевой карты устройства и начинается его низкоуровневая обработка силами самой сетевой платы. После этого информация передается непосредственно в операционную систему, и ее логическая обработка ложится на основные ресурсы компьютера. Высшая точка этой цепи клиентское приложение, например, браузер, и картинка в нем. Итого электрический импульс преобразуется в биты, затем эти биты образуют пакеты, отправляются в браузер и собираются в картинку на мониторе пользователя.

Классическая сеть

Почти любая современная телекоммуникационная сеть подразумевает наличие администратора пользователя, наделенного полномочиями и ответственностью. Админ налаживает связность, подключает новых абонентов, а также в праве цензурировать и всячески ограничивать подконтрольный ему сегмент сети. Это правило применимо как для локальных сетей, так и для глобальной сети интернет. В случае с интернетом мы прибегаем к услугам провайдеров, которые подключают нас к своей сети. В свою очередь, малые провайдеры пользуются услугами магистральных провайдеров; тех, кто объединяет своим кабелем страны и континенты. Чем серьезнее уровень сети, тем большее количество человек ее обслуживает. Помимо физического соединения разных компьютеров проводами, проводится колоссальная работа по логической настройке сети маршрутизации. Благодаря ей наши запросы на другой континент улетают за несколько десятков миллисекунд, потому что каждый вышестоящий маршрутизатор знает кому необходимо передать пакет дальше. Без настройки маршрутизации и человека, который её настроит, не обойдется даже крошечная локальная сеть на несколько кабинетов!

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

Yggdrasil

Бывало ли, что ваш домашний роутер выходил из строя, и все домочадцы оставались без выхода в сеть? Представьте, как было бы хорошо, если роутер не был бутылочным горлышком, и в случае его отказа все участники домашней сети могли выйти в интернет через умный телевизор, соседские беспроводные сети и в конце концов через ваш смартфон, и всё это без какой-либо дополнительной конфигурации после поломки роутера!

Все прикладные программы вынуждены использовать шифрование при передаче информации по сети, чтобы промежуточные участники не смогли перехватить чувствительную информацию. К примеру, почти все современные сайты используют протокол HTTPS, который позволяет устанавливать зашифрованное соединение пользователя с сервером. Благодаря этому мы спокойно вводим пароли, данные от банковских карт и верим, что введенная нами информация будет получена только ее явным адресатом. Представьте, что сетевое соединение всегда безопасно на уровне протокола и нет нужды нагромождать дополнительные средства защиты, в том числе нет потребности в центрах сертификации организациях, на доверии к которым весь мир использует уже названный HTTPS (центр сертификации является точкой отказа безопасности, т.к. он заверяет нас в надежности соединения, но может быть скомпрометирован).

Для организации локальной сети на предприятии, настройки VPN для удаленных сотрудников, даже для малой сети из трёх компьютеров требуется тот или иной уровень грамотности и соответствующий специалист. А что, если существует решение, допускающее нулевую конфигурацию на стороне обычного пользователя, при этом позволяющее объединять или разделять локальные сети с полным сохранением маршрутизации (с физически доступными узлами)?

Как вы уже поняли, все перечисленные возможности реализованы и активно развиваются. Мы добрались до главной повестки статьи Yggdrasil программной реализации меш-сети с абсолютной масштабируемостью, автоматической маршрутизацией и оконечным шифрованием всего трафика от пользователя до пользователя. Yggdrasil программное решение, избавляющее от необходимости в администраторе при организации малых и средних сетей, а также минимизирующее влияние сумасшедших законотворцев на связность сети в целом.

Адресация в Yggdrasil

Yggdrasil использует адресацию IPv6 с маской сети 200::/7. Адреса из этой подсети не применяются в интернете, поэтому коллизий не возникает. Каждый пользователь также имеет свою подсеть 300::/64, что позволяет назначать на сетевые интерфейсы более короткие адреса, выдавать адреса из этой подсети локальным пользователям дома, а также использовать их для хостинга нескольких ресурсов на разных адресах (например, сайты, все из которых используют порт 80). Короткий адрес автоматически маршрутизируется на полный адрес из подсети 200::/7, первые 64 бита которого совпадают. Например, адрес [324:9de3:fea4:f6ac::ace] маршрутизируется на узел с полным адресом [224:9de3:fea4:f6ac:6d7c:68f5:6c8e:f9a9]. Адреса из дополнительной подсети пользователя легко распознать по первой тройке в адресе, т.к. в полных адресах всегда используется двойка.

Адрес пользователя генерируются при первом запуске программного клиента сети. Чтобы исключить возможность присвоения чужого адреса, адрес IPv6 в Yggdrasil непосредственно образуется от ключа шифрования. Соединение не будет установлено, если ключ шифрования не соответствует IPv6-адресу. Т.к. подобрать или своровать чужой ключ весьма нетривиальная задача, можно заключить, что адреса в Yggdrasil устойчивы перед злонамеренными попытками помех их использования. Подробнее про криптографическое образование адресов IPv6 в Yggdrasil читайте в статье: http://personeltest.ru/aways/habr.com/ru/post/546034/.

В силу того, что вся сеть Yggdrasil вне зависимости от масштаба и физического нахождения узлов использует одну подсеть, невозможно вести глобальную маршрутизацию адресов каноничными средствами сетевого администрирования.

Построение общего дерева координат в Yggdrasil

В традиционных сетях, где происходит осмысленное распределение выделенных адресов, логику маршрутизации настраивают многочисленные администраторы, а как работать сети без админа, когда в ней тысячи узлов по всему миру? Название Иггдрасиль происходит от одноимённого дерева в Скандинавской мифологии, которое объединяет миры. Имя для сети подобрано не случайно, т.к. маршрутизация в ней имеет древовидную структуру.

Помимо IP-адреса, узлы сети имеют координаты, отображающие их логическое место в сети. Чтобы эти координаты имели начало отсчета, среди узлов выбирается некоторый равный участник сети.

Логика вычисления нулевого узла координат

От ключа подписи берется хеш SHA512 и производится подсчет первых битов, установленных в единицу. Узел с наибольшим количеством лидирующих битов в хеше ключа подписи автоматически становится точкой отсчета для остальных узлов. Когда в сети появляется участник с более подходящим ключом, дерево координат перестраивается, считая его корнем.

При первом обращении к адресу происходит широковещательный опрос ближайших участников, затем поисковый запрос распространяется дальше по сети. Когда запрос доходит до узла, который непосредственно видит целевой адрес, запрашивающему абоненту возвращается ответ. В концепции Иггдрасиль лежат наикратчайшие пути и максимально возможная скорость передачи информации. В отличие от первого запроса, установленная сессия между двумя участниками в большинстве случае осуществляется по одному маршруту, основанному на координатах транзитных узлов. В силу такой специфики первый ответ имеет наибольшее время ожидания, а когда сессия установлена и определен оптимальный маршрут задержка стабилизируется.

Самый заметный баг, затмевающий все остальные возможные недостатки поменьше, это сетевые штормы. Модель угрозы заключается в импульсообразном появлении и исчезновении узла с ключом подписи, который вынуждает остальных участников перестраивать координаты, беря его за точку отсчета. Как не сложно догадаться, если координаты постоянно перестраиваются, маршрутизация сети очень сильно страдает, вплоть до полной потери пингов.

Опыт и теория использования Yggdrasil в продакшене

Первый релиз на GitHub датируется 17 февраля 2018 года. Однако по сей день Yggdrasil позиционируется, как сырой продукт, бэта, и не рекомендуется к использованию в серьезных проектах.

Многие угрозы нестабильности сети актуальны только при подключении к глобальному сегменту сети, где многое из происходящего от нас никак не зависит. В случае бизнес-решений, есть случаи успешного подключения через Yggdrasil удаленных сотрудников, например, бухгалтеров. Такие сети организуются изолированно, поэтому не подвержены сетевому шторму: на сервере, подконтрольном штатному сисадмину, организуется публичный пир, к которому в оверлейном режиме (т.е. через интернет) подключаются все сотрудники. Получается легко масштабируемая сеть вроде VPN с внутренним IPv6. Также Yggdrasil может использоваться для проброса локальных сетей IPv4 соответствующие параметры имеются в файле конфигурации.

В Yggdrasil есть встроенные средства ограничения доступа к сетевому интерфейсу операционной системы с допуском только доверенного списка ключей, которые указываются в конфигурационном файле. Таким образом подключиться к TUN-интерфейсу машины смогут только вручную добавленные пользователи. Недоверенные участники сети не смогут даже пинговать такой IPv6-Yggdrasil, при этом транзитный трафик на узле никак не пострадает.

Также с версии 0.3.15 Yggdrasil позволяет не просто блокировать или разрешать какие-то адреса, а указывать ключи шифрования и подписи при настройке подключения к публичному пиру. В случае централизованного подключения сотрудников организации к некоему публичному пиру, этот параметр как никогда уместен, т.к. за счет прямой манипуляции с ключами страхует от теоретической атаки в виде спуфинга адреса IPv6.

Технические замечания

Yggdrasil работает на весьма высоком сетевом уровне (L3), образуя свои туннели поверх обычного TCP/IP. Вся обработка внутрисетевого трафика требует вычислительных ресурсов операционной системы. В первую очередь это связано с криптографией: прежде, чем передать информацию на виртуальный сетевой интерфейс, который будет воспринят операционной системой наравне с обычным трафиком, в службе Yggdrasil производятся криптографические операции. При большом проходящем трафике на слабом железе могут возникать тормоза.

Для работы в локальной сети, т.е. автоматического обнаружения пиров, необходимо включить IPv6 на реальных сетевых интерфейсах компьютера. В случае систем без поддержки IPv6 (например, Windows XP), подключение к Yggdrasil возможно только посредством указания IPv4-адреса публичного пира (адрес может быть локальный).

Сеть масштабируется автоматически: если один из пользователей изолированного сегмента сети пропишет у себя общедоступный публичный пир, весь сегмент окажется частью глобальной сети Yggdrasil.

Начало использования

Подробные инструкции, список публичных пиров, а также список известных внутрисетевых сервисов доступен на официальной странице проекта: https://yggdrasil-network.github.io/. Клиент сети является кроссплатформенным. На момент публикации поддерживаются все распространенные ОС: Windows, Linux, MacOS, IOS и Android.

Yggdrasil будет интересен как сетевым энтузиастам и администраторам, так и подрастающему поколению, например, для игры в Minecraft в псевдо локальной сети (как замена Hamachi).

Постскриптум

В начале 2010-ых годов слово "криптовалюта" было почти неизвестно: где-то звучало на уровне фантастики, а где-то, как бред. Лишь небольшая группа людей понимала о чем речь и еще меньшая вникала в суть и начинала активно знакомиться с биткойном. Теперь всяческих криптовалют навалом и поезд хайпа уже тронулся, а запрыгнуть в последний вагон занятие непростое и недешевое. Однако услышав про меш-сети вы с приятным удовлетворением поймете, что эта электричка без вас не уехала.

Подробнее..

I2P over Yggdrasil анонимность в меш-сетях

06.03.2021 18:05:18 | Автор: admin

I2P (Invisible Internet Protocol) свободный инструмент организации анонимных коммуникаций через интернет. Является одноранговой сетью, в которой каждый пользователь по умолчанию является потенциальным звеном в анонимной цепочке других участников сети. Трафик I2P зашифрован и не поддается анализу. Понятие сторожевого узла в I2P, которое присутствует в сети Tor, нет: не существует никакого постоянного узла, через который осуществляется выход в сеть. Взаимодействие пользователя с I2P на стороне домашнего провайдера идентифицируется, как хаотичное подключение к случайным хостам. Количество подключений клиента с белым IP в среднем варьируется у отметки в четыре тысячи. Помимо полезной нагрузки, сюда входят обмен служебной информацией с другими роутерами сети и транзитный трафик.

Предпосылки

Существенное слабое место сети I2P заключается в необходимости обращения к одному из стартовых узлов через обычный интернет при первом запуске. Пакет с начальным рисунком сети в виде нескольких случайных роутеров и узел, который его отдает, называются ресидом. Стартовые узлы держат энтузиасты, их список имеется в общем доступе и нередко претерпевает изменения в силу обычных человеческих обстоятельств. Бутылочное горлышко заключается в возможности на стороне провайдера идентифицировать большинство обращений к ресиду через мониторинг DNS-запросов, а также в блокировке доменов стартовых узлов, что затруднит первый запуск для неопытного пользователя, т.к. потребует использование прокси или VPN.

Блокировка запроса к ресиду на стороне провайдераБлокировка запроса к ресиду на стороне провайдера

В отличие от обычного интернета, пользователи I2P без выделенного адреса имеют худшее качество использования скрытой сети, чем абоненты с белым IP. Это связано с постоянной необходимостью прямого сообщения с другими роутерами сети. Каждый роутер публикует свой адрес, который включает в себя ключи шифрования, IP-адрес и порт для приема сообщений. Очевидно, что достучаться до узла сети за NAT-сервером задача не из простых.

Разница между пользователем с выделенным IP и пользователем за NAT-омРазница между пользователем с выделенным IP и пользователем за NAT-ом

Однако работа роутеров без выделенного адреса возможна: клиенту сети за NAT-ом приходится постоянно поддерживать активное UDP-соединение, резервируя на выходном сервере провайдера порт, обращения на который будут переданы клиенту. Этот сценарий весьма сложен, особенно, когда речь заходит про инициализацию соединения извне. Механика работы клиента за NAT-ом произведение инженерной мысли, которое заслуживает отдельной статьи.

Кратко об Yggdrasil

Yggdrasil один из немногих работоспособных протоколов меш-сетей. Основная концепция заключатся в автоматической маршрутизации во внутренней IPv6 подсети (200::/7) и абсолютной масштабируемости. Yggdrasil является полностью одноранговой сетью: не существует каких-либо мастер-узлов, которым делегируется какая-то глобальная ответственность. Является идеологическим продолжателем проекта CJDNS (Hyperborea).

Абстрактная идея меш-сети во главу угла ставит производительность, приватность и простоту использования: шифрование трафика и низкий порог вхождения новых пользователей. Yggdrasil не является инструментом анонимности, т.к. ближайшие к пользователю узлы видят его реальные сетевые интерфейсы в локальной сети, либо IP-адрес при подключении к публичному пиру через интернет. Меш-сети находят применение в организации псевдолокальных сетей, объединяя удаленные компьютеры в одну IPv6-сеть (по аналогии с Hamachi для игры в Minecraft и прочие мультиплеерные игры). Также служит для организации прочих внутрисетевых ресурсов вроде сайтов и VoIP-телефонии.

Первые попытки интеграции

Небольшое замечание

Описанные ниже нововведения на момент публикации статьи касаются только i2pd I2P-роутера на C++.

I2P-роутер публикует свои адреса, в том числе IPv6, если он включен в конфиге и имеется фактически. Так как Yggdrasil предоставляет пользователю не локальный прокси, а полноценный сетевой интерфейс (туннель WireGuard), до недавних пор I2P-роутер публиковал адрес IPv6 из подсети Yggdrasil. Так как пользователей с включенным протоколом IPv6 в конфигурации I2P-роутера и установленным Yggdrasil было больше, чем один и даже два, периодически можно было видеть, что клиент I2P (роутер) сообщается с другими Yggdrasil-адресами.

Однако на лицо следующие недостатки:

  1. обращение к ресиду в конечном счете должно осуществляться через обычный интернет;

  2. опубликованный роутером адрес IPv6-Yggdrasil для подавляющего большинства пользователей I2P является неизвестным и недоступным;

  3. успешный запуск I2P-роутера на Yggdrasil-Only устройстве маловероятен в силу возможного отсутствия в ресиде или локальной базе роутера узлов с адресом IPv6-Yggdrasil.

Начало полной совместимости

С версии 2.36.0 i2pd имеет несколько новых конфигурационных параметров, главный из которых meshnets.yggdrasil=true Этот параметр не зависит от конфигурации IPv4 и IPv6. В частности, реальные сетевые интерфейсы могут быть отключены. В таком случае I2P-роутер будет работать в режиме Yggdrasil-Only.

Также организован специальный ресид, доступный из Yggdrasil и отдающий пользователю пакет в первую очередь состоящий из известных роутеров с адресом IPv6-Yggdrasil. При каждом запуске I2P-роутера, работающего в режиме Yggdrasil-Only, проводится проверка наличия в локальной базе доступных узлов на транспортном уровне, т.е. наличие других узлов с IPv6-Yggdrasil. Если по каким-то причинам совместимых роутеров в локальной базе не оказалось, происходит повторное обращение к Yggdrasil-ресиду.

При современном использовании Yggdrasil по большей части через оверлейные подключения к публичным пирам через интернет, работа I2P-роутера в Yggdrasil сравнима со связкой Tor-over-VPN: подобный подход полностью скрывает факт использования скрытой сети от домашнего провайдера. В случае с I2P имеется еще одно специфичное преимущество: пользователю не нужно иметь выделенный IP от провайдера для беспроблемных внешних обращений, т.к. IPv6-Yggdrasil является глобально доступным в рамках сегмента сети Yggdrasil (физически соединенной группы участников, в том числе через публичные пиры в интернете).

Целостность сети

Описанное решение не является фактором фрагментации I2P. Построение туннелей скрытой сети весьма емкий и даже ювелирный процесс, в рамках которого в том числе происходит согласование транспортных возможностей узлов. Формируя чеснок - зашифрованное сообщение группе узлов, которые должны образовать туннель, - роутер проверяет их адреса на совместимость. Например, узел с единственным адресом IPv4 не получит инструкцию, согласно которой ему необходимо установить контакт с адресом IPv6, т.к. это заведомо невозможно.

Чтобы Yggdrasil-Only роутеру построить туннель до узла с адресом из обычного интернета, как минимум будет подобран транзитный роутер, имеющий два интерфейса: IPv6-Yggdrasil и, например, обычный IPv4. В свою очередь, другие Yggdrasil-Only роутеры также могут выступать транзитными звеньями туннеля, но только для сообщения с узлами совместимыми по транспорту, т.е. также имеющими сетевой интерфейс Yggdrasil. Чем больше в сети I2P количество роутеров с одновременно включенными IPv4, IPv6 и Yggdrasil интерфейсами, тем связнее сеть.

Подключение к I2P через YggdrasilПодключение к I2P через Yggdrasil

Перспектива

Пример с Yggdrasil является частным шагом в будущее, а не самоцелью. Описанный опыт успешной интеграции скрытой сети в меш-сеть является важным концептуальным шагом, который при надобности позволит интегрировать сеть I2P в другие меш-сети. Перспектива открывается при рассмотрении самоорганизованных сегментов меш-сети, например, в многоквартирных домах без централизованного провайдера. В локальной сети клиент Yggdrasil автоматически находит другие узлы и сообщается с ними, сам выступая при надобности транзитным. При подключении хотя бы одного узла в таком сегменте к другому сегменту сети (например, к глобальному через интернет), сети автоматически объединяются. Такой подход к организации сети стал еще реальнее, т.к. теперь имеет место быть и вторая сторона привычного интернета скрытая.


Для более детального ознакомления с I2P и Yggdrasil рекомендую видео:

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru