|
|
Устройство файлообменных сетей
|
Существует несколько типов p2p-систем: централизованные и децентрализованные.
| Первые - централизованные, как Direct Connect. Файлы находятся на компьютерах пользователей, но их поиск, а также регистрация новых пользователей осуществляются через центральный сервер.Главным преимуществом такой системы является ее простота. Вся информация хранится в одном месте, поэтому легко ею управлять и поддерживать ее достоверность. Не составляет проблемы и защита информации — ведь непосредственно защите подлежит лишь центральный сервер. С другой стороны, ни о какой устойчивости такой системы говорить не приходится — остановка работы централизованного сервера приводит к выходу из строя всей сети. Также существуют проблемы с расширением информационного наполнения сервера, так как для этого необходима прямая доставка и размещение всех данных именно на центральном сервере. |
 |
В общем есть возможность убить всех зайцев сразу.
- Заставить "паразитов" учавствовать в файлообмене. Даже, если у них всё равно не будет желания расшаривать свои ресурсы.
- Разгрузить сеть, обеспечивая более сбалансированную нагрузку на неё.В том числе, возможен будет обмен между подсетями.Здесь, возможно, придётся пообщаться с админами ИС.
- Не будет жёсткой привязанности скачиваемых ресурсов к компьютеру, как в случае с FTP.
- Можно сделать интересный медиаресурс по обмену фильмами и музыкой.
Как это сделать - самое главное, необходим компьютер с постоянным IP. Пока один есть, но работает не всегда - lancity. Ещё неизвестно захочет ли владелец что-то делать.
Возможно придётся поговорить с ИС. На этот комп ставится программа-сервер, которая будет обслуживать подключения
клиентов, поиск и т.д.
Пользователи ставят на свой компьютер программу клиент eMule, настроенный под сеть ИС (я его уже перекомпилировал). Запускают программу и всё. Каждый компьютер, после подключения к серверу, сам становится сервером файлообмена. А вот здесь самое интересное.
Децентрализованные сети являются противоположностью централизованных. Нет центрального сервера – есть приложения, которые могут исполнять роль и серверов и клиентов. Децентрализованные системы, такие как Gnutella, являются прямой противоположностью централизованных, каждый компьютер в такой сети связан одновременно с несколькими другими (и хранит в своей памяти адреса еще нескольких десятков соседей), и на качестве работы всей сети выход из строя отдельных узлов не отражается. Отсутствие центрального сервера важно и с другой стороны: у сетей, устроенных наподобие Gnutella, отсутствует владелец. Они никому не принадлежат — кроме их участников. Все вместе это дает почти абсолютную гарантию надежности работы таких сетей.
Какие файлы могут скачать у тебя пользователи - указываешь сам, но если ты качаешь какой-то ресурс из сети, то он автоматически будет в расшарке.
Предположим вариант, что всё уже работает. Вводишь в строке поиска
что-нибудь.avi и тебе выдаётся список доступных ресурсов с таким именем. Ты его вносишь в список закачки и автоматически становишься в очередь у всех клиентов, которые имеют в расшарке закачиваемый файл. И начинаешь качать файл блоками то от одного, то от другого. По мере того, как у тебя начинают появляться готовые
блоки ресурса, его у тебя тоже уже могут качать.
В общем происходит в некотором виде лавинообразное распространение ресурса по сети с и равномерной и сбалансированоой нагрузкой на неё. Причём необязательно, чтобы тот, кто первым выложил этот ресурс был в сети, главное, чтобы этот ресурс был закачан хотя бы частично другими. А в случае фильмов - его можно будет предварительно даже посмотреть, не закачивая целиком, и если что удалить из закачки.
Но есть у этих систем и недостатки. Из-за отсутствия центрального сервера, на котором поиск нужной композиции среди списка всех доступных в сети выполнялся моментально, децентрализованные P2P-сети работают заметно медленнее. По той же причине клиенты таких сетей вынуждены пропускать через себя значительное количество запросов от других пользователей, что уменьшает скорость передачи их собственных файлов — особенно если они работают через медленное модемное соединение. Существует предположение, что децентрализованные P2P-сети, в которых одновременно работают больше нескольких сотен тысяч клиентов, могут стать неработоспособными, будучи «задавлены собственным весом». Впрочем, разработчики на месте не стоят: к примеру, скорость поиска в децентрализованных P2P-сетях предлагается повысить за счет введения частичной централизации.
И немного истории: Автором Napster стал 18-летний американский студент Шон Фэннинг. Поступив в Северовосточный университет Бостона (вообще-то Шон мечтал о Карнеги-Миллоне, но завалил вступительные экзамены) и с трудом одолев полтора курса, зимой 99-го, в офисе у отца, во время очередного прогула занятий, он задумался над тем, как здорово было бы сразу получить доступ ко всей музыке, что хранилась, к примеру, на машинах его родного университета. Так Фэннинг набрел на идею, впоследствии принесшую ему мировую известность. Собственно суть ее была проста: вместо того чтобы собирать всю музыку на одном сервере, Шон предложил оставить ее на компьютерах пользователей, а центральному серверу поручить лишь сбор названий композиций с указанием того, на чьем компьютере та или иная композиция хранится.
В общем нужен эксперимент, а для этого необходимо хотя бы пару человек не считая меня. Необходимо чтобы попробовали другие - я уже второй год сижу в eMule - это супер вещь. Если такую технологию можно будет приспособить к нашим условиям, то я думаю, что это всем пойдёт на пользу.
Краткие характеристики программы - в клиента встроен поиск, закачка, управление закачками, чат и простенький IRC клиент. Обмен ссылками можно делать непосредственно в IRC, а также через ресурсы типа lancity и форумы.
|
|