Автор SkyRanger. Дата 12.10.2005 16:23 (Прочитали: 946)
Что такое пиринговые сети и DC++Немного заумно, но понятно:
Пиринговая сеть
Пиринговыми сетями (от англ. peer-to-peer, P2P — равный с равным) называют компьютерные сети, в которых каждый пользователь этой сети (peer) является как клиентом, так и сервером одновременно. Такая организация убирает главный недостаток канонической архитектуры клиент-сервер — высокие требования к серверу, который обрабатывает запросы от клиентов-пользователей. При большом количестве запросов сервер в лучшем случае выполняет свои функции медленно, в худшем — происходит отказ в обслуживании.
Дальше, больше ;) >>
Многие клиенты могут позволить себе обрабатывать запросы других пользователей (у них может быть неиспользуемые место на дисках, процессорное время или возможность по передаче данных). Большое количество пользователей позволяет создавать устойчивое (некоторые компьютеры могут выключаться, что не сказывается на работоспособности системы в целом), высокопроизводительное (тысячи и тысячи компьютеров готовы обрабатывать запросы) хранилище с практически неограниченным дисковым пространством.
Зачем нужны P2P-сети, если можно на технологии клиент-сервер построить подобную структуру, поставив на клиентский компьютер сервисы, подобные тем, что работают на серверных машинах? Но тут возникает множество проблем. Например, проблема динамических IP-адресов — множество пользователей-клиентов работают в Интернет посредством dial-up соединения по коммутируемым линиям. При этом они получают свободный в данный момент адрес из пула адресов провайдера. Это затрудняет определение адреса нужного нам сервера. Кстати, появление широкополосных соединений не изменило существенно ситуацию в данной области: многие провайдеры по-прежнему распределяют адреса динамически. Существует также и проблема балансировки сетевой нагрузки между отдельными компьютерами. Большинство таких проблем решаются при помощи пиринговых технологий.
Устройство P2P-сети
Итак, каким образом устроены P2P-сети?
Например, в сети есть 5 машин, при этом любая может связаться с любой. В качестве клиента (потребителя ресурсов) каждая из этих машин может посылать запросы на предоставление каких-либо ресурсов другим машинам в пределах этой сети и получать их. Как сервер, каждая машина должна обрабатывать запросы от других машин в сети, отсылать то, что было запрошено, а также выполнять некоторые вспомогательные и административные функции.
Следует отметить важный недостаток такой топологии. Любой член данной сети не гарантирует никому своего присутствия на постоянной основе. Он может появляться и исчезать в любой момент времени. Но при достижении определённого критического размера сети наступает такой момент, что в сети одновременно существует множество серверов с одинаковыми функциями.
Под P2P-сетями также часто понимают различные проекты по распределенным вычислениям. Наверное, самый распространенный из них — это distributed.net — проект по взлому системы шифрования RC5-72 методом грубой силы (brute force). Каждый клиент получает диапазон ключей, которые нужно проверить на правильность. Также, существуют проекты для поиска лекарств от рака, в частности, Find-a-Drug и grid.org.
Помимо чистых P2P-сетей, существуют так называемые гибридные сети, в которых существует по крайней мере один сервер, используемый для координации работы (в сетях Bittorrent, eDonkey) или для предоставления информации о существующих машинах сети, а также их статусе: on-line, off-line и т. д. (например, в сети ICQ, увидевшей свет в ноябре 1996 года, которая позволяет своим пользователям находить собеседников и друзей по интересам для общения через Интернет).
Впервые фраза «peer-to-peer» была использована в 1984 году в разработке архитектуры Advanced Peer to Peer Networking фирмы IBM.
Пиринговые файлообменные сети
Одна из областей применения технологии пиринговых сетей — это обмен файлами. Выглядит это так: пользователи сети выкладывают какие-либо файлы в «расшаренную» папку, т. е. папку, файлы из которой доступны для скачивания другим клиентам. Какой-нибудь другой пользователь сети посылает запрос на поиск какого-либо файла. Программа ищет у клиентов сети файлы, соответствующие запросу и показывает «добычу». После этого пользователь может скачать файлы у найденных источников. Современные файлообменные сети позволяют скачивать один файл сразу с нескольких источников (так быстрее и надёжнее). Чтобы убедиться, что этот файл у всех источников одинаковый, производится сравнение не только по названию файла, но и по контрольным суммам, типа MD4, SHA-1. Во время скачивания файла нашим пользователем (и после его окончания) этот файл у него могут скачивать и другие клиенты сети, в результате чего особенно популярные файлы могут в итоге быть доступными для скачивания с сотен источников одновременно.
Обычно в таких сетях обмениваются фильмами и музыкой, что является извечной головной болью видеоиздательских и звукозаписывающих компаний, которым такое положение дел очень не по душе. Проблем им добавляет тот факт, что пресечь распространение файла в децентрализованной пиринговой сети технически невозможно — для этого потребуется физически отключить от сети все машины, на которых лежит этот файл, а таких машин (см. выше) может быть очень и очень много — в зависимости от популярности файла их число может достигать сотен тысяч. В последнее время видеоиздатели и звукозаписывающие компании в начали подавать в суд на отдельных пользователей таких сетей, обвиняя их в незаконном распространении музыки и видео.
В настоящее время идет отток пользователей из недавно популярной сети KaZaA в сеть eDonkey, из-за многочисленных фальшивых файлов, выкладываемых компаниями типа RIAA, в борьбе за свои интересы.
Overnet — децентрализованная сеть ( без серверов ) на базе сети eDonkey (официальный сайт) eDonkey — крупнейшая децентрализованная файлообменная сеть (официальный сайт) Fasttrack Bittorrent — новая, набирающая популярность, P2P технология распространения файлов большого объема. (официальный сайт) DC++ (DCPlusPlus) Shareaza — пример клиента не имеющего своей пиринговой сети, но поддерживающий несколько других сетей: Gnutella, Gnutella2, Edonkey 2000 и BitTorrent. В дополнение ещё и Open source (открытый исходный код). (официальный сайт) |