Что такое P2P? Пиринговые сети Peer to сервис

Peer-to-peer технологии

Выполнила:

студентка 1 курса ФМФ магистратуры

Кулаченко Надежда Сергеевна

Проверил:

Чернышенко Сергей Викторович

Москва 2011

Введение

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

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

Peer-to-peer (P2P) технологии являются одной из наиболее популярных тем на сегодняшний день. Популярность, достигнутая с помощью таких программам как Skype, Bittorrent, DirectConnect и список таких программ можно продолжать и продолжать, подтверждает потенциал peer-to-peer систем.

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

1. Napster и Gnutella - первые пиринговые сети

Первая пиринговая сеть Napster появилась в 1999 году и сразу стала известна всему Интернет-сообществу. Автором клиента был восемнадцатилетний Шон Феннинг. Napster соединил тысячи компьютеров с открытыми ресурсами. Изначально пользователи Napster обменивались mp3 файлами.

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

7 декабря Ассоциация индустрии звукозаписи Америки (RIAA) подала на компанию Napster в суд за «прямое и косвенное нарушение копирайта».

В конце концов, Napster сперва продался какой-то европейской фирме, а потом и вовсе был закрыт.

Gnutella - была создана в 2000 г программистами фирмы Nullsoft как преемница Napster. Она функционирует до сих пор, хотя из-за серьезных недостатков алгоритма пользователи в настоящее время предпочитают сеть Gnutella2. Эта сеть работает без сервера (полная децентрализация).

При подключении клиент получает от узла, с которым ему удалось соединиться, список из пяти активных узлов; им отсылается запрос на поиск ресурса по ключевому слову. Узлы ищут у себя соответствующие запросу ресурсы и, если не находят их, пересылают запрос активным узлам вверх по “дереву” (топология сети имеет структуру графа типа “дерево”), пока не найдется ресурс или не будет превышено максимальное число шагов. Такой поиск называется размножением запросов (query flooding).

Понятно, что подобная реализация ведет к экспоненциальному росту числа запросов и соответственно на верхних уровнях “дерева” может привести к отказу в обслуживании, что и наблюдалось неоднократно на практике. Разработчики усовершенствовали алгоритм, ввели правила, в соответствии с которыми запросы могут пересылать вверх по “дереву” только определенные узлы - так называемые выделенные (ultrapeers), остальные узлы (leaves) могут лишь запрашивать последние. Введена также система кеширующих узлов.

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

Недостатки протокола Gnutella инициировали разработку принципиально новых алгоритмов поиска маршрутов и ресурсов и привели к созданию группы протоколов DHT (Distributed Hash Tables) - в частности, протокола Kademlia, который сейчас широко используется в наиболее крупных сетях.

Запросы в сети Gnutella пересылаются по TCP или UDP, копирование файлов осуществляется через протокол HTTP. В последнее время появились расширения для клиентских программ, позволяющие копировать файлы по UDP, делать XML-запросы метаинформации о файлах.

В 2003 г. был создан принципиально новый протокол Gnutella2 и первые поддерживающие его клиенты, которые были обратносовместимы с клиентами Gnutella. В соответствии с ним некоторые узлы становятся концентраторами, остальные же являются обычными узлами (leaves). Каждый обычный узел имеет соединение с одним-двумя концентраторами. А концентратор связан с сотнями обычных узлов и десятками других концентраторов. Каждый узел периодически пересылает концентратору список идентификаторов ключевых слов, по которым можно найти публикуемые данным узлом ресурсы. Идентификаторы сохраняются в общей таблице на концентраторе. Когда узел “хочет” найти ресурс, он посылает запрос по ключевому слову своему концентратору, последний либо находит ресурс в своей таблице и возвращает ID узла, обладающего ресурсом, либо возвращает список других концентраторов, которые узел вновь запрашивает по очереди случайным образом. Такой поиск называется поиском с помощью метода блужданий (random walk).

Примечательной особенностью сети Gnutella2 является возможность размножения информации о файле в сети без копирования самого файла, что очень полезно с точки зрения отслеживания вирусов. Для передаваемых пакетов в сети разработан собственный формат, похожий на XML, гибко реализующий возможность наращивания функциональности сети путем добавления дополнительной служебной информации. Запросы и списки ID ключевых слов пересылаются на концентраторы по UDP.

2. P2Pтехнологии. Принцип «клиент-клиент»

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

Впервые термин peer-to-peer был использован в 1984 г. компанией IBM при разработке сетевой архитектуры для динамической маршрутизации трафика через компьютерные сети с произвольной топологией (Advanced Peer to Peer Networking). В основе технологии лежит принцип децентрализации: все узлы в сети P2P равноправны, т.е. каждый узел может одновременно выступать как в роли клиента (получателя информации), так и в роли сервера (поставщика информации). «Это обеспечивает такие преимущества технологии P2P перед клиент-серверным подходом, как отказоустойчивость при потере связи с несколькими узлами сети, увеличение скорости получения данных за счет копирования одновременно из нескольких источников, возможность разделения ресурсов без “привязки” к конкретным IP-адресам, огромная мощность сети в целом и др.»[ 2]

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

