Словарь компьютерных и технических терминов, глоссарий
Коммуникации и сети
P2P [peer-to-peer]
Популярность P2P набирала обороты вместе с ростом популярности наиболее известного клиента, использовавшего данную технологию — Napster — и достигла своего пика в момент коллапса этой сети. Но уже за несколько месяцев до смерти Napster стали появляться альтернативные сети, многие IT-лидеры объявили о поддержке P2P в своих новых продуктах — в общем, явление стало по-настоящему «модным».
Четкого определения, что же такое P2P, нет. Поэтому приведу два наиболее распространенных. P2P (peer-to-peer) — это технология построения распределенной сети, где каждый узел может одновременно выступать как в роли клиента (получателя информации), так и в роли сервера (поставщика информации). Как правило, сеть состоит из равноправных узлов, причем каждый из них взаимодействует лишь с некоторым подмножеством узлов сети, так как установление связи «каждый с каждым» невозможно из-за ограниченности ресурсов (как вычислительных, так и пропускных). При этом передача информации между узлами, не связанными в данный момент непосредственно, может осуществляется как по своеобразной эстафете — от узла к узлу, так и путем установления временной прямой связи. Все вопросы маршрутизации и авторизации сообщений, передаваемых по эстафете, лежат не на едином сервере, а на всех этих отдельных узлах. Такое определение также известно под названием Pure P2P.
Второе определение носит более общий характер: P2P — это класс приложений, совместно использующих распределенные ресурсы (дисковое пространство и файлы, вычислительные ресурсы, пропускную способность и т.д.). Именно в эту категорию попадают системы распределенных вычислительных сетей (SETI@HOME), некоторые файловые обменные сети (Napster) и службы сообщений.
Плюсы и минусы
Первый вопрос, который я задаю себе, узнав о какой-либо новинке, будь то технология, «железка» или софт — зачем это нужно и чем новинка лучше существующих аналогов. Несмотря на многообразие возможных ответов, применительно к рассматриваемому вопросу ключевыми характеристиками, на мой взгляд, являются:
управляемость — простота поддержания работоспособности системы, а также решения вопросов, связанных с обновлением, восстановлением после сбоев и регистрацией активности (logging);
информационная согласованность — достоверность, проверяемость и последовательность информации;
расширяемость — возможность расширения информационных ресурсов системы;
устойчивость к сбоям — надежность системы;
безопасность — степень защиты информации от несанкционированного доступа;
устойчивость к внетехнологическому вмешательству — возможность (или невозможность) вмешательства государственных и иных органов в работу сети ввиду какаих-либо причин (например, обвинение в нарушении авторских прав);
масштабируемость — наличие пределов (как правило, технологических) увеличения мощностей и предельная стоимость расширения.
А теперь сравним P2P и другие существующие топологии, дабы выяснить их преимущества и недостатки.
На примере Napster довольно просто понять, как работает типичная клиент-серверная архитектура с небольшими вставками P2P на одном этапе.
Пользователь загружает программу-клиент.
Пользователь входит в сеть и регистрируется на сервере Napster, предоставляя информацию о себе (файлы в обменном фонде, ширина канала). Сервер регистрирует активного пользователя, внося список файлов в свою базу данных.
Пользователь делает запрос на предмет интересующего его файла. Сервер производит поиск в своей базе, генерирует ответ (список IP-адресов узлов, имена и размеры файлов) и отправляет его пользователю.
Пользователь выбирает, с какого узла загружать файл, соединяется напрямую с нужным узлом и загружает файл, используя протокол Napster.
После загрузки он информирует сервер о результатах.
Как видно, в данной схеме сервер присутствует на трех этапах, тогда как принцип P2P работает лишь на этапе загрузки. По сути, именно такая завязка на сервер и сгубила эту популярную сеть.
Области применения
Хотя возможных направлений применения P2P довольно много, наиболее успешны пока только четыре:
Файловые обменные сети (file-sharing). В данном случае сети P2P выступают хорошей альтернативой FTP-архивам, которые уже давно перестали справляться с ростом информационного наполнения и числа потребителей. Несмотря на постоянный рост количественных характеристик файл-серверной архитектуры, P2P потенциально обладает целым рядом преимуществ: балансировкой нагрузки, более широкой полосой пропускания, высокой «живучестью» и широкими возможностями по публикации контента. Примеры — Napster, Gnutella и ее производные.
Распределенные вычислительные сети. Например, такие как SETI@HOME. Этот проект продемонстрировал громадный вычислительный потенциал для хорошо распараллеливаемых задач. В настоящий момент в нем принимают участие свыше трех миллионов пользователей, а общее число «процессоро-лет» перевалило за семьсот тысяч, и все это на абсолютно бесплатной основе, когда добровольцы не получают ничего кроме красочного скринсейвера и возможности общественного признания.
Службы сообщений (Instant-messaging). Думаю, что одни лишь имена наиболее популярных приложений данного класса — ICQ и AIM — говорят сами за себя.
Сети групповой работы (P2P Groupware). Подобные приложения пока мало распространены, но в их будущем сомневаться не приходится. Одними из самых перспективных считаются Groove Network — сеть, предоставляющая защищенное пространство для коммуникаций, и OpenCola — технология поиска информации и обмена ссылками на наиболее интересные источники, где в роли поискового сервера выступает не бездушная железка, а каждый из пользователей сети, что обещает гораздо более высокую релевантность (при ответственном подходе пользователей к процессу, конечно).
Проблемы P2P
Как и у любой молодой технологии, у P2P есть, помимо технических, и свои социальные проблемы. Многие исследователи отмечают весьма неприятную ситуацию, сложившуюся в Gnutella: около 70% пользователей не добавляют вообще никаких файлов в обменный фонд, а около 50% всех найденных ресурсов предоставлены 1% (одним процентом!) пользователей [2]. Психология «общества массового потребления» постепенно превращает сеть равноправных узлов в клиент-серверную, со всеми вытекающими последствиями (падение производительности и надежности).
Существует и проблема так называемого паразитического подключения: в сети появляются сервера, предоставляющие свои пользователям возможности по поиску контента без установки программы-клиента. Таким образом, получая информацию и генерируя громадный трафик, такие сервера не предоставляют сообществу ничего взамен. Впрочем, последние версии ряда программ уже способны с этим справляться — они распознают запросы «паразитов» и либо их игнорируют, либо предлагают установить таки клиентскую часть.
Другая проблема P2P сетей связана с тем, что обмен информацией осуществляется между «незнакомыми» узлами (отсутствует опыт по обмену в прошлом), что порождает вполне объяснимые сомнения в качестве и достоверности предоставляемого контента [3]. Стоит вопрос и о самой легитимности существующих сетей. В первую очередь он связан со сложившимся в условиях всеобщей «антитеррористической» истерии стереотипом — якобы, единственным применением P2P является либо незаконный обмен ворованным контентом, либо, в более общем случае, сокрытие информации.
Но, тем не менее, технология P2P лишний раз доказывает, что история имеет тенденцию повторяться. Подзабытые во времена эйфории по поводу клиент-серверных технологий, одно-ранговые модели возвращаются, реинкарнируясь в популярные и, самое главное, востребованные решения.
Сервис Hardvision.Ru
Все еще ищите незнакомое вам слово или его определение? Хотите знать что это значит? Сообщите нам! Мы найдем нужный Вам материал и вышлим ссылку на адрес эл. почты.