Функцией p2p. Что такое 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

Технология организации одноранговых сетей (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, объединяющие в себе некоторые или все перечисленные выше приложения и превращающие их в динамические веб-приложения следующего поколения.

p2p является сокращением от английского выражения peer-to-peer, что дословно можно перевести как «равный равному». В русскоязычном интернете p2p сети также называют одноранговыми, пиринговыми или децентрализированными сетями.

Отличия 2p2 сети от других файлообменных сетей

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

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

В настоящее время наибольшее распространение получили гибридные p2p сети. В таких сетях сервер присутствует в роли координатора, обеспечивающего взаимодействие между пользователями, однако никакой информации он не хранит. Такие сети объединяют в себе как скорость чистой 2p2 сети, так и надежность централизованной сети. На данный момент наиболее популярными протоколами гибридных сетей являются BitTorrent и Direct Connect.

Протокол BitTorrent

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

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

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

Протокол Direct Connect (DC)

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

Интересной особенностью DC-сетей для пользователей является возможность обмена в чате мгновенными личными сообщениями.

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

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

Инструкция

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

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

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

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

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

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

Источники:

  • Терминология торрент-сетей в 2018
  • Описание пиринговых сетей в 2018

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

Гибридный жесткий диск (SSHD) - носитель информации, сочетающий в себе технологии SSD и HDD. То есть внутри такого носителя установлен твердотельный накопитель (SSD) и магнитный диск (HDD).

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

Как устроен гибридный жесткий диск

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

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

Гибридные жесткие диски позволяют считывать данные примерно в четыре раза быстрее обычных HDD (при скорости вращения 7200 оборотов в минуту).

Применение гибридных жестких дисков

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

Поэтому гибридные жесткие диски позволяют существенно повысить производительность ноутбука и увеличить скорость загрузки операционной системы в несколько раз. Скорость работы SSHD зависит от объема встроенного в него твердотельного накопителя. Чем больше объем, тем выше будет скорость. Благодаря низкому энергопотреблению гибридные винчестеры позволяют увеличить ресурс автономной работы ноутбука примерно на 30 минут.

Стоит отметить, что изначально SSHD технологии разрабатывалась для носителей информации, используемых в портативных компьютерах и мобильных устройствах. А первые гибридные носители выпускались в формфакторе 2.5 дюйма. Однако сейчас гибридные носители выпускаются и в формфакторе 3.5 дюйма, поэтому пользователям персональных компьютеров больше не нужно заниматься сложной настройкой рейд-массивов (англ. redundant array of independent disks) и одновременной установкой SSD и HDD, что тоже требует довольно сложной настройки.

Торрент – это один из способов обмена информации между людьми, пользующимися услугами сети Интернет. Связь реализуется с помощью протокола P2P, воплощенного в жизнь американским программистом Брэмом Коэном.

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


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


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


Как пользоваться торрентом? Пройдите несколько простых шагов:


  1. Скачайте бесплатный трекер;

  2. Найдите интересующий вас материал на специализированных сайтах;

  3. Скачайте маленький файл, являющийся ключом для получения доступа;

  4. Запустите программу, выберите нужный файл, отметьте галочкой необходимые данные и нажмите «ОК»;

  5. Подождите, пока необходимые материалы закачаются на ваш компьютер;

  6. Оставьте программу работать на некоторое время, чтобы и другие пользователи могли воспользоваться данными.

Не используйте торрент для скачивания пиратских файлов, так как это нарушает законы РФ.

Музыкальная индустрия существенно изменилась за последние 10 лет. Люди перестали покупать диски и виниловые пластинки, отдавая предпочтение легко доступным mp3 файлам, скачать которые можно совершенно бесплатно, либо за небольшие деньги. Лучшим способом искать mp3 файлы будет использование поисковиков Google, Yandex и Yahoo, регулярная проверка музыкальных блогов или использование торрент-клиентов.

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

Peer-to-peer (P2P) технологии, несомненно, являются одной из наиболее популярных тем на сегодняшний день. Популярность, достигнутая с помощью таких систем как Napster,Gnutella,Edonkey,Emule,Kazaa и список таких программ можно продолжать и продолжать,подтверждает потенциал peer-to- peer систем. В этом обзоре мы раскажем о технологии Р2Р в целом, о системах (или правильней говоря) программах обретших популярность посредством этой технологии. Ведь если хорошенько ко всему этому присмотреться,можно понять что технология Р2Р может послужить введением для всех новых сторонников, разработчиков, и просто любителей, желающих заняться разработкой P2P приложений.

Что такое P2P ?

На сегодняшний день, наиболее распространенной моделью является Client/Server.

В Client/Server архитектуре, клиенты опрашивают сервер, и сервер возвращает необходимые данные и производит нужные операции над ними. На сегодняшний день существуют разные сервера в Inet: Web сервера, Mail сервера, FTP и т.д. Архитектура Client/Server - это пример централизованной архитектуры, где вся сеть зависит от центральных узлов, называемых серверами, предназначенных для обеспечения необходимых сервисов. Без серверов такая архитектура не имеет никакого смысла. Независимо от наличия в сети клиентов, сеть будет существовать исключительно при условии существования серверов.
Подобно архитектуре Client/Server, P2P также распределенная модель, но существует очень важная отличительная черта. В архитектуре P2P не существует понятия клиента или сервера. Каждый объект в сети, назовем его peer (англ. равный, такой же), имеет тот же статус, это означает, что этот объект может выполнять как функции клиента (отсылать запросы) так и сервера (получать ответы).

И хотя все peers имеют одинаковый статус, это не значит, что они должны иметь одинаковые физические возможности. P2P сеть может состоять из peers с разными возможностями, начиная от мобильных устройств и заканчивая mainframes. Некоторые мобильные peer могут и не поддерживать всех функциональных возможностей серверов, в силу ограничения их ресурсов (слабый процессор/небольшой объем памяти), однако сеть никак не ограничивает их.

Обе сетевые модели имеют свои преимущества и недостатки. Визуально вы можете видеть, что рост Client/Server системы (которая тем больше чем клиентов в нее добавлено) приводит к росту нагрузок на сервер. C каждым новым клиентом центральный узел слабеет. Таким образом, сеть может становиться перегруженной.

P2P сеть работает по другому сценарию. Каждый объект в сети (peer), является активным в сети, peer предоставляет некоторые ресурсы в сети, такие как пространство для хранения данных и дополнительные такты CPU. Чем больше peer в сети, тем больше производительность самой сети. Следовательно, по мере того как растет сеть, она становится мощнее.

Дополнительные отличия

Также P2P отличается от Client/Server модели тем, что P2P система считается рабочей, если в ней есть хотя бы один активный peer. Система будет считаться неактивной, если ни один peer не активен.

Недостатки технологии P2P

Однако существуют и недостатки у P2P систем. Во-первых, управление такой сетью намного сложнее, чем управление Client/Server системами, где администрирования требует только центральный узел - Server. Таким образом, нужно затратить намного больше усилий на поддержку security, backup, и т.п.

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

Например:

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

Немного истории

Многие пользователи сети Интернет помнят феномен Napster"а, первой всемирной сети обмена файлами между пользователями (кстати, использовашие технолигию P2P). Napster пережил пару пинков судьбы, несколько шумных судебных процессов,в результате чего стал мягким и пушистым. Но "джин халявы" уже вылетел из бутылки…

Говоря о "первой сети обмена", я, конечно, не имел в виду, что до этого люди не обменивались файлами по сети. Любой мог послать и получить файл по почте или выложить его на ftp. Но, тем не менее, никогда ранее Сеть не потрясала такая "волна" обмена данными между пользователями - эта волна поставила под сомнение сами основы современного шоу-бизнеса.

Что же было прорывом в новой технологии?

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

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

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

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

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

Что осталось от Napster"а?

Первое, что бросается в глаза, когда заходишь на www.napster.com,- это сама инсталляция нового Napster"a, которая напоминает теперь инсталляцию порно-консоли или другого трояна. Я, как бы, понимаю, что загрузка exe ничем не лучше - но все равно как-то странно все это выглядит. Следующий за инсталляцией смешной момент - сообщение о том, что Napster работает только в США. А для американов - просьба зарегистрироваться и ввести имя и пароль (как видно, в Америке идет перепись медиа-"пиратов"). Короче - не ходите туда, делать там нечего.

Эпидемия Kazaa

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

Итак, самые лучшие на сегодня программы - это те, что работают в сети e-Donkey2000 и Overnet. К их числу относится собственно сам e-Donkey и его детеныш - Overnet (хотя как от ослика может произойти такая медуза?), а также масса клонов. а теперь, наша лучшая пятерка.

1.- Первую позицию поделили Overnet"ом и e-Donkey

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

Недостатки

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

2.- На второй позиции eMule и другие "ослоподобные"

В числе популярных ED-"присосок" - eMule и OneMX. Они похожи настолько, что создается даже странное ощущение, будто это вообще одна и та же программа. Что, в общем-то, так и есть: первая - Open Source, вторая - "типа бесплатная". Единственное отличие - в списке серверов по умолчанию. И если eMule, в конце концов, нашел "путь к счастью" , то OneMX вообще не смог выбраться наружу - поэтому мои познания о его работе весьма скромны. Далее речь пойдет, в основном, о eMule, получить который можно (и нужно) на www.emule-project.net . eMule поддерживает два типа сети - автоматический ED2K и Kademlia Bootstrap. Не пугайтесь, это не ругательство, а система распределенного хеша - DHT, Distributed Hash Table. Система работает так: все пользователи получают идентификаторы, и файлы получают идентификаторы, и части файлов получают идентификаторы. Сначала вы подключаетесь к паре-тройке "друзей" и как бы ненароком спрашиваете, "а как пройти в библиотеку". Поскольку ваши "кореша" уже в курсе и библиотеки и других заведений, они сбрасывают вам адреса новых серверов, где могут располагаться искомые файлы - и так далее, до победного конца. Сам процесс "раскрутки" называется Bootstrap, а система идентификации и поиска всего на свете по хеш-значениям - Kademlia.В чем тут фишка - так это в том, что eMule предлагает вам самостоятельно ввести адрес первого хоста с установленным eMule или другим Kademila-сервером, так что вы сможете от него уже передвигаться к следующим хостам - и постепенно подобраться к требующимся файлам. Можно сказать, что eMule работает и как eDonkey, запрашивая данные у серверов, и как Overnet, через Kademila,- то есть применяет оба способа поиска. Другой вопрос - откуда вы возьмете этот адрес? Вот именно. Другой "напряг" этой технологии - это то, что для "поднятия" Kademila нужно указать сервер с настоящим IP-адресом, а это не слишком распространенный сейчас метод подключения, и за NAT-фаерволом это работать не будет. Но, тем не менее,- спасибо за возможность. Приятная фича eMule - он хранит недокачанные файлы отдельно, так что вы не видите "мусора" в точке назначения (как, например, у WinMX). Поэтому точкой назначения можно указать вполне приличное место, например "Мои документы". Другая приятность - это возможность посмотреть комментарии к фалу. К сожалению, часто они бестолковы, но иногда содержат и важную информацию, например "это фильм на китайском языке" :-). Кроме прочего, eMule содержат встроенный клиент IRC для живого общения с удаленными "товарищами по несчастью" - короче, полный фарш с прикладом.

