какие сети называют одноранговые

Одноранговая сеть

Однора́нговая, децентрализо́ванная или пи́ринговая (от англ. peer-to-peer, P2P — равный к равному) сеть — это оверлейная компьютерная сеть, основанная на равноправии участников. В такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и сервером. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. Участниками сети являются пиры.

Содержание

История

Впервые фраза «peer-to-peer» была использована в 1984 году Парбауэллом Йохансоном (Parbawell Yohanson) [источник не указан 1063 дня] при разработке архитектуры Advanced Peer to Peer Networking фирмы IBM.

Устройство одноранговой сети

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

Любой член данной сети не гарантирует свое присутствие на постоянной основе. Он может появляться и исчезать в любой момент времени. Но при достижении определённого критического размера сети наступает такой момент, что в сети одновременно существует множество серверов с одинаковыми функциями.

Частично децентрализованные (гибридные) сети

Помимо чистых P2P-сетей, существуют так называемые гибридные сети, в которых существуют серверы, используемые для координации работы, поиска или предоставления информации о существующих машинах сети и их статусе (on-line, off-line и т. д.). Гибридные сети сочетают скорость централизованных сетей и надёжность децентрализованных благодаря гибридным схемам с независимыми индексационными серверами, синхронизирующими информацию между собой. При выходе из строя одного или нескольких серверов сеть продолжает функционировать. К частично децентрализованным файлообменным сетям относятся например EDonkey, BitTorrent.

Пиринговая файлообменная сеть

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

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

Такие организации, как RIAA, дискредитируют пиринговые сети, публикуя в них фальшивые файлы (содержание которых не соответствует названию, часто носит порнографический характер). Это привело к потере популярности сети KaZaA в пользу eDonkey, имеющей более совершенную архитектуру.

Несмотря на то, что в феврале 2006 прекратил работу самый популярный сервер сети eD2k — Razorback, и была прекращена разработка коммерческого клиента EDonkey2000, сама сеть ED2K продолжает функционировать, т. к. не завязана на конкретные серверы и существует большое количество свободно распространяемых клиентских программ типа eMule и mlDonkey.

Пиринговые сети распределённых вычислений

Пиринговые финансовые сети

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

Упоминания в литературе

— Вы молодцы, — говорю я. — Это очень здорово, что Храм построен. Где вы его поставили?

— В размазанном пространстве.

— Ты совсем не в курсе? — Дик вздыхает. Достаёт пачку сигарет, закуривает. Либо у него статус выше, чем у Маньяка, либо хозяева «Лабиринта» не такие идиоты, как владельцы «Virtual guns». — Это ведь планировалось совсем особым проектом, Леонид…

— Храм должен был быть вечным. Как сама глубина. А значит, не зависеть ни от одного сервера. Создающие Храм программы свободно блуждают по сети, их фрагменты дублируются, рекомбинируются, самостоятельно организуются для работы. Чтобы Храм исчез, надо уничтожить все машины в сети. Точнее, более девяноста трёх процентов, на нынешний момент.

Источник

Какие сети называют одноранговые

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Достоинством одноранговых сетей является их высокая гибкость: в зависимости от конкретной задачи сеть может использоваться очень активно, либо совсем не использоваться. Из-за большой самостоятельности компьютеров в таких сетях редко бывает ситуация перегрузки (к тому же количество компьютеров обычно невелико). Установка одноранговых сетей довольно проста, к тому же не требуются дополнительные дорогостоящие серверы. Кроме того, нет необходимости в системном администрировании, пользователи могут сами управлять своими ресурсами.

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

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

Сейчас считается, что одноранговая сеть наиболее эффективна в небольших сетях (около 10 компьютеров). При значительном количестве компьютеров сетевые операции сильно замедлят работу компьютеров и создадут множество других проблем. Тем не менее, для небольшого офиса одноранговая сеть – оптимальное решение.

Самая распространенная в настоящий момент одноранговая сеть – это сеть на основе Windows XP (или более ранних версий ОС Windows).

Источник

P2P: где используются одноранговые сети

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

Что такое архитектура сети

Архитектурой сети называется принцип, по которому происходит обмен информацией в интернете. Выделяют два основных типа архитектур: «клиент-сервер» и P2P.

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговыеОбщение в жизни и общение в WhatsApp

В примере с WhatsApp, архитектура называется «клиент-сервер». Это самый распространенный тип — с 1970-х годов подобным образом работают все сайты в интернете.

Альтернативой такому методу является сеть, в которой люди общаются между собой без посредника. В интернете подобную архитектуру удалось реализовать лишь в 1990-х годах. Каждое устройство в такой сети может выполнять одновременно и роль сервера и роль клиента. Такую архитектуру называют P2P.

