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

  • 28.07.2019

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

Одним из первых широко используемых peer-to-peer файлообменных сервисов стал Napster . Он был основан в 1999 году 19-летним студентом Северо-восточного университета Бостона Шоном Фаннингом. Сервис задумывался - как сеть для свободного обмена с друзьями музыкой в формате mp3. Но в таком виде он просуществовал всего два года: из-за конфликтов с правообладателями и последовавшего за этим судебного решения он был вынужден прекратить свою работу и выплатить крупные штрафы.

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

Существуют различные P2P протоколы и основанные на них сети, такие как, например, eDonkey, Dirrect Connect или Gnutella. Но в настоящее время самыми распространенными в мире по данным агентства Ipoque являются сети на основе протокола BitTorrent. Причем в Восточной Европе и России Torrent используют более 80% всех пользователей P2P сетей, в Западной Европе - почти 60%.

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

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

Самые популярные торрент-клиенты

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

uTorrent - самый популярный торрент-клиент под операционные системы Windows и Mac. По информации портала TorrentFreak к концу декабря 2008 года его месячная аудитория составила 28 млн человек. Программа была выпущена сентябре 2005 года. А сейчас uTorrent установлен на 11,6% компьютеров в Европе и на чуть более 5% - В США. Всего на пользователей uTorrent приходится от 40 до 60% от общего числа пользователей торрент-клиентов.

BitComet - клиент, поддерживающий одновременно протоколы BitTorrent и eDonkey под Windows. Программа была впервые выпущена в 2003 году, а сейчас представлена на 52 языках мира, включая русский. Также приложение включает в себя видео-проигрыватель, позволяющий просматривать.flv и.swf файлы.

Vuze (бывший Azureus). Клиент, распространяемый по лицензии GPL. Локализация доступна для 36 языков, включая русский. Помимо протокола BitTorrent, поддерживает анонимный обмен данными по протоколам I2P и Tor. Работает под операционной системой Windows (но есть версии, поддерживающие Linux системы). С официального сайта компании еженедельно скачивается более 500 тыс. копий этого клиента.

Наиболее популярными торрент-клиентами под операционные системы на базе Linux являются Ktorrent , Qtorrent , Transmission (под Gnome), rTorrent - в зависимости от используемых дистрибутивов и графической оболочки.

Самые популярные торрент-сайты в мире

Компания eBizMBA, занимающаяся мониторингом интернет-рынка, составила рейтинг наиболее популярных в мае 2009 года торрент-сайтов. Рейтинг составлен на основе совокупности характеристик посещаемости, количества внешних ссылок, и рейтинга Google и Alexa. Вот пятерка лидеров.

Mininova - самый крупный торрент-сайт и поисковая система.torrent файлов, создан в 2005 году. Сайт посещают более 30 млн человек в месяц.

ThePirateBay - крупнейший торрент-трекер в мире. Его сайт посещают 2,7 млн американских пользователей ежемесячно (а в мире - на порядок больше). Есть русская локализация. Сайт стал всемирно известен еще и крупным скандалом и судебным процессом в Швеции, развернувшимся вокруг него. Если владельцев трекера признают виновными в нарушении авторских прав, им грозит до двух лет лишения свободы и крупный штраф, а всему мировому торрент-сообществу - серьезный прецедент по официальному признанию торрент-систем пиратскими. Этот процесс настолько всколыхнул общественность Швеции, что привел к созданию политической партии Pirat bay (Пиратская бухта), у которой теперь есть серьезные шансы пройти в парламент Швеции на ближайших выборах.

isohunt.com . Более 15 млн ежемесячных посетителей. Поисковая система по торрент-трекерам, которая постоянно индексирует почти 100 тыс. трекеров с общим числом пиров - более 17 млн.

torrentz.com - 1,5 млн посетителей ежемесячно, запущен в 2003 году. Не является трекером, но осуществляет поиск.torrent файлов по 816 трекерам, им проиндексировано 152 479 536 сидов (по состоянию на 3 июня 2009 года), в том числе, и по таким крупным трекерам как ThePirateBay и Mininova.

BTJunkie . Этот сайт - не только трекер плюс поиск по нему, но и расширенная поисковая система.torrent файлов в Интернете. Число посетителей сайта - 810 тыс. человек в месяц, есть русская локализация. Представлено более 2,5 млн активных торрентов.

Самые популярные торрент-сайты в России

torrents.ru . Самый крупный торрент-трекер Рунета. По состоянию на 3 июня 2009 года на нем зарегистрировано почти 3,5 млн пользователей, количество пиров превышает 7,5 млн, сайт ежемесячно посещают почти 25 млн человек. Регистрация открыта для всех желающих, но раздачи модерируются. В 2009 году признан премией Ротор лучшим в номинации «Сетевой сервис года».

tfile.ru . Посещаемость сайта - более 1,8 млн человек в месяц. Трекер не специализируется на каком-либо одном виде контента, здесь можно найти и музыку, и видео, и программы.

kinozal.tv . Трекер, специализирующийся на видеофильмах. Посещаемость его сайта составляет более 2,5 млн человек в месяц. По статистике на 3 июня 2009 года количество пиров составляет 107 484, количество сидов - почти 100 тыс.

Не peer-to-peer

Rapidshare.com . Это самый крупный сервис для обмена файлами, основанный не на протоколе peer-to-peer. В настоящее время этот сайт ежемесячно посещают около 4,3 млн человек. Бесплатное его использование возможно, но при этом есть ограничение на количество и размер скачиваемых и заливаемых файлов. Так, при бесплатном использовании максимальный размер закачиваемого файла - 200МБ, ограниченная скорость скачивания, единовременно можно скачивать только один файл, повторное скачивание возможно только с временной задержкой. При использовании премиум аккаунта максимальный размер закачиваемого файла - 2ГБ, нет ограничения на количество и скорость скачиваний, время хранения файла на сервере неограниченно.

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

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

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

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

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

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

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

