Тарифы Услуги Сим-карты

Пиринговая сеть — что это? Что такое пиринговая сеть

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

Разные типы информации и передавать можно различными способами. К примеру, сегодня весьма популярна пиринговая сеть (P2P), уникальность которой в способности к передаче практически любого объема данных. Но, разумеется, это далеко не единственная сфера, где эта технология действительно востребована. К примеру, именно на ее основе созданы многочисленные кластеры для распределенных вычислений, использующие мощности удаленных компьютеров.

«Этическая» сторона вопроса

Вообще, в последние годы активно «демонизируется» пиринговая сеть. Что это «опасно» с точки зрения получения вирусов и нелицензионного контента, говорят практически во всех СМИ.

Вот только журналисты отчего-то стыдливо умалчивают, что не менее 70% трафика от протокола Р2Р приходятся на абсолютно законопослушных пользователей и даже целые компании, которые просто разгружают свои серверы, вовлекая в обмен данными рядовые компьютеры. Простой пример: уже давно «Метелица», она же компания Blizzard, использует эти сети для обновления клиентов того же «Варкрафта» и прочих своих игр. Не стоит и упоминать, какое от игроков со всего мира там генерируется!

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

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

Наверняка каждый пользователь хотя бы слышал о некоторых утилитах, посредством которых и осуществляется файловый обмен. У всех на слуху µTorrent и eMule, Shareaza, KaZaA и и другие, которые постоянно упоминаются в связи с передачей той или иной информации в сети интернет. Впрочем, постараемся рассказать о них более упорядочено. Итак, что такое пиринговая сеть? Какова научная расшифровка этого понятия?

Определение

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

Именно для устранения такой «дискриминации» и была придумана пиринговая сеть, каждый компьютер в которой может не только принимать, но и передавать информацию, работая одновременно в качестве сервера и клиента. Чаще встречается аббревиатура P2P (peer-to-peer), что с английского можно перевести как «от равного к равному». Такие сети еще называют децентрализованными.

Основные принципы работы

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

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

Отличия от стандартной сети

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

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

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

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

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

Некоторые недостатки пиринговой модели

Мы неоднократно подчеркивали, что основной сферой использования такого рода сетей является обмен данными. Как ни странно, но в мире практически не встречается описанная нами выше пиринговая сеть. Что это означает? Дело в том, что классическая модель имеет не только многие достоинства, но и некоторые критические недостатки.

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

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

Наиболее крупные и популярные сети для обмена файлами

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

Наиболее крупными, известными во всем мире, являются следующие Р2Р сети:

    ED2K. Передача данных осуществляется по протоколу MFTP. Клиент — известная программа eMule. Уже с 2005 года проект находится в состоянии «хронической смерти», но пока что сеть продолжает стабильно функционировать, пусть даже и скорость передачи данных быстрой никак не назвать.

    BitTorrent. Пожалуй, наиболее популярный сегмент пиринговой системы, отличающийся громадным количеством пользователей и высокой скоростью. Имеет огромное количество клиентов, к числу которых относится «эпический» uTorrent, BitComet, а также десятки иных.

    Direct Connect. Более специфический вариант, когда хабы, образованные некими группами людей, используются ограниченным (сравнительно) кругом пользователей. Чрезвычайно популярна эта модель в качестве локальной сети провайдера. Основной клиент - DC++.

    Gnutella. Вот это самая настоящая, чистая пиринговая система. Используется особый протокол передачи данных, который был создан компанией Nullsoft, разработчиком общеизвестного (хотя и умершего) «Винампа». Какие в этом случае используются клиенты пиринговых сетей? Известна программа Shareaza, LimeWire и прочие.

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

Каковы основные преимущества всех этих сервисов? Все просто — никакая настройка пиринговой сети совершенно не требуется. Ставите программу, переходите по «магнитной» ссылке и... вуаля, файл начал качаться!

Основные правила обмена файлами

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

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

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

Что желательно делать при обмене?

Очень желательно, скачав какой-то файл, раздать с него же равный объем информации. Как правило, если пользователь только скачивает, но ничего не раздает, системой могут быть введены «штрафные санкции», предусматривающие полное исключение возможности получения новых файлов. Может использоваться даже блокировка по IP или МАС-адресу. В частности, этим отличается пиринговая сеть "Билайн".

    Ни в коем случае не удаляйте файл, только-только завершив его скачивание. Если есть такая возможность, как можно дольше сохраняйте его на своем жестком диске.

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

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

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

Правообладателям: мы вовсе не советуем распространять пиратский софт или что-то подобное. Всегда можно только поприветствовать, если пользователь участвует в обмене дистрибутивами того же «Линукса», так как это значительно разгружает серверы компаний, которые и без того зачастую живут на одни пожертвования и работают исключительно на добровольческой основе!

О защите авторских прав

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

Как найти и скачать в Интернете любые файлы Райтман М. А.

Как работает пиринговая сеть

Как работает пиринговая сеть

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

Таким же преследованиям подвергались и другие аналогичные проекты. Но процесс вышел из-под контроля. И файлообменные пиринговые сети продолжали существовать, пользуясь все возрастающей популярностью у пользователей. Причина такой живучести пиринговых сетей заключается в принципе их работы. Работа пиринговой сети кардинально отличается от сетей, построенных по принципу "клиент - сервер". Данная сеть работает по принципу "клиент - клиент". То есть, если говорить правильно, технология называется Peer to Peer (P2P) - (одноранговый) узел (сети) к (одноранговому) узлу (сети). Здесь компьютер каждого пользователя выступает одновременно и как клиент, и как сервер.

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

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

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

Как уже говорилось ранее, правообладатели музыкальных или видеофайлов постоянно пытаются закрыть и закрывают файлообменные сети. Но на примере пиринговой сети eDonkey2000 видно, что закрыть пиринговую сеть невозможно. Официально протокол, по которому работает данная пиринговая сеть, принадлежит компании MetaMachine. Из-за исков, поданных на данную компанию, пиринговая сеть eDonkey2000 была официально закрыта в 2007 году. Но, как бы это странно не звучало, закрытие нескольких десятков серверов этой компании практически не отразилось на работе данной пиринговой сети. Почему же так произошло? Все дело в том, что инструменты этой компании перестали быть популярными у пользователей. Пользователи в большинстве перешли на альтернативное программное обеспечение. А если учесть, что данная сеть децентрализована, т. е. компьютер и клиентская программа каждого пользователя сети являются одновременно и клиентом, и сервером, сеть вышла из под контроля MetaMachine. Поэтому закрытие нескольких серверов данной компании на работе сети не сказалось совершенно. И сеть будет существовать, не смотря ни на что, пока не лишится последнего пользователя.

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

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

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

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

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

Личер (от англ. lecher, которое в свою очередь происходит от слова leech - пиявка) - это пользователь, только начавший скачивание файла и не успевший начать раздачу уже полученных частей.

Вернемся к терминологии, принятой в пиринговых сетях.

Доступность - количество полных копий файла, доступных клиенту. Каждый сид добавляет значение 1,0 к этому числу; личеры увеличивают доступность в зависимости от количества скачанного, которого нет у других личеров. К примеру, если на раздаче есть один сид и два личера, скачавшие по 50 % файла (скачанные части равны между собой), то доступность равна 1,50.

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

В процессе работы с торрент-файлами, скачивания и раздачи данных вы встретите еще два термина - анонсирование и DHT.

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

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

Из книги 64 килобайта о Фидо автора Filimonov Nick

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

Из книги Разгони свой сайт автора Мациевский Николай

Как это работает? В протоколе HTTP версии 1.1, внедренном в 1999 году и используемом по сей день во Всемирной паутине, появилась возможность в рамках одного TCP-соединения делать несколько запросов веб-серверу.Учитывая, что страницы современных сайтов обычно содержат большое

Из книги Документация NetAMS автора Автор неизвестен

Как работает Новые функции сосредоточены в:поддержке авторизации через telnet–интерфейс и/или командную строкумодуле rlm_netams, расширяющего сервер FreeRADIUSподдержке авторизации доступа к HTML–страницам через mod_auth_radius+новая команда сервиса html (опционально)В качестве сервера

Из книги Работа в Интернете автора Макарский Дмитрий

Как это работает Принцип работы программы Skype (рис. 5.10) очень прост. Скачав с сайта http://www.skype.com приложение и установив его у себя на компьютере, практически можно начинать общение. Рис. 5.10. Окно программы SkypeВо многом работа в Skype похожа на работу с программами-клиентами

Из книги Об интеллекте [другая версия перевода книги] автора Хокинс Джефф

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

Из книги Основы AS/400 автора Солтис Фрэнк

Как все это работает В этом разделе мы продолжим разговор о вводе-выводе на примере шины SPD. Мы рассмотрим подробности низкоуровневых операций, выполняемых ниже IPCF и очень специфичных для структуры шины SPD, используемой как в старых, так и в новых моделях AS/400. Чтобы

Из книги Wi-Fi. Беспроводная сеть автора Росс Джон

Из книги SAP Business One. Строим эффективный бизнес автора Елашкин Михаил

ГЛАВА 10 КАК ЭТО РАБОТАЕТ? «Уважаемые пассажиры! Мы находимся на борту нового суперширокофюзеляжного самолета ИЛ-186. Наш самолет - семипалубный. На первой палубе находится гардероб и камера хранения. На второй палубе - кинозал. На третьей - пассажирский салон. На пятой -

Из книги PGP: Кодирование и шифрование информации с открытым ключом. автора Левин Максим

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

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

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

Из книги Интернет-маркетинг на 100% автора Коллектив авторов

2.3.3. Как это все работает? ОСНОВЫ ФУНКЦИОНИРОВАНИЯ ПОИСКОВЫХ СИСТЕМ, ИНДЕКСАЦИИ И РАНЖИРОВАНИЯ САЙТОВСразу хочется оговориться: поисковая система – это робот, который автоматически обрабатывает миллиарды страниц по какому-то алгоритму, в результате показывая в доли

Из книги Справочник по параметрам BIOS автора Вонг Адриан

Из книги Оптимизация BIOS. Полный справочник по всем параметрам BIOS и их настройкам автора Вонг Адриан

Как работает BIOS? Большинство людей даже не подозревает о том, что происходит во время работы на компьютере. Им кажется, что компьютер всего-навсего реагирует на нажатия клавиш и щелчки мышью. Компьютер делает то, что вы ему приказываете. Он не задает вопросов.На самом деле,

Из книги Дело о реформе копирайта автора Энгстрём Кристиан

И всё равно это не работает Смертная казнь за копирование15 января в 19:09. Копирайт: Peer-to-Peer* автор фото: Андрей Бутко, по лицензии Creative Commons Attribution-Share Alike 3.0 Unported.В наше время во всём мире наказания за нарушение копирайта довольно жестокие. Астрономические цифры штрафов и

Из книги Операционная система UNIX автора Робачевский Андрей М.

Как это работает? По существу, собственно система RPC является встроенной в программу- клиент и программу-сервер. Отрадно, что при разработке распределенных приложений, не придется вникать в подробности протокола RPC или программировать обработку сообщений. Система

Из книги Интернет для ржавых чайников автора Левина Любовь Трофимовна

Как работает сеть Интернет Все компьютеры в сети Интернет грубо можно поделить на две группы – серверы и клиенты.Серверы – это мощные, надежные компьютеры, работающие круглосуточно. Они постоянно подключены Интернету, способны хранить и пересылать информацию по

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

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

Большинство обычных пользователей не сталкиваются с пиринговыми сетями, даже работая с Интернетом по несколько лет. На это есть две причины: первая – работа с ними сопровождается кажущейся сложностью (но только кажущейся). Вторая связана с практически полной бесконтрольностью этих сетей, со всеми вытекающими отсюда последствиями. Содержимое сетей не индексируется обычными поисковыми системами и устранить файл, который даже нарушает чьи-либо права, очень сложно. Можно пресечь деятельность одного, двух, трех – хоть десятка участников сети, но оставшиеся пользователи смогут предоставлять эту информацию. Как при ядерном ударе.

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

Первая мысль, которая приходит в голову после знакомства с сетями P2P звучит примерно так: если мы отдаем друг другу файлы, то это значит, что я должен быть круглые сутки в сети? Нет, это не совсем так. Представим себе, что вы сделали превосходную фотографию своего города с высотного здания. Отличный снимок, отличного качества, занимающий размер 20 МБ. Понятно, что файл является совершенно уникальным и другого такого нет. Вы выкладываете его в доступную для всех папку и другой пользователь начинает его качать. После завершения скачивания он также выкладывает вашу фотографию для всех пользователей. В результате, в сети уже есть два источника, предлагающих ваш файл. Третий пользователь, который входит в сеть, будет видеть, что этот файл есть в двух местах. Он уже будет получать его по частям сразу из двух источников. В результате, скорость скачивания увеличится вдвое. Для четвертого участника файл будет доступен из трех источников, для пятого – из четырех и т.д. Если этот файл будет в 5-10 источниках, то понятно, что если один из пользователей решит пойти спать и выключит свой компьютер, то число доступных источников просто станет меньше на единицу. Немного уменьшится скорость загрузки, только и всего. Возможность скачивать один и тот же файл одновременно с множества компьютеров – вот замечательная особенность пиринговой сети.

