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

Главная /

Что такое P2P

Популярность P2P набирала обороты вместе с ростом популярности наиболее известного клиента, использовавшего данную технологию — Napster — и достигла своего пика в момент коллапса этой сети. Но уже за несколько месяцев до смерти Napster стали появляться альтернативные сети, многие IT-лидеры объявили о поддержке P2P в своих новых продуктах — в общем, явление стало по-настоящему «модным».

Четкого определения, что же такое P2P, нет. Поэтому приведу два наиболее распространенных. P2P (peer-to-peer) — это технология построения распределенной сети, где каждый узел может одновременно выступать как в роли клиента (получателя информации), так и в роли сервера (поставщика информации). Как правило, сеть состоит из равноправных узлов, причем каждый из них взаимодействует лишь с некоторым подмножеством узлов сети, так как установление связи «каждый с каждым» невозможно из-за ограниченности ресурсов (как вычислительных, так и пропускных). При этом передача информации между узлами, не связанными в данный момент непосредственно, может осуществляется как по своеобразной эстафете — от узла к узлу, так и путем установления временной прямой связи. Все вопросы маршрутизации и авторизации сообщений, передаваемых по эстафете, лежат не на едином сервере, а на всех этих отдельных узлах. Такое определение также известно под названием Pure P2P.

Второе определение носит более общий характер: P2P — это класс приложений, совместно использующих распределенные ресурсы (дисковое пространство и файлы, вычислительные ресурсы, пропускную способность и т.д.). Именно в эту категорию попадают системы распределенных вычислительных сетей (SETI@HOME), некоторые файловые обменные сети (Napster) и службы сообщений.

Области применения

Хотя возможных направлений применения P2P довольно много, наиболее успешны пока только четыре:

  • Файловые обменные сети (file-sharing). В данном случае сети P2P выступают хорошей альтернативой FTP-архивам, которые уже давно перестали справляться с ростом информационного наполнения и числа потребителей. Несмотря на постоянный рост количественных характеристик файл-серверной архитектуры, P2P потенциально обладает целым рядом преимуществ: балансировкой нагрузки, более широкой полосой пропускания, высокой «живучестью» и широкими возможностями по публикации контента. Примеры —  Napster, Gnutella и ее производные.
  • Распределенные вычислительные сети. Например, такие как SETI@HOME. Этот проект продемонстрировал громадный вычислительный потенциал для хорошо распараллеливаемых задач. В настоящий момент в нем принимают участие свыше трех миллионов пользователей, а общее число «процессоро-лет» перевалило за семьсот тысяч, и все это на абсолютно бесплатной основе, когда добровольцы не получают ничего кроме красочного скринсейвера и возможности общественного признания.
  • Службы сообщений (Instant-messaging). Думаю, что одни лишь имена наиболее популярных приложений данного класса — ICQ и AIM — говорят сами за себя.
  • Сети групповой работы (P2P Groupware). Подобные приложения пока мало распространены, но в их будущем сомневаться не приходится. Одними из самых перспективных считаются Groove Network — сеть, предоставляющая защищенное пространство для коммуникаций, и OpenCola — технология поиска информации и обмена ссылками на наиболее интересные источники, где в роли поискового сервера выступает не бездушная железка, а каждый из пользователей сети, что обещает гораздо более высокую релевантность (при ответственном подходе пользователей к процессу, конечно).

Настоящая Р2Р система, в нашем понимании, это такая в которой все ноды (узлы сети) обьединяются вместе динамически чтобы принять участие в роутинге, обработке трафика и других «ресурсоемких» задачах, которые в противном случае обрабатываются центральными серверами.

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

Децентрализованные Р2Р сети имеют определенные преимущества перед традиционными клиент-серверными сетями. Такие сети могут безгранично расширяться без увеличения времени на поиск и без вложения больших денежных средств. Они используют вычислительные и сетевые мощности машин конечных пользователей, а эти ресурсы всегда растут прямо пропорционально самой сети. Каждая новая нода, добавленная к сети привносит дополнительную вычислительную мощность и лишний канал к этой сети. Таким образом, с помощью децентрализации ресурсов, Р2Р сети второго поколения (2G) способны виртуально исключить расходы неразрывно связанные с большими централизованными инфраструктурами.