Глава 3. Программы для работы с пиринговыми сетями




Perfect Dark (P2P)

Perfect Dark это японский пиринговый файлообменный клиент для Microsoft Windows. Автор известен под псевдонимом Kaichō (Президент (яп. 会長)). Perfect Dark был разработан как замена файлообменным клиентам Winny и Share. В данный момент проект находиться на стадии открытого тестирования и достаточно часто обновляется.

Безопасность

В целом структура сети Perfect Dark напоминает новейшие версии Freenet, но только с более интенсивным использованием распределённых хеш-таблиц.

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

Perfect Dark использует алгоритмы RSA (с 1024-битным ключом) и AES (с 128-битным ключом) для шифрования данных, передаваемых между участниками файлообмена. Ключи, использованные для шифрования, кэшируются для повышения эффективности работы.

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

Автор полагает, что на начальном этапе разработки, недоступность исходных кодов программы предотвратит попытки понижения уровня анонимности в сети Perfect Dark, и появления переработанных версий клиента Perfect Dark для "любителей проехаться за чужой счёт". Однако автор не отрицает возможности появления в будущем версии с открытым исходным кодом, если для этой проблемы будет найдено приемлемое решение.

 

Открытое тестирование

Поскольку на данный момент Perfect Dark всё ещё активно развивается, автор не просит пользователей о полном переходе на Perfect Dark. Вместо этого автор просит пользователей принять участие в тестировании. На стадии тестирования автор надеется получить сообщения об ошибках в работе программы, и рекомендации о том, как сделать её более удобной.

Особенности работы

В сравнении со своими предшественниками Winny и Share, требования к пропускной способности интернет-соединения, и свободному месту на жёстком диске в Perfect Dark значительно возросли.

· Минимальная скорость аплоада: 100 Кбайт\с;

· Место, занимаемое на диске под распределённое файловое хранилище сети Perfect Dark (каталог unity): как минимум 40 Гб;

· Так же, в отличие от предшественников, Perfect Dark осуществляет постоянную закачку частей файлов, пока его файловое хранилище не достигнет указанного значения.

 

EMule

eMule — свободный файлообменный клиент для Microsoft Windows. Был разработан как замена собственническому клиенту eDonkey2000. В настоящее время может работать как с eDonkey сетью (ed2k), так и с сетью Kademlia.

Проект хостится на SourceForge.net. В 2007 году eMule победил в номинации "Best New Project"[1] (правда к тому времени проект давно уже новым не являлся).

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

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

Начиная с версии 0.47b появилась возможность скрывать использование сети eDonkey от провайдеров благодаря вуалированию протокола, которое, тем не менее, не гарантирует такой степени сокрытия информации, как полноценное её шифрование. Также произошло обновление протокола Kad до версии 2.0, который теперь обеспечивает бо́льшую анонимность (случаев, когда IP-адрес открывается другому клиенту стало меньше) и в перспективе снимает ограничение в 300 результатов поиска на узел сети. С версии 0.48a добавлена поддержка UPnP на основе кода Shareaza.

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

Некоторые провайдеры модифицируют eMule для проверки аутентификации на сервере, а обмен в сети Kademlia попросту отключается.

Начиная с версии 42.1 eMule поддерживает 2 разных типа сетей: классическую серверную eD2k и новую безсерверную Kademlia.Обе сети обладают примерно одинаковой функциональностью. Они позволяют находить пользователей или файлы для скачивания.

Идентификация файлов

Каждому файлу соответствует свой хэш. Хэш - это комбинация цифр и букв для однозначной идентификации файла. Хэш не зависит от имени файла, только от его содержимого. Это позволяет находить источники файла независимо от того, какое имя тот или иной пользователь дал файлу.Кроме того, файлы разделяются на части размером 9.28 Мб. Для каждой части также вычисляется хэш. Например, 600-Мб файл будет содержать 65 частей. Общий хэш, т.е. хэш файла, вычисляется на основе хэшей частей.

Идентификация других клиентов

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

Скачивание данных

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

Классическая серверная eD2k сеть

Подключение к сети

Ключевым элементом этой сети является eD2k-сервер. Каждый клиент должен подключиться к какому-либо серверу чтобы войти в сеть.При входе в сеть сервер проверяет возможность другим клиентам свободно подключаться к вашему. Положительный результат приводит к присваиванию вам так называемого High ID (высокий уровень), отрицательный - к Low ID (низкий уровень).После того как ID присвоен, eMule посылает серверу полный список ваших файлов обмена. Сервер добавляет этот список, состоящий из имён файлов и их хэшей, в свою базу данных.