А как определяются файлы? Не получится так, что ваш файл "Мой любимый город.tiff" (20 МБ) совпадет с файлом другого фотографа, который также назвал свою работу "Мой любимый город.tiff" и который тоже занимает объем ровно 20 МБ? Не получится ли так, что пользователи, качающие этот снимок из двух источников одновременно, получат в результате неработающую мешанину? Нет, такие ситуации исключены. Дело в том, что при выкладывании файла в сеть он получает уникальный хеш-код, который определяет данный файл совершенно точно. Разные файлы, имеющие абсолютно одинаковые названия и даже размеры, получат разные хеш-коды и никогда не перепутаются. Однако один и тот же файл, расположенный на разных компьютерах, будет иметь одинаковый хеш-код, и будет выдаваться с множества источников.

Пиринговых сетей много (http://ru.wikipedia.org/wiki/Одноранговая_сеть). Пожалуй, самые крупные и популярные это eDonkey и Kademlia. Это частично децентрализованые или гибридные сети, в которых часть координационных функций обрабатываются специальными серверами. Но материалы по-прежнему хранятся на компьютерах пользователей. Для работы с этими сетями разработана специальная программа eMule (http://www.emule-project.net/). Скачиваем программу (~ 3,2 МБ) при помощи обычного браузера, устанавливаем и начинаем ее настраивать. Весь процесс нас сопровождает мастер, поэтому ошибиться в чем-либо сложно. Указываем название своего компьютера – под этим именем он будет отображаться в сети (рис. 9.14):

Рис. 9.14. Задание имени компьютера

Это имя желательно указывать вместе с языком, например так chk (rus). Дело в том, что без этого вас могут не пустить на некоторые российские сервера. Впрочем, имя можно будет легко поменять в настройках программы. В следующем шаге мастера нам предлагается проверить работу портов, работающих по умолчанию (рис. 9.15):

Рис. 9.15. Проверка портов

В подавляющем большинстве случаев все будет работать по умолчанию – если наш Интернет-провайдер ничего не блокирует. Впрочем, нажимаем на кнопку "Тест портов" и оказываемся на сайте программы, где выдается результат успешной проверки (рис. 9.16):

Рис. 9.16. Успешное тестирование портов

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

Рис. 9.17. Настройка приоритета

Вуалирование (от слова "вуаль") работы приложения позволит обойти ограничения, которые могут налагаться вашим провайдером. Попробуем работать без этого вуалирования (рис. 9.18):

Рис. 9.18. Настройка вуалирования

По умолчанию, eMule предлагает работать сразу с двумя пиринговыми сетями – eDonkey (eD2K) и Kademlia (Kad). Оставим без изменений эту настройку – чем больше сетей, тем больше в них доступных файлов (рис. 9.19):

Рис. 9.19. Выбор пиринговых сетей

Все, настройка завершена. Мастер еще раз напоминает, что все внесенные значения доступны для изменений в ходе работы в настройках программы (рис. 9.20):

Рис. 9.20. Завершение работы мастера

Последнее, что нам осталось сделать – указать пропускную способность нашей линии. Выбираем правильное значение из списка (рис. 9.21):

Рис. 9.21. Выбор пропускной способности канала

Этот шаг очень важен, поскольку eMule учитывает настраиваемую и реальную скорости соединения. Если вы не знаете, какая у вас скорость, то воспользуйтесь одним из сайтов, позволяющих ее определить (см. лекцию 4).

Приступим к скачиванию файлов. Нажимаем на кнопку "Поиск", вводим название, которое нам нужно найти, например "Ubuntu Linux", нажимаем кнопку "Старт". Результаты поиска выводятся в окно программы (рис. 9.22):

Рис. 9.22. Результаты поиска

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

Здесь мы видим файлы-образов iso. Такие файлы могут быть смонтированы на виртуальном дисководе, например, с помощью программы Alcohol 120% (http://www.alcohol-soft.com/). Для нас это впрочем, не суть важно – все, что мы хотим – это скачать его. В поле "Доступность" мы видим разные значения от 1 до 22. Это число пользователей, у которых есть файл или число источников. Мы помним, что чем больше источников, тем больше скорость закачки. Поэтому нужно стараться выбирать файлы, для которых указывается не менее 5-6 источников. Поле "Полные источники" указывает полноту файла. Если на всех 5 компьютерах есть полный вариант одного файла, то значение будет 100%. Это обстоятельство также следует учитывать.

Выделяем нужную строку, щелкаем по ней правой кнопкой и выбираем пункт меню "Приём" (рис. 9.23):

Рис. 9.23. Запуск скачивания файла

Нажимаем на кнопку "Передача" и видим, что скачивание не началось, ничего не происходит (рис. 9.24):

Рис. 9.24. Начало загрузки файла

Именно здесь большинство пользователей, сталкивающихся с eMule, начинают думать, что у них что-то не работает, после чего закрывают программу и теряют интерес всякий к пиринговым сетям. Дело в том, что при обычном скачивании файлов – особенно на хорошей скорости, мы привыкли, что загрузка начинается моментально. Если она не начинается, значит что-то не работает. Но пиринговых сетях действует принцип "Ты мне – я тебе". Чем больше мы отдаем материалов в сеть, тем больше у нас рейтинг, тем быстрее у нас начинается скачивание. Вы помните? Материалы хранятся на обычных компьютерах пользователей, которые связаны с Интернетом обычным каналом связи, а не выделенной многомегабитной линией, как в случае дата-центров. Следовательно, если десять человек хотят скачать один файл, то они будут становится в очередь. Вперед пропускают "старичков", которые сами уже принесли пользу, т.е предоставили какие-то интересные файлы. Нам придется немного подождать. Сколько? Это зависит от актуальности файла, числа источников, словом, многих параметров. Впрочем, в большинстве случаев закачка начнется спустя разумный промежуток времени. Например, в данном случае менее чем через 10 минут скачивание началось (рис. 9.25):

Рис. 9.25. Файл начал закачиваться

На скриншоте мы видим, что сразу три источника начали отдавать этот файл. Скорость небольшая – порядка 10 Кбит\сек., но это максимальная скорость моего канала. Пиринговые сети не виноваты, eMule – тоже. На большем соединении скорость будет соответственно больше.

Самое удивительное, что скачав даже небольшую часть файла, мы сразу же становимся его источником. Другие пользователи могут подключаться уже к нашей машине и получать совсем маленькие кусочки. Нажимаем на кнопку "Статистика" и видим график приема и отдачи в режиме реального времени (рис. 9.26):

Рис. 9.26. Статистика обмена файлами

Для того чтобы повысить свой рейтинг, продвигаться быстрее в очереди и получать файлы одновременно из многих источников, мы тоже должны что-то интересное предложить другим пользователям. Нажимаем на кнопку "Файлы"и видим проводник нашего компьютера. Главная ошибка всех начинающих заключается в том, что они открывают доступ (расшаривают) весь свой диск (рис. 9.27):

Рис. 9.27. Неправильное открывание доступа ко всему диску

Пользователям не нужно содержимое нашей папки Windows и Program Files. Также, как и личные документы. Поэтому для правильного открывания доступа создаем специальную папку, кладем в нее нужные файлы и щелкаем правой кнопкой мыши, выбирая пункт меню "Обмениваться вместе с подпапками" (рис. 9.28):

Рис. 9.28. Открывание доступа к специально выделенной папке

Если понадобится, то в будущем закроем доступ к этой папке схожим образом (рис. 9.29):

Рис. 9.29. Закрывание доступа к папке

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

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

Рис. 9.30. Настройка лимита соединений

Программа eMule содержит встроенный Интернет-пейджер IRC и систему отправки сообщений – что-то вроде почты. Эти средства позволяют договариваться отдельным пользователям о привилегированной передаче материалов друг-другу. Как обычно, такое действие называется "подружиться", стать френдом. Впрочем, привилегированные обмены файлами не влияют на рейтинги пользователей.

Начиная работать с программой eMule, полезно почитать справочные материалы http://www.emule-project.net/home/perl/help.cgi?l=34.

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

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

Виды пиринговых сетей

  • Сеть с централизованным сервером. Если вы хотите стать участником такой сети, то должны будете пройти регистрацию на центральном сетевом сервере. После чего, сервер самостоятельно соберет всю необходимую информацию о вашем компьютере. В перечень собираемой информации войдут: IP адрес, общедоступные для скачивания файлы и некоторые другие данные. Собранные сведения составляют единую базу серверных данных, по которой будет производиться, в дальнейшем, поиск для скачивания информации на компьютеры участников сети. Для обслуживания таких сетей, создана, например, известная программа-клиент «KaZaa», которая использует протокол FastTrack.
  • Сеть с распределенным сервером. Если ваш компьютер подключен к сети такого вида, он является и клиентом, и сервером, использующим для своей работы протокол «Gnutella». Если вы пожелаете скачать файл с одного из компьютеров такой сети, ваш компьютер пошлет запрос не на сервер, а непосредственно в тот компьютер, на котором находится нужный файл.

Преимущество сетей данного вида очевидны:

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

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

Кодекс участника пиринговой сети

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

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

Федеральное агенство по образованию

Государственное образовательное учреждение высшего

профессианального образования

Ульяновский государственный университет

Инзенский филиал

Курсовая работа

по предмету: «Информационные технологии»

на тему: «Пиринговые сети. Понятия и виды»

Выполнила: студентка

группы БУА-07

Введение.......................................................................................................... 3

Глава 1. Пиринговые сети............................................................................... 4

1.1 Общие понятие.......................................................................................... 4

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

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

Глава 2. Сети и протоколы........................................................................... 15

2.1 eDonkey2000 (сеть). ................................................................................. 15

Поиск............................................................................................................. 15

Межсерверные соединения........................................................................... 16

2.2 Kad Network............................................................................................ 17

Использование............................................................................................... 17

2.3 BitTorrent................................................................................................. 18

Принцип работы протокола......................................................................... 18

Общие особенности....................................................................................... 19

Протоколы и порты...................................................................................... 19

Файл метаданных.......................................................................................... 20

Трекер............................................................................................................ 20

Работа без трекера........................................................................................ 21

Super seeding (cупер-сид).............................................................................. 21

Две ошибки начинающих пиров.................................................................. 22

Терминология................................................................................................ 22

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

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

3.1 Perfect Dark (P2P).................................................................................... 26

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

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

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

3.2 eMule........................................................................................................ 28

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

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

Партизанская тактика обмена....................................................................... 34

Король умер, да здравствует король!......................................................... 36

Обмен под контролем................................................................................... 37

Заключение.................................................................................................... 39

Список используемых источников:.............................................................. 41


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

Необходимость иметь доступ к огромному количеству информации, лежащей на других компьютерах, сначала породила локальные сети. Это помогло на некоторое время, но объединить таким образом большое количество компьютеров оказалось невозможно. Возможность же доступа к файлам, возможно имеющихся у кого-то ещё, была очень заманчива. Поэтому была предложена система, позволяющая принимать и передавать файлы с каждого компьютера, с которым есть связь и на котором имеется определенное программное обеспечение. Такие системы получили название п2п (p2p) или пиринговых (peer-to-peer) сетей. Это словосочетание можно перевести как «равноправный обмен». Это значит, что вы, имея некоторые файлы, которые могут быть интересны кому-то ещё, разрешаете желающим их у вас скопировать, а взамен получаете возможность получить файлы, необходимые вам, от тех, у кого они есть.

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

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


Одной из основных трудностей реализации подобного обмена являлось то, что было необходимо каким-то образом найти тех, у кого есть то, что вам нужно. Для решения этой проблемы существуют два основных пути: централизованый и распределённый серверы. В случае работы с централизованым сервером каждый пользователь должен зарегистрироваться на этом сервере, который соберёт информацию о пользователе (файлы, доступные для обмена, идентификатор пользователя и т.д.), а затем внесёт эту информацию в свою базу данных, по которой и будет в дальнейшем идти поиск. Все запрошеные пользователем файлы будут искаться в базе данных центрального сервера, а найденные ссылки будут передаваться пользователю для установления прямой связи именно с тем компьютером, на котором есть нужная информация. Именно на таком принципе работает популярная КаЗа (KaZaa) и многие другие пиринговые приложения. Описанный способ обмена файлами с помощью одного или нескольких центральных серверов основан на так называемом протоколе ФастТрак (FastTrack), который является коммерческим, что несколько негативно влияет на разработку приложений, его использующих.

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

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

Несомненным первопроходцем пиринговых систем стал Напстер (Napster), на свою беду попавший под горячую руку защитников авторских прав. Через несколько месяцев после появления Напстера свет увидел ещё одного новорожденного в той же семье: ИМеш (IMesh). В отличие от почившего Напстера, ИМеш жив и поныне, хотя в последнее время участились сообщения о сбоях на центральном сервере. Возраст, знаете ли, не шутка...

После закрытия Напстера пиринговые приложения стали появляться с чудовищной скоростью и к настоящему времени их существует довольно много. Периодически одни погибают, другие рождаются и перерождаются. Одним из самых известных в мире является КаЗа, а в рунете – разновидности еМул (eMule) и еДонки (eDonkey).

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

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

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

1. После скачивания не удаляйте файл сразу. Пока есть возможность – подержите и дайте его скачать другим.2. Не зажимайте скорость исходящего соединения без необходимости. Конечно, это нагрузка на ваш компьютер, но ведь другие тоже хотят что-то получить.3. Делитесь файлами. Если у вас есть то, что может быть интересно кому-то ещё (например, номер вашей кредитной карточки или коллекция фотографий шнурков от ботинок), не держите это в тёмном и пыльном углу диска: выложите для всеобщего доступа и пусть все удивятся, как много денег у вас было на карточке.Вот, собственно, и все правила. Правда несложные?

Будущее пиринговых сетей в целом видится довольно радужным. Страсть людей к обмену (да ещё и бесплатному, чего уж там темнить) неистребима. Страсть компаний к зарабатыванию денег также неистребима. Получается классический случай: единство и борьба противоположностей. Ничего противозаконного в самих сетях нет. Они будут строиться и дальше. Сейчас, например, строится европейская пиринговая сеть ДатаГРИД (DataGRID) под руководством Европейского центра ядерных исследований (ЦЕРН), которая будет распределена по всей Европе, и, как ожидается, станет главным вычислительным ресурсом Европы. А уж как будет вестись борьба с пиратским распространением материалов, покажет время.

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

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

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

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

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

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

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

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

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

Известные децентрализованные и гибридные сети

1) ED2K она-же eDonkey2000 - сеть централизованного типа, крупнейшая из ныне существующих файлообменных сетей. Поиск выполняют специализированные серверы, связанные между собой. Клиенты самостоятельно обмениваются по протоколу MFTP. Компания MetaMachine разработчики исходной концепции и первого клиента основанного на веб-интерфейсе (Edonkey 2000 v1.4.5)в 2005 году прекратили поддержку этого проекта, однако сеть продолжает функционировать за счет более совершенного и более мощного клиента eMule, который использует механизмы Kademlia для построения децентрализованного сегмента eD2k .

2) Overnet, Kad - децентрализованные технологии на базе протокола Kademlia, обслуживающие поиск по сети eDonkey2000 (eD2k).

3) BitTorrent - технология распределённого распространения файлов, как правило, большого объёма. Отличается высокой скоростью и централизованностью. Некоторые BitTorrent клиенты поддерживают DHT и могут работать без центрального сервера (т. н. трекера).

4) Direct Connect - представляет из себя слабо связанные между собой выделенные сервера для поиска (хабы). Хабы Direct Connect очень удобны для организации файлового обмена в локальных сетях.

5) FastTrack, iMesh - первоначально была реализована в KaZaA…

6) OpenFT - открытое продолжение сети FastTrack. Поддерживается клиентами giFT (KCeasy), mlDonkey.

7) Gnutella - полностью децентрализованная сеть, использующая протокол, разработанный компанией Nullsoft, основанный на HTTP-загрузках. Самоорганизация сети происходит за счет автоматического взаимообмена данными нод-листа между соединенными клиентами. Клиенты: Shareaza , BearShare , LimeWire , Gnucleus, Phex .

8) Gnutella2 - расширение протокола Gnutella. Основные изменения коснулись только организации системы поиска файлов. Так удалось снизить общую нагрузку на сеть применяя адресную рассылку запросов только тем клиентам у которых находится искомый файл. Также была исключена проблема с ложной инициацией атаки типа UDP-flood . Во всем остальном сеть полностью аналогична Gnutella1 . Основной клиент Shareaza .

9) Ares - файлообменная сеть для любых файлов.

10) Soulseek - проприетарный протокол. Весь поиск происходит через центральный сервер, на котором есть бесплатная регистрация и платная подписка (официальный сайт). Клиенты: Soulseek, mlDonkey, SolarSeek.

11) Freenet, GNUnet, Entropy - анонимные и устойчивые к цензуре файлообменные сети.

12) MP2P (Manolito P2P) - поддерживается клиентами Blubster, Piolet, RockItNet.

13) NEOnet - частично-децентрализованая коммерческая сеть на условно-платной основе. Является специфической вспомогательной модификацией протокола DHT при работе в отделенном коммерческом сегменте сети Gnutella1 , поддерживаемом с помощью клиента Morpheus . Свойства криптографической защиты и сетевой анонимности в сети NeoNet не поддерживаются.

15) Tesla - Возможно, содержит MalWare.

16) Filetopia - потенциально безопасная сеть для обмена самым разным контентом.

17) MUTE - Клиенты: MFC Mute, Napshare.

18) Nodezilla - анонимная файлообменная сеть.

19) Peer2Mail - принципиально это даже не пиринговая сеть, а разновидность ПО позволяющего передавать файлы между двумя хостами (peer-to-peer), используя почтовые сервисы в качестве роутера. Технология передачи файлов основана на инкапсуляции в SMTP-протокол.

20) Ants p2p - открытая P2P-сеть 3-го поколения повышенной безопасности. Java-клиент.

22) Rodi - поддерживает поиск по содержанию файлов. Java-клиент.

23) AppleJuice - частично децентрализованная сеть (как eDonkey).

24) BeShare - сеть, ориентированная на BeOS.

25) Jabber - открытая P2P-технология обмена сообщениями.

26) Skype - P2P-телефония.

27) JXTA - стандартизация P2P спецификаций и протоколов http://www.jxta.org

28) KDrive - глобальный виртуальный диск для обмена файлами с авторизацией и шифрованием.

29) ProxyShare - новая высокоскоростная сеть с больши́ми возможностями.

31) Acquisition - сеть и клиент для Mac.

32) RShare - анонимная открытая P2P-сеть.

33) Marabunta - альтернативная пиринговая система ориентированная исключительно на предоставление услуг обмена мгновенными сообщениями на общей доске объявлений (P2P-chat) . Программа в основном рассчитана на применение в локальных сетях, и потому не содержит возможностей автообновления нод-листа (его приходится пополнять вручную) . При наличии постоянных IP-адресов реципиентов, может работать и в интернете, однако встроенная функция bootstrap с серверов разработчиков не работоспособна из-за того, что с 2006 года проект практически перестал развиваться. Свойства криптографической защиты и сетевой анонимности в программе не реализованы.

34) SKad или OpenKAD - модификация протокола Kademlia . Полностью децентрализованые сети этого типа создавались преимущественно в Японии. Первым шагом в этом направлении стала программа Winny . Дальнейше развитие этой сети в сторону сетевой анонимности привело к появлению программы Share . И на сегодняшний день существует и третья версия под управлением программы Perfect Dark .

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

36) Usenet - старая добрая глобальная доска объявлений;)

39) Tapestry или Chimera

40) Groove Virtual Office - Собственническое ПО от Microsoft.

41) P-Grid - самоорганизующаяся децентрализованная сеть.

42) P2PTV - сеть телевизионных каналов.

43) KoffeePhoto - сеть для обмена фотографиями.

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

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

Одна из областей применения технологии пиринговых сетей - это обмен файлами. Выглядит это так: пользователи сети выкладывают какие-либо файлы в «расшаренную» (англ. share, делиться) папку, т. е. папку, файлы из которой доступны для скачивания другим клиентам. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников. Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не только по названию файла, но и по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время скачивания файла пользователем (и после его окончания) этот файл у него могут скачивать и другие клиенты сети, в результате чего особенно популярные файлы могут в итоге быть доступными для скачивания с сотен источников одновременно.

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

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

В феврале 2006 прекратил работу самый популярный сервер сети eDonkey - Razorback, а затем прекращена разработка непопулярного коммерческого клиента EDonkey2000. Сама сеть EDonkey2000 продолжает функционировать, т. к. не завязана на конкретные сервера и существует большое количество свободно распространяемых клиентских программ.

Глава 2. Сети и протоколы

2.1 eDonkey2000 (сеть)

eDonkey2000, eDonkey, eD2k - файлообменная сеть, построенная по принципу P2P на основе сетевого протокола прикладного уровня MFTP. Распространённые в Рунете неформальные названия: «ослик», «осёл», пользователи сети - «ословоды».

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

Поиск

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

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

Загрузка

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

Принцип работы: Client Z имеет все части Файла (символы строчных букв представляют части файла). Client W, X, и Y хотят загрузить Файл. Начиная с Client X и Client Y, оба имеют различные части Файла, они могут не только получить файл от Client Z, но и могут посылать файл друг другу. Это позволяет файлу быть распределённо распространённым намного быстрее без того, чтобы использовать большее количество ширины канала Client Z. Client W может запустить загрузку файла, даже если источник файла (Client Z) больше не имеет достаточной ширины канала для отсылки.

Межсерверные соединения

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

BitTorrent (букв. англ. «битовый поток») - пиринговый (P2P) сетевой протокол Коэна для кооперативного обмена файлами через Интернет.

Файлы передаются частями, каждый torrent-клиент, получая (закачивая) эти части, в это же время отдаёт (подкачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных.

Первый torrent-клиент «BitTorrent» был создан программистом Брэмом Коэном на языке Python 4 апреля 2001 года, запуск первой версии состоялся 2 июля 2001 года. Существует множество других программ-клиентов для обмена файлами по протоколу BitTorrent.

Принцип работы протокола

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

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

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

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

Общие особенности

· Отсутствие очередей на скачивание.

· Файлы закачиваются небольшими фрагментами; чем менее доступен фрагмент, тем чаще он будет передаваться. Таким образом, присутствие в сети «сидера» с полным файлом для загрузки необязательно - система распределяет сегменты между «пирами», чтобы в последующем они могли обмениваться недостающими сегментами.

· Клиенты (peers) обмениваются сегментами непосредственно между собой, по принципу «ты - мне, я - тебе».

· Скачанные фрагменты становятся немедленно доступны другим клиентам.

· Контролируется целостность каждого фрагмента.

· В качестве объекта раздачи могут выступать несколько файлов (например, содержимое каталога).

Протоколы и порты

Клиенты соединяются с трекером по протоколу TCP. Входящий порт трекера: 6969.

Клиенты соединяются друг с другом, используя протокол TCP. Входящие порты клиентов: 6881-6889.

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

DHT-сеть в BitTorrent-клиентах использует протокол UDP.

Кроме того, протокол UDP используется UDP-трекерами (не поддерживается всеми клиентами и не является официальной частью протокола) и для соединения клиентов друг с другом через UDP NAT Traversal (используется только в клиенте BitComet и не является официальной частью протокола).

Файл метаданных

Для каждого распространяемого файла создаётся файл метаданных с расширением.torrent, который содержит следующую информацию:

· URL трекера;

· общую информацию о закачиваемом файле (имя, длину и пр.);

· контрольные суммы (точнее, хэш-суммы SHA1 ) сегментов закачиваемого файла.

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

Первоначально BitTorrent не имел собственной поисковой системы (англ. search engine ), но в мае 2005 года Брэм Коэн устранил этот недостаток.

Трекер (англ. tracker ; /ˈtrækə(r)/) - специализированный сервер, работающий по протоколу HTTP. Трекер нужен для того, чтобы клиенты могли найти друг друга. Фактически, на трекере хранятся IP-адреса, входящие порты клиентов и хэш-суммы , уникальным образом идентифицирующие объекты, участвующие в закачках. По стандарту, имена файлов на трекере не хранятся, и узнать их по хэш-суммам нельзя. Однако на практике трекер часто помимо своей основной функции выполняет и функцию небольшого веб-сервера. Такой сервер хранит файлы метаданных и описания распространяемых файлов, предоставляет статистику закачек по разным файлам, показывает текущее количество подключенных пиров и пр.

Работа без трекера

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

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

На данный момент ещё не все клиенты используют совместимый друг с другом протокол. Совместимы между собой BitComet, µTorrent, Deluge, KTorrent и официальный клиент BitTorrent. Azureus также имеет режим бестрекерной работы, но его реализация отличается от официальной, вследствие чего он не может работать через DHT с вышеперечисленными клиентами. Однако, для Azureus существует поддержка стандартного DHT через плагин Mainline DHT.

Super seeding (cупер-сид)

Супер-сид (англ. super seeding ) - метод, реализованный в тех клиентах BitTorrent, авторы которых пытаются минимизировать объём данных до первого завершения загрузки пира. Метод был задуман Джоном Хофманом и впервые был осуществлен в клиенте «BitTornado» в середине 2003 г.

Супер-сид является изменением в поведении сидеров и не может быть осуществлен без нарушения протокола BitTorrent. Тем не менее, это не утверждается ни разработчиком протокола, Брэмом Коэном, ни в официальном клиенте.

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

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

Две ошибки начинающих пиров

Начинающие пользователи BitTorrent часто допускают две ошибки:

· Забывают открыть порт приёма. Всегда, когда это возможно, порт должен быть открыт в брандмауэре или роутере . Пир с закрытым портом не может связаться с другим пиром, у которого порт приёма также закрыт.

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

Терминология

· Анонс (англ. announce ) - обращение клиента к трекеру . При каждом анонсе клиент передаёт на трекер информацию об объёмах им скачанного и отданного, a трекер передаёт клиенту список адресов других клиентов. Обращение клиента к трекеру происходит через определённые интервалы времени, которые определяются настройками клиента и трекера.

· Доступность (англ. availability ), или distributed copies - количество полных копий файла, доступных клиенту. Каждый сид добавляет 1,0 к этому числу; личеры увеличивают доступность в зависимости от количества скачанного, которого нет у других личеров. К примеру, если на раздаче есть один сид и два личера, скачавшие по 50 % файла (скачанные части равны между собой), то доступность равна 1,50.

· Личер (англ. leech - пиявка) - пир, не имеющий пока всех сегментов, то есть продолжающий скачивание. Термин часто употребляется и в негативном смысле, который он имеет в других файлообменных сетях: пользователь, который отдаёт гораздо меньше, чем скачивает.

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

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

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

· Рой (англ. 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

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

· Free Download Manager

Mac OS

· Tomato Torrent

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 наедине с американским правосудием и обратим свое внимание на его многочисленные аналоги.

Партизанская тактика обмена

После того, как популярность пирингового обмена стала очевидной, последователи Шона Фэннинга принялись писать свои собственные программы, стремясь превзойти прототип в удобстве использования, разнообразии доступных для обмена данных и защищенности от внешнего воздействия. В частности, в середине марта 2000 года в Интернете появилось программное обеспечение p2p-сети Gnutella, основанной на новой идеологии. В отличие от Napster, Gnutella не требовала наличия центрального сервера - вернее, функции сервера, обслуживающего запросы небольшой группы пользователей, мог выполнять компьютер любого участника пирингового обмена. Таким образом, блокировать работу сети отключением одного-единственного сервера стало невозможно. Любопытно, что авторы Gnutella Джастин Френкель и Том Пеппер являлись сотрудниками компании Nullsoft, принадлежащей крупнейшему провайдеру America-On-Line (AOL). Сама AOL в это же время готовилась к объединению с медиагигантом Time Warner, так что самодеятельность Френкеля и Пеппера была пресечена на корню. Однако джинн уже был выпущен из бутылки, и, несмотря на закрытие сайта http://www.gnutella.com/, копии программного обеспечения расползлись по Интернету. Как это нередко происходило и с компьютерными вирусами, независимые разработчики принялись усовершенствовать исходный код, породив многочисленные клоны Gnutella (из которых самыми популярными являлись Aimster, LimeWire, BearShare и Xolox).

Серьезную конкуренцию платформе Gnutella в скором времени составила технология голландской компании FastTrack. Разработанная почти одновременно с Napster, платформа FastTrack была не столь популярна вплоть до момента его первого официального закрытия. Так же как и Gnutella, основанные на FastTrack пиринговые сети (например, Morpheus, Grokster и KaZaa) не имели центрального сервера. Вместе с тем в качестве локальных серверов в данном случае выступали не любые, но наиболее мощные компьютеры из числа подключенных к p2p-сети, что значительно ускоряло ее работу. Ко всему прочему, программное обеспечение FastTrack позволяло объединять базы разных пиринговых сетей, увеличивая разнообразие доступных для скачивания файлов. Например, пользователи сети Morpheus (известной также под названием MusicCity), обогнавшей осенью 2000 года по популярности Napster, могли использовать ресурсы Grokster и KaZaa.

Мучения "котёнка"

Вернемся, однако, к Napster, апелляция которого была удовлетворена судом за считанные часы до предписанного срока закрытия. Вялотекущее судебное разбирательство продлилось до середины осени того же года, и к этому времени Napster в глазах владельцев авторских прав стал казаться меньшим злом по сравнению с конкурирующими сетями. Потенциальная уязвимость детища Фэннинга - наличие центрального сервера - позволяла организовать достаточно эффективную фильтрацию контента. Это обстоятельство, а так же огромная аудитория пиринговой сети (к концу 2000 года данным сервисом пользовались почти 40 млн человек) привлекли внимание немецкой медиакомпании Bertelsmann AG, и в конце октября было объявлено о достижении соглашения, в соответствии с которым на базе Napster планировалось создать платную службу музыкальной дистрибуции. Впрочем, сепаратный мир с Bertelsmann не избавил Napster от исков других звукозаписывающих гигантов, и агония p2p-сети продолжалась в течение всего 2001 года.

Могильщиками Napster стали не только поборники авторских прав, со многими из которых (в том числе и с Metallica) к лету 2001 года были достигнуты полюбовные соглашения, но также доброхоты, создававшие программы для обмана установленных пиринговой сетью фильтров (одна из таких программ была размещена, например, на сайте "напстероподобной" сети Aimster). Использовавшийся алгоритм идентификации MP3-файлов был весьма незамысловат и основывался на анализе их имен. Простая перестановка букв в именах файлов (типа MusicName =>usicNameM), не сильно затрудняющая визуальное опознание музыкальной композиции, оказалась не по зубам автоматическим фильтрам. И 11 июля 2001 года по формальному поводу (в связи с тем, что эффективность фильтрации защищенного авторским правом контента составляла не 100, а "всего" 99%) бесплатный файлообменный сервис Napster был закрыт окончательно.

Король умер, да здравствует король!

Для большинства поклонников бесплатной музыки этот день, видимо, не стал траурным. К моменту клинической смерти Napster количество доступных для скачивания через эту сеть композиций уменьшилось на 80%, тогда как конкурирующие проекты (американские Music City, Limewire, Bearshare и Audiogalaxy, голландская KaZaa, индийский Grokster, израильский iMesh и многие другие) активно расширяли базу пользователей. Впрочем, чувство безнаказанности, основанное в одних случаях на неподсудности европейских или, например, австралийских компаний американским судам, а в других - на неуязвимости децентрализованных сетей, подвело многих энтузиастов пирингового обмена.

Нерадостная тенденция упадка еще совсем недавно крупнейших файлообменных сетей рождает закономерный вопрос: а есть ли у технологий пирингового обмена будущее? Очевидно, что время, упущенное противниками свободного распространения информации в период рождения "Напстера", теперь играет им на руку. Конечно, полностью искоренить или даже значительно ограничить пиринговый обмен с помощью судебных запретов нереально (в силу уже упомянутых технических причин). Однако отсутствие легального статуса мешает владельцам p2p-сетей получать значительные инвестиции и не позволяет рассчитывать на крупные рекламные доходы. Одновременно с этим рекламный бизнес подрывают многочисленные неофициальные клоны клиентов пиринговых сетей, избавляющие пользователей от "назойливых баннеров". В результате компании банкротятся, и в лучшем случае на их раскрученных сайтах открываются платные музыкальные сервисы, а в худшем - домены могут достаться порнодельцам (по крайней мере, такое предложение было сделано в сентябре этого года почившему в бозе Napster).

Обмен под контролем

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

Вместе с тем, идея условно-бесплатного и одновременно легального распространения вполне коммерческого контента, как мне кажется, также имеет право на существование. Едва ли не основным аргументом защитников пирингового обмена является то обстоятельство, что достоверной связи между количественным ростом файлообмена и снижением официальных доходов от продажи контента (музыки на компакт-дисках, видео на DVD и т.д.) не наблюдается. Данные RIAA о падении доходов индустрии с этой точки зрения объясняются неблагоприятной общеэкономической конъюнктурой и медлительностью медиагигантов в отношении вывода на рынок новых продуктов. Более того, львиная доля тех, кто слушает скачанную в Интернете MP3-музыку, впоследствии покупает понравившиеся альбомы на CD ради их лучшего качества. И все же могут ли музыканты и их продюсеры заработать непосредственно на сетевом контенте, то есть согласится ли кто-нибудь платить за полученные в ходе пирингового обмена композиции?


Возникновение пиринговых сетей связано с тремя факторами.

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

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

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

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

С математической точки зрения пиринговая сеть может быть представлена графом неопределенного вида: нет какой-либо стандартной архитектуры сети (например, звезды или кольца). Более того, этот граф – динамический, так как отдельные пользователи включаются в сеть и выходят из ее состава в произвольные моменты времени. Любой пользователь, играющий роль сервера, в любой момент времени может превратиться в клиента на некоторый отрезок времени. Но может и пребывать одновременно в положении и сервера и клиента.

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

Napster – гибридная система, поскольку использует централизованный индекс для поиска. Система Gnutella – чистая пиринговая система. Ее архитектура такова, что каждый узел с невысокими скоростями коммутации может иметь до четырех соседей, мощные же узлы могут иметь десятки соседей. Понятно, чем больше соседей, тем быстрее может быть поиск. Но здесь имеются такие же технические ограничения, как и в многопроцессорных компьютерах: слишком накладно соединять каждого с каждым. Соединения в системе не направленные (неориентированный граф). Система Gnutella использует поиск в ширину, просматривая сначала все соседние с инициатором узлы. Каждый узел, получивший запрос, распространяет его своим соседям максимум на d шагов.

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

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


1) Карп Д., О’Рейлли Т., Мотт Т. WindowsXP. Справочник. / Д. Карп, Т. О’Рейлли, Т. Мотт. -2-е изд. – СПб.: Питер, 2006. – 784 с.

2) Тихонов В.А., Райх В.В. Информационная безопасность: концептуальные, правовые, организационные и технические аспекты: учеб. пособие / В.А. Тихонов, В.В. Райх. – М.: Гелиос АРВ, 2006. – 528 с

3) Касьянов В.Н., Евстигнеев В.А. Графы в программировании: обработка, визуализация и применение. СПб.: БХВ-Петербург, 2003, 1104 С.

4) Касьянова Е.В. Язык программирования Zonnon для платформы.NET // Программные средства и математические основы информатики. - Новосибирск: ИСИ СО РАН, 2004, С.189-205.

5) Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и анализ, М.: МЦНМО, 1999.

6) Лавров С.С. Программирование. Математические основы, средства, теория. - СПб: БХВ-Петербург, 2001.

7) Просиз Дж. Программирование для.NET. – М.: Русская Редакция, 2003.

8) Уоткинз Д., Хаммонд М., Эйбрамз Б. Программирование на платформе.NET. – М.: Вильямс, 2003.

9) Gutknecht J., Zueff E. Zonnon Language Report. Zurich, Institute of Computer Systems ETH Zentrum, 2004.

10) Торокин, А.А. Инженерно-техническая защита информации: учеб пособие для студентов, обучающихся по специальностям в обл. информ. безопасности / А.А. Торокин. – М.: Гелиос АРВ, 2005. – 960 с

11) Акулов, О.А. Информатика: базовый курс: учеб. для студентов вузов, бакалавров, магистров, обучающихся по направлениям 552800, 654000 «Информатика и вычислительная техника» / О.А. Акулов, Н.В. Медведев. – 4-е изд., стер. – М.: Омега-Л, 2007. – 560 с.

12) Советов Б.Я. Моделирование систем. Практикум: учеб. пособие для вузов / Б.Я. Советов, С.А. Яковлев. – 3-е изд., стер. – М.: Высш. шк., 2005. – 295 с.:

13) Галицкий А.В., Рябко С.Д., Шаньгин В.Ф. Защита информации в сети –анализ технологий и синтез решений / А.В. Галицкий, С.Д. Рябко, В.Ф. Шаньгин. – М. : ДМК Пресс, 2004. – 616 с.

14) Прохода А.Н. Обеспечение интернет-безопасности. Практикум: учеб. пособие для вузов/ А.Н. Прохода. – М.: Горячая линия-Телеком, 2007. – 180 с.

15) ru.wikipedia.org

16) www.allp2p.net.ru

17) www.compulenta.ru

19) www.computery.ru

20) www.compress.ru

21) www.overclockers.ru

22) www.krs-ix.ru