Сайт о телевидении

Сайт о телевидении

» » Провайдер режет p2p, что с этим делать? Все о технологии Peer-to-peer (P2P), и не только о ней (анализ)

Провайдер режет p2p, что с этим делать? Все о технологии Peer-to-peer (P2P), и не только о ней (анализ)

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

Этот недостаток исправлен в новых IP камерах , работающих по технологии P2P. Рядовые пользователи интернета ежедневно сталкиваются с этой технологией, закачивая файлы через торрент или общаясь посредством Skype.

Как это работает.

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

Данная технология является наиболее востребованной для организации удаленного домашнего видеонаблюдения, так как в ней реализована возможность самостоятельной установки без сложных манипуляций с сетевым оборудованием. Возможность работы с динамическим IP позволяет установить видеонаблюдения в местах, где нет доступа к проводному интернету, достаточно приобрести 3G/4G модем с поддержкой WiFi и настроить программное обеспечение.

P2P КАМЕРЫ ВИДЕОНАБЛЮДЕНИЯ

Камеры P2P начинают работать сразу после подключения к интернет, посредством обычного сетевого кабеля или по WiFi. Использование технологии P2P в системах видеонаблюдения позволило существенно упростить настройку оборудования и исключить использование статического IP как обязательного условия для работы всей системы.

По новой технологии видеокамере присваивается специальный идентификатор, который соответствует определенному номеру. При подключении P2P IP камеры к сети, она моментально начинает посылать запрос о готовности, передавая свой уникальный ID.

Установив специальное программное обеспечение на:

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

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

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

Разрешение сенсора видеокамер может варьироваться от 0.3 до 5 мегапикселей в зависимости от модели (чем больше разрешение, тем выше требования к скорости интернет-соединения).

Программное обеспечение для просмотра видеопотока и управления камерам абсолютно бесплатно и доступно для скачивания в Google Play и App store (планшеты и смартфоны), а также на сайтах производителя (ПО для компьютера). ПО для мобильных устройств позволяет просматривать видеопоток в любом месте, где есть доступ к сети, что является одним из главных преимуществ 2P2 технологии.

Настройка 2P2 камеры.

Настройка 2P2 видеонаблюдения своими руками не требует сложных манипуляций и занимает около 5 минут. Порядок действий следующий:

  1. Скачать и установить ПO для работы с камерой.
  2. Установить камеру видеонаблюдения в заранее выбранном месте и подключить напряжение питания.
  3. Подключить видеокамеру к интернет, используя кабель LAN или WiFi (в зависимости от используемого оборудования).
  4. Запустить ПО и ввести идентификатор (код на корпусе устройства). При использовании смартфона или планшета можно просто просканировать QR код.
  5. В программе выбирается камера и можно приступать к просмотру видео и управлению функциями камеры.

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

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

Само понятие P2P (в переводе: «равный равному») подразумевает непосредственный обмен информацией между равноправными участниками. За сетями, относящимися к этому протоколу, закрепились другие названия: пиринговый, одноранговый.

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

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

Современные гибридные P2P сети используют сервер не для хранения информации, а для распределения работы сети и объединения клиентов. Большую известность получили такие пиринговые протоколы BitTorrent, eDonkey и Direct Connect.

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

Наиболее популярными BitTorrent клиентами выступают: Deluge, uTorrent, Vuze, Transmission, BitComet, Shareaza и ряд других. Для сетей Direct Connect предназначены клиенты: StrongDC++, FlylinkDC++, ApexDC++.


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

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

P2P – это сокращение от английского выражения “peer-to-peer” , что можно перевести как «равный - равному». Их еще называют одноранговыми, децентрализованными или пиринговыми сетями.

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

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

Сейчас чаще всего используются так называемые гибридные (частично децентрализованные) P2P сети . В таких сетях сервер присутствует, но он используется не для хранения информации, а для координации работы сети. Такая сеть объединяет в себе скорость чистой P2P-сети и надежность централизованной сети. На данный момент два самых популярных пиринговых сетевых протокола, используемых в P2P сетях - это BitTorrent и Direct Connect .

P2P сети: протокол BitTorrent

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

Для координации обмена файлами существует специализированный сервер - торрент-трекер . Он нужен для того, чтобы пиры (участники сети) могли найти друг друга. Обычно на трекере хранятся хеш-суммы (идентификаторы файлов), IP-адреса и входящие порты клиентов. Но часто торрент-трекер представляет собой еще и сайт с информацией о распространяемых файлах (описания, метаданные и т.п.) и количестве пиров, статистикой закачек.

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