Какой IP-адрес имеет тот или иной пользователь сети;

Какие файлы размещены у какого клиента;

Какие фрагменты каких файлов где находятся;

Статистика того, кто сколько скачал себе и дал скачать другим.

Работа в типичной файлообменной сети строится следующим образом:

Клиент запрашивает в сети требуемый файл (перед этим возможно проведя поиск нужного файла по данным, хранящимся на серверах).

Если нужный файл имеется и найден, сервер отдает клиенту IP-адреса других клиентов, у которых данный файл был найден.

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

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

Сервер заносит в свою базу данных кто что скачал (даже если скачаны файлы не целиком).

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

3. Основные уязвимые стороны P2P

Чтобы справиться с описанной проблемой, клиенты должны пользоваться надежными хеш-функциями (“деревьями” хеш-функций, если файл копируется по частям), такими, как SHA-1, Whirlpool, Tiger, и только для решения малоответственных задач - контрольными суммами CRC. Для уменьшения объемов пересылаемых данных и облегчения их шифрования можно применить компрессию. Для защиты от вирусов нужно иметь возможность хранить идентифицирующую метаинформацию о “червях”, как это, в частности, сделано в сети Gnutella2.

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

Часть клиентов только копируют чужие файлы, но не предлагают ничего для копирования другим (leechers).

В московских домовых сетях на нескольких активистов, делающих доступными более 100 Гбайт информации, приходится около сотни, выкладывающих менее 1 Гбайт. Для борьбы с этим используются разные методы. В eMule применен метод кредитов: скопировал файл - кредит уменьшился, позволил скопировать свой файл - кредит увеличился (xMule - кредитная система с поощрением распространения редких файлов). В сети eDonkey стимулируется размножение источников, в Bittorrent реализована схема “сколько блоков файла получил, столько отдал” и т. п.

4. Некоторые пиринговые сети

4.1 DirectConnect

пиринговый сеть torrent одноранговый

Direct Connect - это частично централизованная файлообменная (P2P) сеть, в основе работы которой лежит особый протокол, разработанный фирмой NeoModus.

NeoModus была основана Джонатаном Хессом (Jonathan Hess) в ноябре 1990 года как компания, зарабатывавшая на adware-программе «Direct Connect». Первым сторонним клиентом стал «DClite», который никогда полностью не поддерживал протокол. Новая версия Direct Connect уже требовала простой ключ шифрования для инициализации подключения, этим он надеялся блокировать сторонние клиенты. Ключ был взломан и автор DClite выпустил новую версию своей программы, совместимой с новым программным обеспечением от NeoModus. Вскоре, код DClite был переписан, и программа была переименована в Open Direct Connect. Кроме всего прочего, ее пользовательский интерфейс стал многодокументным (MDI), и появилась возможность использовать плагины для файлообменных протоколов (как в MLDonkey). У Open Direct Connect также не было полной поддержки протокола, но появился под Java. Немногим позже, начали появляться и другие клиенты: DCTC (Direct Connect Text Client), DC++ и др.

Сеть работает следующим образом. Клиенты подключаются к одному или нескольким серверам, так называемым хабам для поиска файлов, которые обычно не связаны между собой (некоторые типы хабов можно частично или полностью связать в сеть, используя специализированные скрипты или программу Hub-Link) и служат для поиска файлов и источников для их скачивания. В качестве хаба чаще всего используются PtokaX, Verlihub, YnHub, Aquila, DB Hub, RusHub. Для связи с другими хабами используются т.н. dchub-ссылки:

dchub://[ имя пользователя ]@[ IP или Домен хаба ]:[ порт хаба ]/[путь к файлу]/[имя файла]

Отличия от других P2P-систем:

1. Обусловленные структурой сети

· Развитый многопользовательский чат

· Сервер сети (хаб) может быть посвящен определенной теме (например музыке конкретного направления), что позволяет легко находить пользователей с требуемой тематикой файлов

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

2. Зависящие от клиента

· Возможность скачивать целые директории

· Результаты поиска не только по названиям файлов, но и по директориям

· Ограничения на минимальное количество расшаренного материала (по объёму)

· Поддержка скриптов с потенциально безграничными возможностями как на клиентской стороне, так и на стороне хаба (верно не для всяких хабов и клиентов)

Авторы клиента DC++ разработали для решения специфичных проблем принципиально новый протокол, называнный Advanced Direct Connect (ADC), цель которого - повышение надежности, эффективности и безопасности файлообменной сети. 2 декабря 2007 года вышла окончательная версия протокола ADC 1.0. Протокол продолжает развиваться и дополняться.

