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

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

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

0