P2P — сеть, в которой нету центрального элемента и передача информации происходит напрямую. Встречаются и другие названия данной архитектуры: «одноранговые сети», «пиринговые сети», «peer to peer». Все эти термины равнозначны.

Рассмотрим разные типы P2P-сетей подробнее.

Как работает P2P-сеть: обмен файлами

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговыеОбмен вещами с помощью курьера и без

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

Как устроены пиринговые сети: электронные платежи

Теперь представим, что другу необходимо отправить деньги. Современная платежная система устроена централизовано — обработкой и регистрацией всех транзакций занимаются банки. Люди платят банкам за то, что они выступают посредниками и обеспечивают надежность и сохранность их денег.

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговыеБанковский перевод и перевод с помощью блокчейна

Впервые пример подобной пиринговой сети был описан в 2008 году, когда создавался Биткоин. Разработчики называют свою криптовалюту «P2P системой электронной наличности» («a P2P Electronic Cash System»). Отправка биткоинов на другой кошелек означает создание записи о том, что у криптовалюты изменился владелец. Чтобы запись призналась верной, ее должны подтвердить другие участники сети. Таким образом, удается обойтись без вмешательства посредника с более высокими полномочиями.

Применение P2P в других сферах

P2P придумали IT-специалисты, но подобный подход используют и экономисты. В области финансов под этим термином понимают обмен цифровых активов без посредников. P2P-платформы связывают покупателей с продавцами и кредиторов с заемщиками.

P2P-обменник Bitzlato представляет собой доску объявлений для покупки и продажи криптовалют. Пользователи находят друг друга и определяют условия сделки лично. Например, можно найти человека, который хочет продать биткоин по текущему курсу и получить деньги на карту Сбербанка. Bitzlato лишь поможет защитить сделку, заблокировав криптовалюту на время сделки. Обычные обменники менее выгодны, так как назначают завышенный курс и взимают комиссии с каждой сделки.

Заключение

Одноранговые типы сетей служат альтернативой модели «клиент- сервер». Технология обеспечивает безопасность, децентрализацию и устойчивость к цензуре. P2P послужила основой для создания файлообменников, криптовалют и множества децентрализованных приложений.

Источник

Одноранговая компьютерная сеть

Вы будете перенаправлены на Автор24

Компьютерные сети бывают двух видов:

Определение одноранговой компьютерной сети

Рисунок 1. Одноранговая компьютерная сеть. Автор24 — интернет-биржа студенческих работ

Одноранговыми компьютерными сетями называются те сети, в которых нет привилегированных компьютеров. То есть все компьютеры имеют равные права и уровни доступа.

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

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

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

Готовые работы на аналогичную тему

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

Такое распределение функций гарантирует более высокую скорость обработки команд и стойкость системы, так как она не зависит от конкретного устройства. Вообще, все устройства сети peer-to-peer подразумевают возможность любого из устройств в любой момент времени отключиться от сети. Это никак не влияет на работоспособность системы, так как все устройства имеют равные права и являются взаимозаменяемыми.

Иерархические компьютерные сети

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

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

Более низкие по иерархии сервера отвечают за распределение нагрузки между устройствами, снимают нагрузку с основного сервера путем взятия на себя части задач. Если в сети присутствует большая нагрузка, один компьютер может не справляться с ней или выполнять задачи медленно. Именно для этого используются дополнительные сервера с меньшими правами.

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

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

Такие сети сложнее настраивать и ими не так просто управлять. Именно поэтому для небольших систем актуальным остается простая в установке и поддержке одноранговая сеть.

Гибридная компьютерная сеть

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

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

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

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

Применение одноранговых сетей

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

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

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

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

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

Источник

Общее введение в I2P

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

Сейчас пойдет речь про I2P — некоммерческую сингулярность сетевой приватности и анонимности, где никто кроме вас не знает куда и кто передает вашу информацию. Сеть I2P (расшифровывается как «Invisible Internet Project», Проект невидимого интернета) — это оверлейная децентрализованная одноранговая сеть. Оверлейная — значит работает поверх других сетей, например, обычного интернета; децентрализованная — распределенная, не имеющая единой точки отказа: упадет один узел, полсети, или во всей сети останется 3 пользователя — I2P все равно будет функционировать. I2P является одноранговой сетью, так как все участники имеют равные права и возможности: каждый пользователь скрытой сети строит свои туннели через других участников и сам является потенциальным звеном в цепочке другого пользователя. При этом естественная сетевая активность никак не компрометирует абонента перед домашним провайдером или участниками скрытой сети.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