4.2 BitTorrent

BitTorrent (букв. англ. «битовый поток») - пиринговый (P2P) сетевой протокол для кооперативного обмена файлами через Интернет.

Файлы передаются частями, каждый torrent-клиент, получая (скачивая) эти части, в то же время отдаёт (закачивает) их другим клиентам, что снижает нагрузку и зависимость от каждого клиента-источника и обеспечивает избыточность данных. Протокол был создан Брэмом Коэном, написавшим первый torrent-клиент «BitTorrent» на языке Python 4 апреля 2001 года. Запуск первой версии состоялся 2 июля 2001 года.

Для каждой раздачи создаётся файл метаданных с расширением.torrent, который содержит следующую информацию:

URL трекера;

Общую информацию о файлах (имя, длину и пр.) в данной раздаче;

Контрольные суммы (точнее, хеш-суммы SHA1) сегментов раздаваемых файлов;

Passkey пользователя, если он зарегистрирован на данном трекере. Длина ключа устанавливается трекером.

Необязательно:

Хеш-суммы файлов целиком;

Альтернативные источники, работающие не по протоколу BitTorrent. Наиболее распространена поддержка так называемых web–сидов (протокол HTTP), но допустимыми также являются ftp, ed2k, magnet URI.

Файл метаданных является словарем в bencode формате. Файлы метаданных могут распространяться через любые каналы связи: они (или ссылки на них) могут выкладываться на веб-серверах, размещаться на домашних страницах пользователей сети, рассылаться по электронной почте, публиковаться в блогах или новостных лентах RSS. Также есть возможность получить info часть публичного файла метаданных напрямую от других участников раздачи благодаря расширению протокола "Extension for Peers to Send Metadata Files". Это позволяет обойтись публикацией только магнет-ссылки. Получив каким-либо образом файл с метаданными, клиент может начинать скачивание.

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

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

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

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

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

Спецификация протокола не определяет, когда именно клиент должен войти в режим end game, однако существует набор общепринятых практик. Некоторые клиенты входят в этот режим, когда не осталось незапрошенных блоков, другие - пока количество оставшихся блоков меньше количества передающихся и не больше 20. Существует негласное мнение, что лучше поддерживать количество ожидаемых блоков низким (1 или 2) для минимизации избыточности, и что при случайном запрашивании меньший шанс получить дубликаты одного и того же блока.

Недостатки и ограничения

· Недоступность раздачи – если нет раздающих пользователей (сидов);

· Отсутствие анонимности:

Пользователи незащищенных систем и клиентов с известными уязвимостями могут быть подвергнуты атаке.

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

· Проблема личеров – клиентов, которые раздают гораздо меньше, чем скачивают. Это ведет к падению производительности.

· Проблема читеров – пользователей, модифицирующих информацию о количестве скачанных\переданных данных.

Персонализация – протокол не поддерживает ников, чата, просмотра списка файлов пользователя.

Заключение

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

Технологии, опробованные в пиринговых сетях, применяются сейчас во многих программах из других областей:

Для скоростного распространения дистрибутивов опенсорсных программ (с открытым кодом);

Для распределённых сетей передачи данных таких как Skype и Joost.

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

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

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

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

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

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

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

Также ведется работа по созданию проектов, объединяющих сети и протоколы (например, JXTA – разработчик Билл Джой).

Список литературы

1. Ю. Н. Гуркин, Ю. А. Семенов. «Файлообменные сети P2P: основные принципы, протоколы, безопасность» // «Сети и Системы связи», №11 2006

06/02/2011 17:23 http://www.ccc.ru/magazine/depot/06_11/read.html?0302.htm

2. А. Грызунова Napster: историяболезни InterNet magazine, number 22 06/02/2011 15:30 http://www.gagin.ru/internet/22/7.html

3. Современные компьютерные сети Реферат 06/02/2011 15:49 http://5ballov.qip.ru/referats/preview/106448

4. 28/01/2011 16:56 http://ru.wikipedia.org/wiki/Peer-to-peer

5. http://style-hitech.ru/peer-to-peer_i_tjekhnologii_fajloobmjena

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

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

Р2Р (peer-to-peer) – пиринговый протокол связи, отличается более эффективным использованием полосы пропускания канала передачи сигнала и высокими показателями отказоустойчивости.

Впервые термин peer-to-peer (Advanced Peer to Peer Networking) – расширенные одноранговые сети, был использован корпорацией IBM в сетях с классической одноуровневой архитектурой и равноправными рабочими станциями. Он применялся в процессе динамической маршрутизации без использования сервера, когда каждый ПК выполнял функцию и клиента, и сервера. Сейчас более свободная версия перевода аббревиатуры звучит как «равный к равному».

