Реферат: Peer-to-peer технологии. Пиринговые сети Что желательно делать при обмене

Давайте отвлечемся от запретов в различных странах, давайте не будем думать, что P2P - механизм обхода блокировок.

Предлагаю вам альтернативное мнение на P2P - какие проблемы будущего и настоящего сможет решить данная архитектура информационных сетей.

Что такое настоящий P2P ?

Давайте введем понятие - настоящий P2P .

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

Изменение функций - это ничто иное как предоставление тех функций которые не могут работать у некоторых узлов одноранговой сети из-за ограничений:
1) За NAT"ом
2) Мобильные устройства

Оба класса устройств либо не могут иметь прямой доступ к сети (NAT) или могут, но строго не рекомендовано - (Мобильные устройства) из-за повышенного энергопотребления при огромном количестве подключений.

Для устранения данной проблемы используются такие технологии как TCP Relay (тк большинство P2P систем используют UDP, с огромным количеством одновременных подключений можно выбрать себе узел который будет выполнять функции получения запросов из сети по UDP и пересылки их на конечное устройство по TCP через одно и тоже соединение) Хочу напомнить, что подобный механизм уже был очень давно реализован в Skype, до его покупки компанией MS эти функции работали, позднее - понятие «супер ноды» в Skype ушло и их заменяют сервера MS.

Очень важно не путать P2P и Mesh сети. P2P - это одноранговое взаимодействие на уровне 3 и выше по модели OSI, Mesh - на 3 и ниже соответственно.

Какие проблемы решает P2P сети и какие технологии уйдут при повсеместном внедрении P2P?

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

Но зачем нужно кэширование, если контент попавший в сеть оператора при повторном запросе скорее всего будет запрошен из сети оператора?
При этом не надо строить никакой новой инфраструктуры вообще.

CDN
Система доставки контента используется в основном для доставки «тяжелого» контента, музыки, видео, игровых образом (steam), что бы снизить нагрузку на основной сервер и снизить время отклика - в разные страны и/или регионы ставиться CDN сервера, которые выполняют функцию балансировки нагрузки.

Данные сервера нужно обслуживать, затрачивая человека-часы их надо настраивать и они не смогут динамически увеличить свою пропускную способность или допустим:
В Нижнем Новгороде всегда был популярен сервис Giwi.get который позволяет в он-лайне смотреть легальный контент, CDN сервер в регионе может одновременно предоставить возможность просмотра фильмов и сериалов только 100 000 пользователей. Но внезапно на сервисе появляется новый контент (сериал) по прогнозам которые были сделаны на основе исследований, данный сериал не должен был заинтересовать людей из данного региона.

Но почему, то он заинтересовал, и все решили его посмотреть - естественно CDN не справиться, в лучшем случае контент сможет обработать соседний CDN, но не факт что CDN соседний готов к такой нагрузке.

Нехватка каналов связи
Провайдеры последней мили готовы предоставить каналы в 1 Гигабит/с, и даже сеть внутри города сможет прокачать такую нагрузку, но вот незадача, от города идет магистральный канал, который не рассчитан на такую нагрузку, а расширение канала - это миллионы (подставьте валюту на выбор).

Естественно, данную проблемы опять же решают P2P сервисы, достаточно что бы в городе был хотя бы 1 источник контента (предварительно скачанный через магистраль) - все будут иметь доступ к контенту на максимальной скорости локальной сети (внутригородской)

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

Провайдеры кстати тоже будут рады, даже сейчас провайдер предоставляет такие тарифы, что его аплинк не ровняется суммарному количеству всех пользователей.
Другими словами - если все пользователи начнут использовать на 100% свой тариф - аплинк у провайдера закончиться очень быстро.

Очевидно, что P2P решения дают возможность провайдеру сказать, что он предоставляет вам доступ к сети на скорости хоть 1 TB\c тк контент в сети очень редко бывает уникален, провайдер (который имеет пирсинг с соседями провайдерами из города) сможет с большой долей вероятности предоставить доступ к контенту на тарифной скорости.

