Одноранговая сеть

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

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

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

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

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

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

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

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

  Основная статья: Файлообменная сеть

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

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

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

Несмотря на то, что в феврале 2006 прекратил работу самый популярный сервер сети eD2k — Razorback, и была прекращена разработка коммерческого клиента EDonkey2000, сама сеть ED2K продолжает функционировать, т. к. не завязана на конкретные сервера и существует большое количество свободно распространяемых клиентских программ типа eMule и mlDonkey.

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

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

  • ED2K она-же eDonkey2000 — сеть децентрализованного типа, крупнейшая из ныне существующих файлообменных сетей. Поиск выполняют специализированные серверы, связанные между собой. Клиенты самостоятельно обмениваются по протоколу MFTP. Компания MetaMachine, разработчики исходной концепции и первого клиента, основанного на веб-интерфейсе (Edonkey 2000 v1.4.5), в 2005 году прекратили поддержку этого проекта, однако сеть продолжает функционировать за счет более совершенного и более мощного клиента eMule, который использует механизмы Kademlia для построения децентрализованного сегмента eD2k .
  • TC (полное название TrueChat) — Малоизвестная сеть, в основном для общения используящая сервер (обычно с публичным IP) для связи клиентов (peer-hub-peer)(автор TC)
  • Overnet, Kad — децентрализованные технологии на базе протокола Kademlia, обслуживающие поиск по сети eDonkey2000 (eD2k).
  • BitTorrent — технология распределённого распространения файлов, как правило, большого объёма. Отличается высокой скоростью и централизованностью. Некоторые BitTorrent клиенты поддерживают DHT и могут работать без центрального сервера (т. н. трекера). Поддерживается клиентами BitComet, µTorrent, Deluge, FreeDownloadManager и многими другими.
  • Direct Connect — представляет из себя слабо связанные между собой выделенные сервера для поиска (хабы). Хабы Direct Connect очень удобны для организации файлового обмена в локальных сетях.
  • Advanced Direct Connect — эволюционное развитие сетей Direct Connect с устранение основных недостатков.
  • FastTrack, iMesh — первоначально была реализована в KaZaA
  • OpenFT — открытое продолжение сети FastTrack. Поддерживается клиентами giFT (KCeasy), mlDonkey.
  • Gnutella — полностью децентрализованная сеть, использующая протокол, разработанный компанией Nullsoft, основанный на HTTP-загрузках. Самоорганизация сети происходит за счет автоматического взаимообмена данными нод-листа между соединенными клиентами . Клиенты : Shareaza , BearShare , LimeWire , Gnucleus, Phex .
  • Gnutella2 — расширение протокола Gnutella. Основные изменения коснулись только организации системы поиска файлов . Так удалось снизить общую нагрузку на сеть применяя адресную рассылку запросов только тем клиентам у которых находится искомый файл. Также была исключена проблема с ложной инициацией атаки типа UDP-flood . Во всем остальном сеть полностью аналогична Gnutella1 . Основной клиент Shareaza .
  • Aresфайлообменная сеть для любых файлов.
  • Soulseekпроприетарный протокол. Весь поиск происходит через центральный сервер, на котором есть бесплатная регистрация и платная подписка (официальный сайт). Клиенты: Soulseek, mlDonkey, SolarSeek.
  • Freenet, GNUnet, Entropyфайлообменные анонимные сети, устойчивые к интернет-цензуре.
  • MP2P (Manolito P2P) — поддерживается клиентами Blubster, Piolet, RockItNet.
  • NEOnet — частично-децентрализованая коммерческая сеть на условно-платной основе . Является специфической вспомогательной модификацией протокола DHT при работе в отделенном коммерческом сегменте сети Gnutella1 , поддерживаемом с помощью клиента Morpheus . Свойства криптографической защиты и сетевой анонимности в сети NeoNet не поддерживаются .
  • easy P2P
  • Tesla — Возможно, содержит MalWare.
  • Filetopia — потенциально безопасная сеть для обмена самым разным контентом.
  • MUTE — Клиенты: MFC Mute, Napshare.
  • Nodezillaфайлообменная анонимная сеть.
  • Peer2Mail — принципиально это даже не пиринговая сеть, а разновидность ПО позволяющего передавать файлы между двумя хостами (peer-to-peer), используя почтовые сервисы в качестве роутера . Технология передачи файлов основана на инкапсуляции в SMTP-протокол .
  • Ants p2p — открытая P2P-сеть 3-го поколения повышенной безопасности. Java-клиент.
  • Anthill - система(сеть) академического исследования сложных адаптивных систем, основанных на JXTA.
  • Rodi — поддерживает поиск по содержанию файлов. Java-клиент.
  • AppleJuice — частично децентрализованная сеть (как eDonkey).
  • BeShare — сеть, ориентированная на BeOS.
  • Jabber — открытая P2P-технология обмена сообщениями.
  • Skype — P2P-телефония.
  • JXTA — стандартизация P2P спецификаций и протоколов http://www.jxta.org
  • KDrive — глобальный виртуальный диск для обмена файлами с авторизацией и шифрованием.
  • ZEPP
  • Acquisition — сеть и клиент для Mac.
  • RShare — открытая анонимная сеть P2P.
  • Marabunta — альтернативная пиринговая система, ориентированная исключительно на предоставление услуг обмена мгновенными сообщениями на общей доске объявлений ( P2P-chat ) . Программа в основном рассчитана на применение в локальных сетях , и потому не содержит возможностей автообновления нод-листа ( его приходится пополнять вручную ) . При наличии постоянных IP-адресов реципиентов , может работать и в интернете , однако встроенная функция bootstrap с серверов разработчиков не работоспособна из-за того , что с 2006 года проект практически перестал развиваться.
  • SKad или OpenKAD - модификация протокола Kademlia . Полностью децентрализованые сети этого типа создавались преимущественно в Японии . Первым шагом в этом направлении стала программа Winny . Дальнейше развитие этой сети в сторону сетевой анонимности привело к появлению программы Share . И на сегодняшний день существует и третья версия под управлением программы Perfect Dark . К сожалению все три версии сети SKad развивались паралельно и хотя они имеют много общего , но из-за видоизменения процедуры кодирования нод-листа в сторону более жесткого шифрования , они не совместимы между собой . Таким образом все три программы образовали три идентичные сети с разными степенями защищенности .
  • Usenet — глобальная доска объявлений.
  • Chord
  • Pastry
  • P2P
  • Tapestry или Chimera
  • Groove Virtual OfficeСобственническое ПО от Microsoft.
  • P-Grid — самоорганизующаяся децентрализованная сеть.
  • P2PTV — сеть телевизионных каналов.
  • KoffeePhoto — сеть для обмена фотографиями.
  • Poisoned – программа для работы с файлообменными сетями Gnutella, OpenFT, FastTrack в среде операционной системы Mac OS X. Представляет собой графический интерфейс для фонового приложения giFT.
  • Netsukuku - Файлообменная сеть нового поколения, представляет из себя ячеистую сеть передачи данных, заменяет 3-й уровень современной модели OSI другим протоколом маршрутизации. Протокол Netsukuku выстраивает структуру сети в виде фрактала. Сеть является распределённой, масштабируемой, анонимной и не контролируемой, отдельно от Интернета, без поддержки каких-либо служб и государственных каналов. Для расчёта всех необходимых путей связи узла со всеми остальными узлами протокол использует алгоритм Quantum Shortest Path Netsukuku (QSPN). Пропускная способность сети ограничивается возможностями нынешних сетевых карт. Поскольку в Netsukuku нет провайдеров, то нет и возможности отключить кого бы то ни было от сети. Так как адреса в Netsukuku раздаются случайным образом, то неизвестно даже, где находится и кому принадлежит нода, ответственная за хранение тех или иных байтов. В результате образуется полная свобода и полное равноправие.

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

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

СсылкиПравить