Смекни!
smekni.com

Пиринговые сети. Понятие и виды (стр. 5 из 7)

· FoxTorrent — расширение для браузера Mozilla Firefox, реализующее функции клиента BitTorrent

· LeechCraft — кроссплатформенный клиент, существует плагин для поддержки BitTorrent

· mlDonkey — кроссплатформенный клиент

· Браузер Opera полностью поддерживает закачку торрентов, начиная с версии 9.0

· TorrentFlux (en) — написан на PHP, работает на удалённом Web-сервере как PHP-скрипт, позволяя не держать свой компьютер включённым постоянно, но при этом качать и раздавать торренты

GNU/Linux, UNIX

· BTPD — консольный клиент для Unix/GNU+Linux, написанный на C++; работает в режиме демона

· CTorrent — консольный клиент для Unix/GNU+Linux, прекративший развитие в 2004 году

· KTorrent — использует библиотеку Qt; работает в среде KDE

· rTorrent — консольный клиент для UNIX/GNU+Linux, написанный на C++; использует библиотеки ncurses и libTorrent

· Transmission — клиент для Mac OS X, FreeBSD, OpenBSD, NetBSD, GNU/Linux и BeOS, использующий GTK. Также может работать в консольном режиме и в режиме демона.

· Bitflu — консольный клиент для Unix/GNU+Linux, написанный на Perl; работает в режиме демона, с поддержкой chroot окружения. Имеет веб-интерфейс, управляется через telnet

Windows

· µTorrent

· BitComet

· BitSpirit

· FlashGet

· GetRight

· Shareaza — поддерживает работу с несколькими файлообменными сетями, в том числе и BitTorrent

· Free Download Manager

Mac OS

· XTorrent

· Transmission

· BitRocket.

· Tomato Torrent

· Acquisition


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

3.1 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 осуществляет постоянную закачку частей файлов, пока его файловое хранилище не достигнет указанного значения.

3.2 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 со статусом Открыт, работающие как посредники для соединений, недоступных пользователям за файрволом.