Пиринговые сети для новичков описаны в статье: Файлообменные программы

  • ED2K она-же eDonkey2000 - сеть централизованного типа, крупнейшая из ныне существующих файлообменных сетей. Поиск выполняют специализированные серверы, связанные между собой. Клиенты самостоятельно обмениваются по протоколу MFTP . Компания MetaMachine разработчики исходной концепции и первого клиента основанного на веб-интерфейсе (Edonkey 2000 v1.4.5)в 2005 году прекратили поддержку этого проекта, однако сеть продолжает функционировать за счет более совершенного и более мощного клиента eMule , который использует механизмы - представляет из себя слабо связанные между собой выделенные сервера для поиска (хабы). Хабы Direct Connect очень удобны для организации файлового обмена в локальных сетях.
  • Advanced Direct Connect - эволюционное развитие сетей Direct Connect с устранение основных недостатков.
  • FastTrack , iMesh - первоначально была реализована в KaZaA …
  • giFT (mlDonkey.
  • Shareaza , BearShare , Phex .
  • Shareaza .
  • Ares - файлообменная сеть для любых файлов.
  • проприетарный протокол. Весь поиск происходит через центральный сервер, на котором есть бесплатная регистрация и платная подписка (официальный сайт). Клиенты: mlDonkey, SolarSeek .
  • Entropy - анонимные и устойчивые к цензуре файлообменные сети.
  • Blubster, Piolet , RockItNet.
  • NEOnet - частично-децентрализованая коммерческая сеть на условно-платной основе. Является специфической вспомогательной модификацией протокола DHT при работе в отделенном коммерческом сегменте сети Gnutella1 , поддерживаемом с помощью клиента Morpheus . Свойства криптографической защиты и сетевой анонимности в сети NeoNet не поддерживаются.
  • Tesla - Возможно, содержит MalWare.
  • Filetopia - потенциально безопасная сеть для обмена самым разным контентом.
  • MUTE - Клиенты: MFC Mute , Napshare .
  • Peer2Mail - принципиально это даже не пиринговая сеть, а разновидность ПО позволяющего передавать файлы между двумя хостами (peer-to-peer), используя почтовые сервисы в качестве роутера. Технология передачи файлов основана на инкапсуляции в SMTP-протокол.
  • Ants p2p - открытая P2P-сеть 3-го поколения повышенной безопасности. клиент.
  • Anthill - система(сеть) академического исследования сложных адаптивных систем, основанных на Rodi - поддерживает поиск по содержанию файлов. AppleJuice - частично децентрализованная сеть (как eDonkey).
  • BeOS.
  • - глобальный виртуальный диск для обмена файлами с авторизацией и шифрованием.
  • ProxyShare - новая высокоскоростная сеть с больши́ми возможностями.
  • Acquisition - сеть и клиент для Mac.
  • RShare - анонимная открытая P2P -сеть.
  • Marabunta - альтернативная пиринговая система ориентированная исключительно на предоставление услуг обмена мгновенными сообщениями на общей доске объявлений (P2P-chat) . Программа в основном рассчитана на применение в локальных сетях, и потому не содержит возможностей автообновления нод-листа (его приходится пополнять вручную) . При наличии постоянных IP-адресов реципиентов, может работать и в интернете, однако встроенная функция bootstrap с серверов разработчиков не работоспособна из-за того, что с 2006 года проект практически перестал развиваться.
  • SKad или OpenKAD - модификация протокола Winny . Дальнейше развитие этой сети в сторону сетевой анонимности привело к появлению программы Share . И на сегодняшний день существует и третья версия под управлением программы Perfect Dark . К сожалению все три версии сети SKad развивались паралельно и хотя они имеют много общего, но из-за видоизменения процедуры кодирования нод-листа в сторону более жесткого шифрования, они не совместимы между собой. Таким образом все три программы образовали три идентичные сети с разными степенями защищенности.
  • - Собственническое ПО от Microsoft.
  • P-Grid - самоорганизующаяся децентрализованная сеть.
  • P2PTV - сеть телевизионных каналов.
  • KoffeePhoto - сеть для обмена фотографиями.
  • Poisoned – программа для работы с файлообменными сетями Gnutella, OpenFT, FastTrack в среде операционной системы Mac OS X . Представляет собой графический интерфейс для фонового приложения giFT.

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

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


Wikimedia Foundation . 2010 .

Смотреть что такое "Пиринговая сеть" в других словарях:

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

    Запрос «P2P» перенаправляется сюда; см. также другие значения. Одноранговая, децентрализованная или пиринговая (от англ. peer to peer, P2P равный к равному) сеть это оверлейная компьютерная сеть, основанная на равноправии участников. В такой … Википедия

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

    Примерное графическое изображение связей между сетями Интернета. Изображены только связи между серверами. Содержание 1 Написание 2 История 3 … Википедия

В качестве примера текущий движок позволяет добавлять такие сервисы как:

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

Сайт в соответствии с последними веяниями имеет адаптивный дизайн и вполне корректно отображается и редактируется на мобильных устройствах.

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

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

Инфраструктура проекта

Установка серверного ПО

Для поддержки проекта и развития сети любой желающий может предоставить свои серверные ресурсы. Для этого на своем сервере необходимо установить и запустить серверную ноду.
  1. Перед установкой ноды необходимо убедиться, что на сервере уже установлена платформа Node.js или установить ее в соответствии с инструкцией
  2. Скачать репозиторий с github

    Git clone https://github.com/basenetwork/base.server-node

  3. Установить модуль sqlite3 для Node.js

    Cd base.server-node && npm install sqlite3 --build-from-source && cd ..

  4. запустить ноду nohup base.server-node/base.node.js --size=32 >/var/log/base.node.log &
В качестве параметра size необходимо указать свободный объем на диске (в ГБ), который вы готовы выделить под ноду.
Для работы ноды необходимо выделить внешний IP адрес и свободный порт. По умолчанию система попытается автоматически использовать один из внешних IP адресов в списке network interfaces операционной системы. Возможно вручную указать IP-адрес и порт, используя параметры запуска --host и --port:

Nohup base.server-node/base.node.js --size=32 --host=41.34.55.66 --port=2222 >/var/log/base.node.log &
Проверить работоспособность ноды можно, сделав http-запрос к веб-серверу:

Curl http://41.34.55.66:2222/-/about

Исходный код

Со всеми исходниками проекта можно ознакомится на GitHub - github.com/basenetwork . Аккаунт содержит несколько репозиториев:
  • base.server-node
    Собственно, сама серверная нода. Репозиторий написан на Node.js. Инструкция по установке base-ноды на свой сервер была представлена выше.
  • client-js
    Клиентское ядро. Проект написан на JavaScript. Включает в себя базовые функции по работе с системой. Это непосредственно тот самый код, который подгружается при открытии любого сайта системы - http://base.network/core.js Сайтовым движкам для работы с сетью ядро предоставляет специальный API - baseAPI
  • site-engine-js
    Сайтовый движок. Написан на JavaScript с использованием библиотеки React.js. В качестве фреймворка для верстки и стилей использует Bootstrap v3. Это собственно тот код, который организует структуру сайтов, их внешнее представление. Реализует систему редактирования контента для владельцев сайтов. В данный момент в качестве теста движком реализованы такие сервисы как блоги, фотоальбомы и списки медиа, а также систему комментариев к постам и фотографиям. Движок не работает напрямую с сетью, а использует для этого специально предоставленный ядром API.
  • static-builder
    Специально разработанный билдер статических файлов. Билдер написан на Node.js. Работа билдера заключается в компиляции всех статических файлов в один единственный javascript-файл. Необходим для компиляции ядра и движка сайта. Скомпилированный файл включает в себя полностью весь функционал для работы с сайтом: программный код, логику, формы, стили, шрифты и иконки, используемые в оформлении сайта. Полученный файл выкладывается в сеть и подгружается пользователем в качестве движка один единственный раз, при посещении сайта.
    Билдер в css-файлах стилей непосредственно вместо ссылок на шрифты и иконки вставляет закодированное в base64 их содержимое. А уже полученные css-файлы, а также скомпилированные js и jsx объединяет в один единственный js-файл.
К сожалению, еще пока не создано подробной документации по проекту. Нет детального описания структуры репозиториев и протоколов обмена. Функционал не покрыт тестами (исходный код для ознакомления представлен в весьма сыром виде). Надеюсь, что ситуация будет исправлена в ближайшем времени.

Планы

  • Доработать сайтовый движок. Переработать дизайн и повысить юзабилити существующего функционала. Добавить ряд полезных функций, чтобы по функционалу не уступать современным социальным сетям.
  • Локализовать веб-интерфейс для популярных языков.
  • Добавить сервис личных сообщений с обеспечением полной анонимности. Сервис помимо шифрования непосредственно содержимого сообщений будет скрывать сам факт переписки двух лиц, чего сложно добиться с использованием централизованной системы. Реализация такого сервиса требует лишь небольших доработок сайтового движка на стороне клиента. Серверная часть уже сейчас вполне готова для воплощения подобного функционала.
  • Переписать серверное ПО на языке GO, поскольку скорость работы с криптографического алгоритмами на Node.js оставляет желать лучшего.
  • Покрыть весь функционал тестами.
  • Составить подробную документацию к проекту, API и протоколам общения клиент-сервер.
  • Создать своего рода Store сайтовых движков, сервисов и плагинов, а также стилей и дизайн-тем.

Поддержка проекта

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

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

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

Спасибо за поддержку!

Заключение

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

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

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

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

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

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

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


Рис. 9.15.

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

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

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

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

Пиринговые, одноранговые или децентрализованные сети (от англ. 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.