Никаких лишних серверов в сети
Сейчас в сети провайдера обычно стоят такие сервера как: Google CDN (/Youtube), Yandex CDN/пиринг, DPI, + другие специфические сервера CDN/Кэширования которые используются в данном регионе.

Очевидно, что можно ликвидировать все CDN сервера и лишний пиринг (с сервисами, а не с провайдерами), DPI в такой ситуации тоже будет не нужен, тк в часы ЧНН не будет таких резких скачков нагрузку. Почему?

ЧНН - Забудьте эту аббревиатуру
ЧНН - Час наибольшей нагрузки, традиционно это утренние часы и вечерние часы, причем всегда заметны несколько пиков ЧНН в зависимости от рода занятости людей:

Пики вечернего ЧНН:
1) Возвращение школьников из школы
2) Возвращение студентов из вузов
3) Возвращение работников которые работают по графику 5/2

Данные пики вы сможете увидеть на любом оборудовании которое анализируют сетевую нагрузку на канал.

P2P Решает и эту проблему, тк велика вероятность, что контент который интересен школьникам может быть интересен как студентам так и работникам - соответственно он уже есть внутри сети провайдера - соответственно ЧНН на магистрали не будет.

Далёкое будущее

Мы отправляем свои аппараты на луну и на марс, уже давно есть интернет на МКС.

Очевидно, что в дальнейшем развитие технологий позволит осуществлять полёты в далёкий космос и длительное нахождение человека на других планетах.

Они тоже должны быть связаны в общую сеть, если мы рассматриваем классическую систему Клиент-Сервер, и сервера расположены на земле, а клиенты скажем на Марсе - Пинг убьет любе взаимодействие.

А если мы предполагаем, что на другой планете будет наша колония которая будет расти - то как и на земле они будут пользоваться интернетом, понятное что им нужны будут те же инструменты, что и нам:
1) Мессенджер
2) Соц-сети
И это минимально-необходимое количество сервисов которые позволяют обмениваться информацией.

Логично, что контент который будет генерироваться на Марсе будет интересен и популярен на марсе, а не на земле, как быть соц.-сетям?
Устанавливать свои сервера которые будут автономно работать и через некоторое время синхронизироваться с землёй?

P2P сети решать и эту проблему - на марсе у источника контента свои подписчики, на земле - свои, но соц.-сеть одна и та же, но если у Марсианского жителя будет подписчик с земли - нет проблем, при наличии канала контент прилетит и на другую планету.

Что важно отметить - не будет рассинхронизации, которая может случиться в традиционных сетях, не надо устанавливать никаких лишних серверов там и даже что-то настраивать. P2P система позаботиться сама о поддержке актуальности контента.

Разрыв каналов

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

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

P2P Сети при разрыве канала с легкостью переходят в автономный режим - в котором она будет существовать полностью автономно и без какого-либо взаимодействия.
А как только связь появиться - все службы автоматически синхронизируется.

Но марс - это далеко, даже на земле могут быть проблемы с разрывом канала связи.

Вспомните последние громкие проекты Google/Facebook с покрытием новых территорий интернетом.
Некоторые уголки нашей планеты всё еще не подключены к сети. Подключение может быть слишком дорогим или экономически не оправданным.

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

Выживаемость сети

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

Вспоминаем ситуацию с марсом, все устройства поступают на марс с земли, и в один прекрасный день сервер компании Uandex или LCQ ломается - перегорел контроллер RAID, или другая неисправность - и все марсиане опять же без MarsiGram или того хуже - не смогу обмениваться простыми сообщениями друг с другом. Новый сервер или его компоненты приедут с земли ох как не скоро.

При P2P решении - выход из строя одного участника сети никак не сказывается на работе сети.

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

Так, что будущее - это определенно P2P, как изменил мир P2P можно наблюдать уже сейчас:
Skype - небольшая компания не тратила деньги на сервера смогла вырасти до огромного гиганта
Bittorrent - OpenSource проекты могут передавать файлы не нагружая свои сервера

