Протокол peer to peer что это
Как устроена одноранговая сеть Peer-to-Peer
Если вы регулярно пользуетесь Интернетом, маловероятно, что вы не слышали о терминах peer-to-peer или аббревиатуре P2P. Было ли это упомянуто в новостной статье, на телевидении или в разговоре с другом, который сказал вам, что он только что загрузил последний эпизод «Игры престолов», вы, возможно, наткнулись на этот термин. Если вы хотите знать, что такое peer-to-peer, и для чего он используется, вы должны прочитать эту статью.
Что такое P2P или Peer-to-Peer?
Peer-to-peer или P2P в сокращенной форме относится к компьютерным сетям, использующим распределенную архитектуру. Это означает, что все компьютеры или устройства, входящие в нее, совместно используют рабочие нагрузки в сети. Компьютеры или устройства, которые являются частью одноранговой сети, называются одноранговыми. Каждый одноранговый узел из одноранговой сети равен другим одноранговым узлам. Нет привилегированных сверстников, и в центре сети нет центрального административного устройства.
В некотором роде, одноранговые сети — это социалистические сети в мире вычислений. Каждый сверстник равен другим, и каждый партнер имеет те же права и обязанности, что и другие. Одноранговые клиенты одновременно являются клиентами и серверами.
Кроме того, каждый ресурс, доступный в одноранговой сети, является общим для одноранговых узлов без участия центрального сервера. Общие ресурсы в сети P2P могут быть такими, как использование процессора, дисковое пространство или пропускная способность сети.
Что делают сети P2P (peer-to-peer)?
Основная цель одноранговых сетей заключается в совместном использовании ресурсов и совместной работе компьютеров и устройств, предоставлении конкретной услуги или выполнении конкретной задачи. Как мы уже упоминали ранее, P2P используется для совместного использования всех видов вычислительных ресурсов, таких как вычислительная мощность, пропускная способность сети или дисковое пространство. Однако наиболее распространенным вариантом использования одноранговых сетей является обмен файлами в Интернете. Одноранговые сети идеально подходят для обмена файлами, поскольку они позволяют подключенным к ним компьютерам получать файлы и отправлять файлы одновременно.
Рассмотрите эту ситуацию: вы открываете свой веб-браузер и посещаете веб-сайт, где вы загружаете файл. В этом случае сайт работает как сервер, а ваш компьютер действует как клиент, который получает файл. Вы можете сравнить его с дорогой с односторонним движением: загружаемый файл — это автомобиль, который идет от точки A (веб-сайт) до точки B (ваш компьютер).
Если вы загружаете один и тот же файл через одноранговую сеть, используя сайт BitTorrent в качестве отправной точки, загрузка выполняется по-разному. Файл загружается на ваш компьютер в битах и частях, которые поступают со многих других компьютеров в сети P2P, у которых уже есть этот файл. В то же время файл также отправляется (загружается) с вашего компьютера другим лицам, которые его запрашивают. Эта ситуация похожа на двухстороннюю дорогу: файл похож на несколько небольших автомобилей, которые приходят на ваш компьютер, но также оставляют другим, когда они запрашиваются.
Почему одноранговые сети полезны?
Сети P2P имеют несколько характеристик, которые делают их нужными:
Зачем нам нужны одноранговые сети? Правовые прецеденты для P2P
Нам нужны одноранговые сети для подключения компьютеров и устройств без необходимости настройки сервера. При создании сервера для всего очень дорого и сложно управлять, и люди используют более дешевые альтернативы, такие как P2P. Вот несколько примеров распространенных случаев использования сетей P2P:
Сети P2P — самый дешевый способ распространения контента, потому что они используют пропускную способность одноранговых узлов, а не пропускную способность создателя контента.
История сетей P2P
Предшественником одноранговых сетей является USENET, который был разработан в 1979 году. Это была система, которая позволяла пользователям читать и публиковать сообщения/новости. Сегодня это была сетевая система, подобная онлайн-форумам, но с той разницей, что USENET не полагался на центральный сервер или администратор. USENET скопировал одно и то же сообщение / новости на все серверы, найденные в сети. Аналогично, сети P2P распространяют и используют все доступные им ресурсы.
Следующей большой вещью в истории P2P был 1999 год, когда Napster ожил. Napster был файлообменным программным обеспечением, которое люди использовали для распространения и загрузки музыки. Музыка, распространенная на Napster, обычно защищалась авторским правом и, таким образом, была незаконной для распространения. Однако это не помешало людям получить его. Хотя Napster был тем, кто получил P2P в мейнстриме, Napster в конечном итоге потерпел неудачу и был закрыт властями из-за всего содержания, которое было незаконно распространено на нем. В настоящее время P2P остается одной из самых популярных технологий для обмена файлами через Интернет, как законно, так и незаконно.
Незаконное использование одноранговых сетей
P2P — спорная технология, потому что она широко используется для пиратства. Из-за преимуществ этой технологии существует множество веб-сайтов в Интернете, которые предлагают доступ к защищенному авторским правом контенту, например, кино, музыке, программному обеспечению или играм, через сети P2P. Хотя сама технология не является незаконной и имеет много законных случаев использования, которые не связаны с пиратством, то, как некоторые люди используют P2P, является незаконным. При использовании P2P убедитесь, что вы не занимаетесь пиратством или другими случаями использования, которые наказываются по закону.
Вывод
Как вы видели в этом руководстве, peer-to-peer представляет собой сложную технологию, которая родилась и основана на простом принципе: децентрализация. Мы также знаем теперь, что его цель честна, но ее использование не всегда навсегда. Некоторые люди утверждают, должно ли это быть запрещено или нет, потому что P2P остается самым важным средством незаконного распространения контента, защищенного авторским правом. Однако, если ручка должна быть запрещена к использованию, потому что писатель плох на своем ремесле?
Peer-to-peer
Понравилась статья? Поделись:
Peer-to-peer (P2P, П2П) – это одноранговая, децентрализованная компьютерная сеть, основанная на равных правах всех участников. Такая структура делает сеть более защищенной, так как нет возможности перекрыть ее отдельные серверы — все участники сети являются и серверами, и клиентами. Технология блокчейна строится на базе P2P-сети.
Содержание
Описание развития технологии peer-to-peer [ править ]
Хотя системы пир-ту-пир ранее использовались во многих областях приложений, архитектура была популяризирована системой обмена файлами Napster, выпущенной в 1999 году. Эта концепция вдохновила новые структуры и философии во многих областях человеческого взаимодействия.
Технические особенности [ править ]
В одноранговой сети задачи или рабочая нагрузка распределяется равномерно между одноранговыми сетями с равными привилегиями. Отдельные узлы предоставляют всем участникам сети часть своих ресурсов, таких как вычислительная мощность, пространство дискового хранилища или пропускная способность сети. При этом отсутствует необходимость централизованной координации серверами или стабильными хостами.
То есть, в отличие от традиционной модели «клиент-сервер» отдельные узлы сети выполняют и функции серверов, и функции клиентов, то есть являются и потребителями, и поставщиками ресурсов сети. В первом случае узел посылает запрос на нужные ресурсы, во втором — реагирует на такой запрос, предлагая собственные ресурсы.
В некоторых случаях в частично децентрализованных сетях присутствуют отдельные серверы, которые координируют работу сети, а также предоставляют информацию о действующих узлах и их статусе.
Новые совместные системы P2P ищут решения, при которых отдельные участники сети предлагают не одинаковые ресурсы, а уникальные, но которые приносят пользу всему виртуальному сообществу. Это позволяет решать более сложные задачи в рамках сети, чем когда все ее узлы делают одно и то же.
Использование P2P в криптовалюте [ править ]
Пиринговые сети используются в целях обмена файлами. В этом случае пользователь дает доступ к файлу на своем компьютере для других участников сети, выступая сервером. Клиент находит файл и начинает скачивать его с компьютера. Возможно скачивание одного файла сразу из нескольких источников.
Другое применение пиринговых сетей — распределенные вычисления. В этом случае сложная задача разбивается на множество маленьких, которые решают участники сети, затем «собирая» результат в единое целое.
Наконец, на базе распределенных сетей разработаны современные пиринговые платежные системы, которые предлагают более справедливые условия для использования. По такому принципу работают все криптовалюты.
Протокол peer to peer что это
Что такое Одноранговая сеть (P2P) и зачем она нужна?
Если вы регулярно пользуетесь Интернетом, скорее всего вы слышали о терминах одноранговая сеть, децентрализованная сеть, или пиринговая сеть, peer-to-peer или ее аббревиатура — P2P сеть. Все эти термины обозначают одно и то же. Если вы хотите знать, что такое peer-to-peer, и для чего он используется, вы должны прочитать эту статью.
Что такое P2P или одноранговая сеть?
Кроме того, каждый ресурс, доступный в пиринговой сети, является общим для всех узлов без участия центрального сервера. Общими ресурсами в сети P2P могут быть:
Что делают сети P2P (peer-to-peer)?
Основная цель одноранговых сетей заключается в совместном использовании ресурсов и совместной работе компьютеров и устройств, предоставлении конкретной услуги или выполнении конкретной задачи. Как упоминалось ранее, децентрализованная сеть используется для совместного использования всех видов вычислительных ресурсов, таких как вычислительная мощность, пропускная способность сети или дисковое пространство. Однако наиболее распространенным вариантом использования пиринговых сетей является обмен файлами в Интернете. Одноранговые сети идеально подходят для обмена файлами, поскольку они позволяют подключенным к ним компьютерам получать и отправлять файлы одновременно.
Если вы загружаете один и тот же файл через одноранговую сеть, используя сайт BitTorrent в качестве отправной точки, загрузка выполняется по-разному. Файл загружается на ваш компьютер по частям, которые поступают со многих других компьютеров, у которых уже есть этот файл, в P2P сеть. В то же время файл также отправляется (загружается) с вашего компьютера другим лицам, которые его запрашивают. Эта ситуация похожа на двухстороннюю дорогу: файл похож на несколько небольших автомобилей, которые приходят на ваш компьютер, но также отправляются к другим пользователям, когда они его запрашивают.
Почему одноранговые сети полезны?
Сети P2P имеют несколько особенностей, которые делают их полезными:
Зачем нужны пиринговые сети? Легальное использование P2P сетей
Одноранговые сети нужны для подключения компьютеров и устройств в единую сеть без необходимости настройки сервера. При создании сервера его осень дорого и сложно обслуживать, и люди используют более дешевые альтернативы, такие как P2P. Вот несколько распространенных примеров использования сетей P2P:
История сетей P2P
Предшественником одноранговых сетей является USENET, который был разработан в 1979 году. Это была система, которая позволяла пользователям читать и публиковать сообщения / новости. Это была сеть, подобная современным онлайн-форумам, но с той разницей, что USENET не полагался на центральный сервер или администратора. USENET копировал одно и то же сообщение / новость на все серверы, найденные в сети. Аналогично, децентрализованные сети распространяют и используют все доступные им ресурсы.
Следующей большой вехой в истории одноранговых сетей был 1999 год, когда появился Napster. Napster был файлообменным программным обеспечением, которое люди использовали для распространения и загрузки музыки. Музыка, распространяемая с помощью Napster, обычно защищалась авторским правом и, таким образом, ее распространение было незаконным. Однако это не помешало людям использовать его.
Хотя Napster был тем, кто вывел P2P в мейнстрим, проект в конечном итоге потерпел неудачу и был закрыт властями по причине незаконного распространения контента.
Можно также с уверенностью сказать, что новой ступенью в развитии пиринговых сетей стало становление блокчейн индустрии в 2008 году вместе с появлением Биткоина. Использование одноранговых децентрализованных сетей — одно из трех основных составляющих технологии блокчейн, наряду с общим реестром записей и механизмом консенсуса.
В настоящее время P2P остается одной из самых популярных технологий для обмена файлами через Интернет, использующаяся как законно, так и незаконно.
Незаконное использование одноранговых сетей
Поэтому, при использовании пиринговой сети убедитесь, что вы не занимаетесь пиратством или другими вариантами использования, которые наказываются по закону.
P2P протоколы обмена данными
С появлением онлайн-кинотеатров и стриминговых сервисов популярность торрент-клиентов пошла на спад, однако на момент публикации с помощью торрента файлы скачивают за день около четырех процентов всех пользователей Интернета (это более 100 миллионов человек).
В данной статье я проведу небольшой обзор P2P (пиринговых) файлообменных протоколов, Napster, Gnutella и BitTorrent. В этой последовательности они появились, и каждый был вдохновлён предыдущим, взял от него лучшее и добавил своё. Каждый из этих протоколов в своё время был прорывом в обмене файлами. Первый открыл миру мощь P2P протоколов обмена данными, Gnutella стала протоколом первой действительно децентрализованной файлообменной сети, а BitTorrent на долгие годы закрепил за собой первенство пирингового обмена данными, и по настоящее время с некоторыми модификациями остаётся самым популярным P2P протоколом. Однако добавлю, что это далеко не единственные P2P протоколы обмена данными, и существуют не менее интересные eDonkey,Freenet, Direct Connect и подобные. Но обо всём по порядку.
Для начала необходимо пояснить, что является P2P файлообменным протоколом. Википедия подсказывает, что это протоколы для распространения и обмена информацией с помощью специальной программы для поиска других пользователей в сети, в которой все пользователи (пиры) являются равноправными участниками, в отличие от клиент-серверной модели обмена информацией. Для некоторых протоколов (гибридные P2P, например, Napster или BitTorrent) необходимо подключение к серверу, чтобы узнать информацию о файлах или о пользователях, у которых можно взять определённый файл. Сам же обмен данными производится между пользователями сети, в чём и заключается главная особенность P2P. Сегодня происходит расцвет криптовалют, наблюдается непрерывный рост как в стоимости криптовалют, так и в их количестве. Большая часть существующих криптовалют основывается на P2P протоколах подтверждения транзакций, который также были вдохновлены пиринговыми файлообменными сетями.
Napster
Вот здесь хорошо описана история файлообмена. Я же детально остановлюсь на P2P протоколах, заслуживающих внимания. P2P сети были известны с начала 90-x(IRC, Hotline), но первым P2P протоколом, получившим широкую известность среди пользователей глобальной сети, был Napster. Тот самый, который упоминается в “Ограблении по-итальянски” 2003 года, и сооснователем которого был Шон Паркер, сыгранный Джастином Тимберлейком в фильме Дэвида Финчера “Социальная сеть”. Можно представить, какой эффект произвело появление утилиты в 1999 году. В основе Napster стояли центральные сервера (Index Server), у которых был список всех файлов и адреса клиентов (пиров), у которых их можно скачать. Пир подключался к серверу, посылал поисковый запрос, и получал в ответ адреса других пиров с запрашиваемым файлом. Затем через тот же сервер устанавливалось соединение между пирами и производился обмен файлами, поскольку напрямую соединение было установить проблематично из-за файрволов и NAT. Таким образом, у центральных серверов была информация обо всех пирах с IP, обо всех файлах и обо всех передачах между пирами. С точки зрения приватности, это очень удручающая ситуация. Однако на тот момент это был прорыв в области распространения аудио, хотя именно эта особенность и послужила причиной упадка Napster: поскольку существовал центральный сервер компании, правообладателям было легко подать на него в суд по причине пиратства и выиграть его. Тем не менее, Napster показал миру возможности P2P протоколов, и мы плавно подходим к более современным вариантам.
Gnutella
Особенность Napster в виде центрального сервера была устранена Джастином Франкелем и Томом Пеппером в начале 2000 года в их полностью децентрализованном протоколе P2P обмена данными Gnutella. Существует несколько спецификаций, обратимся к версии 0.6.
Структура Gnutella Источник: https://es.slideshare.net/uschmidt/peertopeer-systems/16-KaZaA_Created_in_March_2001
Сеть состоит из обычных пользователей (лист, англ. leaf) и ультрапиров (англ. ultrapeer), к которым подключены листья и другие ультрапиры. Причём из-за децентрализации каждый пользователь может объявить себя ультрапиром, если удовлетворяет требованиям по пропускной способности, конфигурации системы и отсутсвию файрвола. Однако этот статус должны подтвердить уже существующие ультрапиры.
Новый пользователь получает доступ к сети, подключившись к ультрапиру, который уже там находится. Адрес последнего пользователь может получить простыми ping сообщениями (о них далее), обратившись прописанному в программе списку, либо обновив его специальными запросами Gnutella Web Cashing посредством HTTP к волонтёрам, запустившим GWebCashes на своей машине.
Затем взаимодействие осуществляется с помощью Протокола маршрутизации запросов (англ. Query Routing Protocol, QRP). Пользователи обмениваются таблицей маршрутизации запросов (QRT). В них имена имеющихся у пользователей файлов для обмена обрезаются, чтобы исключить грамматические особенности слов и хэшируются SHA-1. Далее в таблицу(огромный массив) заносится булевая переменная, что данный файл с данным хэшом есть у пользователя, и таблица отправляется ближайшему ультрапиру, который агрегирует таблицы своих листьев и обменивается ей между ультрапирами.
Для поиска отправляется запрос имени файла ульрапиру, который хэширует его по уже известному алгоритму, сверяет его с QRT и при совпадении отправляет запрос либо соответствующему листу, либо соседнему ультрапиру. Так запрос доходит до нужного пользователя, который уже напрямую связывается с запросившим пользователем.
Для обмена файлами создаётся прямое соединение между пользователями и происходит обмен посредством HTTP. Если кто-то расположен за файрволом или NAT, то соединение происходит посредством push proxy, где ультрапиры выступают в качестве прокси-сервера.
Нужно сказать, что протокол дорабатывается по настоящее время, и существует более продвинутая версия Gnutella2, которая сохранила идею децентрализации сети и разбиение на обычных и ультра пользователей, но имеет более проработанные алгоритмы их коммуникации, а также алгоритмы поддержания и управления сетью, защищающие от DDoS-атак. Тем не менее оригинальная Gnutella сохраняет лидирующие позиции по количеству пользователей, исчисляемом в миллионах.
BitTorrent
Мы подобрались к протоколу, о котором слышали, наверное, все пользователи Интернета и использовала большая их часть. BitTorrent был создан в 2001 году Брэмом Коэном на основе концепции Gnutella. Изначально он создавался для ускорения централизованных HTTP раздач, поскольку в концепции клиент-сервер при подключении многих клиентов к серверу, тот вынужден ограничивать исходящий трафик, значительно замедляя загрузку. Рассмотрим процесс передачи данных:
BitTorrent сеть состоит из веб-сервера, который хранит метаинформацию о файлах, BitTorrent tracker (далее просто трекер, он содержит информацию о пользователях, раздающих определенные файлы), оригинального дистрибьютора файла (пользователя или пира сети), и других пиров, запустивших торрент-клиент (программа, использующая протокол).Пиры взаимодействуют между собой по протоколу TCP, в дальнейшем заменённый на разработанный uTP. Примечательно, что пиры одновременно раздают и загружают имеющиеся файлы, что позволяет построить более эффективные обменные взаимодействия между пользователями, поскольку не произойдёт такого, что все пиры, имеющие файл, скачиваю что-либо и не имеют возможности раздавать.
Все сообщения между пирами начинаются со специального идентификатора, который принимает следующие значения:
Данные сообщения говорят принимающей стороне о возможности или невозможности соответственно раздавать запрашиваемую информацию
Эти сообщения передаются раздающей стороне с уведомлением о желании или нежелании принимать запрашиваемую информацию
Посылается запрашиваемой стороной с уведомлением о части файла, которую он получил и верифицировал подлинность.
Посылается первым сообщением в соединении и уведомляет, что в сообщении содержится булевая строка с 1 в позиции части файла, которую уже получила запрашиваемая сторона.
Сообщение request содержит индекс запрашиваемой части файла, и его длину.
Содержит индекс пересылаемой части файла, его длину и саму эту часть. Посылается раздающей стороной.
Такое сообщение используется в конце раздачи, когда остаются всего несколько частей (“endgame mode”). В этом режиме принимающая сторона запрашивает все оставшиеся части у всех возможных пиров, поскольку последние части обычно загружаются с единственного пира и это занимает много времени. В таком случае при загрузке каждой части принимающая сторона посылает cancel-сообщение с информацией об этой части, уведомляя о том, что данная часть уже получена.
Далее пир подключается к нескольких сидам с запросом различных частей файла, которые обычно идут в случайном порядке для распределения нагрузки между сидами.
После получения части, пир сравнивает её хэш-сумму с имеющейся в метафайле и подтверждает получение, либо запрашивает часть ещё раз.
В конце раздачи, когда остаются немного частей включается режим “endgame”, описанный выше. Далее пир становится на раздачу полученного файла и в трекеры заносится его ссылка на него.
Инновационным подходом в протоколе было разбиение файла на небольшие части, которые можно было получить от нескольких раздающих. Это значительно снизило нагрузку на одного пользователя и повысило безопасность протокола, поскольку серверы не имеют доступа к содержимому файлов.
Однако анонимность протокола всё ещё осталась под вопросом, как и надёжность хэш-функции SHA-1. Поэтому в 2005 году появилась модификация протокола, BitTorrent protocol encryption. Она использует шифр RC4(выбор пал из-за скорости шифрования) для шифрования заголовков сообщений и передаваемых частей. А в новой версии протокола (BitTorrent v2) также изменили хэш-функцию на SHA-256 для более надежного хэширования файлов, хотя она также на сегодняшний день считается уязвимой. Протокол BitTorrent всё ещё находится в разработке, а вторую версию пока поддерживают очень немногие клиенты, как и в случае с Gnutella.
Законодательные вопросы
Использование протоколов P2P, в частности BitTorrent, для обмена файлами, защищёнными авторским правом, породило множество юридических и законодательных вопросов. Всё зависит от государств и юрисдикций, в которых находятся пользователи. Потенциально, использование протоколов может повлечь юридическую ответственность как для первоначального дистрибьютора файла, так и для скачавших его пользователей в качестве соучастников.
Так, например, в Финляндии системным администраторам и владельцам торрент-сайта(трекера) были присуждены огромные штрафы в сотни тысяч евро за нарушение авторского права.
А один из старейших трекеров The Pirate Bay, расположенный в Швеции, в 2006 г. был подвергнут обыскам, и четыре сооснователя были приговорены к тюремному заключению и штрафам (двое в итоге действительно сидели в тюрьме). Однако уже через 72 часа после обысков и ареста сайт снова начал функционировать, сопровождаемый негативной реакцией прессы и общественности на действия правительства.
В 2005 году автор протокола BitTorrent Брэм Коэн, тогда уже CEO BitTorrent, Inc, которая занималась развитием протокола и разработкой новых приложений P2P сетей до покупки криптовалютным стартапом TRON, заключил соглашение с Американской ассоциацией кинокомпаний об удалении ссылок на авторский контент с официального сайта BitTorrent.
Однако в остальном вся ответственность остаётся на трекерах и пиратских сайтах с метафайлами, хотя фактически они не являются нарушением авторского права, поскольку не содержат в себе никакой защищенной информации, но это уже вопросы законодательства разных стран.
В России с недавнего времени начались попытки блокировать функциональность протокола вкупе с протоколами VPN по требованиям Роскомнадзора.
Заключение
Спасибо за внимание! Мы обсудили несколько значимых P2P протоколов обмена данных в хронологическом порядке, и их юридическое положение в разных странах. Надеюсь, вам понравился обзор. Ещё раз скажу, что данный обзор не претендует на полноту, я лишь прошелся по заметным вехам в истории данных протоколов. Данная статья ожидает своего продолжения, а я рекомендую посмотреть eDonkey, Freenet, и другие протоколы.