2015-05-11 5 views
0

Это может быть глупый вопрос, но в последние дни я много гулял, и я только что нашел связанный, но не прямой ответ на этот вопрос. Чтобы лучше выразить это, позвольте мне упомянуть сравнение:Как работает bittorrent или P2P независимо от настроек маршрутизатора?

Если я настроил http-сервер на компьютере за маршрутизатором, я должен установить перенаправление портов, а также чтобы этот компьютер должен иметь статический внутренний IP-адрес, чтобы получить запросы на этот порт для данного конкретного IP-адреса. Например, мой маршрутизатор не разрешает переадресацию портов, поэтому я не мог настроить его для HTTP-сервера. Тем не менее, Bittorent работает как шарм за тем же маршрутизатором без какого-либо статического IP-адреса. Как bittorrent может получать запросы, и он также может быть посеян? Как другие пэры будут подключаться к моему компьютеру во время посева? Я действительно проверял, что, когда Bittorrent работает с портом, который он использует, например, 39031, на самом деле открыт (с использованием yougetsignal_dot_com). Как маршрутизатор может быть создан, чтобы открыть порт, не используя его настройки администратора (мы также можем использовать Bitorrent в публичной горячей точке, где невозможно подключиться к маршрутизатору). Я знаю, что трекеры могут помочь, но есть много информации о децентрализованном пути без трекеров или в основном, что сверстники также являются трекерами, а не подробностями о том, как это работает.

И, наконец, почему этот «трюк» (если есть) нельзя использовать с HTTP-сервером, и мы всегда должны зависеть от настроек маршрутизатора?

ответ

2

BitTorrent действительно работает за NAT, в определенной степени. Тем не менее, он работает лучше, если перенаправление портов настроено.

BitTorrent работает достаточно хорошо, за NAT по следующим причинам:

  • BitTorrent является равный-равному, а также сверстников может инициировать соединение; поэтому связь будет успешной, если любой из двух одноранговых узлов не находится за NAT или должным образом перенаправлен порт;
  • Некоторые клиенты BitTorrent могут автоматически настраивать переадресацию портов с использованием uPNP или PMP;
  • современные клиенты BitTorrent используют μTP вместо TCP, а некоторые клиенты могут выполнять UDP hole punching.