Одноранговые (пиринговые) сети
Одноранговая сетевая архитектура — стабильно набирающий популярность способ организации высокоуровнего сетевого взаимодействия, где все узлы сети обладают равными правами и выступают поставщиками и потребителями сетевых сервисов одновременно.
Это тезисы лецииОдноранговая сеть — это децентрализованная системная архитектура
- Узлы представляют симметричные функции
- Разделение ресурсов (полоса пропускания, CPU, дисковое пространство) между узлами
- Гетерогенная среда из множества (ненадежных) узлов
- Способность к самоорганизации, отказоустойчивость (на уровне сети)
- Динамичность (частое подключение и отключение узлов)
Одноранговая сеть — это уже давно не «рабочая группа» на 20-30 компьютеров
Пиру — пир!
Одноранговая = пиринговая
Peer-to-peer (англ.) — равный к равному
ALSO: per-2-peer, P2P
Пир (peer) — «соучастник», узел одноранговой сети (рис. 1)

Рис. 1. Обобщенная схема однорангового взаимодействия
Характеристики пиринговых сетей
Основные
- Децентрализация (полная или частичная)
- Масштабируемость
- Нет «горячих точек» (hotspots) и «узких мест» (bottlenecks)
- Динамическое подключение
- Ad-hoc connectivity
- Самоорганизация
- Отказоустойчивость
ALSO: анонимность, безопасность, доверие, репликация, кэширование, координация…
Что не является P2P?
Централизованные решения
- Клиент-серверная архитектура
- Модель master / slave
- «тупые» терминалы / активные трансляторы
Проблемы:
- Масштабируемость
- Ограниченные возможности центрального узла
- Стоимость
Предыстория p2p
ARPANET, 1969
- Клиент-серверные приложения (ftp, telnet...)
USENET, 1979
- Децентрализованное управление, позволяющее избежать сетевого флуда, трассировки заголовков …
- UUCP, NNTP
DNS, 1983
- Масштабируемость!!!
- Иерархический дизайн
- Распределенная нагрузка, кэширование, делегирование запросов...
APPN, 1984
- Advanced Peer to Peer Networking (см. SNA и z/OS), IBM
Взрыв Интернет (1994-1999 гг)
Клиент-серверные службы
- HTTP, Chat, Mail, IM
- «Конец» сотрудничества
Спам, превалирование TCP трафика и, как следствие, перегрузка сети
- см. RFC 5348 — TCP Friendly Rate Control (TFRC)
«Лекарства»: файрволлы, динамическая адресация (DHCP), NATs, асимметричная пропускная способность
Решение
Задействовать вычислительные ресурсы пользователей, возложив на них серверные функции
Одноранговая сеть
- Каждый узел сети (пир) — является как потребителем сервисов (клиентом), так и поставщиком (сервером)
- Каждый пир может инициировать сеанс
- Пиры взаимодействуют между собой напрямую
Инфраструктура P2P
Оверлейная сеть — сеть «поверх» сети
- В случае P2P: Маршрутизаторы прикладного уровня используют инфраструктуру IP-сети
- Избыточность? Ну-у-у, есть чуток...
Почему оверлей?
- Представляет услуги, которых нет на нижележащих уровнях
- Приложения «один-ко-многим» и «многие-ко-многим»: multicast не поддерживается многими ip-маршрутизаторами
- Кстати: IP-сеть — тоже оверлей...
Архитектурные модели
Централизованная одноранговая модель
- Есть сервер, координирующий работу пиров
- Пиры получают от сервера список файлов (Napster) или френд-лист (Skype)

Рис. 2. Централизованная модель
Децентрализованная одноранговая модель
- Нет выделенного сервера
- Каждый узел может взаимодействовать со множеством других узлов
- Все узлы равноправны
Может быть (рис. 3)
- структурированная (HyperCub, DHT)
- неструктурированная (Gnutella)

Рис. 3. Структурированные и неструктурированные пиринговые сети
Pure P2P (рис. 1) (например Gnutella) и/или...
Иерархическая одноранговая модель
...Суперпир — узел с широким каналом, к которому подключаются другие пиры (GoalBit — футбол онлайн)
Многоуровневый структурированный оверлей (рис. 4) - гибридная архитектура
- Первое звено — пиры подключаются к Суперпирам
- Второе звено — Суперпиры соединяются между собой
Снижение числа прямых подключений
Реализация «пограничных» вычислений (edge computing)

Рис. 4. Двухуровневая модель одноранговой сети
Сферы применения P2P
Файлообменные сети
BitTorrent, Gnutella, KaZaA, eDonkey, Ст. 146 УК РФ...
Распределенные вычисления
SETI@Home, Find-A-Drug, GIMPS (числа Мерсенна) & etc...
Финансы
Криптовалюты: Bitcoin, Litecoin, PPCoin...
Медийный трафик
Актуальность P2P
По данным Интернет-провайдеров, на пиринговые сети приходится 50-75% глобального трафика
Это сдвиг парадигмы от координации к сотрудничеству, от централизации к децентрализации, от контроля к стимулу
Для специалистов
Пиры - «то-о-о-лстые» клиенты!
Вычислительные ресурсы
Распределенные хранилища данных
Пропускная способность каналов связи постоянно растет
Edge computing: «пограничные вычисления» - перемещение нагрузки на конечных пользователей
Децентрализованные вычисления лучше масштабируются
Миллионы пользователей
Нирвана: Дешевые многопользовательские приложения с бесконечными ресурсами
Для пользователей
Организационный сдвиг от иерархической (централизованной) модели к сетевой (децентрализованной) -> анонимность
P2P позволяет создавать всемирные сообщества
Напримеры
1. Обучение: классическая (лекции/экзамены) модель VS совместное (коллаборативное) обучение
2. СМИ: несколько крупных издателей (TV, радио, газеты) VS «народные» новости (блоги, Интернет-TV, сетевые радиостанции)
Ложка дегтя
Судебное преследование
Идея P2P дискредитирована пиратским контентом
Психология пользователей
«зажатая» раздача
Разнородность
Сложность поиска информации
Название одно — содержание другое
Содержание одно — названия разные
Решение - хэш-коды
Анонимность - Беспокоит тех, кому есть что скрывать
CC-BY-CA Анатольев А.Г., 04.10.2013