Как Bittorrent работает в одноранговых сетях за NAT-сетями операторского уровня

2140
Lazzy

Когда я гуглю "какой у меня IP", он говорит что-то вроде "112.134.xy". Но когда я перехожу к настройкам маршрутизатора и под WAN IP, он говорит «100.68.ab» (насколько я знаю, это маршрутизируемый IP). Итак, я должен быть за NAT операторского класса (CGN).

Но торрент-клиенты, т.е. uTorrent и BitTorrent, могут выполнять загрузку или загрузку без каких-либо проблем. Как они это делают?

Возможность UPnP моего домашнего маршрутизатора отключена, и когда я пытаюсь выяснить, что происходит за кулисами с помощью Wire Shark, я вижу запросы NAT-PMP для сопоставления портов от uTorrent (192.168.1.100: 5351) на мой домашний маршрутизатор (192.168.1.1 : 5351) и для внешнего обнаружения IP. Но я не вижу никаких ответов на порт 5351! (Что это значит?)

К вашему сведению, я студент, который «пытается» заставить сетевую систему P2P, такую ​​как BitTorrent, работать за NAT. Так что любая документация по этой теме была бы отличной ..... (я знаю о методах, таких как Hole Punching, NAT-PMP, PCP, UPnP)

1
Что заставляет вас думать, что это работает по-другому? У вас все еще есть публичный IP-адрес, с UPnP вам не нужно переносить порт вперед. Вам не приходилось перенаправлять порт для использования программ P2P, поскольку UPnP поддерживалось большинством сетевого оборудования. Ramhound 7 лет назад 1
Точно то же самое, что происходит с вашим домашним маршрутизатором: вы участвуете в пассивном режиме. Daniel B 7 лет назад 1
100.64.0.0/10 фактически был назначен специально для CGN, поэтому он больше не маршрутизируется. grawity 7 лет назад 0

1 ответ на вопрос

2
the8472

Есть разница между «работать на всех» и «работает хорошо». В P2P-сетях каждая сторона пары узлов должна иметь возможность инициировать соединение, а также принимать соединение, инициированное другой стороной.

По умолчанию NAT затрудняет или делает невозможным прием входящих соединений.

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

Чтобы улучшить эту ситуацию, клиенты будут пробовать различные методы обхода NAT, NAT-PMP является лишь одним из них.

Похожие вопросы