Отличие традиционной сети от скрытой

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Скрытые сети, так называемый «даркнет», нацелены на обратное — полную анонимность пользователей.

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Жители общаются через окна — это обмен информацией по открытым каналам. Обратите внимание на наличие «уполномоченного» соседа (домик №2), который все слышит, и, как мы знаем, записывает. Проведем аналогию шифрования информации с тайным языком: даже если соседи говорят на незнакомом для шпиона языке, как минимум он знает, что определенные дома поддерживают контакт. В случае обычного интернета провайдер хранит информацию о сайтах, которые вы посещаете. Ему не обязательно знать, что именно вы писали на оппозиционном форуме. Один факт посещения подобного ресурса говорит о многом. У двух домов (№4 и №5) имеются связанные подземные туннели — они обмениваются сообщениями без крика на улицу. Шпион не видит, что эти люди общаются.

Важный термин, который понадобится в дальнейшем — это DPI (deep packet inspection). На нашей иллюстрации этим понятием можно охарактеризовать навык шпиона понимать тайное значение услышанных слов. Например, люди будут кричать в окно слово «труба» перед тем, как начать общаться через скрытые туннели. Шпион быстро это поймет и станет рыскать возле домов, откуда донеслось кодовое слово. Это будет называться выявлением при помощи технологии DPI.

Для представления скрытой одноранговой сети, где все узлы имеют равные права и возможности, сделаем важное замечание: каждый дом может передавать сообщение только ближайшему соседу, прося отправить сообщение дальше. Так получается иллюстрация peer-to-peer сети, в которой каждый узел одновременно выступает получателем, отправителем и транзитным узлом. Очевидны несколько проблем: анонимность отправителя, сохранность и секретность данных на транзитных узлах, а также наличие злонамеренных участников сети, которые могут пытаться анализировать проходящие через них сообщения для определения личности анонимных абонентов. Сеть I2P изначально была спроектирована с учетом предположения, что все промежуточные узлы являются скомпрометированными или злонамеренными. Туннели I2P являются однонаправленными, т.е. входящий трафик идет по одной цепочке узлов, а исходящий — по другой. Помимо этого все передаваемые сетевые зашифрованные сообщения имеют свойство накладываться друг на друга, сливаясь в информационный шум, что делает бессмысленным попытки прослушать и проанализировать проходящий поток данных.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Базовое понимание криптографии

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Симметричные алгоритмы более просты и за счет этого работают в разы быстрее: в них для шифрования и расшифровки информации используется один ключ. Слабое место такого подхода — это передача ключа от одного пользователя другому. Если злоумышленник сможет перехватить ключ, он получит доступ к секретной информации. Фактором безопасности в симметричном шифровании (в частности AES — распространенном алгоритме) является вектор инициализации (IV). Вектор инициализации — критически важная составляющая, имитирующая первый блок информации. Так как при AES-шифровании каждый блок из 16 байт влияет на следующий блок, целостность информации критически важна.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

Цифровая подпись является производным совместного использования асимметричных алгоритмов шифрования и хеш-функции: сначала выводится хеш-сумма, а затем секретным ключом в нее закладывается идентификатор ключа подписавшего пользователя. Имея открытый ключ подписавшего, мы самостоятельно проверяем хеш-сумму информации и сравниваем ее с той, которую изначально заложил отправитель. Так проверяется достоверность полученной информации.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Общие принципы работы I2P

В сети I2P все пакеты зашифровываются на стороне отправителя и расшифровываются только на стороне получателя, при этом никто из промежуточных участников обмена не имеет возможности перехватить исходные данные. По этой причине нет необходимости беспокоиться о том, чтобы прикладные программы обеспечивали шифрование своего трафика. Например, сайту в I2P не нужно использовать TLS-шифрование, чтобы вводимые данные пользователя не были перехвачены, как это делается в обычном интернете, т.е. нет нужды использовать протокол HTTPS.

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

В I2P используется концепция роутеров и конечных точек: Роутер — это обезличенный участник сети: ни клиент, ни сервер — просто ничем не отличающийся от других транзитный узел. Устанавливая прямое соединение между собой, роутеры видят реальные IP-адреса друг друга, но эта информация не говорит о чем-либо, кроме вероятного использования сети I2P абонентом на другом конце. Если злоумышленник решит выявить всех участников сети, он наткнется на различные погрешности вроде прокси-серверов, и в любом случае не будет иметь фактических данных о какой-либо внутрисетевой активности выявленных пользователей. Устанавливая клиент сети I2P на свое устройство, вы фактически устанавливаете I2P-роутер — обезличенное звено сети.

