Одноранговая сеть
Однора́нговые, децентрализо́ванные или пи́ринговые (от англ. 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 раздаются случайным образом, то неизвестно даже, где находится и кому принадлежит нода, ответственная за хранение тех или иных байтов. В результате образуется полная свобода и полное равноправие.
Пиринговые сети распределенных вычислений[править | править код]
Технология пиринговых сетей (не подвергающихся квазисинхронному исчислению) применяется также для распределённых вычислений. Они позволяют в сравнительно очень короткие сроки выполнять поистине огромный объём вычислений, который даже на суперкомпьютерах потребовал бы, в зависимости от сложности задачи, многих лет и даже столетий работы. Такая производительность достигается благодаря тому, что некоторая глобальная задача разбивается на большое количество блоков, которые одновременно выполняются сотнями тысяч компьютеров, принимающими участие в проекте.