Недостатки

Чрезмерно грузит систему, и не очнь высокая скорость скачивания.

3.- На третьей позиции WinMX

Ставший весьма популярным в последнее время инструмент. Его главное отличие - полное отсутствие даже намека на рекламу и прочую "ерунду". Скачать эту примочку можно на www.winmx-download-winmx.com (сама закачка происходит с сайта Morpheus-Download, что наводит на размышления; однако другой информации на тему WinMX и Morpheus я не нашел - наверное, люди предпочитают шифроваться).

WinMX - сокращение от "Windows Media eXchange". Существует порт на Mac, для других систем портов не обнаружено.

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

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

Несколько непонятных сокращений вы встретите на закладке Transfers, а именно - AFS и AEQ. Это очень хорошие параметры. Первый значит Auto Find Sources и показывает период (в минутах), с каким будет выполняться попытка найти новые источники для ваших файлов. Таким образом, можно "загнать" поисковик, а можно, напротив, "попустить". Постоянно проверять новые источники нет смысла, они появляются не слишком часто - главное, никогда не устанавливайте этот параметр в Never.

Второй параметр расшифровывается как Auto EnQueue - то есть, когда вы находите файл и при этом вам предлагают стать в очередь, то в каком случае соглашаться? Для редких файлов этот параметр можно поставить в максимальное значение - 100.