Наиболее популярные торрент-клиенты - это официальный клиент BitTorrent, uTorrent, BitComet, KTorrent, Deluge, Transmission, Vuze (Azureus) и др.

P2P сети: протокол Direct Connect

Протокол Direct Connect чаще используется в локальных сетях . Для скачивания в DC сети вам нужно установить специальный клиент и подключиться к одному или нескольким DC-хабам. В этой P2P сети хаб выполняет роль сервера. Подключившись к нему, вы увидите список подключенных пользователей, сможете осуществлять поиск расшаренных файлов и, естественно, скачивать их.

Поиск файлов осуществляется по , поэтому даже если файл переименован, это никак не влияет на его закачку (в случае с торрентами переименование файла приводит к тому, что система перестает его «видеть»). Файлы, опять-таки, могут качаться сразу из нескольких источников.

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

Наиболее популярные DC клиенты - это различные потомки клиента DC++, в частности, StrongDC++, ApexDC++, FlylinkDC++, GreyLink, EiskaltDC++ и др.

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

Пару слов о том, что такое P2P и в чем преимущество:
P2P - технология, которая позволяет получить онлайн доступ к устройству через интернет с мобильного или компьютера
P2P работает по уникальному ID коду который есть в устройствах с P2P. При подключении ip камеры или NVR к интернету они связываются с сервером и регистрируются на нем, клиент с мобильным приложением тоже подключается к данному серверу и получает доступ к видео и управлению. Аналогичным способом работает всем известный TeamViewer, когда два ПК связываются между собой через сервер по ID
Преимущество P2P :
Технология P2P не требует проброса портов, не требует настройки DDNS, UPnP, для работы нужен только выход в интернет.
Не имеет значения какой у вас IP адрес "белый", " серый" динамический или статический, WiFi или 3G главное выход в интернет.
У каждого производителя свой P2P сервер и своё приложение для подключения к серверу.
Это говорит о том, что ip камера OMNY не сможет подключиться к P2P серверу Dahua, т.к. не пройдет идентификацию и наоборот.
Аналогичная ситуация с Base и PRO.

Параметры для работы с P2P
1.Самое главное - наличие интернета, ведь как уже сказано выше, камера обращается через интернет к серверу.
2.Безопасность - обязательно смените пароль, не оставляйте admin/admin по умолчанию, ведь тот, кто знает ваш ID сможет смотреть вашу камеру или регистратор без вашего ведома. Существуют и те,кто занимается подбором ID
3.По умолчанию, мобильные приложения используют дополнительный поток для отображения, что в общем то логично, ведь экран смартфона маленький и отображать тяжелый основной поток совершенно не нужно.
Рекомендуемый битрейт для доп.потока это 256-512 Кбит при разрешении CIF,VGA,D1, проверьте ваши настройки потока, т.к зачастую пропускной способности мобильного интернета не хватает, одно дело скачивать что либо, другое непрерывно тянуть поток без задержек и рассыпания картинки. Битрейт напрямую влияет на задержку и отображение картинки.
4.Настройки сети в камере или NVR. Для доступа к P2P не забудьте прописать все параметры, такие как IP адрес, маска подсети, шлюз, и DNS адреса, убедитесь, что с данными параметрами есть выход в интернет. В качестве эксперимента, можете назначить эти параметры вашему компьютеру для проверки. Самый быстрый вариант - установить настройки сети в режим DHCP (при наличии DHCP сервера)
5.Если,на вашем объекте нет интернета , вы не сможете использовать P2P, но можете подключаться локально через Wi-Fi, для этого в мобильном приложении выберите вариант подключения по IP адресу. (не поддерживается приложением Danale)
6.Воспроизведение архива, при подключении через P2P. Как уже было сказано выше, мобильное приложение отображает дополнительный поток, НО! В архив пишется основной поток, который высокого разрешения, это значит, что смартфону потребуется больше усилий и и больше интернет трафика, чтоб выкачивать архив, что может сказываться на долгом отклике, и постоянной подкачке.
Если, вы часто смотрите архив через смартфон, вы можете включить запись дополнительного потока на вашем NVR,а в мобильном приложении выбрать соответствующий параметр - просмотр архива доп.поток, в таком случае, архив просматривать проще и быстрее, но не стоит забывать, что камера которая пишет два потока одновременно, занимает в архиве больше места, соответственно срок хранения уменьшится.
В каких случаях P2P может не работать:

