16

Какой механизм позволяет BitTorrent работать только с исходящими соединениями?

То есть без переадресации портов.

Часто задаваемые вопросы и руководство Брайана по BitTorrent гласят:

BitTorrent будет нормально работать в среде NAT (трансляция сетевых адресов), поскольку он может работать только с исходящими соединениями.

Работают ли другие узлы в качестве серверов рандеву в этом случае?

4 ответа4

7

Насколько я знаю, он работает с использованием обратных соединений - в основном, ваш клиент выполняет исходящее соединение, которое поддерживается удаленной машиной, и они перекачивают данные через это же соединение.

Если бы все использовали это и ни у кого не было настройки портов, скорее всего, это не получится. Когда я использую Bittorent с отключенными портами, я получаю ужасные скорости, но он работает, поэтому я думаю, что он работает так.

4

Недавно был опубликован подкаст на тему ИТ-бесед под названием « Как ваш провайдер планирует" помочь "вам» и "Разорвать Интернет", где доктор Каллен Дженнингс рассказал о различных механизмах обхода NAT. Это всего лишь 15 минут и стоит слушать.

3

BitTorrent работает с использованием P2P-соединения. Поэтому должен быть способ прямого соединения с пэром. Как известно, NAT нарушает работу P2P. Но есть какое-то решение для этого работает. Большая часть (как я все знаю) основана на протоколе STUN.

Каждый клиент получает свой публичный IP-адрес и временный номер порта (UDP), используя сервер STUN. Сервер STUN помогает клиенту обнаруживать присутствие NAT и обнаруживать общедоступный ip + временный номер порта (назначенный NAT). Затем клиент пытается установить прямое соединение с другим узлом, используя технику пробивки отверстий (см. Википедию).

Если вы включили UPnP, есть и другое решение.

Для получения дополнительной информации см. NAT Traversal в Википедии.

2

Обычно люди связываются с вами, чтобы запросить данные у вас, а вы будете связываться с людьми, запрашивающими данные у них.

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

Вы загружаете не так много, но это не сильно беспокоит публичных трекеров.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .