Пиринговые сети. Принцип работы. Сети, не имеющие завязки на сервер

Страницы работы

Фрагмент текста работы

Узламиздесьслужат самипользователи, асамупрограмму вывестииз строяневозможно. Поэтому, даже еслисамихпрограммистов «раскулачат», сетьзакрытьниктонесможет.

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

Начнемсплюсов:

1.  Системапозволяетзадавать несколько поисководновременно. Этооченьудобно, получив результаты поисканаодинзапрос, можно задать другой, ионбудетискать, покавы разбираетесьспредыдущим, этоэкономит время. Результаты поискадостаточноподробны и неограниченны.

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

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

В минусахтолькото, чтодля работы снейнужен оченьмощный компьютер. Как былосказано выше, этосвязано стем, чтокаждый подключенный — естьузелобрабатывающийипропускающий поисковыезапросы. Выможетедаже наблюдать заэтимсами, таместьтакая опция. Количествосвязанных свамихостовзависиттожеот мощности компьютераиот сети. Максимумуменяполучалосьподключитьсяк 20 хостам, чтообеспечиваломне доступпримернок 3 Терабайтам (3000 GB) данных.

Механизмработы:

1.  Пользовательзагружаетпрограмму.

2.  Припервомзапускепрограммы (назовемнаш узел — A), пользовательсообщает клиенту IP-адресодногоиз функционирующихузлов

(условно узел B). Данная процедураможет инеповторятьсяв будущем, ноприпервомзапускеона обязательна. Этоодиниз самых «скользких» моментовв реализации даннойсети: без адресахотя бы одногоиз работающих вданныймоментузлапользовательне сможетподключиться. В принципе, существуетцелый ряд централизованныхсерверов, предоставляющихподобную информацию (connect1.gnutellanet.com:6346, gnutella.hostscache.com идр.), нотакаясхема уже приводиткнекойцентрализованности.

3.  Программа посылаетзапросузлу B напредметподтверждения активности.

4.  УзелВ подтверждаетсвою активность, еслинет — см. шаг 2.

5.  УзелАпосылаетузлуВ такназываемый Ping-запрос. В этомзапросе указывается, помимо прочейинформации, TTL (Time To Live) — число, означающее, сколькопереходовот узлакузлуданныйзапросможет совершить. Обычно TTL равняется 7.

6.  Другиеузлы, получив Ping-запрос, посылают Pong-ответ, вкотором содержится IP-адресотправителя, номерпортаиминимальная информацияофайлах вфонде обмена.

7.  Крометого, узлы, получившие Ping-запрос, уменьшают TTL данногозапроса наединицу, иесли TTL больше 0, атакже еслиданный запросонинеполучалиранее (защитаот зацикливания), рассылают его своим соседям.

8.  Каждыйузел, получивший Ping-запрос, отсылает Pong-ответ, темжепутем, которымэтотзапросполучил.

9.  Когда Pong-ответыдоходятдосвоегоисточника (т. е. нашегоузлаА), программа составляетсписокдоступных узлов. Как правило, этот списокнасчитывает от 2 до 10 тысячузловиот 500 тысячдо миллионафайловвобменном фонде.

10.  Пользовательвводит запрос (например, название mp3-файла). Программа рассылаетзапроснапоискфайла всем узлам всписке, а далеепростождетвходящихсообщений.

11.  Каждыйузел, получившийзапроснапоиск, ищетв своемфондеуказанный файл. Если файлненайден, то узелпростонеотвечает.

12.  Еслифайлнайден, узелотсылаетинициаторузапроса ответсинформациейофайле иосебе (IP-адрес).

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

Некоторыеклиенты Gnutella работаютв соответствиисприведенным алгоритмом, анекоторыенет. Связаноэтостем, что Gnutella — это, преждевсего, протокол взаимодействияузлов (такойже, как HTTP, например), ивнем неопределенынекоторыеиз аспектов этого взаимодействия.

Послесловие

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

Как иулюбоймолодой технологии, у P2P есть, помимо технических, исвоисоциальныепроблемы. Многиеисследователиотмечают весьма неприятную ситуацию, сложившуюсяв Gnutella: около 70% пользователейнедобавляютвообщеникакихфайловвобменныйфонд, аоколо 50% всех найденных ресурсовпредоставлены 1% (однимпроцентом!) пользователей. Психология «обществамассового потребления» постепеннопревращаетсетьравноправныхузловв клиент-серверную, со всеми вытекающимипоследствиями (падениепроизводительности и надежности).

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

Похожие материалы

Информация о работе