1.Не указаны действующие DNS адреса в сетевых настройках камеры или регистратора. Самая частая ошибка.
Для работы с P2P мы рекомендуем установить сетевые параметры устройства в режим DHCP
2.Низкая скорость интернет соединения, даже если смартфон показывает вам 3G,4G. Попробуйте стабильный Wi-Fi.
3.На сервере могут проводится профработы , обновление и.т.д нужно просто ждать
Не стоит забывать, что сервера находятся заграницей, и возможно, что где-то произошла авария на линии связи.
Как правило, даже самые крупные аварии устраняются максимум за неделю.
Повлиять на скорость проф.работ мы к сожалению не можем.
4.Устройство не поддерживает P2P . Устройства до 2015г не поддерживаются и не будут поддерживаться.
Устройства 2015-2016г поддерживаются частично, в зависимости от текущей версии, уточняйте в технической поддержке.
Некоторые устройства Dahua не поддерживают P2P по задумке производителя, например PTZ камеры, многоквартирные IP домофоны
Это обусловлено безопасностью , многоквартирный домофон не должен иметь выход в интернет а PTZ камеры как правило
ставят на крупные охраняемые объекты, где доступ с мобильного противопоказан.
Обратите внимание, если ваш продукт не поддерживает P2P вы можете подключить его традиционным способом по IP адресу!
5.Несовместимая версия прошивки. Для OMNY прошивки можно найти для Dahua на официальном сайте https://www.dahuasecurity.com/
6.Устройство не проходит идентификацию на P2P сервере. Такое может быть, если серийный номер устройства не соответствует действительности, например выглядит как 8888888888 или отсутствует совсем. В данном случае, обратитесь в техническую поддержку.
7.Неправильное мобильное приложение. Убедитесь, что используете мобильное приложение соответствующее вашему продукту и актуальную его версию.
8.Неверные данные для подключения, перепроверьте логин/пароль, не используйте спец.символы для имени,логина,пароля.

Теперь более подробно об особенностях в подключении каждого из продуктов:

OMNY PRO
IP камеры и видеорегистраторы NVR серии OMNY PRO поддерживают P2P подключение на мобильных платформах iOS и Android.
Устройства после 2016 года поддерживаются в программе для Windows, с подключением через P2P.
Для подключения с мобильного, нужно скачать и установить бесплатное приложение EasyLive
(ранее использовался Smartwatchman, MobileLive но они уже не актуальны)
По есть инструкция на русском языке и другие программы для OMNY
Кратко : Приложением EasyLive сканируйте QR код который находится на WEB странице устройства в превью (снизу значок QR)

QR код содержит в себе идентификатор, в поле логин/пароль введите реальный данные вашего устройства.
Убедитесь, что ваш смартфон и OMNY устройство имеют доступ в интернет, в настройках сети указаны работающие DNS.

OMNY Base
IP камеры серии OMNY Base поддерживают P2P подключение только на мобильных платформах iOS и Android
Для подключения требуется скачать и установить бесплатное приложение Danale
По есть подробная инструкция (англ.яз) и другие программы для OMNY Base
Кратко : Приложением Danale сканируйте QR код который находится в камере на WEB странице (Система/системная информация)


Dahua IP камеры, NVR, HCVR, Intercom


Устройства Dahua поддерживают P2P подключение как на мобильных платформах, так и на компьютере.
Для подключения на мобильном устройстве требуется скачать и установить приложение DMSS
Есть различные версии приложения, DMSS Lite, DMSS plus, DMSS HD
Рекомендуем ставить DMSS Lite. Платная версия plus практически не отличается, версия HD для планшетов, но и Lite тоже с планшетом работает.
По есть подробная информация и другие программы для Dahua
Кратко : В первую очередь P2P нужно включить на устройстве. В зависимости от релиза, вкладка может находится в разных местах, но как правило она находится в настройках сети. Для включения кликните Enable. Успешное соединение это статус online или connect success
Приложением DMSS сканируйте QR код.
Для работы на компьютере: Установите программу на вкладке добавления устройств нужно выбрать тип P2P и вручную ввести серийный номер, который находится в том же месте где QR код.




