Поддержка протокола устройства интернет-шлюза?

656
Matteo Monti

Насколько я понимаю, приложения, которым необходимо передавать данные через трансляторы сетевых адресов одноранговым способом, например BitTorrent, обычно полагаются на протокол UPNP IGD, чтобы попросить маршрутизатор временно сопоставить внешний порт (UDP или TCP) с внутренний порт, так что входящие соединения могут быть приняты. Я разрабатываю одноранговое приложение и полностью основываюсь на методах пробивки дырок UDP. Они работают нормально, но при определенных обстоятельствах мне очень трудно установить соединение неинвазивными методами, поэтому я обдумывал идею использовать UPNP IGD и использовать дырокол только при сбое UPNP. Однако, поскольку это не выглядит такой тривиальной задачей, я хотел получить представление о том, стоит ли это усилий. Сколько маршрутизаторов NAT в стандартном домашнем интернет-соединении, принимать запросы UPNP IGD без необходимости вручную настраивать отображение портов? Я хотел бы, чтобы моя программа работала из коробки без необходимости что-либо настраивать вручную на стороне маршрутизатора.

Насколько я понимаю, этот вопрос можно разделить на две части:

Сколько домашних маршрутизаторов поддерживают UPNP? Как домашние маршрутизаторы Wi-Fi? Сколько поставщиков услуг маршрутизаторы NAT поддерживают UPNP? То есть, если у меня есть, скажем, стандартное интернет-соединение с моим домашним Wi-Fi, и мой интернет-маршрутизатор получает частный IP-адрес от моего интернет-провайдера, каковы мои шансы на самом деле сделать это, чтобы сопоставить порт из общедоступного Интернета с моим компьютер просто с UPNP?

0
Насколько я знаю (я могу ошибаться), большинство домашних маршрутизаторов поддерживают UPNP. Независимо от того, включены они по умолчанию, это другой вопрос, и многие люди, которым требуется больший контроль над маршрутизатором, отключают их, чтобы избежать запросов UPNP на открытие нежелательных портов. Если ваш интернет-провайдер использует [Carrier Grade NAT] (http://en.wikipedia.org/wiki/Carrier-grade_NAT), поэтому у вас есть какой-то частный не маршрутизируемый IP-адрес, ваш UPNP не будет работать вообще, так как он будет работать только открытые порты на вашем маршрутизаторе, а IP-адрес вашего маршрутизатора недоступен за пределами вашего интернет-провайдера. Он будет работать для подключения внутри того же провайдера. Darius 9 лет назад 1
Ой. Это действительно разочаровывает. Это означает, что нет никакого способа сопоставить внешний порт с внутренним IP? Upnp звучит не так полезно, если все, что он делает, это позволяет мне подключаться к компьютерам, которые хоть как-то локальны… Matteo Monti 9 лет назад 0
Извините, мне, наверное, нужно прояснить ситуацию. UPNP настроит ваш маршрутизатор на прием входящего соединения через определенные порты (как требуется и настроено UPNP) со стороны вашего маршрутизатора. В большинстве случаев (когда интернет-провайдер назначает вам публично маршрутизируемый IP-адрес), ваш маршрутизатор может быть напрямую подключен внешними силами, и предварительно настроенный порт UPNP будет работать отлично. В вашем случае (поскольку вы упоминаете о частном IP-адресе интернет-провайдера - я предполагаю, что вы говорите о NAT операторского класса), у вас НЕ будет общедоступного IP-адреса, и UPNP будет означать мало / ничего. Darius 9 лет назад 0
Это было именно то, что мне нужно было знать, спасибо. Единственное, что я не совсем понимаю, это когда вы говорите, что в большинстве случаев мой провайдер назначает публичный ip для моего соединения. Насколько я понимаю, это действительно крошечное меньшинство случаев ... Я имею в виду: я думал, что большинство интернет-провайдеров в настоящее время используют NAT операторского уровня ... Matteo Monti 9 лет назад 0
Может быть. Это я не могу подтвердить. В Австралии у нас все еще есть общедоступный IP, поэтому мы можем подключиться к нашему домашнему соединению. Тот факт, что IPv4 заканчивается, означает, что провайдер либо перейдет на IPv6, либо будет использовать CGN, так как он исчерпает выделенный им набор IP. Так что опыт каждой страны будет разным. Darius 9 лет назад 0

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

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