Peer exchange или PEX — это протокол связи , который дополняет протокол обмена файлами BitTorrent . Он позволяет группе пользователей (или пиров ), которые сотрудничают, обмениваться файлами, делая это быстрее и эффективнее.
В оригинальной конструкции протокола обмена файлами BitTorrent пиры (пользователи) в группе обмена файлами (известной как «рой») полагались на центральный компьютерный сервер, называемый трекером, для поиска друг друга и поддержания роя. PEX значительно снижает зависимость пиров от трекера, позволяя каждому пиру напрямую обновлять других в рое относительно того, какие пиры в данный момент находятся в рое. Уменьшая зависимость от централизованного трекера, PEX повышает скорость, эффективность и надежность протокола BitTorrent.
Пользователи, желающие получить копию файла, обычно сначала загружают торрент- файл, описывающий файл(ы), который будет передан, а также URL-адреса одного или нескольких центральных компьютеров, называемых трекерами , которые ведут список пиров, в настоящее время обменивающихся файлом(ами), описанным в файле .torrent. В оригинальной конструкции BitTorrent пиры затем зависели от этого центрального трекера, чтобы находить друг друга и поддерживать рой. Более позднее развитие распределенных хэш-таблиц (DHT) означало, что частичные списки пиров могли храниться другими компьютерами в рое, и нагрузка на центральный компьютер трекера могла быть снижена. PEX позволяет пирам в рое обмениваться информацией о рое напрямую, не спрашивая ( опрашивая ) компьютер трекера или DHT. Делая это, PEX использует знания пиров, к которым подключен пользователь, запрашивая у них адреса пиров, к которым они подключены. Это быстрее и эффективнее, чем полагаться исключительно на один трекер, и снижает нагрузку на обработку на трекере. Он также удерживает стаи вместе, когда трекер не работает. [1]
Пиринговый обмен не может использоваться сам по себе для введения нового пира в рой. Чтобы установить первоначальный контакт с рой, каждый пир должен либо подключиться к трекеру с помощью файла ".torrent", либо использовать маршрутизатор, называемый узлом начальной загрузки , для поиска распределенной хэш-таблицы (DHT), которая описывает список пиров роя. Для большинства пользователей BitTorrent DHT и PEX начнут работать автоматически после того, как пользователь запустит клиент BitTorrent и откроет файл .torrent. Заметным исключением являются "частные торренты", которые не являются свободно доступными; они обычно отключают DHT.
Расширения BitTorrent, такие как PEX, обычно реализуются с использованием одного из двух распространенных протоколов расширений: AZMP [2] или LTEP. [3] Оба типа обмена пирами отправляют сообщения, содержащие группу пиров, которые необходимо добавить в рой, и группу пиров, которые необходимо удалить.
Разработчики Azureus и μTorrent договорились, что любые клиенты, реализующие любой из вышеперечисленных механизмов, должны соблюдать следующие ограничения при отправке сообщений PEX: [4]
Некоторые клиенты могут решить применять эти ограничения и разрывать соединения с клиентами, которые их игнорируют. [4]
Чтобы создать протокол PEX, обеспечивающий равномерно распределенный выбор пиров, можно сформировать небольшую распределенную хэш-таблицу (DHT), локальную для торрента. Для каждого желаемого нового пира можно искать (равномерно) случайный ключ и использовать узел, ответственный за ключ, как новый пир. Это концептуально просто, но потребует довольно больших накладных расходов. [ необходима цитата ]
Для торрентов "без трекера" неясно, предоставляет ли PEX какую-либо ценность [ требуется цитата ], поскольку основной DHT может распределять нагрузку по мере необходимости. Каждый узел DHT, действующий как трекер, может хранить только подмножество пиров, но это максимальные подмножества, ограниченные только нагрузкой узла DHT, а не представлением одного пира. Частные торренты обычно отключают DHT, и в этом случае PEX может быть полезен при условии, что пир получает достаточно пиров от трекера.
Существуют три несовместимые реализации PEX (создающие отдельные «сети» в Swarm) [ необходима ссылка ]
Большинство клиентов BitTorrent используют PEX для сбора пиров в дополнение к трекерам и DHT. С выпуском Vuze 3.0.5.0 все основные клиенты BitTorrent теперь имеют совместимый обмен пирами.
Каждый из этих клиентов реализует определенную версию однорангового обмена:
{{cite web}}
: CS1 maint: числовые имена: список авторов ( ссылка )μTorrent-совместимый Peer eXchange (PeX)