Сеть P2P

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

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

В Microsoft тоже не обошли стороной появление технологии P2P и стали разрабатывать собственные инструменты и средства для ее применения. Так появилась платформа Microsoft Windows Peer-to-Peer Networking , исполняющая роль своего рода каркаса для коммуникаций в приложениях P2P. В состав этой платформы входят такие важные компоненты, как PNRP (Peer Name Resolution Protocol - протокол преобразования имен членов) и PNM (People Near Me - соседние пользователи) .

Кроме того, в версию.NET Framework 3.5 было включено новое пространство имен System.Net.PeerToPeer и несколько новых типов и средств, позволяющих создавать приложения P2P с минимальными усилиями.

Обзор технологии P2P

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

Архитектура типа "клиент-сервер"

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

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

На рисунке ниже показан простой вариант архитектуры типа "клиент-сервер":

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

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

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

Архитектура типа P2P

Одноранговый (peer-to-peer) подход полностью отличается от подхода с масштабированием "вверх" или "вширь". В случае применения P2P вместо того, чтобы сосредоточить усилия на попытках улучшить коммуникации между сервером и его клиентами, все внимание уделяется поиску способов, которыми клиенты могут взаимодействовать между собой.

Давайте для примера представим, что веб-сайтом, с которым взаимодействуют клиенты, является www.williamspublishing.com, а издательство Williams объявило о выходе новой книги на этом сайте и предоставлении его для бесплатной загрузки всем желающим, но лишь на протяжении одного дня. Не трудно догадаться, что при таком положении дел накануне появления книги веб-сайт начнет просматривать масса людей, которые будут постоянно обновлять его содержимое в своих браузерах и ожидать появления файла. Как только файл станет доступным, все они одновременно начнут пытаться загрузить его и, скорее всего, веб-сервер, который обслуживает веб-сайт, не выдержит такого натиска и выйдет из строя.

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

Особенности архитектуры P2P

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

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

    обнаруживать других клиентов;

    подключаться к другим клиентам;

    взаимодействовать с другими клиентами.

В том, что касается способности обнаруживать других клиентов, возможны два очевидных решения: поддержка списка клиентов на сервере, чтобы клиенты могли получать его и связываться с другими клиентами (называемыми peers- равноправными участниками), либо использование инфраструктуры (например, PNRP), которая позволяет клиентам обнаруживать друг друга напрямую. В большинстве файлообменных систем применяется решение с поддержкой списка на сервере и используются серверы, называемые "трекерами" (trackers) .

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

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

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

Способность взаимодействовать с другими клиентами, пожалуй, не так важна, поскольку существуют хорошо зарекомендовавшие себя протоколы вроде TCP/IP, которые вполне могут применяться и здесь. Конечно, допускается привносить свои улучшения, как в высокоуровневые технологии (например, использовать службы WCF, получая в распоряжение все предлагаемые ими функциональные возможности), так и в низкоуровневые протоколы (например, применять протоколы многоадресной рассылки и тем самым обеспечивать отправку данных во множество конечных точек одновременно).

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

Терминология P2

В предыдущих разделах уже было представлено понятие равноправного участника (peer) - именно так называют клиентов в сети P2P. Слово "клиент" в сети P2P не имеет никакого смысла, потому что здесь нет обязательного сервера, клиентом которого нужно быть.

Группы равноправных участников, которые соединяются друг с другом, называются ячейками (meshes) , облаками (clouds) или графами (graphs) . Каждая отдельная группа считается хорошо соединенной, если соблюдено хотя бы какое-то одно из следующих условий:

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

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

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

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

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

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

Решения P2P

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

    приложения, предназначенные для распространения содержимого, в том числе упоминавшиеся ранее приложения обмена файлами;

    приложения, предназначенные для совместной работы, такие как приложения, позволяющие открывать общий доступ к рабочему столу и "белой доске" (whiteboard);

    приложения, предназначенные для обеспечения многопользовательской связи и позволяющие пользователям общаться и обмениваться данными напрямую, а не через сервер;

    приложения, предназначенные для распределения обработки, как альтернатива приложениям для суперкомпьютеров, которые обрабатывают огромные объемы данных;

    приложения Web 2.0, объединяющие в себе некоторые или все перечисленные выше приложения и превращающие их в динамические веб-приложения следующего поколения.