Поиск файлов

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

Нахождение источников файлов

Файлы для закачки могут быть добавлены с помощью поиска или специальных ссылок ed2k://, которые размещают многие web-сервера.После добавления файла в список Приема eMule запрашивает источники к нему сначала у локального (подключенного) сервера, потом у всех остальных серверов сети. Сервер производит в своей базе данных поиск по хэшу файла и возвращает всех известных ему клиентов, имеющих этот файл для обмена.Источники - это другие клиенты, которые обладают хотя бы одной частью (9.28 Мб) файла.

Безсерверная сеть Kademlia

Подключение к сети

Для подключения к этой сети необходимо знать IP-адрес и порт любого уже подключенного клиента. В этом случае происходит Самонастройка (Boot Strap).При входе в сеть клиент с помощью других клиентов опрашивает себя на возможность свободного подключения. Этот процесс похож на проверку HighID/LowID сервером. Если вы свободно доступны, то получаете ID (аналогично HighID) и статус Открыт. В противном случае вы получаете статус Файрвол. Начиная с версии 44a сеть Kademlia поддерживает Приятеля для зафайрволенных пользователей. Приятели это клиенты Kademlia со статусом Открыт, работающие как посредники для соединений, недоступных пользователям за файрволом.

Поиск в сети Kademlia

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

 

Итоги

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


Глава 4. История пиринговых сетей

 

Peer-to-peer — "равный-равному", многовековой идеал самураев и социалистов-утопистов, был в самом конце второго тысячелетия воплощен в жизнь восемнадцатилетним бостонским студентом Шоном Фэннингом.

В январе 1999 года Шон по прозвищу Napster, проучившись всего один семестр, покинул Северо-восточный университет, для того чтобы полностью погрузиться в работу над программным обеспечением для нового проекта. Идея, над воплощением которой трудился мистер Фэннинг, была весьма незамысловатой и родилась в ходе общения с соседями по университетскому общежитию. Подключенным к Интернету меломанам, коих было немало среди друзей изобретателя, предлагалось "расшарить" на своем компьютере (то есть открыть для удаленного доступа других пользователей) директории с музыкальными файлами. А чтобы искать музыкальные композиции было легче, общий их список хранился на специальном центральном сервере, а сам поиск осуществлялся с помощью программы-клиента, которую должен был скачать каждый участник сети.

 

Недолго музыка играла...

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

Уже в августе 1999-го группа людей (в том числе и дядя Шона) вложили в проект серьезные деньги, которых должно было хватить еще на полгода, и один из инвесторов — Эйлин Ричардсон — стала в сентябре исполнительным директором компании Napster.

Хотя создатель Napster и его первые инвесторы были полны радужных надежд на будущее, а популярность проекта среди пользователей росла бешеными темпами, осень 1999-го, как выяснилось впоследствии, стала началом конца этой сети. В течение октября и ноября Napster ведет напряженные переговоры с представителями американской звукозаписывающей индустрии (RIAA). То ли возможность компромисса владельцами лейблов изначально не предполагалась, то ли всему виной была несговорчивость Эйлин Ричардсон, но, как бы там ни было, в начале декабря RIAA предъявила Napster ультиматум, грозя штрафами в сто тысяч долларов за каждый скачанный без ее разрешения музыкальный файл.

 

Карающая рука закона

Вся последующая история Napster состояла из отступлений и временных перемирий с владельцами авторских прав, что, впрочем, не мешало дальнейшему росту числа пользователей сети. В мае 2000 года по требованию рок-группы Metallica более 300 тысяч пользовательских компьютеров, содержащих ее песни, были исключены из пирингового обмена. Смена руководителя компании (обошедшаяся новому инвестору в 15 миллионов долларов) не спасла ситуации: в июне того же года RIAA сделала попытку наложить судебный запрет на все основные лейблы в коллекциях пользователей этой сети.Napster в ответ нанимает Дэвида Бойеса (адвоката, одержавшего победу над Microsoft в ходе затеянного правительством США антимонопольного разбирательства), Милтона Олина (бывшего топ-менеджера звукозаписывающей компании A&M) и объявляет о достижении договоренностей с компанией Liquid Audio, совместно с которой планировалось защитить музыкальный обмен от претензий поборников авторских прав. И все же 26 июля американский окружной судья Мерилин Пател постановила прекратить пиринговый обмен защищенными авторским правом композициями в течение двух суток. На этой интригующей ноте оставим на некоторое время многострадальный Napster наедине с американским правосудием и обратим свое внимание на его многочисленные аналоги.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-04-01 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: