Одноранговые ( P2P ) вычисления или сети — это распределенная архитектура приложений , которая распределяет задачи или рабочие нагрузки между узлами. Пиры — это равноправные и равноправные участники сети, образующие одноранговую сеть узлов . [1]
Одноранговые узлы делают часть своих ресурсов, таких как вычислительная мощность, дисковое хранилище или пропускная способность сети , доступной напрямую другим участникам сети без необходимости централизованной координации со стороны серверов или стабильных хостов. [2] Одноранговые узлы являются одновременно поставщиками и потребителями ресурсов, в отличие от традиционной модели клиент-сервер , в которой потребление и поставка ресурсов разделены. [3]
Хотя P2P-системы ранее использовались во многих областях применения , [4] эта архитектура была популяризирована системой обмена файлами Napster , первоначально выпущенной в 1999 году . [5] Эта концепция вдохновила новые структуры и философии во многих областях человеческого взаимодействия. В таких социальных контекстах одноранговая сеть как мем относится к эгалитарным социальным сетям , возникшим во всем обществе благодаря Интернет- технологиям в целом.
Хотя системы P2P ранее использовались во многих областях приложений, [4] эта концепция была популяризирована системами обмена файлами , такими как приложение для обмена музыкой Napster . Одноранговое движение позволило миллионам пользователей Интернета подключаться «напрямую, формируя группы и сотрудничая, чтобы стать созданными пользователями поисковыми системами, виртуальными суперкомпьютерами и файловыми системами». [6] Основная концепция одноранговых вычислений была предусмотрена в более ранних дискуссиях по программным системам и сетям, возвращаясь к принципам, изложенным в первом запросе на комментарии , RFC 1. [7]
Представление Тима Бернерса-Ли о Всемирной паутине было близко к P2P-сети, поскольку оно предполагало, что каждый пользователь сети будет активным редактором и участником, создающим и связывающим контент для формирования взаимосвязанной «сети» ссылок. Ранний Интернет был более открытым, чем современный, когда две машины, подключенные к Интернету, могли отправлять пакеты друг другу без брандмауэров и других мер безопасности. [8] [6] [ нужна страница ] Это контрастирует с вещательной структурой сети, которая развивалась на протяжении многих лет. [9] [10] [11] Будучи предшественником Интернета, ARPANET была успешной одноранговой сетью, в которой «каждый участвующий узел мог запрашивать и обслуживать контент». Однако ARPANET не была самоорганизованной и не могла «предоставить какие-либо средства для контекстной или контентной маршрутизации, кроме «простой» маршрутизации на основе адреса». [11]
Поэтому была создана Usenet , распределенная система обмена сообщениями, которую часто называют ранней одноранговой архитектурой. Он был разработан в 1979 году как система, обеспечивающая децентрализованную модель контроля. [12] Базовая модель представляет собой модель клиент-сервер с точки зрения пользователя или клиента, которая предлагает самоорганизующийся подход к серверам групп новостей. Однако серверы новостей взаимодействуют друг с другом как одноранговые для распространения новостных статей Usenet по всей группе сетевых серверов. То же самое относится и к электронной почте SMTP в том смысле, что основная сеть агентов передачи почты , ретранслирующая электронную почту , имеет одноранговый характер, в то время как периферия почтовых клиентов и их прямые соединения представляют собой строго отношения клиент-сервер. [ нужна цитата ]
В мае 1999 года, когда миллионы людей стали пользоваться Интернетом, Шон Фаннинг представил приложение для обмена музыкой и файлами под названием Napster. [11] Napster положил начало одноранговым сетям, какими мы их знаем сегодня, где «участвующие пользователи создают виртуальную сеть, полностью независимую от физической сети, без необходимости подчиняться каким-либо административным полномочиям или ограничениям». [11]
Одноранговая сеть спроектирована на основе идеи равноправных узлов , одновременно функционирующих как «клиенты» и «серверы» для других узлов сети. Эта модель организации сети отличается от модели клиент-сервер , где связь обычно осуществляется с центральным сервером. Типичным примером передачи файлов, использующей модель клиент-сервер, является служба протокола передачи файлов (FTP), в которой клиентские и серверные программы различны: клиенты инициируют передачу, а серверы удовлетворяют эти запросы.
Одноранговые сети обычно реализуют некоторую форму виртуальной оверлейной сети поверх топологии физической сети, где узлы оверлея образуют подмножество узлов физической сети. Обмен данными по-прежнему происходит напрямую через базовую сеть TCP/IP , но на прикладном уровне узлы могут взаимодействовать друг с другом напрямую через логические оверлейные каналы (каждый из которых соответствует пути через базовую физическую сеть). Оверлеи используются для индексации и обнаружения одноранговых узлов и делают систему P2P независимой от топологии физической сети. В зависимости от того, как узлы связаны друг с другом внутри оверлейной сети и как ресурсы индексируются и располагаются, мы можем классифицировать сети как неструктурированные или структурированные (или как гибрид между ними). [13] [14] [15]
Неструктурированные одноранговые сети не навязывают определенную структуру оверлейной сети по своей конструкции, а скорее формируются узлами, которые случайным образом образуют соединения друг с другом. [16] ( Gnutella , Gossip и Kazaa — примеры неструктурированных P2P-протоколов). [17]
Поскольку им не навязывается глобальная структура, неструктурированные сети легко построить и позволяют проводить локализованную оптимизацию для различных областей наложения. [18] Кроме того, поскольку роль всех одноранговых узлов в сети одинакова, неструктурированные сети очень устойчивы к высоким темпам «оттока», то есть, когда большое количество одноранговых узлов часто присоединяются к сети и покидают ее. [19] [20]
Однако основные ограничения неструктурированных сетей также возникают из-за отсутствия структуры. В частности, когда одноранговый узел хочет найти в сети желаемый фрагмент данных, поисковый запрос должен пройти через сеть, чтобы найти как можно больше одноранговых узлов, которые совместно используют эти данные. Флуд вызывает очень большой объем сигнального трафика в сети, использует больше ресурсов ЦП /памяти (требуя от каждого узла обработки всех поисковых запросов) и не гарантирует, что поисковые запросы будут всегда разрешаться. Более того, поскольку нет никакой корреляции между узлом и контентом, которым он управляет, нет никакой гарантии, что лавинная рассылка найдет узел, имеющий нужные данные. Популярный контент, скорее всего, будет доступен на нескольких узлах, и любой узел, ищущий его, скорее всего, найдет то же самое. Но если пир ищет редкие данные, которыми пользуются лишь несколько других пиров, то маловероятно, что поиск будет успешным. [21]
В структурированных одноранговых сетях наложение организовано в определенную топологию, и протокол гарантирует, что любой узел может эффективно [22] искать в сети файл/ресурс, даже если этот ресурс крайне редок. [17]
Наиболее распространенный тип структурированных P2P-сетей реализует распределенную хеш-таблицу (DHT), [23] [24] в которой вариант последовательного хеширования используется для присвоения права собственности на каждый файл конкретному узлу. [25] [26] Это позволяет узлам искать ресурсы в сети с использованием хеш-таблицы : то есть пары ( ключ , значение ) хранятся в DHT, и любой участвующий узел может эффективно получить значение, связанное с данным ключом. . [27] [28]
Однако для эффективной маршрутизации трафика через сеть узлы структурированного оверлея должны поддерживать списки соседей [29] , которые удовлетворяют определенным критериям. Это делает их менее надежными в сетях с высокой скоростью оттока (т. е. с большим количеством узлов, часто присоединяющихся к сети и покидающих ее). [20] [30] Более поздняя оценка решений по обнаружению ресурсов P2P при реальных рабочих нагрузках выявила несколько проблем в решениях на основе DHT, таких как высокая стоимость рекламы/обнаружения ресурсов, а также статический и динамический дисбаланс нагрузки. [31]
Известные распределенные сети, использующие DHT, включают Tixati , альтернативу распределенному трекеру BitTorrent , сеть Kad , ботнет Storm и YaCy . Некоторые известные исследовательские проекты включают проект Chord , Kademlia , утилиту хранения PAST , P-Grid , самоорганизующуюся и развивающуюся оверлейную сеть, а также систему распространения контента CoopNet . [32] Сети на основе DHT также широко используются для эффективного обнаружения ресурсов [33] [34] для сетевых вычислительных систем, поскольку это помогает в управлении ресурсами и планировании приложений.
Гибридные модели представляют собой комбинацию одноранговых и клиент-серверных моделей. [35] Распространенной гибридной моделью является наличие центрального сервера, который помогает узлам находить друг друга. Spotify был примером гибридной модели [до 2014 года]. [ нужна цитация ] Существует множество гибридных моделей, каждая из которых обеспечивает компромисс между централизованной функциональностью, обеспечиваемой структурированной сетью сервер/клиент, и равенством узлов, обеспечиваемым чистыми одноранговыми неструктурированными сетями. В настоящее время гибридные модели имеют более высокую производительность, чем чистые неструктурированные сети или чисто структурированные сети, поскольку некоторые функции, такие как поиск, требуют централизованной функциональности, но получают выгоду от децентрализованной агрегации узлов, обеспечиваемой неструктурированными сетями. [36]
CoopNet (Кооперативная сеть) — это предложенная система для разгрузки обслуживания одноранговым узлам, которые недавно загрузили контент, предложенная учеными-компьютерщиками Венкатой Н. Падманабханом и Кунвади Срипанидкулчай, работающими в Microsoft Research и Университете Карнеги-Меллона . [37] [38] Когда сервер испытывает увеличение нагрузки, он перенаправляет входящие узлы другим узлам, которые согласились зеркалировать контент , тем самым разгружая баланс с сервера. Вся информация сохраняется на сервере. В этой системе используется тот факт, что узким местом, скорее всего, является исходящая полоса пропускания, а не ЦП , поэтому ее конструкция ориентирована на сервер. Он назначает одноранговые узлы другим узлам, которые «близки по IP » к его соседям [тот же диапазон префиксов] в попытке использовать локальность. Если с одним и тем же файлом обнаружено несколько узлов, это означает, что узел выбирает самого быстрого из своих соседей. Потоковое мультимедиа передается за счет того, что клиенты кэшируют предыдущий поток, а затем передают его по частям на новые узлы.
Одноранговые системы создают уникальные проблемы с точки зрения компьютерной безопасности .
Как и любое другое программное обеспечение , P2P-приложения могут содержать уязвимости . Однако что делает это особенно опасным для P2P-программного обеспечения, так это то, что одноранговые приложения действуют как серверы, так и клиенты, а это означает, что они могут быть более уязвимы для удаленных эксплойтов . [39]
Поскольку каждый узел играет роль в маршрутизации трафика через сеть, злоумышленники могут выполнять различные «атаки маршрутизации» или атаки типа «отказ в обслуживании» . Примеры распространенных атак на маршрутизацию включают в себя «неправильную маршрутизацию с поиском», когда злонамеренные узлы намеренно пересылают запросы неправильно или возвращают ложные результаты, «неправильные обновления маршрутизации», когда вредоносные узлы повреждают таблицы маршрутизации соседних узлов, отправляя им ложную информацию, и «неправильный сетевой раздел маршрутизации». «где при присоединении новых узлов они загружаются через вредоносный узел, который помещает новый узел в раздел сети, заполненный другими вредоносными узлами. [40]
Распространенность вредоносного ПО варьируется в зависимости от различных одноранговых протоколов. Исследования, анализирующие распространение вредоносного ПО в P2P-сетях, показали, например, что 63% отвеченных запросов на загрузку в сети gnutella содержали ту или иную форму вредоносного ПО, тогда как только 3% контента OpenFT содержали вредоносное ПО. В обоих случаях подавляющее большинство случаев пришлось на три наиболее распространенных типа вредоносного ПО (99% у gnutella и 65% у OpenFT). Другое исследование, анализирующее трафик в сети Kazaa , показало, что 15% из 500 000 взятых образцов файлов были заражены одним или несколькими из 365 различных компьютерных вирусов , которые были проверены. [41]
Поврежденные данные также могут распространяться в сетях P2P путем изменения файлов, которые уже доступны в сети. Например, в сети FastTrack RIAA удалось добавить поддельные фрагменты в загружаемые файлы и файлы (в основном файлы MP3 ). Файлы, зараженные вирусом RIAA, впоследствии были непригодны для использования и содержали вредоносный код. Также известно, что RIAA загружала фейковую музыку и фильмы в P2P-сети, чтобы предотвратить незаконный обмен файлами. [42] Следовательно, в сегодняшних P2P-сетях значительно возросли механизмы безопасности и проверки файлов. Современное хеширование , проверка фрагментов и различные методы шифрования сделали большинство сетей устойчивыми практически к любому типу атак, даже если основные части соответствующей сети были заменены поддельными или нефункциональными хостами. [43]
Децентрализованный характер P2P-сетей повышает надежность, поскольку устраняет единственную точку отказа , которая может быть присуща системе на основе клиент-сервер. [44] По мере прибытия узлов и увеличения спроса на систему общая емкость системы также увеличивается, а вероятность сбоя снижается. Если один из узлов сети не работает должным образом, вся сеть не будет скомпрометирована или повреждена. Напротив, в типичной клиент-серверной архитектуре клиенты делятся с системой только своими потребностями, но не своими ресурсами. В этом случае, чем больше клиентов присоединяются к системе, тем меньше ресурсов доступно для обслуживания каждого клиента, а в случае сбоя центрального сервера отключается вся сеть.
В P2P-сетях есть как преимущества, так и недостатки, связанные с темой резервного копирования , восстановления и доступности данных. В централизованной сети системные администраторы являются единственными силами, контролирующими доступность общих файлов. Если администраторы решат больше не распространять файл, им просто придется удалить его со своих серверов, и он больше не будет доступен пользователям. Помимо того, что пользователи остаются бессильными решать, что распределяется по сообществу, это делает всю систему уязвимой для угроз и запросов со стороны правительства и других крупных сил. Например, YouTube подвергается давлению со стороны RIAA , MPAA и индустрии развлечений, требуя отфильтровать контент, защищенный авторским правом. Хотя сети сервер-клиент способны отслеживать и управлять доступностью контента, они могут иметь большую стабильность в доступности контента, который они выбирают для размещения. У клиента не должно возникнуть проблем с доступом к малоизвестному контенту, который распространяется в стабильной централизованной сети. Однако сети P2P более ненадежны при обмене непопулярными файлами, поскольку для обмена файлами в сети P2P требуется, чтобы хотя бы один узел в сети имел запрошенные данные, и этот узел должен иметь возможность подключиться к узлу, запрашивающему данные. Это требование иногда трудно выполнить, поскольку пользователи могут удалить или прекратить совместное использование данных в любой момент. [45]
В P2P-сети сообщество пользователей несет полную ответственность за принятие решения о том, какой контент доступен. Непопулярные файлы со временем исчезают и становятся недоступными, поскольку ими делится все меньше людей. Однако популярные файлы широко и легко распространяются. Популярные файлы в сети P2P более стабильны и доступны, чем файлы в центральных сетях. В централизованной сети простая потеря соединения между сервером и клиентами может привести к сбою, но в сетях P2P соединения между каждым узлом должны быть потеряны, чтобы вызвать сбой при совместном использовании данных. В централизованной системе за восстановление и резервное копирование данных отвечают администраторы, тогда как в P2P-системах каждому узлу требуется своя система резервного копирования. Из-за отсутствия центральной власти в P2P-сетях такие силы, как звукозаписывающая индустрия, RIAA , MPAA и правительство, не могут удалить или остановить совместное использование контента в P2P-системах. [46]
В P2P-сетях клиенты как предоставляют, так и используют ресурсы. Это означает, что, в отличие от систем клиент-сервер, пропускная способность одноранговых сетей по обслуживанию контента может фактически увеличиваться по мере того, как все больше пользователей начинают получать доступ к контенту (особенно с такими протоколами, как Bittorrent , которые требуют от пользователей совместного использования, см. исследование по измерению производительности). [47] ). Это свойство является одним из основных преимуществ использования P2P-сетей, поскольку оно делает затраты на установку и эксплуатацию очень низкими для оригинального дистрибьютора контента. [48] [49]
Многие одноранговые сети обмена файлами, такие как Gnutella , G2 и сеть eDonkey , популяризировали одноранговые технологии.
Одноранговая сеть предполагает передачу данных от одного пользователя к другому без использования промежуточного сервера. Компании, разрабатывающие P2P-приложения, были вовлечены в многочисленные судебные дела, в основном в США, по поводу конфликтов с законом об авторском праве . [51] Двумя крупными делами являются «Грокстер против RIAA» и «MGM Studios, Inc. против Grokster, Ltd.» . [52] В последнем деле суд единогласно постановил, что ответчику, компании по обмену файлами между узлами Grokster и Streamcast, может быть предъявлен иск за побуждение к нарушению авторских прав.
Сотрудничество между сообществом участников является ключом к дальнейшему успеху P2P-систем, ориентированных на случайных пользователей; они достигают своего полного потенциала только тогда, когда большое количество узлов вносят ресурсы. Но в современной практике сети P2P часто содержат большое количество пользователей, которые используют ресурсы, совместно используемые другими узлами, но сами ничем не делятся (часто это называется «проблемой нахлебника»). Бесплатная загрузка может оказать глубокое влияние на сеть, а в некоторых случаях может привести к краху сообщества. [55] В сетях такого типа «пользователи имеют естественные препятствия к сотрудничеству, поскольку сотрудничество потребляет их собственные ресурсы и может ухудшить их собственную производительность». [56] Изучение социальных атрибутов P2P-сетей является сложной задачей из-за большой текучести населения, асимметрии интересов и идентичности с нулевыми затратами. [56] Были реализованы различные механизмы стимулирования, чтобы побудить или даже заставить узлы вносить ресурсы. [57] [58]
Некоторые исследователи изучили преимущества предоставления виртуальным сообществам возможности самоорганизоваться и ввести стимулы для совместного использования ресурсов и сотрудничества, утверждая, что социальный аспект, отсутствующий в сегодняшних P2P-системах, следует рассматривать как цель и средство для самоорганизующихся виртуальных сообществ. быть построенным и взращенным. [59] Продолжающиеся исследования по разработке эффективных механизмов стимулирования в P2P-системах, основанные на принципах теории игр, начинают приобретать более психологическое направление и направление обработки информации.
Некоторые одноранговые сети (например, Freenet ) уделяют большое внимание конфиденциальности и анонимности , то есть гарантируют, что содержание сообщений будет скрыто от перехватчиков, а также скроются личности/местонахождение участников. Криптография с открытым ключом может использоваться для шифрования , проверки данных , авторизации и аутентификации данных/сообщений. Луковая маршрутизация и другие смешанные сетевые протоколы (например, Tarzan) могут использоваться для обеспечения анонимности. [60]
Лица, виновные в прямых трансляциях сексуального насилия и других киберпреступлениях , использовали одноранговые платформы для анонимной деятельности. [61]
Хотя одноранговые сети могут использоваться в законных целях, правообладатели преследуют одноранговые сети за участие в обмене материалами, защищенными авторским правом. Одноранговая сеть предполагает передачу данных от одного пользователя к другому без использования промежуточного сервера. Компании, разрабатывающие P2P-приложения, были вовлечены в многочисленные судебные дела, в основном в США, в основном по вопросам, связанным с законом об авторском праве. [51] Двумя крупными делами являются Grokster против RIAA и MGM Studios, Inc. против Grokster, Ltd. [52] В обоих случаях технология обмена файлами была признана законной до тех пор, пока разработчики не имели возможности предотвратить распространение материалов, защищенных авторским правом. Чтобы установить уголовную ответственность за нарушение авторских прав в одноранговых системах, правительство должно доказать, что ответчик нарушил авторские права добровольно с целью получения личной финансовой выгоды или коммерческой выгоды. [62] Исключения добросовестного использования допускают ограниченное использование материалов, защищенных авторским правом, для загрузки без получения разрешения от правообладателей. Эти документы обычно представляют собой новостные репортажи или исследования и научную работу. Разногласия возникли по поводу незаконного использования одноранговых сетей в отношении общественной и национальной безопасности. Когда файл загружается через одноранговую сеть, невозможно узнать, кто создал файл или какие пользователи подключены к сети в данный момент. Надежность источников — это потенциальная угроза безопасности, которую можно увидеть в одноранговых системах. [63]
Исследование, проведенное по заказу Европейского Союза, показало, что нелегальная загрузка может привести к увеличению общих продаж видеоигр, поскольку в новых играх взимается плата за дополнительные функции или уровни. В документе сделан вывод, что пиратство оказало негативное финансовое влияние на кино, музыку и литературу. Исследование основывалось на данных, сообщаемых самими участниками, о покупках игр и использовании нелегальных сайтов загрузки. Были предприняты все усилия, чтобы устранить последствия ложных и неправильно запомненных ответов. [64] [65] [66]
Одноранговые приложения представляют собой одну из основных проблем в споре о сетевой нейтральности . Известно, что провайдеры интернет-услуг ( ISP ) ограничивают P2P-трафик для обмена файлами из-за использования высокой пропускной способности . [67] По сравнению с просмотром веб-страниц, электронной почтой или многими другими видами использования Интернета, где данные передаются только через короткие промежутки времени и в относительно небольших количествах, обмен файлами P2P часто предполагает относительно интенсивное использование полосы пропускания из-за постоянной передачи файлов и большого количества файлов. /пакеты координации сети. В октябре 2007 года Comcast , один из крупнейших провайдеров широкополосного Интернета в США, начал блокировать P2P-приложения, такие как BitTorrent . Их обоснование заключалось в том, что P2P в основном используется для обмена нелегальным контентом, а их инфраструктура не предназначена для непрерывного трафика с высокой пропускной способностью. Критики отмечают, что сети P2P имеют законное законное применение и что это еще один способ, с помощью которого крупные провайдеры пытаются контролировать использование и контент в Интернете, а также направлять людей к архитектуре приложений на основе клиент-сервер . Модель клиент-сервер создает финансовые барьеры для входа мелких издателей и частных лиц и может быть менее эффективной для обмена большими файлами. В качестве реакции на такое ограничение пропускной способности несколько P2P-приложений начали реализовывать запутывание протоколов, например шифрование протокола BitTorrent . Методы достижения «обфускации протокола» включают удаление легко идентифицируемых свойств протоколов, таких как детерминированные последовательности байтов и размеры пакетов, путем придания данным вида случайности. [68] Решением интернет-провайдера для обеспечения высокой пропускной способности является P2P-кэширование , при котором интернет-провайдер хранит часть файлов, к которым чаще всего обращаются клиенты P2P, чтобы сохранить доступ к Интернету.
Исследователи использовали компьютерное моделирование, чтобы помочь понять и оценить сложное поведение людей в сети. «Сетевые исследования часто опираются на моделирование для проверки и оценки новых идей. Важным требованием этого процесса является то, что результаты должны быть воспроизводимыми, чтобы другие исследователи могли воспроизводить, проверять и расширять существующую работу». [69] Если исследование невозможно воспроизвести, то возможность дальнейших исследований ограничивается. «Несмотря на то, что новые симуляторы продолжают выпускаться, исследовательское сообщество склоняется к использованию лишь нескольких симуляторов с открытым исходным кодом. Спрос на функции симуляторов, как показывают наши критерии и опрос, высок. Поэтому сообществу следует работать вместе, чтобы получить эти функции в программном обеспечении с открытым исходным кодом. Это уменьшит потребность в специальных симуляторах и, следовательно, повысит повторяемость и авторитетность экспериментов». [69]
Популярными симуляторами, которые широко использовались в прошлом, являются NS2, OMNeT++, SimPy, NetLogo, PlanetLab, ProtoPeer, QTM, PeerSim, ONE, P2PStrmSim, PlanetSim, GNUSim и Bharambe. [70]
Помимо всех вышеперечисленных фактов, также была проделана работа над сетевыми симуляторами с открытым исходным кодом ns-2. Здесь с помощью симулятора ns-2 была исследована одна исследовательская проблема, связанная с обнаружением и наказанием безбилетников. [71]
{{cite web}}
: CS1 maint: multiple names: authors list (link){{cite web}}
: CS1 maint: archived copy as title (link)