Чт. Ноя 21st, 2024

Необходимость иметь доступ к огромному количеству информации, лежащей на других компьютерах, сначала породила локальные сети. Это помогло на некоторое время, но объединить таким образом большое количество компьютеров оказалось невозможно. Возможность же доступа к файлам, возможно имеющихся у кого-то ещё, была очень заманчива. Поэтому была предложена система, позволяющая принимать и передавать файлы с каждого компьютера, с которым есть связь и на котором имеется определенное программное обеспечение. Такие системы получили название п2п (p2p) или пиринговых (peer-to-peer) сетей. Это словосочетание можно перевести как «равноправный обмен». Это значит, что вы, имея некоторые файлы, которые могут быть интересны кому-то ещё, разрешаете желающим их у вас скопировать, а взамен получаете возможность получить файлы, необходимые вам, от тех, у кого они есть.

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

Одноранговые, децентрализованные или пи́ринговые (от англ. 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, делиться) папку, т. е. папку, файлы из которой доступны для скачивания другим клиентам. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу, и показывает результат. После этого пользователь может скачать файлы у найденных источников. Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не только по названию файла, но и по контрольным суммам или хэшам типа MD4, TTH, SHA-1. Во время скачивания файла пользователем (и после его окончания) этот файл у него могут скачивать и другие клиенты сети, в результате чего особенно популярные файлы могут в итоге быть доступными для скачивания с сотен источников одновременно.

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

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

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

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

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

От content