Конечная точка наоборот является осмысленной сущностью — либо сервером, либо клиентом, но ее реальное местоположение неизвестно. В качестве адресов конечных точек сети I2P используются идентификаторы, выведенные из открытого ключа подписи: хеш-сумма дает уникальную строку фиксированной длины, в конце которой для удобочитаемости подставляется псевдодоменная зона «.b32.i2p» — так получается привычный внутрисетевой адрес. Для использования человекочитаемых доменов в зоне «.i2p», например acetone.i2p, существуют бесплатные регистраторы, достаточно незамысловатые в использовании. Привязка домена происходит к полному адресу.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

По умолчанию длина туннелей составляет 3 узла, но в зависимости от потребностей пользователя может составлять 1 транзитный узел или целых 8, и даже 0, тогда будет происходить прямое подключение к туннелю второй стороны. Как видим, администратор конечного ресурса имеет входной туннель в 4 узла. Получив запрос, веб-ресурс отсылает ответ во входной туннель пользователя через свой выходной туннель, т.е. по абсолютно другому пути. Смотря на схему, можно представить насколько сложно пользователю определить реальное местоположение собеседника. Учитывая, что каждые 10 минут происходит смена существующего туннеля на новый с новыми цифровыми подписями и ключами шифрования, деанонимизация кого-либо вовсе кажется фантастикой.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Важная сущность сети I2P — это флудфилы: специальные роутеры, собирающие информацию о сети и обменивающиеся ей друг с другом. Флудфилом может быть любой желающий, задав соответствующий параметр в конфигурационном файле роутера. Все серверные конечные точки сети (т.е. точки, к которым ожидается подключение) автоматически публикуют на флудфилах информацию о себе, которая в совокупности называется лизсетом.

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

Так как каждая конечная точка имеет в среднем по три входных туннеля, которые меняются каждые 10 минут, обращение к флуд­филам происходит лавинообразное, хоть и с небольшим потоком данных. Благодаря этому в сети всегда происходит хаотичное движение служебной информации, образующее «белый шум».

Помимо поиска лизсетов, белый шум генерируется зондированием сети: каждый роутер с небольшой периодичностью опрашивает случайный флудфил, получая от него в ответ три новых роутера (таким образом увеличивая собственный рисунок сети и находя новые флудфилы). Главным источником сетевого шума на роутере является транзитный трафик: он создает большую сетевую активность вне зависимости от конечных точек, расположенных на роутере. Также, будучи транзитным звеном, роутер подмешивает к трафику чужих туннелей полезную нагрузку — трафик своих скрытых сервисов. Чем больше транзитного трафика на роутере, тем абсолютнее секретность его конечных точек: какие-либо действия на скрытом ресурсе, даже DDoS-атаку, нельзя сопоставить с сетевой активностью конкретно взятого сервера. Активный узел сети имеет в своей базе в среднем 5000 активных роутеров и принимает сотни, а то и тысячи абсолютно случайных транзитных подключений. Как говорится: попробуй проанализируй.

Отдельно отметим механизм выбора флудфила пользователем. Это важный вопрос, которому при разработке было уделено надлежащее внимание. Так как любой из флудфилов может содержать злонамеренный пользователь, стояла задача сделать его попытки анализа и прочих недобросовестных действий не применимыми к конкретному человеку. Флудфил для запроса выбирается следующим образом: берется целевой адрес и сегодняшняя дата. Из этой информации выводится хеш SHA256 — получаются данные той же длины, что и обычный адрес. Затем осуществляется поиск флудфила в локальной базе роутера: используется тот, который при операции «ИСКЛЮЧАЮЩЕЕ ИЛИ» с блоком «целевой адрес + дата» даст наименьшее число. Подобный подход делает выбор узла для служебных запросов непредсказуемым и ежедневно изменяющимся для каждого адреса. В рамках этого материала упоминается «случайный флудфил», однако знайте, что кроется за этими словами.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Недавно мы упомянули DPI — исследование сетевых пакетов с целью выявления типа передаваемой информации. Упомянули не зря, потому что вы должны знать об этой технологии, а также о том, что весь трафик I2P устойчив перед анализом. Трафик сети зашифрован с самого низа, начиная с транспортных протоколов. В I2P используются: NTCP2, как крипто-аналог TCP, и SSU, как крипто-аналог UDP. I2P-роутер принимает сетевой трафик прикладных программ, обращающихся в скрытую сеть, и оборачивает привычные протоколы в их зашифрованные аналоги. После обработки в сетевых пакетах невозможно выявить что-либо вразумительное, потому что шифруется все, в том числе заголовки и размер. Размер пакетов скрывается паддингом, т.е. заполнением пакетов случайными данными до определенного размера. Информация о настоящем размере сетевого пакета передается в нем же в зашифрованном виде. При расшифровке на конечном устройстве примешанный «мусор» просто отбрасывается. Таким образом «белый шум» сети, т.е. практически бессмысленная для человека информация смешивается с пользовательской информацией и со стороны абсолютно от нее неотличима.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