Это только два ярких представителя информационной революции. На подходе множество других программ которые изменят мир.

Бесплатный P2P-клиент с открытым кодом, для работы с сетью Direct Connect. Позволяет свободно скачивать файлы, расшаренные другими пользователями этой сети.

О пиринговых сетях (p2p)

Сеть Direct Connect по своей структуре чем-то напоминает тот же BitTorrent .

Хаб Хаб (англ. hub, ступица колеса, центр) - узел сети.

Трекер - сервер сети BitTorrent, координирующий её клиентов.

Здесь тоже нет централизованной системы поиска, а для того, чтоб найти какой-либо файл, нужно посетить один из специальных серверов – хабов (аналогично трекерам на BitTorrent).

Соединившись с хабом, Вы получите список пользователей, подключенных к нему. Однако соединение может не произойти, если Вы не расшарили (не выложили для скачивания) нужного объема информации. Обычно от 2 до 10 Гб.

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

Принцип работы сети должен быть в общих чертах понятен. Теперь приступим к рассмотрению самого клиента для Direct Connection.

Установка StrongDC++

Скачав архив с программой, запускаем исполняемый файл и программа установится в папку «Program files» на вашем компьютере.

Если в конце установки Вы не убрали соответствующую галочку, то программа автоматически запустится.

Данная версия уже на русском языке, но если Вы скачали английскую версию, то русифицировать программу можно с помощью соответствующего файла с расширением xml , лежащего в нашем архиве с программой.

Когда русификатор скачан, его нужно установить. Для этого выбираем в меню настроек программы пункт «Appearance» и в поле Language file нажмем кнопку «Browse», чтобы выбрать местоположение файла sDC+++russian.xml (название файла русификатора).

После проведения всех манипуляций перезапустите программу и получите полнофункциональную русскую версию!

Настройка StrongDC++

Теперь настроим уже русскую версию Strong DC ++.

Ник - уникальное имя в системе.

В меню «Общие» следует указать свой ник, E-mail, а также скорость отдачи файлов. Поле «Описание» можно оставить пустым (это типа Ваш комментарий).

IP-адрес - цифровой адрес компьютера в сети, например: 192.0.3.244.

В «Настройках соединения» можно указать свой IP-адрес и некоторые другие данные. Особое внимание следует обратить на «Настройки входящих соединений».

Лучше использовать пассивное соединение через файервол (в противном случае файлы других пользователей у Вас не будут отображаться).

Прокси-сервер - промежуточный сервер.

Трафик исходящих соединений можно перенаправить на прокси сервер, а можно оставить напрямую (скорость будет выше).

Затем выберем пункт «Скачка» и настроим папки для скачки по умолчанию и для хранения временных файлов.

А теперь – самое главное!!! Надо расшарить свои файлы. Для этого заходим в меню «Мои файлы (шара)» и в открывшемся справа окошке выбираем те файлы и папки, к которым Вы хотите открыть доступ.

После того, как Вы выберите какой-либо файл, у Вас отобразится следующее окно прогресса.

Начало работы с StrongDC++

По истечению хеширования файлов, можно уже приступать к непосредственной работе с программой. Нажмите кнопку «OK» внизу и перед Вами появится главное окно программы.

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

Для этого следует нажать кнопку «Инет хабы» на панели инструментов, а далее выбрать один из списков инет хаб-листов и нажать кнопку «Обновить».

Юзер (англ. user ) - пользователь.

Если Вы знаете имя нужного Вам хаба или конкретного юзера, то проще производить поиск, используя фильтр.

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

Обратите внимание на наличие закладок под основным окном. При помощи этих закладок в Strong DC++ осуществляется вся навигация. Управлять закладками можно нажатием правой кнопки мыши.

Интерфейс StrongDC++

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

Справа от чата находится список юзеров, которые в данный момент присутствуют на хабе. Цвета, которыми написаны имена пользователей, несут дополнительную информацию.

Ручной поиск файлов для скачивания

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

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

