8
81433

Популярные файлообменные сети P2P

BitTorrent, Direct Connect, Gnutella, Gnutella2, EDonkey2000

на сайте с 7 декабря 2007

Что такое P2P?

Описание модуля

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

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

Читать далее на Wikipedia.ru

Рассмотрим наиболее популярную область применения P2P - файлообменные сети.

Лидируют по количеству узлов среди файлообменных сетей такие сети как Bittorrent, eDonkey2000, Gnutella2+Gnutella.

BitTorrent

Описание модуля

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

Если узел “хочет” опубликовать файл, то программа разделяет этот файл на части и создает файл метаданных (torrent file) с информацией о частях файла, местонахождении их и — опционально — сервера, который будет поддерживать распространение этого файла. Первый узел, опубликовавший файл, называется распространителем (seedеr). Узел, “желающий” скопировать файл, при копировании сам становится распространителем по принципу: “сколько копирую я, столько разрешаю скопировать с меня”. Узлы, скопировавшие весь файл, становятся распространителями этого файла и вместе с узлами, скопировавшими файл не полностью, дают возможность другим узлам получать части файла из нескольких источников, что ускоряет копирование.

В сети, о которой идет речь, используются протоколы Bittorrent и BitTorrent Azureus DHT. Последний основан на модифицированном протоколе Kademlia и используется для обеспечения работы с файлами метаданных, не привязанными к серверам, для децентрализованного поиска ресурса по ID и присваивания ресурсам комментариев и рейтинга. Вместо BitTorrent Azureus DHT некоторые клиенты поддерживают аналогичный ему по функциональности протокол BitTorrent Mainline DHT.

подробней

Компас с подборкой ссылок на трекеры.

Наиболее распространенные клиентские программы

Трекеры сети BitTorrent

Direct Connect

Описание модуля

Рассмотрим еще одну сеть — Direct Connect, поскольку в России она очень популярна. Дело в том, что поставщики сетевых услуг — например, операторы домовых сетей в Москве, а также сетевые администраторы компаний до недавнего времени старались блокировать на своих межсетевых экранах порты, через которые общаются клиенты сетей Bittorrent, EDonkey2000, Gnutella, Fasttreck, а в тех же случаях, когда экран не помогал, боролись административными методами. Преградами на пути широкого использования сетей P2P также являлись большая стоимость трафика и/или дефицит полосы пропускания каналов.

В связи с этим пользователям осталась только возможность строить локальные пиринговые сети. Наиболее удобной для этого оказалась технология Direct Connect. В данной сети клиенты подключаются к одному или нескольким серверам для поиска файлов, причем серверы не связаны между собой. Информация о файлах, доступ к которым узел “хочет” открыть, отсылается на сервер. Копирование файлов происходит напрямую между узлами, как и в классической P2P-сети.

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

Список российских DC хабов

Русскоязычное сообщество DC

Информация о DC на русском языке

FAQ на ангийском языке

Клиентские программы сети Direct Connect

Gnutella, Gnutella2

Описание модуля

надпись Gnutella — одна из первых пиринговых сетей, создана в 2000 г. Она функционирует до сих пор, хотя из-за серьезных недостатков алгоритма пользователи в настоящее время предпочитают сеть Gnutella2.

При подключении клиент получает от узла, с которым ему удалось соединиться, список из пяти активных узлов; им отсылается запрос на поиск ресурса по ключевому слову. Узлы ищут у себя соответствующие запросу ресурсы и, если не находят их, пересылают запрос активным узлам вверх по “дереву” (топология сети имеет структуру графа типа “дерево”), пока не найдется ресурс или не будет превышено максимальное число шагов. Такой поиск называется размножением запросов (query flooding).

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

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

Недостатки протокола Gnutella инициировали разработку принципиально новых алгоритмов поиска маршрутов и ресурсов и привели к созданию группы протоколов DHT (Distributed Hash Tables) — в частности, протокола Kademlia, который сейчас широко используется в наиболее крупных сетях.

Запросы в сети Gnutella пересылаются по TCP или UDP, копирование файлов осуществляется через протокол HTTP. В последнее время появились расширения для клиентских программ, позволяющие копировать файлы по UDP, делать XML-запросы метаинформации о файлах.

В 2003 г. был создан принципиально новый протокол Gnutella2 и первые поддерживающие его клиенты, которые были обратносовместимы с клиентами Gnutella. В соответствии с ним некоторые узлы становятся концентраторами, остальные же являются обычными узлами (leaves). Каждый обычный узел имеет соединение с одним-двумя концентраторами. А концентратор связан с сотнями обычных узлов и десятками других концентраторов. Каждый узел периодически пересылает концентратору список идентификаторов ключевых слов, по которым можно найти публикуемые данным узлом ресурсы. Идентификаторы сохраняются в общей таблице на концентраторе. Когда узел “хочет” найти ресурс, он посылает запрос по ключевому слову своему концентратору, последний либо находит ресурс в своей таблице и возвращает ID узла, обладающего ресурсом, либо возвращает список других концентраторов, которые узел вновь запрашивает по очереди случайным образом. Такой поиск называется поиском с помощью метода блужданий (random walk).

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

Вот перечень наиболее распространенных клиентских программ для Gnutella и Gnutella2: Shareaza, Kiwi, Alpha, Morpheus, Gnucleus, Adagio Pocket G2 (Windows Pocket PC), FileScope, iMesh, MLDonkey

Клиенты сети Gnutella

EDonkey2000

Описание модуля

Сеть EDonkey2000 (www.edonkey.com) появилась в 2000 г. Информация о наличии файлов в ней публикуется клиентом на многочисленных серверах в виде ed2k-ссылок, использующих уникальный ID ресурса. Серверное ПО доступно для установки любым пользователем. Сервер обеспечивает поиск узлов и информации. Сейчас в сети имеется до 200 серверов, обслуживающих одновременно около миллиона клиентов, совместно использующих порядка миллиарда различных файлов. Общее число зарегистрированных пользователей данной сети составляет порядка 10 млн.

Сейчас сеть EDonkey не доступна см. объявление на официальном сайте

Мультисетевые клиенты

Поддерживают несколько файловых сетей.

Комментарии

22 апреля 2008 в 22:50
 
О, у меня даже насчет работы новые идеи появились после изучения компаса. Спасибо!
9 ноября 2011 в 17:38
 
Хорошая вещь!!!

Оставить комментарий

Поделиться с друзьями

Share on Twitter