На главную

Библиотека Интернет Индустрии I2R.ru

Rambler's Top100

Малобюджетные сайты...

Продвижение веб-сайта...

Контент и авторское право...

Забобрить эту страницу! Забобрить! Блог Библиотека Сайтостроительства на toodoo
  Поиск:   
Рассылки для занятых...»
I2R » Игры » Quake 3 » Основы

Голова к голове

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

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

Технология, на которой основаны сети Napster и ей подобные, называется P2P (peer-to-peer). Название есть, но однозначного определения до сих пор не существует. Согласно одному определению, P2P представляет класс приложений, использующих совместно распределенные ресурсы. К этому классу относятся как сети обмена файлами (Napster, Gnutella и иные), так и системы распределенных вычислительных сетей (SETI@HOME), а также ряд других служб. Другое определение технологии P2P основано на том, что передача данных между узлами сети может осуществляться как по "эстафете", от узла к узлу, так и непосредственно между узлами при установлении временной связи. При этом вопросы маршрутизации лежат на всех узлах сети.

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

Еще одна сеть, подобная Napster, была создана компанией StreamCast. Ее файлообменная служба была основана на программе Morpheus. Позже к этой сети присоединились KaZaA и Grokster. Сеть стала общей, но программы для работы в ней у каждого разработчика были свои. Объединенная сеть стала по размеру приближаться к Napster, но разногласия, возникшие между партнерами, привели к несовместимости программного обеспечения, выпускаемого ими. Позднее StreamCast выпустила новую версию своей программы Morpheus Preview Edition, основанной уже на технологии Gnutella.

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

Gnutella - незаконнорожденный "ребенок" сотрудников компании Nullsoft Джастина Френкеля и Тома Пеппера. "Гнутеллу" разрабатывали без ведома AOL, в состав которой входила на тот момент компания Nullsoft. Лишь когда весной 2000 года команда разработчиков сообщила о завершении работ и выложила программу на сайт, AOL всполошилась и потребовала убрать ее из свободного доступа. Но, хотя программа вместе с исходными кодами пролежала на сайте всего одни сутки, она успела разойтись по всему миру. Создатели Gnutella, как это заметно из названия программы, разработали ее под лицензией GNU (Free Software Foundation), то есть заведомо некоммерческой. Тем не менее, начальной программы больше не существует, зато есть множество ее преемников.

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

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

Сама же сеть построена довольно просто. Каждый узел связывается с некоторым числом узлов (как правило, не более 4-х). Те, в свою очередь, соединяются со следующими, в чего результате может получиться сеть с миллиардами узлов. "Тонкий" момент - ввод адреса первого узла, с которым будет устанавливаться связь при установке программы. Хотя списки узлов сейчас можно найти на специализированных сайтах, правильно "угадать", с каким узлом связь будет лучше, невозможно. Если связь не будет установлена, придется повторить ввод адреса следующего узла. Наконец, связь установлена, и можно начинать поиск. Но не забывайте, что вам потребуется открыть доступ и к своему жесткому диску, чтобы не только вы могли скачивать информацию, но и у вас могли что-то найти, и положить в открытый каталог какие-нибудь файлы. Что ищут в сети Gnutella? В первую очередь - музыку, фильмы. Вот такие файлы и нужно будет выложить для общего доступа.

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

Для работы в сети Gnutella разработано довольно большое количество программ. Среди них наибольшей популярностью пользуются такие, как Gnutella, BearShare и LimeWire. Программа BearShare ищет музыку, видео, графику, часто обновляется и усовершенствуется. Поиск работает неплохо, поэтому результатов всегда выдает много. В BearShare существует функция, автоматически определяющая активные IP-адреса и позволяющая подсоединяться к производящим файловый обмен пользователям, даже если последние не входят в сеть Gnutella. Программа LimeWire обеспечивает "расшаривание" (sharing) любых файлов и, соответственно, их закачку, имеет возможность устанавливать ограничение на количество активных процессов скачивания (download) и загрузки (upload), чат, возможность установки фильтров, докачки, ознакомления с файлами по мере закачки. Программы позволяют работать и с компьютерами, "спрятанными" за файрволами.

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

Михаил Брод
.hostinfo

Другие разделы
Предметы и оружие
Стратегия
Консоль
Основы
I2R-Журналы
I2R Business
I2R Web Creation
I2R Computer
рассылки библиотеки +
И2Р Программы
Всё о Windows
Программирование
Софт
Мир Linux
Галерея Попова
Каталог I2R
Партнеры
Amicus Studio
NunDesign
Горящие путевки, идеи путешествийMegaTIS.Ru

2000-2008 г.   
Все авторские права соблюдены.
Rambler's Top100