Основная область применения – это удаленное видеонаблюдение за различными объектами, например:

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

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

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

ПРЕИМУЩЕСТВА Р2Р ВИДЕОНАБЛЮДЕНИЯ

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

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

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

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

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

Доступная стоимость. Цена на камеры видеонаблюдения использующие технологию Р2Р не слишком отличается от стоимости обычных IP камер с сопоставимыми техническими и эксплуатационными параметрами.

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

Ниже рассмотрены основные производители Р2Р камер и некоторые их модели.

Falcon Eye – компания производитель оборудования для систем видеонаблюдения и безопасности. Специализируется на беспроводных системах охранных GSM сигнализаций. Имеет официальное представительство в России с 2005 года. вся продукция производителя, которая реализуется в нашей стране, сертифицирована и адаптированы для работы в сложных погодных условиях. Соответствуют международном у стандарту ISO – 90001.

Модельный ряд камер видеонаблюдения Р2Р включает:

  • Falcon Eye FE-MTR 1300;
  • Falcon Eye FE-MTR 300 P2P;
  • Falcon Eye FE-ITR 1300.

Все видеокамеры дают изображение в высоком разрешении 1280х720, могут работать при освещении 0,1 Люкс и имеют интерфейс передачи сигнала Lan и Wi-Fi (Falcon Eye FE-ITR 1300 только Lan). Кроме того они оснащены детектором движения и могут активировать процесс видеозаписи по тревоге.

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

Foscam – компания была основана в 2002 году. Специализируется на выпуске устройств и IP камер для GSM видеонаблюдения. Продукция прошла сертификацию по международному стандарту ISO 9001 и отечественным ГОСТам. Устройства оснащены детектором движения, слотами для карт памяти и интерфейсом RJ 45 (кабельное сетевое подключение витая пара).

Наиболее популярные модели:

  • Foscam FI9821P;
  • Foscam FI9853EP;
  • Foscam FI9803EP.

Zodiac – компания предлагает устройства для бытовых и профессиональных систем видеонаблюдения. Все Р2Р камеры оборудованы системой инфракрасной подсветки, что позволяет производить видеосъемку в темное время суток.

Модели, распространенные на рынке:

  • Zodiac 909W;
  • Zodiac 911;
  • Zodiac 808 выполнена в уличном варианте в корпусе со степенью защиты IP65.

НАСТРОЙКА Р2Р ВИДЕОНАБЛЮДЕНИЯ

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

1. С сайта выбранного облачного сервиса скачивается и устанавливается программное обеспечение, совместимое с операционной системой устройства для просмотра.

2. Устанавливается камера, к ней подводится электропитание.

3. Камера подключается к сети интернет посредством локальной проводной сети или через беспроводные средства передачи информации – WiFi, GSM и т. п.

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

5. Для доступа к камере набирается стандартный пароль, который потом нужно обязательно сменить. У каждого производителя или модели он свой, указан на коробке или в паспорте устройства.

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

Алгоритм настройки видеорегистратора ничем не отличается от настройки камеры. Примером такого устройства может служить гибридный видеорегистратор SPYMAX RL-2508H Light.

ОБЛАЧНЫЕ СЕРВИСЫ, ПОДДЕРЖИВАЮЩИЕ Р2Р ТЕХНОЛОГИЮ

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

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

К примеру, сервисы Proto-X и RVi воспринимают только камеры и видеорегистраторы соответствующих разработчиков. Предустановки для быстрой настройки записывают еще на заводе в процессе производства.

Универсальный облачный Р2Р сервис – Easy4ip совместим с большинством популярных камер.

Для работы с Р2Р камерами необходимо ПО, устанавливаемое на устройстве просмотра:

  • PSS для операционной системы Windows и iOS;
  • iDMSS для мобильных устройств Apple;
  • gDMSS для устройств под управлением ОС Android.

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

© 2010-2019 г.г.. Все права защищены.
Материалы, представленные на сайте, имеют ознакомительно-информационный характер и не могут использоваться в качестве руководящих документов

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

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

Впервые фраза «peer-to-peer» была использована в году Парбауэллом Йохнухуйтсманом (Parbawell Yohnuhuitsman) при разработке архитектуры Advanced Peer to Peer Networking фирмы

Устройство одноранговой сети

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

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

Частично децентрализованные (гибридные) сети

Помимо чистых P2P-сетей, существуют так называемые гибридные сети, в которых существуют сервера , используемые для координации работы, поиска или предоставления информации о существующих машинах сети и их статусе (on-line, off-line и т. д.). Гибридные сети сочетают скорость централизованных сетей и надёжность децентрализованных благодаря гибридным схемам с независимыми индексационными серверами, синхронизирующими информацию между собой. При выходе из строя одного или нескольких серверов, сеть продолжает функционировать. К частично децентрализованным файлообменным сетям относятся например EDonkey ,

