Опубликован: 04.08.2008 | Уровень: для всех | Доступ: платный
Лекция 9:

Электронные библиотеки, дистанционное обучение, сервисы, пиринговые сети

Пиринговые сети

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

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

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

Пиринговые, одноранговые или децентрализованные сети (от англ. 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. Завершение работы мастера
Владислав Шутеев
Владислав Шутеев
Евгения Гетова
Евгения Гетова
Александр Запевалов
Александр Запевалов
Ольга Виноградова
Ольга Виноградова
Россия, Северодвинск, СФ ПГУ им. М.В, Ломоносова, 2008