на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Пиринговые сети. Понятие и виды
Личер (англ. leech -- пиявка) -- пир, не имеющий пока всех сегментов, то есть продолжающий скачивание. Термин часто употребляется и в негативном смысле, который он имеет в других файлообменных сетях: пользователь, который отдаёт гораздо меньше, чем скачивает.

· Отравленный торрент -- ситуация, когда часть пиров раздаёт повреждённые сегменты.

· Пир (англ. peer -- соучастник) -- клиент, участвующий в раздаче. Иногда пирами называют только скачивающих участников.

· Раздача (англ. seeding) -- процесс распространения файла по протоколу BitTorrent.

· Рейтинг (англ. share ratio) -- отношение отданного к скачанному.

· Рой (англ. swarm) -- совокупность всех пиров, участвующих в раздаче.

· Сид, иногда сидер (англ. seeder -- сеятель) -- пир, имеющий все сегменты распространяемого файла, то есть либо начальный распространитель файла, либо уже скачавший весь файл.

· URL анонса (англ. announce URL) -- адрес трекера, к которому клиент делает анонс. Во многих клиентах называется «Tracker URL». Может включать «passkey» -- уникальный код, назначаемый трекером для аккаунта пользователя, помогающий идентифицировать его на трекере (добавляется к URL анонса в самом *.torrent-файле).

Программы-клиенты

· aria2 (англ.) -- поддерживает HTTP, FTP, BitTorrent; файлы Metalink[убрать шаблон] 3.0

· Azureus -- написан на языке Java, поэтому является кроссплатформенным. Поддерживает Tor

· BitTyrant -- модифицированный вариант клиента Azureus 2.5

· BitTornado -- кроссплатформенный клиент, написанный на языке Python

· Deluge -- кроссплатформенный клиент, написанный на языке Python; использует GTK

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

Поиск в сети Kademlia

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

Итоги

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

Страницы: 1, 2, 3, 4



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.