AFS и AEQ по умолчанию можно настроить на закладке Configuration… почему-то Search, но не суть важно. В других клиентах таких настроек нет (или это я не нашел?).

Есть небольшой "загон" в настройках по умолчанию - вы настроены выбрасывать "inactive DL sources" каждые 10 минут. Это приводит к тому, что в один момент вы можете выбросить все источники - и закачка улетит из списка. Файл останется на месте, и вы, конечно, всегда можете "вернуть" закачку, нажав Load Incomplete - но сделать это сможете только руками… утром в понедельник, тогда как вы могли качать все выходные.

Недостатки

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

4.- На четвертой позиции Shareaza или G2.

Shareaza (или, по-народному, Ш (З) араза) - это клиент, созданный авторами и фанатами сети Gnutella для собственных нужд:-). Shareaza поддерживает собственный протокол Gnutella2 (Mike"s Protocol, MP), протокол старой сети Gnutella 1, ED2K и BitTorrent. Поскольку MP и BitTorrent пока не получили особого распространения (хотя, все может измениться). Еще один клиент точно поддерживает G2 - mlDonkey, других обнаружить не удалось.Что хорошо - G2 имеет формальное описание, четкую систему требований и даже собственный стандарт, что может сделать эту сеть достаточно устойчивой для конкуренции с Overnet. Побочный эффект Shareaza - поскольку этот клиент обслуживает запросы сразу многих сетей, то исходящий (даже когда вы ничего и не закачиваете) трафик легко может "стартовать" до 25 Кб/с! Следите за этим, если вы выкачиваете под контролем. Ограничить скачивание можно в Config-Internet-Uploads (по умолчанию: 7 Кб/с для Core, 12 Кб/с для Partially Downloaded и по 2 Кб для каждого размера файлов, большого, среднего и малого - итого разрешенный исходящий трафик - 25 Кб/с).

5.- И наконец на пятой позиции Gnutella и BitTorrent

Самая распространенная и популярная сеть обмена (если не учитывать ED2k) называется Gnutella. Кстати, после появления Gnutella2 ее часто называют Gnutella 1 или "старая (legacy) Gnutella". В основе G1 лежит несколько другой механизм распространения запросов - но в принципе все без особых изменений. Основное отличие Gnutella - она не использует механизмы Kademlia, то есть поиск в этой сети осуществляется "вслепую", по случайным маршрутам. Лучшая критика G1 дана на сайте разработчиков Gnutella 2. - Там, например, упоминается, что в худшем случае один пользователь может "поставить на уши" 80% всей G1-сети.

Официальные программы для этой сети - BearShare (также поддерживает ED2K?), Gnucleus, Morpheus (версия: первоначально был на движке KaaZaa - FastTrack, но после "сессий" с судом Лос-Анджелеса перешел под знамена Gnutell"ы), Xolox Ultra, LimeWare, Phex. Некоторые из них написаны на Java, а некоторые даже под.NET. Каждый из этих клиентов превозносит себя как "самого": BearShare - "самый лучший", Gnucleus - "самый честный", ну и так далее.

Типичный современный клиент для сети Gnutella - LimeWire. Весь сайт LimeWare увешан надписями "быстрее, чем KaaZaa!" - хм, ну было бы чем гордиться. Главная отличительная особенность этого клиента - программа на Java. Со всеми вытекающими из этого последствиями: красиво и медленно.

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

Помимо того, в сети Gnutella я не нашел нужных мне файлов, так что знакомство с ней завершилось, так и не начавшись. Единственное, что порадовало, так это сайт www.gnutella.com (на движке Zope+Plone?) - хотя и там все закачки происходят через рекламный блок.

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

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

Руководство к действию

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

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

Другие клиенты, например WinMX, тоже способны на многое (ставить не страшно, рекламных консолей там нет).

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

А вот уж чего делать не советую - так это ставить "бесплатные" гнутелльные софтины (если, конечно, не хотите потом всю жизнь удалять с винта тараканов). Сама-то сетка Gnutella не виновата, а вот софт-пакеры удивляют своей наглостью и желанием получать прибыль от открытого кода. Ну во и все наверное, пишите,стучите, и верьте, что на наших сайтах у меня на "ПромоNews" , и "SuperQ" Вы всегда получите ответы на столь необходимые и важные вопросы. Наш девиз звучит примерно так: "Найди себя среди друзей!" Удачи:)