Что такое пиринговые сети? Принцип работы и правила файлового обмена
Что ни говори, но мы все привыкли делиться определенной информацией самыми различными способами. В современной глобальной сети существуют различные варианты для получения необходимых данных, но сами эти данные бывают разными. Это может быть обычный текст, музыкальная композиция, программа, видеоролик, целый фильм или что-то иное.
Для разных типов данных применяются разные способы их передачи. К одному из таких способов можно отнести пиринговые сети (P2P), с помощью которых можно обмениваться файлами практически любого размера – от совсем небольших, до тех, которые достигают нескольких десятков гигабайт. Конечно, это не единственная сфера применения одноранговых сетей (это исходное название сетей такого типа). Например, с помощью них можно производить распределенные вычисления, позволяющие задействовать удаленные компьютеры пользователей для выполнения сложной обработки данных. Но в рамках нашего материала мы будем рассматривать эту технологию, именно как удобный инструмент для файлообмена в сети между пользователями.
Online-курс по Blockchain. Лекция 36. Децентрализованные пиринговые сети
Пиринговые сети имеют свои правила обмена данными между пользователями, а для осуществления самого обмена требуется использование определённых программ. Наверняка многие из вас слышали такие названия, как µTorrent, eMule, Shareaza, KaZaAи прочие, которые упоминаются, как правило, когда речь заходит о получении какой-либо информацией из сети. Но давайте обо все по порядку. В этом материале мы разберемся, что же такое пиринговые сети, а так же обратим внимание на их самые важные и ключевые моменты работы, дабы принцип их существования стал более понятным.
ЧТО ТАКОЕ ПИРИНГОВЫЕ СЕТИ
Для возможности получения доступа к определенной информации, находящейся у разных пользователей, придумали компьютеры объединять в локальные сети, с помощью которых, у людей появилась возможность удаленно обмениваться данными, хранящимися на их устройствах. При этом сами способы организации сетей могут быть разными и иметь свои достоинства и недостатки.
Одним из таковых является вариант, когда все объединённые между собой компьютеры имеют равнозначные функции, то есть, могут, как принимать информацию, выступая в роли сервера, так ее и отдавать, выступая в роли клиента. Такие сети получили название одноранговых или пиринговых (P2P), от английского «peer-to-peer», что дословно можно перевести как, «равный к равному». Еще такие сетевые объединения называют децентрализованными.
ПРИНЦИП РАБОТЫ ПИРИНГОВЫХ СЕТЕЙ
По своей сути пиринговая сеть представляет собой объединение компьютеров, которое базируется исключительно на равноправии всех участников, называемых в таких системах пирами. От клиент-серверной архитектуры, легшую в основу построения Интернета, такие сети отличаются непосредственно тем, что подобная организация способна сохранить работоспособность совершенно всей пиринговой сети при любом количестве доступных узлов (пиров), а также при любом их сочетании. То есть, при работе с обычными сетями все зависит от пропускной способности самого сервера, а в случае пиринговых сетей такого существенного недостатка нет.
Что такое файлообменные сети [простыми словами]?
Что бы более наглядно понять разницу между клиент-серверной и пиринговой архитектурой, давайте рассмотрим пример передачи файла по сети в каждой из них. Любая информация в сети передается небольшими кусочками, так называемыми пакетами. Чтобы передать файл от одного компьютера другому, его тоже необходимо разделить на множество частей (пакетов), которые после скачивания собираются в единое целое на машине пользователя, который этот файл запросил.
В случае, когда используется клиент-серверная модель, вам необходимо найти в сети какой-то определенный сервер с нужным вам файлом и скачать его оттуда. При этом, скорость отдачи файла сервером, будет напрямую зависеть от его пропускной способности и загруженности в этот момент времени. То есть, если будут тысячи желающих получить единовременно какие-то данные с этого узла, то скорость отдачи в этот момент может быть очень низкой, так как возможности сервера будут поделены между всеми запросами. Так же стоит отметить, что в случае какого-либо сбоя в работе сервера, вся информация на нем станет недоступна и вам придется заняться поиском нового источника нужного файла.
С пиринговой моделью передачи данных по сети дела обстоят несколько по-другому. Здесь не нужно находить конкретный сервер (узел), содержащий необходимый вам файл. С помощью специальных каталогов достаточно просто убедиться, что он где-то присутствует в сети. Если объект найден, то вы легко его можете скачать с помощью специальной программы.
Основное отличие от вышеописанного способа заключается в том, что кусочки файла будут приниматься одновременно от нескольких источников. Помните, о чем мы говорили ранее? В одноранговых сетях все компьютеры пользователей являются серверами, а это значит, что закачка файла может вестись одновременно с многих машин, на которых он имеется. Именно поэтому, если каких-то пользователей имеющих нужный вам объект в определенное время не будет в сети, то выручат другие, а скорость получения информации, будет зависеть от количества людей, имеющих ее и конечно, возможностей вашего пропускного канала.
Как уже было сказано ранее, одной из основных сфер применения P2P-сетей является обмен файлами. Описанная выше модель «чистой» одноранговой сети в современной сфере файлообмена практически не встречается.
Несмотря на некоторые преимущества такого варианта, например высокую скорость распространения запросов и надежность самой системы, при такой организации обмена данными, существуют и недостатки. Одним из таковых можно назвать сложность поиска именно тех пользователей, у которых имеется нужный в данный момент времени файл и в тоже время находящихся в сети в активном состоянии. Разрешить эту трудность, удалось с помощью использования гибридных сетей, где все же существуют выделенные серверы, на которые возложены функции координации работы, поиска существующих машин в сети, а так же определения их текущего статуса («в сети» или «не в сети»). Именно такая гибридная модель и была положена в основу большинства современных пиринговых файлообменных сетей.
Для того, что бы пользователь смог стать полноправным участником, той или иной файлообменной сети, необходимо установить на свой компьютер специальную программу-клиент, с помощью которой и будет осуществляться обмен файлами. Причем для разных сетей используется разное программное обеспечение.
ПОПУЛЯРНЫЕ ФАЙЛООБМЕННЫЕ P2P-СЕТИ
В глобальной сети существует несколько десятков крупных файлообменных сетей и огромное количество небольших, например, действующих в рамках одного провайдера. Несмотря на то, что все эти системы являются одноранговыми (децентрализованными) или гибридными (частично децентрализованными) и используют общую концепцию передачи данных, характерную для этих сетей, у каждой из них могут быть свои уникальные принципы и критерии существования, протоколы передачи данных, а так же собственное клиентское программное обеспечение.
К наиболее крупным и популярным файлообменным сетям можно отнести:
- ED2K (eDonkey2000). Для обмена файлами по протоколу MFTP используется клиент eMule или более устаревший Edonkey. Поддержка этого проекта была прекращена разработчиками в 2005 году, правда сама сеть продолжает функционировать.
- BitTorrent – самая популярная файлообменная сеть, с высокой скоростью передачи данных. К основным клиентам можно отнести uTorrent, BitComet, BitSpirit, Azureusи прочие.
- Direct Connect – связанные между собой небольшие хабы (сервера), используемые для поиска информации на компьютерах участников этих сетей. Используется для организации файлового обмена в крупных районных или городских локальных сетях. Основной клиент — DC++.
- Gnutella и Gnutella2 – одноранговые сети в чистом виде, использующие для передачи данных свой собственный протокол, разработанный фирмой Nullsoft. Основные клиенты: Shareaza, LimeWire, Phex, Morpheusи прочие.
- FastTrack. Использует классическую версию протокола P2P, правда в передаче информации участвуют только те источники, которые имеют полные версии файлов. Основные клиенты – KaZaA, giFT(KCeasy) и mlDonkey.
ПРАВИЛА ФАЙЛОВОГО ОБМЕНА В ПИРИНГОВЫХ СЕТЯХ
Как и во множестве иных сообществ, в пиринговых сетях имеется определенный набор своих собственных правил, которых стоит придерживаться и стараться не нарушать. Они, вполне просты и очевидны, однако многие не всегда их выполняют, забывая, что грубые нарушения могут привести к исключению вашего компьютера из системы обмена или как минимум к отказу других пользователей делиться с вами информацией.
Как уже было сказано выше, в основе P2P-сетей лежит принцип равноправия, из которого следует, что файлы нужно не только скачивать, но и обязательно ими делиться. Это самое основное правило, нарушать которое нельзя. Если вы желаете только получать информацию, то в таком случае к вашим услугам множественные файлообменные серверы, типа DepositFiles, Rapidshare, Letitbit, Vip-Files и прочих, использующих клиент-серверную архитектуру. Правда, бесплатно скачивать данные с таких серверов получиться только после просмотра кучи рекламы и на низкой скорости.
Участвуя в обмене файлов в пиринговых сетях желательно больше отдавать информации, чем получать или как минимум делать это в равных частях. Если объем скачиваемой информации будет превышать количество отдаваемой в несколько раз, скорее всего к такому участнику будут применены штрафные санкции, не позволяющие получать данные до тех пор, пока пользователь не начнет ими делиться с другими.
Чтобы не попадать в неприятные ситуации, следует придерживаться нескольких элементарных правил:
- После того, как закончилось скачивание файла, не нужно его сразу удалять. Пока есть возможность, продолжайте держать его на вашем компьютере, чтобы дать возможность другим скачивать его.
- Не перемещайте скаченные файлы сразу же после их загрузки, иначе они станут недоступными для других пользователей.
- Без особой необходимости не стоит занижать скорость исходящего соединения. Естественно, это является определенной нагрузкой на компьютер, однако при низкой скорости отдачи и объемы информации, получаемые от вас другими пользователями, будут малы.
- Помните, что ваши интересы могут не совпадать с интересами других пользователей, так что на всякий случай, держите всегда на своем компьютере несколько популярных файлов, которые будут интересны многим.
ЗАКЛЮЧЕНИЕ
На сегодняшний день, в пиринговых сетях можно найти практически любую информацию: музыка, видеоклипы, фильмы любого качества, игры, программное обеспечение и многое другое. При этом получить все это можно абсолютно бесплатно. Конечно, все это способствует активному развитию файлообмена через P2P-сети, а количество данных, кочующих в таких системах, с каждым годом растет в геометрической прогрессии.
Правда, в последнее время над некоторыми пиринговыми сетями стали сгущаться тучи. А всему виной – распространение через них огромного количества пиратского контента. Вопрос о защите авторских прав при использовании таких сетей сейчас стоит очень остро, ведь распространение таким способом некоторых материалов, безусловно, нарушает авторские права владельцев.
Некоторые правообладатели, пытаясь запретить бесплатное распространение контента, с переменным успехом добиваются запрета или ограничения на функционирование некоторых популярных серверов (трекеров) пиринговых сетей. Дискуссии на эту тему уже давно ведутся, только к какому-то конкретному выводу, равно как и действию, на данный момент, прийти, еще пока не удалось. Как следствие – защищенные копирайтом файлы как распространялись, так все еще и распространяются.
Источник: www.compbegin.ru
Пиринговые сети: история создания, особенности функционирования, плюсы и минусы
Сейчас очень сложно найти человека, который не имеет представления о таких услугах, как цифровое IP-телевидение, бесплатные звонки через интернет. В связи с широкой популярностью такого способа передачи данных очевидным является вопрос о том, что такое пиринговая сеть? Опасно ли быть её пользователем? Какие плюсы и минусы она имеет по сравнению с традиционными формами передачи данных?
Почему потребовалось создание пиринговой сети?
Интернет, не смотря на сравнительно небольшой срок существования, стал средством коммуникации и обменом информации среди жителей различных стран и даже континентов. На всем протяжении своего развития он изменялся, но эти новшества были не значительны. Основной оставалась идея – обмен данными между одним компьютером (клиентом) и другим (клиентом-владельцем) посредством обращения к посреднику (серверу). Проще говоря, вся необходимая информация располагалась на удаленном сервере и любой желающий, подключенный к сети интернет, имел возможность скачать её с сервера.
На первых этапах, когда пользователей было не так много, данный способ существенно увеличил скорость обмена данными. Однако с течение времени, пропускной способности канала передачи не хватало: серверы были перегружены одновременным обращением на него огромного количества пользователей. Необходимо было найти иной способ передачи большого объема информации.
Как образовалась первая пиринговая сеть?
Недавно был найден способ разгрузки удаленных серверов от обилия данных. Так, была организована система, получившая название Napster. Принцип её действия заключался в том, что каждый желающий предоставлял информацию об имеющихся файлах на компьютере. Она регистрировалась и заносилась в базу данных вместе с IP адресом.
Тот, кому эта информация была интересна, мог обратиться напрямую к компьютеру, на котором она располагается. Действовал один принцип – чтобы что-то скачать, нужно что-то выложить. Только в этом случае можно установить соединение с другим компьютером. Данная система получила такую популярность, что за небольшой промежуток времени, она использовалась более чем 70 миллионами пользователей по всему миру.
Примерно по такому же принципу взаимодействуют и современные клиенты пиринговых сетей. Система претерпела некоторые изменения в связи с судебным процессом 2001 года, когда сеть Napster была отсоединена от всемирной сети за массовое нарушение авторских прав. Звукозаписывающие компании и фирмы понесли огромные убытки. Это было связано с тем, что каждый мог выложить в сеть купленных компакт-диск. Большинству не было необходимости приобретать лицензионный вариант.
Основные признаки пиринговых сетей
Современные сети унаследовали основную идею, использованную в системе Napster. Российская пиринговая сеть функционирует на 3-х составляющих:
1) Взаимное использование имеющихся ресурсов. Каждый пользователь, находясь в пиринговой сети, может загружать любой файл с компьютера клиента сети. Широкую популярность, в этом смысле, получили торрент-клиенты. Они действую по принципу: “скачивание-отдача”. Проще говоря, если загружен файл с чужого компьютера размером 700 Мб, то прежде, чем скачать что-то еще, необходимо выложить в сеть файлы, общий размер которых также составляет 700 Мб.
2) Децентрализация сети. Нынешняя организация пиринговых сетей отличается от системы Napster, прежде всего, отсутствием единой базы данных. Каждый компьютер выступает и в роли клиента и в роли сервера. В этом случае, некого отключать и не к кому предъявлять судебные иски, т.к. на одном компьютере находится какая-то часть большого файла.
3) Самоорганизация. В случае необходимости или при наличии широкого и стабильного канала передачи данных, любой компьютер в сети может сам организовать мини-пиринговую сеть, тем самым еще сильнее раздробив файлы, доступные для скачивания.
Несмотря на то, что с момента образования первой подобной системы передачи информации прошло уже более 10 лет, актуальными являются вопросы, пиринговая сеть – что это? По какому принципу они функционирую на данный момент?
Основополагающие начала работы в пиринговых сетях
Современные информационные системы значительно шагнули вперед с момента возникновения системы Napster. Однако основные правила работы в глобальной сети не сильно изменились. Так, пиринговая сеть функционирует на следующих основополагающих началах:
1) Принцип непрерывности. Суть его заключается в том, что после того, как отдельная часть крупного файла была скачана с компьютера-клиента, нельзя его удалять какое-то время. Это не установленный срок. Он необходимо для того, чтобы иные участники сети смогли с вашего компьютера скачать нужный файл, в случае его удаления в том месте, откуда вы его забирали.
2) Принцип сохранения скорости. Без лишней необходимости не нужно тормозить канал передачи данных. Это означает, что после скачивания нельзя сразу отключаться от пиринговой системы. В противном случае, все её участники получат существенно “урезанную” скорость скачивания файла.
3) Принцип добросовестности. Если пользователь находит нужный файл в сети, ему следует сразу поделиться с кем-нибудь имеющимися на его компьютере данными. Наглядное представление выполнения этого принципа можно наблюдать в торрент-трекерах: чем больше отдашь файлов, тем больше скачаешь (действует рейтинговая система).
Таким образом, на вопрос о том, “пиринговая сеть – что это?” можно дать неопределенный ответ: совокупность компьютеров, выполняющих роль сервер-клиента и сервер-владельца, обменивающиеся между собой определенными массивами информационных данных.
Пиринговые файлообменные сети: в чем смысл их создания?
Традиционное использование интернет сетей – скачивание музыки, видео, изображений. Однако развитие пиринговых сетей с высокой пропускной способностью открыли возможности и для их использования в качестве инструмента осуществления сложных и массивных вычислений.
На данный момент, технология пиринговых файлообменных сетей используется очень широко. Главным образом
– передача данных на большом расстоянии для неограниченного круга лиц (Bit-torrent).
Важно также отметить, что современные сети организованы по 2-м принципам: с созданием центрального сервера, и без его создания. Каждый из вариантов имеет свои плюсы и минусы.
Популярные пиринговые сети: особенности функционирования “eDonkey 2000”
Эта сеть работает с посредником в виде удаленного сервера. В данном случае, этот сервер играет роль “путеводителя” – компьютер – клиент может найти нужную информацию среди всех участников сети.
Важно отметить, что соединение осуществляется напрямую с компьютером, на котором находится нужный файл. Проще говоря, после скачивания данных, ваш ПК становится местом, откуда другие пользователи могут скачать нужную для них информацию. Примечательно, что нужный файл будет доступен для загрузки даже в случае, если он будет переименован (они имеют универсальную индексацию – свой номер). Чтобы воспользоваться услугами данной системы, нужна специализированная программа для пиринговых сетей.
Пользовательская сеть “Kazaa”
Считается наиболее популярной пирингевой сетью. К плюсам данной системы можно отнести возможность скачивания небольших файлов у нескольких пользователей одновременно, докачивание файлов в случае системного сбоя, поиск исчерпывающей информации по заданным критериям: исполнитель, год выпуска композиции и т.д.
Что касается минусов, то в связи с разбивкой одного файла на составляющие, скачанные компоненты представлены в виде “kazaxxxxx.dat”. Независимо от того, на каком моменте остановлено скачивание, на выходе вы получите сотню одинаковых файлов. Немало важным является и тот факт, что настройка пиринговой сети производится только для платформы Windows. Иного программного обеспечения на официальном сайте компании не представлено.
Пиринговая система Gnutella
Еще один пример работы сети без центрального сервера – “Gnutella”. Принцип работы – прямое подключение к источнику данных, т.е. компьютеру с нужной информацией. На данный момент эта система не пользуется широкой популярностью. Это связано с тем, что протоколы передачи данных с центральным сервером отличаются стабильной структурой, широкополостным соединением (высокая скорость передачи, исключая стороннее влияние).
К тому же, спад популярности связан с тем, что основной объем информации раздается несколькими компьютерами. Все остальные лишь пользуются. К плюсам следует отнести широкий выбор платформ для использования – Linux, Windows, Mac.
Роль пиринговых сетей в современном информационном обществе
С учетом активного развития подобных сетей можно сделать вывод, что весь интернет, в ближайшем будущем, будет функционировать по тому же принципу. Уже сейчас большинство пользователей глобальной сети пользуются результатами преобразований, совершенных в телекоммуникационной сфере. Например, пиринговая сеть МТС объединяет миллионы владельцев сотовых аппаратов, позволяя взаимодействовать между собой.
Что касается пользы предпринимательскому делу, то в ближайшем будущем прогнозируется увеличение количества судебных процессов, касающихся защиты авторских прав. Это обусловлено тем, что отпадет необходимость в приобретении лицензионной продукции: один MP3-диск можно распространить среди миллионов пользователей.
Немаловажную роль играет и влияние систем передачи информации на интернет-телевидение. Например, уже сейчас пиринговая сеть Билайн применяет уникальные протоколы, позволяющие подключиться к спутниковому телевидению без приобретения дополнительного оборудования. Подобная форма взаимодействия множества пользователей стремительно набирает популярность.
Таким образом, отвечая на вопрос, “пиринговая сеть – что это?” важно учитывать перспективы, которые она открывает в мире глобального информационного обмена. В настоящее время эта система позволяет передавать огромное количество файлов с оборудования, которое расположено на другом конце мира. Если надеется способ оптимизировать канал передачи, существенно расширятся возможности применения пиринговых сетей в оборонных целях государств.
Что касается защиты авторских прав, то, начиная с момента образования идеи передачи данных на огромные расстояния, права владельцев этой информации будут нарушены. Однако поиск компромисса, связанного с созданием такой системы, когда массивы данных передаются без нарушения прав третьих лиц, не лишен смысла.
В любом случае, создание нового программного обеспечена, оптимизация пиринговых сетей на различные рабочие платформы (Mac, Linux) – все это направлено на глобальную информатизацию общественной жизни, упрощение и снижение времени, затрачиваемого на поиск информации в сети интернет.
Поставь лайк, это важно для наших авторов, подпишись на наш канал в Яндекс.Дзен и вступай в группу Вконтакте
Источник: liveposts.ru
Что такое P2P. Объясняем простыми словами
P2P (от англ. peer-to-peer, person-to-person — от человека к человеку, от равного к равному) — одноранговая, равноправная, партнёрская модель взаимодействия «на равных». Она ещё называется пиринговая.
Изначально термин P2P применяли к передаче данных внутри одноранговых компьютерных сетей. В таких сетях все компьютеры (участники сети) равноправны. В том числе каждый может выполнять и функции сервера, где хранятся файлы, и функции клиента, скачивающего их.
По подобной модели работает то, что мы привыкли называть «торренты». Программы (клиенты), поддерживающие эту технологию используют специальный пиринговый сетевой протокол (который называется Bittorrent), одной из его особенностей является то, что каждый участник сети, который скачал любой фрагмент передаваемого файла на своё устройство, может раздать его другим участникам.
В бизнесе о P2P говорят, когда речь идёт о:
- P2P-платежах — это платежи между физическими лицами. Как правило, это переводы между картами или банковскими счетами, которые проводят с использованием мобильных приложений.
- P2P-инвестициях (краудлендинг) — способ финансирования, когда площадка напрямую соединяет инвестора и заёмщика.
- P2P-кредитовании — это способ равноправного кредитования, когда площадка позволяет дать в долг или занять деньги без участия банка или другой финансовой организации.
Примеры употребления на «Секрете»
«Естественно, сложно пропустить компанию Zopa. Эти парни первыми в мире запустили успешный проект по розничному P2P-кредитованию. Сделали они это гораздо раньше американских аналогов Lending Club или Prosper».
(Сооснователь компании ID Finance Александр Дунаев — о стартапах, меняющих мировую финансовую систему/)
«По сути, первый значительный пласт работ для фаундеров P2P-проекта, кроме разработки действительно хорошего продукта, — это привлечение максимального количества партнёров. Именно от них будет зависеть судьба вашего сервиса, ведь, если не получится привлечь продавцов, не придут и покупатели. Наладить эти отношения — непростая задача».
(Сооснователь сервиса для предзаказа еды FoodBerry Василий Мазанюк — в колонке о том, как новичку стать партнёром больших компаний/)
Нюансы
P2P-кредитование рискованно для кредиторов. Обычно сервисами такого кредитования пользуются люди, которым важно взять заём без залога. Поэтому проверить заёмщиков сложно и стопроцентных гарантий возврата нет. Зато ставки по подобным кредитам довольно высоки (речь идёт о десятках процентов годовых).
P2P-инвестиции в мелкий бизнес тоже имеют высокие риски. Нередко компании объявляют дефолт, и все платежи инвестору от них прекращаются. Кроме того, на виртуальных финансовых площадках есть минимальный срок инвестиций, в течение которого деньги нельзя вывести с брокерского счёта. «P2P-инвестиции содержат в себе множество подводных камней», — подтвердил «Секрету» основатель сервиса для инвесторов BlackTerminal.ru Виталий Иванов.
P2P-платежи удобны для физических лиц, и поэтому могут сослужить хорошую службу для бизнеса. Причём речь идёт не только о благотворительности или краудфандинге. За рубежом некоторые рестораны устанавливают P2P-платежи в своих приложениях. Таким образом они создают своим гостям комфортные условия для оплаты счёта — большим компаниям удобно таким образом разделить чек.
Источник: secretmag.ru
P2P: где используются одноранговые сети
Децентрализованные технологии существовали задолго до того, как криптовалюты принесли им популярность. Основой современных блокчейнов послужили P2P-сети. В статье рассказываем, какие бывают одноранговые сети и где они используются.
- P2P: где используются одноранговые сети
- Шифрование в блокчейне: на пальцах
- Блокчейн — цепочка блоков транзакций. Разбираем определение по словам
- Шифрование в блокчейне: зачем нужна цифровая подпись
- Принцип работы блокчейна: кто создает блоки
- Для каких целей и задач подходит блокчейн
Что такое архитектура сети
Архитектурой сети называется принцип, по которому происходит обмен информацией в интернете. Выделяют два основных типа архитектур: «клиент-сервер» и P2P.
Когда вы общаетесь с человеком вживую, вы обмениваетесь информацией напрямую. Но если вы переписываетесь в WhatsApp, процесс превращается в длинную цепочку действий. Два шага этой цепочки — изменение цвета и количества галочек под каждым сообщением. Сервером здесь выступает мессенджер, который хранит, обрабатывает и передает информацию. А клиентом — собеседники, которые отправляют и получают информацию.
В примере с WhatsApp, архитектура называется «клиент-сервер». Это самый распространенный тип — с 1970-х годов подобным образом работают все сайты в интернете.
Альтернативой такому методу является сеть, в которой люди общаются между собой без посредника. В интернете подобную архитектуру удалось реализовать лишь в 1990-х годах. Каждое устройство в такой сети может выполнять одновременно и роль сервера и роль клиента. Такую архитектуру называют P2P.
P2P — сеть, в которой нету центрального элемента и передача информации происходит напрямую. Встречаются и другие названия данной архитектуры: «одноранговые сети», «пиринговые сети», «peer to peer». Все эти термины равнозначны.
Рассмотрим разные типы P2P-сетей подробнее.
Как работает P2P-сеть: обмен файлами
Если вашему другу необходимо передать вещи, а сделать это лично невозможно, приходится обращаться к посреднику. Вы упаковываете вещи и передаете их курьеру, курьер — отвозит вещи по нужному адресу, а ваш друг их забирает. У каждого человека в этой цепочке своя функция. Если подобное происходит в интернете, то говорят, что у каждого узла в сети своя роль.
P2P-сети стали популярны благодаря первым программам для обмена файлами. Принцип их работы заключается в том, что пользователи могут открывать доступ к выбранным файлам на компьютере. Используя поиск, любой пользователь может найти у другого участника файлообменной сети нужные файлы и скачать их напрямую.
Самая известная файлообменная сеть P2P — программа BitTorrent . P2P-cеть отличается от других тем, что обмен файлами происходит по частями. Каждый клиент, скачивая эти части, в то же время закачивает их другим клиентам. Это снижает нагрузку и значимость у каждого отдельного узла.
Как устроены пиринговые сети: электронные платежи
Теперь представим, что другу необходимо отправить деньги. Современная платежная система устроена централизовано — обработкой и регистрацией всех транзакций занимаются банки. Люди платят банкам за то, что они выступают посредниками и обеспечивают надежность и сохранность их денег.
Для создания платежной системы, которая могла бы регулироваться без постороннего воздействия, используется блокчейн. Каждый узел хранит копию всех данных и сравнивает ее с копиями остальных узлов, чтобы убедиться в точности. Таким образом, пиринговые сети на блокчейне быстро реагирует на любые вредоносные действия или неточности.
Впервые пример подобной пиринговой сети был описан в 2008 году, когда создавался Биткоин. Разработчики называют свою криптовалюту «P2P системой электронной наличности» («a P2P Electronic Cash System»). Отправка биткоинов на другой кошелек означает создание записи о том, что у криптовалюты изменился владелец. Чтобы запись призналась верной, ее должны подтвердить другие участники сети. Таким образом, удается обойтись без вмешательства посредника с более высокими полномочиями.
Применение P2P в других сферах
P2P придумали IT-специалисты, но подобный подход используют и экономисты. В области финансов под этим термином понимают обмен цифровых активов без посредников. P2P-платформы связывают покупателей с продавцами и кредиторов с заемщиками.
P2P-обменник Bitzlato представляет собой доску объявлений для покупки и продажи криптовалют. Пользователи находят друг друга и определяют условия сделки лично. Например, можно найти человека, который хочет продать биткоин по текущему курсу и получить деньги на карту Сбербанка. Bitzlato лишь поможет защитить сделку, заблокировав криптовалюту на время сделки. Обычные обменники менее выгодны, так как назначают завышенный курс и взимают комиссии с каждой сделки.
Заключение
Одноранговые типы сетей служат альтернативой модели «клиент- сервер». Технология обеспечивает безопасность, децентрализацию и устойчивость к цензуре. P2P послужила основой для создания файлообменников, криптовалют и множества децентрализованных приложений.
Источник: maff.io
Пиринговая сеть base.network
«Свобода — это возможность сказать, что дважды два – четыре. Если дозволено это, всё остальное отсюда следует.»
Джордж Оруэлл — «1984»
В современном мире активно развиваются различные распределенные технологии. Уже не первый год успешно функционируеют такие проекты как пиринговая платежная система Bitcoin, распределенные микроблоги (Twister), распределенные мессенджеры (например, Tox). Дошло дело и до полноценных распределенных сайтов.
Частично функционал распределённых сайтов уже реализован в таких проектах как Freenet и I2P. Однако подобные проекты имеют ряд недостатков. Например, в настоящее время Freenet не может быть использован для создания или распространения динамического контента, такого, который использует базы данных или скрипты.
Для доступа к подобным сетям часто необходимо устанавливать специальное программное обеспечение или скачивать базы данных огромных размеров. Многие пиринговые сети имеют большое время отклика. Между публикацией информации и тем когда ее увидят остальные пользователи проходит немало времени.
Предлагаемая система base.network призвана устранить подобные недостатки пиринговых сетей и объединить в себе все технические преимущества централизованных систем со свободой обмена информации в распределенных сетях.
Это своего рода попытка создать защищённую децентрализованную сеть с малым временем отклика и свойствами автономности, отказоустойчивости и масштабируемости. Ключевой целью проекта является способность функционировать даже под давлением организаций, осуществляющих контроль, пресечение публикации, а также ограничение доступа к информации в Интернете. Все аспекты проекта доступны в виде открытого исходного кода и бесплатны. Это позволяет убедиться, что программное обеспечение делает именно то, что заявлено, и дает возможность всем разработчикам совершенствовать защиту сети от попыток ограничить свободное распространение информации.
base.network — Что это?
Это одноранговая сеть предназначенная для децентрализованного распределённого хранения данных без возможности их цензурирования. Система не имеет центральных серверов и не находится под контролем каких-либо частных лиц или организаций. Создана с целью предоставить пользователям свободу слова в онлайн-пространстве.
Система работает на основе объединения в общий кластер серверных нод, предоставляемых членами сети на безвозмездной основе. Все данные равномерно распределены между серверными нодами и не требуют центрального хранилища. Участники предоставляют полосу пропускания и дисковое пространство своих серверов для публикации или получения в Сети разного рода информации. Например, файлы, структуры данных и упорядоченные списки.
Как результат, подобная схема хранения данных позволяет реализовать динамические приложения, такие как блоги, новостные каналы, комментарии, закрытые групповые переписки, медиа листы, поисковые индексы и каталоги. Особенностью этих приложений является стойкость к перебоям обусловленная децентрализованной архитектурой системы. Еще одна важная особенность — невозможность цензурирования со стороны третьих лиц, в том числе со стороны разработчиков приложений.
Все данные залитые в систему обязательно подписываются автором, используя для этого криптосистемы с открытым ключом. Проверить авторство тех или иных данных всегда можно зная публичный ключ автора. В качестве криптографического алгоритма для создания цифровой подписи и шифрования данных в системе используется асимметричный алгоритм шифрования с открытым ключом основанный на ECDSA (Elliptic Curve Digital Signature Algorithm) с длиной ключа 256 бит (в частности, используется кривая secp256k1) и хеш функция SHA-256.
Как устроена сеть
В системе, в отличии от других пиринговых сетей, разделяется понятие сервера и клиента. Клиентским ПО является обычный браузер, что делает сеть более доступной в использовании для рядового пользователя по сравнению со многими другими пиринговыми сетями.
Все данные сети хранятся на серверах, предоставляемых участниками на безвозмездной основе. В идеале выделенные серверные узлы имеют доступ к хорошему интернет-каналу, что позволяет пользователям получить быстрый доступ к ресурсам сети.
Итак, участники системы для поддержания сети предоставляют свои серверные ресурсы. Для этого они устанавливают специальное серверное ПО, которое по сути представляет собой небольшой веб-сервер и БД в одном лице — так называемая серверная нода. Для работы ноды необходимо выделить внешний IP адрес (v4) и свободный порт.
Хранение данных
Для начала, чтобы понять организацию хранения данных, представим, что все пространство сети ограничено строго заданным объемом, скажем, в 32 ГБ. Таким образом, сеть превращается в огромную хеш-таблицу, где каждый документ по его хеш-адресу будет строго иметь свое место в виртуальном пространстве сети.
Чтобы не хранить все данные сети на одной физической машине (как это сделано, например, в системе Bitcoin) разделим всё наше виртуальное пространство на некоторое количество сегментов. Для начала, поделим его, скажем, на 8 сегментов. Каждый сегмент по 4ГБ.
Теперь выделенные физические машины могут по отдельности обслуживать отдельные сегменты, без необходимости хранить полную копию базы, а лишь её кусочек. Каждая такая серверная нода может поддерживать несколько сегментов сети. Один же сегмент будет обслуживаться несколькими независимыми нодами. Зная физические адреса машин, и имея информацию о том какие сегменты какими машинами обслуживаются, мы всегда можем получить доступ к отдельному документу по его адресу. Доступ к нодам осуществляется посредством стандартного http-протокола.
После добавления данных пользователями на одну из нод, информация тут же синхронизируется между всеми нодами, обслуживающими тот же сегмент, используя для этого тот же http-протокол.
Кольца
Выше было оговорено, что пространство сети ограничено определённым объемом (32 ГБ) и сеть таким образом работает как огромная хеш-таблица. Все это верно для виртуального пространства, ограниченного в рамках одного так называемого Кольца.
Система колец была разработана для того, чтобы свободно масштабировать виртуальное хранилище сети и строго не ограничивать её пространство. По мере наполнения данными текущих колец, сетью будут задействованы следующие виртуальные кольца.
Количество сегментов для каждого следующего кольца увеличивается в 8 раз, размер сегментов в свою очередь тоже увеличивается в несколько раз. Если точнее, в количество раз кратное двум, для разных типов хранилищ это число будет разным (см. ниже Типы хранилищ). Таким образом, суммарный объем каждого следующего кольца на порядок превышает размер предыдущего и позволяет размещать все больше и больше данных. Потенциальный рост популярности сети и, как следствие, рост числа машин дает возможность обслуживать следующие кольца, позволяя сети осуществлять по сути неограниченный рост.
Например, для хранения файлов количество сегментов в первом кольце равно 8. Во втором 64. и т.д. Размеры сегментов увеличиваются в 2 раза. Объем каждого следующего кольца, таким образом, увеличивается в 16 раз. И, к примеру, для третьего кольца он составит 16 ТБ. А для 5-го уже 4 ПБ!
В нулевом кольце всегда располагается один сегмент. Обычно в нем содержится ключевая для сети информация.
Ноды
Как и было сказано выше, ноды представляют собой небольшой веб-сервер с выделенным IP-адресом и портом. Каждый узел сети имеет информацию об остальных ее участниках. Получить карту всей сети можно сделав специальный http-запрос к любой ноде.
curl http://5.9.123.140:8080/-/nodes
При первом подключении к системе нода пытается получить карту сети, связавшись хотя бы с одной из нод, указанных в ее изначальном списке.
Версию серверного ПО конкретной ноды, какие сегменты ею обслуживаются, насколько они заполнены, также можно получить сделав следующий http-запрос:
curl http://5.9.123.140:8080/-/about ,»N»:,»F»:,»P»:,»D0″:,»D1″:,»D2″:,»D3″:,» . , «updated»:1441639911027>
После синхронизации информации, нода сообщает о себе остальным участникам. Они в свою очередь, убедившись что новая нода корректна, обновляют свою карту сети.
Адресация документов
Для получения (или сохранения) какого-либо документа в сети нам необходимо знать его адрес. Адресом может выступать любой строковый идентификатор. От этого строкового адреса вычисляется хеш (используя алгоритм SHA-256) — так называемый uid (уникальный идентификатор документа). Для файлов подобным идентификатором выступает хеш от содержимого файла. Первые разряды полученного хеша будут говорить нам о номере сегмента, в котором располагается документ. Например,
document URI:
D2/my-domain.base/path/document.txt
my-domain.base/path/document
uid — sha256(path) (hex):
49ea72cbd1de7f2d. 3cf23d49778
2236516262750736. 44365113570
document`s coordinates:
storage: D ring: 2 uid: 49ea72cbd1de7f. f23d49778 segment: D22
Теперь, зная номер сегмента и список нод, обслуживающих этот сегмент, а также их внешние IP-адреса и порты, мы можем обратиться к любой физической машине и запросить документ обычным http-запросом. Для формирования подобных запросов у пользователя нет необходимости ставить специальное ПО. В качестве клиентского ПО может выступать обычный браузер.
Все данные сети имеют автора. Во время публикации каждый документ обязательно должен иметь свою цифровую подпись, которая формируется закрытым ключом его автора. Впоследствии авторство каждого документа может быть проверено при помощи его открытого ключа.
- storage — Тип хранилища. Указывается в виде одного символа. Например F,N,D,P
- ring — номер кольца в хранилище (integer)
- uid — уникальный идентификатор ресурса (hex64)
- extention — расширение файла. Говорит о типе содержимого.
- aid — уникальный идентификатор автора (хеш от его публичного сертификата длиной 20 символов), необходим в случае, когда мы запрашиваем информацию только конкретного автора для указанного адреса.
F1/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt D4/930bbc0fa952dcc8eb7e8a711ac953c61f76f86fecd1ba7b0b5c4e74834e12bf?aid=Ipf8SOrpxbgYnNMXszFk
Типы хранилищ
- F — файловое хранилище
- N — хранилище доменных имен, сертификаты
- D — списки данных одного автора
- P — публичные списки данных
Файловое хранилище (тип хранилища F)
Файлы, в отличие от строковых данных, имеют некоторую специфику в адресации. Адресом файла (его uid-ом) выступает хеш sha-256 от его содержимого. Таким образом, один и тот же файл, залитый в сеть различными пользователями, будет иметь один и тот же адрес. Убедиться в том, что по заданному адресу возвращается корректное содержимое, можно проверив его хеш. Тип содержимого (Content-Type) файла указывается непосредственно в ссылке в виде расширения (extention).
Например, следующей ссылке
F1/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt
- storage=F — тип хранилища “Files”,
- ring=1 — первое кольцо,
- uid=ef43. a3a0 — уникальный идентификатор файла,
- extention=txt — расширение файла, которому соответствует тип содержимого (content-type) “text/plain”
curl -i http://5.9.123.140:8080/-/F7/data/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt HTTP/1.1 200 OK Content-Type: text/plain; charset=utf-8 Cache-Control: max-age=315360000, public Expires: Sun, 17 Aug 2025 15:18:30 GMT Access-Control-Expose-Headers: x-base-author x-base-author: AA3Evvx1AR. i8UONOm92Q== Connection: keep-alive Transfer-Encoding: chunked TEST FILE
Теперь проверим хеш от содержимого полученного документа:
curl http://5.9.123.140:8080/-/F7/data/ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0.txt|shasum -a 256 ef43c9adc8aeec6910b4373ba0d9fbf28048ed53ec631ab9fd6fa8ad00a8a3a0 —
Все в порядке: он соответствует нашему запрашиваемому uid.
Ниже приведена таблица соответствий количества сегментов и размера кольца в зависимости от его номера для файлового типа хранилища.
Params of F-storage
Size of segment GB
Count of segments
TOTAL SIZE OF RING
Max Size of Data Pack, KB
Источник: habr.com