Чтобы скачать выбранный файл, нажмите на нем правой кнопкой мыши и выберите – «Скачать».

Точно так же мы поступаем, пользуясь поиском. В поисковой строке вводим название нужного нам файла и ждем.

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

Выводы

Несмотря на многочисленные преимущества сети DC++, существуют и некоторые недостатки. Конкретно их два. Невозможность скачивания файла, если отключился источник (тот, у кого этот файл есть). И второй недостаток – это, иногда, очень долгая очередь на скачивание.

В целом же система очень даже интересная, а удобной ее делает использование программы StrongDC++.

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

P.P.S. Предшественниками сети P2P были FTP-серверы, к которым удобнее всего подключаться с помощью вот этой программы:
FTP-клиент FileZilla https://www..php

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

Пиринговые сети стали востребованными относительно недавно. Ещё десять лет назад абсолютной популярностью пользовались сети, имеющие архитектуру «клиент-сервер». Peer to Peer (Р2Р) удалось вытеснить своего предшественника, благодаря наличию целого ряда преимуществ:

  • анонимность - данные пользователей, задействованных в работе сети, хранятся без привлечения третьих лиц;
  • устойчивость - сеть продолжает работать даже в том случае, если большинство узлов одновременно отключится;
  • масштабируемость - пропускная способность сети имеет постоянную величину и исключается создание так называемого «узкого горлышка» в отдельно взятых точках, так как обмен данными может происходить непосредственно между крайними узлами.

Где применяется Peer to Peer (Р2Р)

Классическая область применения пиринговой сети Peer-to-Peer - децентрализованные файлообменники, например, всем известный протокол BitTorrent. Для поддержания стабильной работы ресурса, а также для обеспечения максимальной скорости, разработчиками используется одноранговая сеть Р2Р, которая предлагает наилучшую масштабируемость, что крайне важно при обмене большими файлами.

Современные ресурсы, славящиеся высоким уровнем анонимности и защищённости пользователя, как правило, используют одноранговые сети. Однако сервисы, подобные тому же «Тору», чаще всего, вызывают озабоченность, так как они являются идеальной площадкой для совершения нелегальных сделок, продажи запрещённых веществ, оружия и т. д. На сегодняшний день данным браузером пользуется свыше двух миллионов человек, а специалисты называют его Black Ethernet (Чёрный Интернет).

Одноранговые сети Р2Р используют криптовалютные платформы, в том числе и Bitcoin. Именно его разработчику, которым является Сатоши Накамото, удалось решить основную задачу - исключение возможности повторного использования одних и тех же средств. Для этого была создана уникальная блокчейн архитектура, работающая по принципу Proof-Of-Work (доказательство выполненной работы). Несмотря на то что сегодня существует колоссальное количество форков, биткоин остаётся наиболее востребованной криптомонетой.

Недостатки Peer to Peer (Р2Р)


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

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

Другая, крайне серьёзная проблема, связанная с безопасностью пиринговых сетей Р2Р, - уязвимость перед хакерской атакой, которая называется Sybil. Она осуществляется путём внедрения в сеть посторонних узлов, имеющих уникальный идентификатор. Сама атака не несёт никакой угрозы одноранговой сети, однако является вспомогательным инструментом для осуществления целого ряда действий, которые ставят под удар безопасность платформы, работающей с Р2Р.

Актуальность Peer to Peer (Р2Р)

Согласно официальной статистике, базирующейся на данных Интернет-провайдеров, на одноранговые сети приходится около 75% всемирного трафика. Однако несмотря на колоссальное доверие разработчиков, пиринговые сети нельзя считать совершенными. Помимо вышеперечисленных проблем с безопасностью, Р2Р также подвержены так называемый timing-атакам, основанных на корреляции. Несмотря на то, что проведение подобных хакерских атак требует привлечения огромных мощностей, их реализация вполне реальна, например, для представителей спецслужб.

Будьте в курсе всех важных событий United Traders - подписывайтесь на наш

И пока мы тут сидим и думаем, куда бы разместить свою рекламу, в Пало-Альто происходит что-то странное. Там сотрудники маленького магазина Hassett Ace Hardware, продающего хозяйственное оборудование, показывают, как может стать жизнью древняя мудрость о том, что «люди созданы не для накопительства, а для обмена».

Это называется «Ремонт-кафе». Каждые выходные под боком у магазина открывается площадка, где любой человек может бесплатно отремонтировать что угодно. Но при этом ему придется внести свою лепту в то, что происходит на этой площадке. Пока менеджер магазина занимается обычными продажами, пять других сотрудников организовывают толпы желающих «починится» людей, привлекая их к другим ремонтам.

Все делятся знаниями, советами и хорошим настроением. Продажи идут в гору (для ремонта же часто нужны детальки, которые надо купить в магазине). За апрель силами округи было отремонтировано около 130 «единиц техники», в том числе гигантский садовый лавовый фонтан и 200-летняя швейная машинка. Каждый, кто отремонтировался на площадке Hassett Ace Hardware, получает флажок для велосипеда с логотипом компании. И его с удовольствием берут, потому что классное обслуживание – вещь чертовски приятная и незабываемая.

Такая экономика взаимовыгоды получила в маркетинговых кулуарах имя peer-to-peer или «равный равному». Она строится не только на деньгах, но и на высокой степени эмоционального удовлетворения, а в случае маленьких магазинов вроде Hassett Ace Hardware еще и на выстраивании почти интимных отношений с клиентами. Ходят слухи, что эту технологию уже «обнюхивают» такие гиганты, как Pepsi, Chevrolet и Unilever.

«Мы узнали интересную вещь: молодые покупатели, прежде чем прийти в салон за авто, выискивают в социальных сетях странички наших продавцов, чтобы изучить их интересы и найти человека, близкого по духу. Они его находят и советуются с ним, потому что знают – помощь будет больше дружеской, чем менеджерской» — говорит Кристи Лэнди, менеджер по маркетингу в General Motors. Даже экспертное мнение может быть предметом взаимовыгодного обмена.

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

Теоретическая часть:

1. Общее описание P2P-сетей. Принцип работы. Описание существующих топологий. Сферы применения. Преимущества и недостатки P2P-сетей.

2. Обмен файлами, распределенные вычисления. Особенности построения P2P-сетей в зависимости от сферы деятельности, в которой они применяются. Алгоритмы функционирования.

Программные средства:

1. Обзор популярных протоколов для обмена файлами. Сравнительный анализ.

2. Обзор популярных клиентских программ для обмена файлами. Сравнительный анализ.

Практическая часть:

1. Установка и настройка bitTorrent-трекера.

Теоретическая часть

P2P сети

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

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

«Клиент-сервер» и P2P сети.

Централизованная архитектура «клиент-сервер» подразумевает, что сеть зависит от центральных узлов (серверов), обеспечивающих подключенные к сети терминалы (т.е. клиентов) необходимыми сервисами. В этой архитектуре ключевая роль отводится серверам, которые определяют сеть независимо от наличия клиентов. Очевидно, что рост количества клиентов сети типа «клиент–сервер» приводит к росту нагрузок на серверную часть. Таким образом, на определенном уровне развития сети она может оказаться перегруженной. Главным преимуществом такой системы является ее простота. Однако стабильность и надежность таких сетей существенно ниже, чем у пиринговых.

Децентрализованные системы, «чистые P2P сети», примером может послужить сеть Gnutella, представляют собой прямую противоположностью централизованных систем.

Гибридная топология: децентрализованная + централизованная (частично децентрализованная) – в сетях такого типа существуют сервера, основной задачей которых является координации работы, поиск и предоставления информации о существующих машинах сети и их статусе. Частично децентрализованные сети совмещают в себе качества централизованных сетей и надёжность децентрализованных (например сеть не теряет своей работоспособности при возникновении неполадок с одним или несколькими серверами). Примером гибридных файлообменных сетей могут служить: EDonkey и BitTorrent сети.

Рис.1 Топология сетей

Преимущества пиринговых сетей:

· скорость обмена информацией;

· Устойчивость сети к различным сбоям, в том числе устойчивость к внетехнологическому вмешательству;

  • расширяемость - практически неограниченные возможности для расширения информационных ресурсов системы;

· масштабируемость.

Недостатки пиринговых сетей:

  • неуправляемость;
  • проблемы безопасности;
  • информационная несогласованность, недостоверность информации.

Стандартизация в области P2P

P2P - это не только сети, но еще и сетевой протокол, обеспечивающий возможность создания и функционирования сети равноправных узлов, и их взаимодействия. Множество узлов, объединенных в единую систему и взаимодействующих в соответствии с протоколом P2P, образуют пиринговую сеть. Для реализации протокола P2P используются клиентские программы, обеспечивающие функционирование как отдельных узлов, так и всей пиринговой сети.
P2P относятся к прикладному уровню сетевых протоколов и являются наложенной сетью, которая использует транспортные протоколы стека TCP/IP - TCP или UDP. Протоколу P2P посвящено несколько основополагающих документов сети Интернет - RFC (в частности, последний датируется 2008 годом - RFC 5128 State of Peer-to-Peer (P2P) Communication across Network Address Translators).
В настоящее время при реализации пиринговых сетей используются самые различные методологии и подходы. В частности, компания Microsoft разработала протоколы для P2P-сетей Scribe и Pastry. Поддержка протокола PNRP (Peer Name Resolution Protocol), также относящегося к P2P-системам, была включена в состав Windows Vista.
Одну из удачных попыток стандартизации протоколов P2P предприняла компания Sun Microsystems в рамках проекта JXTA. Этот проект реализуется с целью унифицированного создания P2P-сетей для различных платформ. Цель проекта JXTA - разработка типовых инфраструктурных решений и способов их использования при создании P2P-приложений для работы в неоднородных средах.
В рамках проекта JXTA определено шесть протоколов, на основе которых могут создаваться прикладные системы:

· Peer Discovery Protocol (PDP). Узлы пользуются данным протоколом для поиска всех открытых JXTA-ресурсов. Низкоуровневый протокол PDP поддерживает базовые механизмы поиска. Любые прикладные системы могут включать собственные высокоуровневые механизмы поиска, которые реализованы поверх PDP протокола.

· Peer Resolver Protocol (PRP). Этот протокол стандартизирует формат запросов на доступ к ресурсам и сервисам. При реализации этого протокола с узла может быть послан запрос и получен на него ответ.

· Peer Information Protocol (PIP). Данный протокол применяется для определения состояния узла в сети JXTA. Узел, получающий PIP-сообщение, может в полной или сокращенной форме переслать ответ о своем состоянии либо проигнорировать это сообщение.

· Peer Membership Protocol (PMP). Узлы используют этот протокол для подключения и выхода из группы.

· Pipe Binding Protocol (PBP). В JXTA узел получает доступ к сервису через канал (pipe). С помощью PBP узел может создать новый канал для доступа к сервису или работать через уже существующий.

· Endpoint Routing Protocol (ERP). Используя этот протокол, узел может пересылать запросы к маршрутизаторам других узлов с целью определения маршрутов при отправке сообщений.

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

Наиболее распространенными областями применения P2P технологий являются следующие направления:

· Обмен файлами – так называемые файлообменные сети. P2P файлообменные сети являются альтернативой устаревшим FTP-архивам, не соответствующим современным требованиям. Более подробно файлообменные сети рассмотрены далее.

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

· Обмен сообщениями. Jabber, ICQ.

· P2P-телефония. Skype.

· Сети групповой работы. Groove Network (защищенное пространство для коммуникаций), OpenCola (поиск информации и обмен ссылками).

· Параллельное программирование.

· Резервное копирование данных.

· P2P телевидение. Примером может служить проект P2P-Next, занимающийся разработкой пирингового телевидения пригодного для широковещательной трансляции телевизионных передач.

Файлообменные сети P2P.

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