Я занимаюсь разработкой серверного приложения и хотел бы знать, есть ли какие-то цифры (или опыт людей) о том, сколько компьютеров находится за NAT в Интернете?
Поскольку мое приложение должно быть небольшим сервером, необходимость реализовать поддержку UPNP и пробивание отверстий TCP с помощью внешнего сервера может повлиять на мою решимость, особенно если более 80% Интернета находится за NAT.
Я бы не был настолько пессимистичен, как 99%. В некоторых частях Европы и США размер семьи довольно невелик, поэтому, если вы хотите охватить одиночек, у вас может быть больше шансов, чем если вы хотите охватить семьи (особенно с детьми-подростками). Кроме того, как минимум одна прошивка модема шведского поставщика услуг Интернета по умолчанию использует переадресацию портов на первом подключенном хосте.
Но влияние по-прежнему в порядке, учитывая, что тенденция IPv4 сильно указывает на увеличение NAT с течением времени.
Также обратите внимание, что операторы мобильной связи часто просто блокируют попытки входящего TCP-соединения. Если у вас есть мобильные устремления, все инициирования TCP-соединения должны исходить от мобильного конца.
Одна вещь, на которую стоит обратить внимание, это Тередо. Если вы можете включить его программно, он выполнит переадресацию портов и пробивание отверстий за вас. Он в основном маршрутизирует IPv6 через IPv4 и поддерживает прямые соединения.
Он изначально поддерживается в Windows и может быть включен в Linux (но я этого не пробовал).
Вероятно, можно с уверенностью предположить, что в настоящее время наиболее распространенные интернет-соединения ISP используют NAT, чтобы один дом мог использовать один общедоступный IP-адрес и т. д., поэтому, вероятно, около 99% беспроводных маршрутизаторов также работают из коробки
с IPv6 это не будет проблемой, но я сомневаюсь, что он будет широко распространен через 6 месяцев