Дополняя и закрепляя все сказанное, подробно опишем процесс от первого запуска роутера до открытия веб-страницы. При первом запуске роутер не имеет каких-либо данных о сети, поэтому происходит обращение к случайному ресид-серверу, который отдает пользователю свою базу известных роутеров. Ресиды держат энтузиасты, их список имеется в свободном доступе. По сути дела, информация от ресида представляет собой zip-архив папки netDb, в которой каждый роутер хранит информацию о сети. Так как передача данных происходит через обычный интернет, во избежание подмены по пути, архивы подписываются цифровым ключом. Публичные ключи всех актуальных ресидов содержатся в самом I2P-роутере. Если по каким-то причинам мы не хотим обращаться к публичным ресид-серверам, можно использовать уже имеющиеся базы сети, например, с других наших роутеров. Обращение к ресиду не происходит, если в папке netDb имеется не менее 25 роутеров. После подключения к нескольким актуальным участникам начинается автоматическое непрерывное расширение рисунка сети.

Построение туннелей

Для создания туннелей, обеспечивающих исчерпывающий уровень приватности, в I2P используется так называемое «чесночное шифрование». «Чеснок» I2P представляет блок информации, включающий несколько «чесночин» по 528 байт. «Чесночины» закладываются в случайном порядке, поэтому их последовательность не несет какой-либо информации. Каждый получатель «чеснока» опознает свой «зубчик» по первым 16 байтам, которые являются частью хеша его адреса. После того, как нужный «зубчик чеснока» найден, содержащиеся в нем инструкции расшифровываются ключом роутера.

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

При создании входящего туннеля картина еще изящнее: через исходящий туннель случайному роутеру передается чеснок, последний получатель которого — сам создатель. С позиции последнего транзитного звена передача «чеснока» создателю туннеля воспринимается как передача следующему транзитному узлу. Именно поэтому транзитные узлы не могут знать длину туннелей и их владельцев.

При построении туннеля длиной не более 4 участников, i2pd формирует «чеснок» из 4 зубчиков, в остальных случаях формируется «чеснок» из 8 частей. Пустые зубчики чеснока заполняются случайной информацией и неотличимы от настоящих.

Протокол I2P не предусматривает туннели длиннее 8 участников, однако на практике 4 транзитных узла считаются исчерпывающим решением.

В «чесноке» содержится информация для каждого участника:

Номер туннеля на его роутере (случайные 4 байта).

Адрес следующего роутера и номер туннеля на нем (почти как IP-адрес и номер порта в обычной сети).

Ключ симметричного шифрования и ключ шифрования вектора инициализации (IV). Сам вектор инициализации содержится в начале сообщения.

Роль узла в цепочке: конечный или промежуточный.

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

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

В зависимости от типа туннеля (входящий или исходящий), последнее звено принимает роль либо «Endpoint», либо «Gateway». Между участниками одного туннеля зашифрованная информация передается блоками по 1 килобайту — это нынешний стандарт протокола. Задача последнего исходящего узла — собрать информацию в более весомый пакет и переслать нужному пользователю на его входящий туннель. Работа роутера входящего туннеля обратная: он разделяет полученную информацию на блоки и отправляет ее на другой конец туннеля. Каждый туннель существует 10 минут. Во избежание разрыва соединения, стороны заранее создают новые туннели и обмениваются их лизсетами. Подробнее о туннеля читайте в отдельном материале.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Модель взаимодействия

По умолчанию, i2pd предоставляет для прикладных программ SOCKS и HTTP прокси. Прокси — это посредник. В нашем случае — посредник для выхода в скрытую сеть. По умолчанию SOCKS5 доступен по адресу 127.0.0.1:4447, HTTP-прокси — на порту 4444. Чтобы открыть веб-страницу, размещенную в сети I2P, в браузере необходимо установить соответствующие настройки. В Firefox прокси удобно настраивается через конфигурацию сети, либо через плагин FoxyProxy. Когда мы ввели адрес сайта в настроенном браузере, I2P-роутер получил наш запрос и начал работу.