Пиринговая файлообменная сеть

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

Известные децентрализованные и гибридные сети

Пиринговые сети для новичков описаны в статье: Файлообменные программы

  • ED2K она-же eDonkey2000 - сеть централизованного типа, крупнейшая из ныне существующих файлообменных сетей. Поиск выполняют специализированные серверы, связанные между собой. Клиенты самостоятельно обмениваются по протоколу MFTP . Компания MetaMachine разработчики исходной концепции и первого клиента основанного на веб-интерфейсе (Edonkey 2000 v1.4.5)в 2005 году прекратили поддержку этого проекта, однако сеть продолжает функционировать за счет более совершенного и более мощного клиента eMule , который использует механизмы - представляет из себя слабо связанные между собой выделенные сервера для поиска (хабы). Хабы Direct Connect очень удобны для организации файлового обмена в локальных сетях.
  • Advanced Direct Connect - эволюционное развитие сетей Direct Connect с устранение основных недостатков.
  • FastTrack , iMesh - первоначально была реализована в KaZaA …
  • giFT (mlDonkey.
  • Shareaza , BearShare , Phex .
  • Shareaza .
  • Ares - файлообменная сеть для любых файлов.
  • проприетарный протокол. Весь поиск происходит через центральный сервер, на котором есть бесплатная регистрация и платная подписка (официальный сайт). Клиенты: mlDonkey, SolarSeek .
  • Entropy - анонимные и устойчивые к цензуре файлообменные сети.
  • Blubster, Piolet , RockItNet.
  • NEOnet - частично-децентрализованая коммерческая сеть на условно-платной основе. Является специфической вспомогательной модификацией протокола DHT при работе в отделенном коммерческом сегменте сети Gnutella1 , поддерживаемом с помощью клиента Morpheus . Свойства криптографической защиты и сетевой анонимности в сети NeoNet не поддерживаются.
  • Tesla - Возможно, содержит MalWare.
  • Filetopia - потенциально безопасная сеть для обмена самым разным контентом.
  • MUTE - Клиенты: MFC Mute , Napshare .
  • Peer2Mail - принципиально это даже не пиринговая сеть, а разновидность ПО позволяющего передавать файлы между двумя хостами (peer-to-peer), используя почтовые сервисы в качестве роутера. Технология передачи файлов основана на инкапсуляции в SMTP-протокол.
  • Ants p2p - открытая P2P-сеть 3-го поколения повышенной безопасности. клиент.
  • Anthill - система(сеть) академического исследования сложных адаптивных систем, основанных на Rodi - поддерживает поиск по содержанию файлов. AppleJuice - частично децентрализованная сеть (как eDonkey).
  • BeOS.
  • - глобальный виртуальный диск для обмена файлами с авторизацией и шифрованием.
  • ProxyShare - новая высокоскоростная сеть с больши́ми возможностями.
  • Acquisition - сеть и клиент для Mac.
  • RShare - анонимная открытая P2P -сеть.
  • Marabunta - альтернативная пиринговая система ориентированная исключительно на предоставление услуг обмена мгновенными сообщениями на общей доске объявлений (P2P-chat) . Программа в основном рассчитана на применение в локальных сетях, и потому не содержит возможностей автообновления нод-листа (его приходится пополнять вручную) . При наличии постоянных IP-адресов реципиентов, может работать и в интернете, однако встроенная функция bootstrap с серверов разработчиков не работоспособна из-за того, что с 2006 года проект практически перестал развиваться.
  • SKad или OpenKAD - модификация протокола Winny . Дальнейше развитие этой сети в сторону сетевой анонимности привело к появлению программы Share . И на сегодняшний день существует и третья версия под управлением программы Perfect Dark . К сожалению все три версии сети SKad развивались паралельно и хотя они имеют много общего, но из-за видоизменения процедуры кодирования нод-листа в сторону более жесткого шифрования, они не совместимы между собой. Таким образом все три программы образовали три идентичные сети с разными степенями защищенности.
  • - Собственническое ПО от Microsoft.
  • P-Grid - самоорганизующаяся децентрализованная сеть.
  • P2PTV - сеть телевизионных каналов.
  • KoffeePhoto - сеть для обмена фотографиями.
  • Poisoned – программа для работы с файлообменными сетями Gnutella, OpenFT, FastTrack в среде операционной системы Mac OS X . Представляет собой графический интерфейс для фонового приложения giFT.

Пиринговые сети распределенных вычислений

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


Wikimedia Foundation . 2010 .

Смотреть что такое "Пиринговые сети" в других словарях:

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

    Опорная сеть Интернета (англ. Internet backbone) главные магистрали передачи данных между огромными, стратегически взаимосвязанными сетями и основными маршрутизаторами в Интернете. Эти магистрали передачи данных контролируются… … Википедия

    Запрос «P2P» перенаправляется сюда; см. также другие значения. Одноранговая, децентрализованная или пиринговая (от англ. peer to peer, P2P равный к равному) сеть это оверлейная компьютерная сеть, основанная на равноправии участников. В такой … Википедия

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

При подключении клиент получает от узла, с которым ему удалось соединиться, список из пяти активных узлов; им отсылается запрос на поиск ресурса по ключевому слову. Узлы ищут у себя соответствующие запросу ресурсы и, если не находят их, пересылают запрос активным узлам вверх по “дереву” (топология сети имеет структуру графа типа “дерево”), пока не найдется ресурс или не будет превышено максимальное число шагов. Такой поиск называется размножением запросов (query flooding).

Понятно, что подобная реализация ведет к экспоненциальному росту числа запросов и соответственно на верхних уровнях “дерева” может привести к отказу в обслуживании, что и наблюдалось неоднократно на практике. Разработчики усовершенствовали алгоритм, ввели правила, в соответствии с которыми запросы могут пересылать вверх по “дереву” только определенные узлы - так называемые выделенные (ultrapeers), остальные узлы (leaves) могут лишь запрашивать последние. Введена также система кеширующих узлов.

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

Недостатки протокола Gnutella инициировали разработку принципиально новых алгоритмов поиска маршрутов и ресурсов и привели к созданию группы протоколов DHT (Distributed Hash Tables) - в частности, протокола Kademlia, который сейчас широко используется в наиболее крупных сетях.

Запросы в сети Gnutella пересылаются по TCP или UDP, копирование файлов осуществляется через протокол HTTP. В последнее время появились расширения для клиентских программ, позволяющие копировать файлы по UDP, делать XML-запросы метаинформации о файлах.

В 2003 г. был создан принципиально новый протокол Gnutella2 и первые поддерживающие его клиенты, которые были обратносовместимы с клиентами Gnutella. В соответствии с ним некоторые узлы становятся концентраторами, остальные же являются обычными узлами (leaves). Каждый обычный узел имеет соединение с одним-двумя концентраторами. А концентратор связан с сотнями обычных узлов и десятками других концентраторов. Каждый узел периодически пересылает концентратору список идентификаторов ключевых слов, по которым можно найти публикуемые данным узлом ресурсы. Идентификаторы сохраняются в общей таблице на концентраторе. Когда узел “хочет” найти ресурс, он посылает запрос по ключевому слову своему концентратору, последний либо находит ресурс в своей таблице и возвращает ID узла, обладающего ресурсом, либо возвращает список других концентраторов, которые узел вновь запрашивает по очереди случайным образом. Такой поиск называется поиском с помощью метода блужданий (random walk).

Примечательной особенностью сети Gnutella2 является возможность размножения информации о файле в сети без копирования самого файла, что очень полезно с точки зрения отслеживания вирусов. Для передаваемых пакетов в сети разработан собственный формат, похожий на XML, гибко реализующий возможность наращивания функциональности сети путем добавления дополнительной служебной информации. Запросы и списки ID ключевых слов пересылаются на концентраторы по UDP.

Вот перечень наиболее распространенных клиентских программ для Gnutella и Gnutella2: Shareaza, Kiwi, Alpha, Morpheus, Gnucleus, Adagio Pocket G2 (Windows Pocket PC), FileScope, iMesh, MLDonkey

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

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

Согласно более широкому определению, P2P есть класс приложений, которые используют ресурсы, - жесткие диски, циклы процессора, контент, - доступные на краю облака Интернета. В то же время оно подходит и для систем, применяющих для своего функционирования централизованные серверы (таких как SETI@home, системы мгновенных сообщений или даже печально известная сеть Napster), а также различных приложений из области grid-вычислений (решетчатых вычислений).

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

В то же время многие сходятся во мнении, что главные для архитектуры P2P следующие характеристики:

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

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

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

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

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

Классификация P2P-приложений

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

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

Распределенные вычисления. Целью этих систем является объединение вычислительных возможностей равноправных узлов для решения задач с интенсивными вычислениями. Для этого задача разбивается на ряд небольших подзадач, которые распределяются по разным узлам. Результат их работы возвращается затем хосту. Примеры таких систем - проекты SETI@home, genome@ home и ряд других.

Системы баз данных. Значительные усилия были затрачены на разработку распределенных баз данных, основанных на P2P-инфраструктуре. В частности, была предложена локальная реляционная модель (Local Relational Model), предполагающая, что набор всех данных, хранимых в P2P-сети, состоит из несовместимых локальных реляционных баз данных (т. е. не удовлетворяющих заданным ограничениям целостности), взаимосвязанных с помощью «посредников», которые определяют трансляционные правила и семантические зависимости между ними.

Распределение контента. К этой категории относится большинство современных P2P-сетей, включающих системы и инфраструктуры, разработанные для разделения цифровой аудиовизуальной информации и других данных между пользователями. Спектр таких систем для распределения контента начинается от относительно простых приложений для прямого разделения файлов и простирается до более сложных, которые создают распределенные среды хранения, обеспечивающие безопасность и эффективные организацию, индексацию, поиск, обновление и извлечение данных. В качестве примеров можно привести позднюю сеть Napster, Gnutella, Kazaa, Freenet и Groove. В дальнейшем мы сфокусируем внимание именно на этом классе сетей.

Распределение контента в сетях P2P

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

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

  • системы обмена файлами , предназначенные для простого одноразового обмена между компьютерами. В таких системах создается сеть равноправных узлов и обеспечиваются средства для поиска и передачи файлов между ними. В типичном случае это «легковесные» приложения с качеством обслуживания «по мере возможности» (best effort), не заботящиеся о безопасности, доступности и живучести;
  • системы для публикации и хранения контента . Такие системы предоставляют среду распределенного хранения, в которой пользователи могут публиковать, сохранять и распределять контент, при этом поддерживаются безопасность и надежность. Доступ к такому контенту контролируется, и узлы должны обладать соответствующими привилегиями для его получения. Основными задачами таких систем являются обеспечение безопасности данных и живучести сети, и зачастую их главная цель заключается в создании средств для идентифицируемости, анонимности, а также управления контентом (обновление, удаление, контроль версий).
  • определение адреса и маршрутизация. Любая P2P-система распределения контента опирается на сеть равноправных узлов, внутри которой узлы и контент должны эффективно локализоваться, а запросы и ответы - маршрутизироваться, и при этом обеспечиваться отказоустойчивость. Для выполнения этих требований были разработаны различные инфраструктуры и алгоритмы;
  • обеспечение анонимности. P2P-базированные инфраструктурные системы должны разрабатываться с целью обеспечения анонимности пользователя;
  • репутационный менеджмент. В сетях P2P отсутствует центральный орган для управления репутационной информацией о пользователях и их поведении. Поэтому она располагается на множестве разных узлов. Для того чтобы гарантировать ее безопасность, актуальность и доступность во всей сети, необходимо иметь сложную инфраструктуру управления репутациями.

Локализация и маршрутизация распределенных объектов в сетях P2P

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

Централизация. Хотя самое строгое определение предполагает, что оверлейные сети полностью децентрализованы, на практике этого не всегда придерживаются, и встречаются системы с той или иной степенью централизации. В частности, выделяют три их категории:

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

Очевидно, в этих архитектурах имеется единая точка отказа - центральный сервер.

Сетевая структура характеризует, создается ли оверлейная сеть недетерминировано (ad hoc), по мере того как добавляются узлы и контент, или базируется на специальных правилах. С точки зрения структуры сети P2P делятся на две категории:

  • неструктурированные. Размещение контента (файлов) в них никак не связано с топологией оверлейной сети, в типичных случаях его нужно локализовать. Механизмы поиска варьируются от методов грубой силы, таких как лавинное распространение запросов способами «сначала вширь» (breadth-first) или «сначала вглубь» (depth-first) - до тех пор пока желаемый контент не будет найден, до более софистических стратегий, предполагающих использование метода случайного блуждания и индексацию маршрутов. Механизмы поиска, применяемые в неструктурированных сетях, имеют очевидное влияние на доступность, масштабируемость и надежность.

Неструктурированные системы более подходят для сетей с непостоянным числом узлов. Примерами являются Napster, Gnutella, Kazaa, Edutella и ряд других;

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

Структурированные системы (к ним относятся Chord, CAN (Content Addressable Network), Tapestry и ряд других) предоставляют масштабируемые решения для поиска по точному совпадению, т. е. для запросов, в которых известен точный идентификатор нужных данных. Их недостатком является сложность управления структурой, требуемая для эффективной маршрутизации сообщений в среде с переменным числом узлов.

Сети, занимающие промежуточное положение между структурированными и неструктурированными, имеют название слабоструктурированных. Хотя данные о локализации контента в них указываются не полностью, они, тем не менее, способствуют поиску маршрута (типичный пример такой сети - Freenet).

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

Неструктурированные архитектуры

Начнем с полностью децентрализованных архитектур (см. приведенное выше определение). Самым интересным представителем таких сетей является Gnutella. Подобно большинству P2P-систем, она строит виртуальную оверлейную сеть с собственным механизмом маршрутизации, позволяя своим пользователям разделять файлы. В сети отсутствует какая-либо централизованная координация операций, и узлы соединяются друг с другом непосредственно с помощью ПО, которое функционирует и как клиент, и как сервер (его пользователей называют servents - от SERVers + cliENTS).

В качестве базового сетевого протокола Gnutella применяет IP, тогда как коммуникации между узлами определяются протоколом прикладного уровня, поддерживающим четыре типа сообщений:

  • Ping - запрос к определенному хосту с целью объявить о себе;
  • Pong - ответ на сообщение Ping, содержащий IP-адрес, порт запрошенного хоста, а также количество и размеры разделяемых файлов;
  • Query - поисковый запрос. В него входят строка поиска и минимальные скоростные требования к отвечающему хосту;
  • Query Hits - ответ на запрос Query , включает IP-адрес, порт и скорость передачи отвечающего хоста, количество найденных файлов и набор их индексов.

После присоединения к сети Gnutella (посредством связи с узлами, обнаруженными в базах данных, таких как gnutellahosts.com) узел посылает сообщение Ping каким-нибудь связанным с ним хостам. Те отвечают сообщением Pong , идентифицируя себя, и рассылают сообщение Ping свом соседям.

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

Первоначально в архитектуре Gnutella использовался лавинный (или широковещательный) механизм для распределения запросов Ping и Query : каждый узел направлял полученные сообщения всем своим соседям, а ответы шли по обратному пути. Чтобы ограничить потоки сообщений в сети, все они содержали в заголовке поле Time-to-Live (TTL). На транзитных узлах значение этого поля уменьшалось, и когда оно достигало значения 0, сообщение удалялось.

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

Рис. 1. Пример механизма поиска в неструктурированной системе

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

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

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

Частично централизованные системы обладают двумя преимуществами:

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

Частично централизованной системой является сеть Kazaa.

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

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

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

Структурированные архитектуры

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

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

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

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

Каждый узел сети Freenet управляет своим собственным локальным хранилищем данных, делая его доступным для чтения и записи остальными, так же как и динамическую таблицу маршрутизации, содержащую адреса других узлов и хранимых ими файлов. Чтобы найти файл, пользователь посылает запрос, содержащий ключ и косвенное значение времени жизни, выраженное посредством максимально допустимого количества пройденных транзитных узлов (hops-to-live).

Freenet использует следующие типы сообщений, каждое из которых включает идентификатор узла (для обнаружения петель), значение hops-to-live и идентификаторы источника и получателя:

  • Data insert - узел, помещающий новые данные в сеть (в сообщении находятся ключ и данные (файл));
  • Data request - запрос определенного файла (в него входит ключ);
  • Data reply - ответ, когда файл найден (в сообщение включается файл);
  • Data failed - ошибка в поиске файла (указываются узел и причина ошибки).

Для присоединения к Freenet компьютеры прежде всего определяют адрес одного или более существующих узлов, а затем отправляют сообщения Data insert .

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

Это продолжается до тех пор, пока не исчерпается лимит hops-to-live . Таким образом, распространяемый файл разместится более чем на одном узле. Во то же время все узлы, вовлеченные в процесс, обновят свои маршрутные таблицы - таков механизм, посредством которого новые узлы анонсируют свое присутствие в сети. Если предел hops-to-live достигнут без коллизии значений ключей, сообщение «все корректно» будет доставлено обратно к источнику, информируя его, что файл помещен в сеть успешно. Если же ключ уже используется, узел возвращает существующий файл, как будто именно он был запрошен. Таким образом, попытка подмены файлов приведет к распространению их дальше.

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

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

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

Потенциальные возможности сетей P2P оказались столь велики, что Hewlett-Packard, IBM и Intel инициировали создание рабочей группы с целью стандартизировать технологию для применения в коммерческих целях. В новой версии ОС Microsoft Windows Vista будут встроены средства для коллективной работы, позволяющие ноутбукам разделять данные с ближайшими соседями.

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

Intel начала использовать технологию P2P в 1990 г., стремясь снизить расходы на разработку чипов. Компания создала собственную систему, названную NetBatch, которая объединяет более 10 тыс. компьютеров, предоставляя инженерам доступ к глобально распределенным вычислительным ресурсам.

Boeing применяет распределенные вычисления для выполнения ресурсоемких тестовых испытаний. Компания использует Napster-подобную модель сети, в которой серверы направляют трафик к назначенным узлам. «Нет такого одного компьютера, который отвечал бы нашим требованиям», - говорит Кен Невес (Ken Neves), директор исследовательского подразделения.

Потенциал технологий P2P привлек внимание и венчурного капитала. Так, Softbank Venture Capital инвестировал 13 млн долл. в компанию United Device, разрабатывающую технологии для трех рынков: вычисления для биотехнологической индустрии, качество обслуживания (QoS) и нагрузочные тесты для Web-сайтов, а также индексирование контента на базе метода «червячного» поиска, используемого рядом машин в Интернете.

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

Похожие статьи

© 2024 alc56.ru. Компьютерные подсказки - Alc74.