2016-05-21 11 views
5

Я знаю об обходе NAT и о STUN, TURN и ICE и его использовании. Я хочу знать, реализованы ли они в одноранговом приложении для обмена файлами, например bittorrent. Независимо от того, поддерживают ли трекеры одноранговые узлы NAT, чтобы поддерживать связь, используя STUN или реле через TURN. В случае с распределенной таблицей хэшей (DHT), как один одноранговый узел мог бы взаимодействовать с другим партнером за NAT?Как обход NAT работает в случае одноранговых протоколов, таких как bittorrent.

ответ

9

BitTorrent не должен подключаться к какому-либо конкретному участнику в рое, это не протокол чата p2p, где две конкретные конечные точки хотят разговаривать друг с другом. Все, о чем он заботится, заключается в том, что граф соединений роя имеет достаточно высокий уровень связности.

Другими словами, получение клиентов за NAT для общения друг с другом является несколько желательным, но не до такой степени, что основные ресурсы, такие как пересылка трафика, будут израсходованы на эту цель. Отказ - это вариант.

Таким образом, он не использует sip/turn/etc.

Различных клиенты используют некоторую комбинацию из следующих подходов к улучшению подключения для объемных транспортных соединений:

  • Nat-PMP/PCP переговоров со шлюзом
  • порта параметры повторного сокета, чтобы использовать конечную точку независимой (EIM).
  • расширение в значительной степени недокументированное расширение ut_holepunch, в котором вместо оглушающих серверов используются взаимоисключающие члены swarm.
  • необязательный транспортный протокол на основе протокола UDP (μTP), который может использоваться в сочетании с предыдущими точками. как правило, обходной путь легче достичь с помощью udp
  • Передача сигналов IPv6, которая в принципе позволяет клиентам обновлять свои соединения, а затем сплетничать о сверстниках v6 через PEX/DHT.

В случае DHT используются только первые две точки (согласование шлюза и повторное использование порта). Накладные расходы на попытку nat traversal для одного цикла запроса-ответа будут> 100% и не стоят того.

 Смежные вопросы

  • Нет связанных вопросов^_^