Сначала происходит обращение к случайному флудфилу с запросом лизсета нужной точки назначения. Выходной прокси пользователя является конечной точкой, т.е. скрытой сущностью. Чтобы не раскрыть ее местоположение, обращение к флудфилу происходит через цепочку транзитных узлов. Также мы сообщаем ему данные нашего входного туннеля для ответа. Допустим, что флудфил не знает нужного адреса, поэтому вместо лизсета он возвращает три случайных флудфила из своей базы. Из полученных новых флудфилов случайным образом выбирается один, к которому роутер повторяет прежний запрос. В нашем примере второй флудфил дает нужный лизсет: всю необходимую информацию для связи с конечной точкой, которая включает в себя сведения о входных туннелях и ключах. Входных туннелей, как правило, не меньше трех. Выбрав случайный входной туннель получателя, роутер отправляет через него запрос на сервер. Если все прошло успешно и запрос дошел, сервер отсылает нам веб-страничку. В обычной сети это происходит по тому же пути, откуда пришел запрос, но в I2P дела обстоят совсем иначе. Свой лизсет для ответа конечная точка локального прокси отправляет вместе с нашим запросом. Достучавшись до сервера, мы сообщили ему адрес для ответа: чтобы веб-страница открылась в браузере, серверу необходимо через свой исходящий туннель отправить ответ в наш входящий. Приняв ответ через входящий туннель, наш роутер обрабатывает информацию и в нашем браузере открывается заветная страничка!

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

Пользовательская информация, проходя через туннели, подвергается «луковичному», т.е. многослойному шифрованию. Перед отправкой сообщения в исходящий туннель, роутер последовательно оборачивает ее в несколько слоев шифрования, используя ключи, которые были выданы транзитным узлам туннеля. Каждый узел исходящего туннеля, получая информацию, выданным изначально ключом снимает один слой шифрования и передает информацию дальше. Последний узел исходящей цепочки, Endpoint, снимая последний слой луковичного шифрования, пересылает информацию входящему туннелю. Во входящем туннеле луковичное шифрование происходит зеркально: Gateway шифрует информацию своим ключом, который ему выдал создатель туннеля, и передает ее дальше. Каждый последующий узел входного туннеля добавляет свой слой шифрования. Создатель входящего туннеля, при получении информации, снимает все слои луковичного шифрования ключами, которые были выданы транзитным узлам. Пользовательская информация подвергается сквозному шифрованию при помощи публичного ключа точки назначения, поэтому ни один транзитный узел не располагает какой-либо чувствительной информацией, а конечный получатель, сняв все луковичное шифрование, подвергает информацию расшифровке своим асимметричным ключом и проводит проверку подписи.

какие сети называют одноранговые. Смотреть фото какие сети называют одноранговые. Смотреть картинку какие сети называют одноранговые. Картинка про какие сети называют одноранговые. Фото какие сети называют одноранговые

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

Подробнее о туннелях читайте в отдельной статье.

Практическое использование

Область применения I2P обширна и не ограничивается только веб-сайтами. Вы можете размещать в I2P любые веб-ресурсы: форумы, доски объявлений, гит-репозитории, блоги и персональные одностраничники. Вполне реально организовать даже сетевые пошаговые игры, не требующие низкой задержки при передаче пакетов, например, шахматы или карты. Также найти применение I2P можно в построении выходных туннелей из неопределенного места в глобальную сеть, для полноты картины размещая выходные прокси на анонимно оплаченных серверах. Организуя ssh-доступ к арендуемой машине через I2P, вам всего лишь единожды потребуется зайти на сервер посредством других сетей, чтобы установить i2pd и сконфигурировать туннель, который будет принимать подключения. Единственное ограничение фантазий — скорость передачи данных внутри сети. Надо заметить, что от года к году скорость становится все ближе к привычным показателям обычного интернета благодаря оптимизации программного кода и общему росту количества узлов.

Разработка протокола

Все это интересно, но напрашивается закономерный вопрос: кто за этим стоит? Судя по сложности протокола, можно подумать, что это как и в случае с сетью Tor что-то связанное со спецслужбами и государственным финансированием, но нет. I2P — полностью свободный проект, рожденный и поддерживаемый энтузиастами по сей день. Разработка I2P на языке программирования Java была начата неким JRANDOM. Первый релиз состоялся в 2003 году. Несколько лет спустя JRANDOM отошел от разработки, не оставив о себе вестей, а его место занял пользователь с никнеймом zzz — американец, предположительно из района Нью-Йорка, который на момент выхода статьи все еще курирует разработку. Так прошло 10 лет: сообщество росло, I2P-роутер писали как могли, также в это время была написана официальная документация. При поисковом запросе «I2P» первая ссылка, как правило, ведет нас на сайт geti2p.net — официальную страницу того самого I2P-роутера на Java. Но история на этом не заканчивается.

В 2013 году русскоговорящий пользователь orignal с французским никнеймом, судя по всему большой любитель пиратской литературы, обнаружил в онлайн-библиотеке «Флибуста» сообщение о недоступности скачивания книг через клирнет, т.е. обычный интернет. Вместо этого пользователям предлагалось использовать I2P. Однако Ориньяль, как он говорит, не нашел существующей нормальной реализации протокола, а только некое поделие на джаве. Несмотря на то, что разработка «этого поделия» уже велась десять лет, orignal, как искушенный программист, ее не оценил. На тот момент в сети лежало еще с десяток попыток написать i2p-роутер на языках C и C++, в которых не было сделано совсем ничего. Что-то было в продукте под названием «i2pcpp», но до чего-то годного тоже было далеко. И что делает orignal: за три месяца он написал на С++ рабочую программу, пригодную для скачивания книг с Флибусты, и на этом уже хотел остановиться. На дворе был июль 2013 года. Однако некий человек уговорил его изложить свой опыт в статье на Хабре. Дело в том, что orignal пришлось вникать в дебри джава-кода, т.к. официальная документация оказалась не полноценной и имела разрозненную структуру. После публикации первой статьи что-то случилось: наверное, заметив интерес общественности, и почувствовав некоторый азарт, присущий всем программистам, писателям и композиторам, orignal взялся за написание полноценного клиента сети. Дебютный релиз 0.1.0 состоялся 17 октября 2014 года. Для его реализации orignal пришлось собственноручно реализовать на С++ несколько криптографических функций (которые с расширением библиотеки OpenSSL в дальнейшем были заменены на библиотечные). Новый клиент получил название i2pd — Invisible Internet Protocol Daemon. После первого релиза к orignal присоединились энтузиасты, которые также начали работу над совершенствованием нового I2P-роутера. Сообщество разработчиков получило имя PurpleI2P.

Ориньяль по сей день продолжает публиковать русскоязычные статьи про I2P, рассказывая широким массам о развитии протокола. В команде программистов-энтузиастов появляются новые никнеймы, другие наоборот уходят в перманентный оффлайн. В основном планирование разработки происходит в IRC, в сети ILITA. Русскоязычное сообщество достаточно активно и в IRC на самом деле обсуждается все: от новых фич в I2Pd до климата в Африке и новых мемов.

Каждая версия роутера сменяется следующей, сообщество живет, разработчики постоянно что-то кодят. Чтобы не возникало вопросов что же меняется, если и так все работает хорошо, вкратце скажем о развитии протокола: мало ли параноики решат, что протокол не меняется, а оттачивается только бэкдор от силовых структур. В начале пути, ветки джава-роутера и роутера на C++ развивались не синхронно, согласование нюансов с соседним лагерем происходило с некоторой задержкой. Сейчас разработчики, несмотря на расхождения во взглядах, вместе реализуют значимые решения. Самое заметное изменение за последние годы: переход с транспортного протокола NTCP на NTCP2. Этот протокол является адаптированным крипто-­аналогом привычного TCP и используется повсеместно: начиная открытием веб-страницы и заканчивая загрузкой торрента. Главное различие двух протоколов заключается в использовании алгоритма шифрования: в старом NTCP используется Диффи-Хеллман, очень медленный и жадный до системных ресурсов, а в NTCP2 — алгоритм на основе эллиптических кривых — тренд в сфере скоростных криптосистем, превосходящий по криптостойкости и производительности своего предшественника. Это изменение сделало I2P-роутеры более легковесными и полностью пригодными для использования на малых устройствах вроде одноплатных компьютеров и смартфонов (по крайней мере i2pd точно). Замена алгоритма согласования ключей Диффи-Хеллмана новыми решениями происходит и в других частях протокола. Для зрителей, понимающих в криптографии, особо заметим, что сеть I2P постепенно переходит на криптографические протоколы семейства Noise, что тоже является хорошим решением для производительности, анонимности и надежности. I2P-роутеры, как и все программы на свете, подвержены недочетам вроде багов и неполноценной реализации каких-то функций, что влечет дальнейшее развитие, исправление, и новые релизы. Если интересны детали, более подробную информацию можно найти через поисковик и в чатах сообщества.

Почему стоит использовать i2pd на C++ вместо роутера на Джаве? Ответ прост: потому что i2pd архитектурно превосходит поделие на Джаве. I2P — кладезь различной криптографии, реализация которой на Джаве была бы жутко тормозной. Потому в Джава-роутере используются библиотеки, написанные на языке С. И все бы ничего, но каждый вызов этих библиотек — это большие накладные расходы. И как бы разработчики не старались, а тормоза есть. Не такие большие, как могли бы быть, но до скорости нативной (т.е. встроенной) криптографии из i2pd им очень далеко. Также весь трафик джава-роутера локально проходит через фактически лишний протокол I2CP, что, не вникая в детали, сильно портит качество работы, в то время как в i2pd этот протокол существует исключительно для совместимости с приложениями на джава-роутерах. Для пытливых умов можно сказать более подробно: главная проблема I2CP в том, что через него сессии TCP (которые называются стримами) не могут контролировать доступ к туннелям и лизсетам. Также I2CP лишает пользователей джава-роутера нормальной поддержки UDP-туннелей: их поддержка обеспечивается отдельным приложением streamr. Как уже знает бывалый зритель, протокол UDP используется для быстрой потоковой передачи данных, например, голос собеседника при онлайн-звонке. Сложно переоценить качественную поддержку этого протокола. В I2Pd UDP-туннели поддерживаются без каких-либо проблем и дополнительных программных наслоений.

Помимо более быстрой работы i2pd, этот роутер также потребляет меньше системных ресурсов в сравнении с джаво-версией, т.к. программа на C++ напрямую взаимодействует с системой, в отличие от Джавы, где все крутится внутри виртуальной машины — дополнительной прослойке между операционной системой и программным обеспечением. Дальше только больше: исследуя просторы внутрисетевых площадок, вы не однократно наткнетесь на описание различнейшних проблем с производительностью сети I2P, где источником проблем будет не протокол, а его кривая реализация в популярном клиенте. В рамках тестов со скоростными серверами и сетью, полностью исключающей наличие джава-роутеров, удалось достичь скорости чуть меньше мегабита в секунду. Сегодня такой показатель на фоне средних нескольких десятков килобит кажется невероятным! В видео, по тексту которого составлена эта статья, приведен скриншот недавней переписки двух ведущих разработчиков: orignal и zzz. В то время, как через i2pd в тестовом режиме гоняют видеостримы, джава-роутер не позволяет слушать даже онлайн-радио. Чтобы увеличить среднюю скорость сети I2P нужно: во-первых, каждому держать свой узел включенным максимально доступное время, во-вторых, — это должен быть узел сети, работающий на i2pd.

Сравнение с другими сетями

Если вы имеете представление о сети Tor и о меш-сетях вроде Yggdrasil Network, после всего сказанного об I2P не имеет большого смысла говорить, чем они различаются. Это абсолютно разные концепции. Однако для начинающих читателей приведу несколько основных пунктов.

Начнем с Tor: Во-первых, он сильно привязан к корневым серверам конторы, к которым осуществляется стартовое обращение для построения рисунка сети. В I2P это явно указанные в коде ресиды, которые можно сменить на свои, либо просто использовать уже готовые адресные книги, отталкиваясь от которых роутер продолжит работу, вовсе минуя стартовые узлы. Во-вторых, по мнению компетентных пользователей, Tor изначально и до сих пор принадлежит АНБ, поэтому относительно него не стоит строить иллюзий. В-третьих, Тor имеет более простую архитектуру туннелей и меньше возможностей их конфигурации. В-четвертых, Тор изначально предполагает проксирование в обычный интернет, а в I2P это возможно только при дополнительной конфигурации соответствующих узлов и туннелей к ним. Этот пункт по настроению можно отнести к минусам I2P, но мы не согласимся.

Про Yggdrasil и аналогичные меш-сети: подобные разработки ориентируются на легкость развертки, скорость передачи данных и самоорганизацию. Трафик внутри Yggdrasil искусственно не путается, сеть имеет простой и интуитивно понятный рисунок. Пользователи имеют устойчивые двунаправленные зашифрованные туннели, и чем короче — тем лучше. Как видно, у I2P с Тором совсем мало общего, а с распространенными меш-сетями и того меньше. Разве что I2P может свободно работать через Yggdrasil (поддержка в i2pd с версии 2.36.0). Через Тор тоже, кстати говоря. На этом, пожалуй, все.

Послесловие

Последнее по теме I2P и скрытых сетей в целом: этично ли это? Устоявшееся общественное мнение таково, что любые попытки анонимизации расцениваются, как преступный умысел. Например, в скрытых сетях люди могут размещать то, что будет заблокировано в цензурируемой сети. Это конечно бесит цензоров. Не умолчим и про криминал, который может найти себе пристанище в I2P, все это очевидно. Но что об этом думают разработчики I2P, у которых также могут быть семьи, дети и тяга к справедливости, и как считает большинство криптоанархистов? Если кратко: кухонным ножом можно нарезать хлеб, а можно причинить вред, но из-за возможного злоупотребления кухонные ножи не запрещают. Так же и тут: нельзя бороться с технологиями приватности под предлогом борьбы с преступностью, так как самое распространенное преступление сегодня — это нарушение гражданских прав и свобод: тотальный контроль и продажа личных данных.

Если вас до сих пор увлекал «нетсталкинг», т.е. романтическое исследование содержимого скрытых сетей, призываем идти дальше — изучать механику работы этих сетей и содействовать их развитию. «Даркнет» (или «дипвеб») по своей сути это не что-то экзотическое; это современный набор необходимых инструментов для свободного распространения информации и личного общения людей без искусственных преград.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *