Предыстория: я работаю над сервисом пробивки отверстий с UDP, и чтобы различать пользователей с одним и тем же общедоступным IP-адресом, я подумал о том, чтобы пользователь также отправлял свой локальный IP-адрес. Таким образом, я убил 2 зайцев одним выстрелом: клиенты однозначно идентифицируются, а сервер также предлагает пользователям установить прямое соединение (если возможно), а не закреплять его.
Все казалось идеальным (особенно уникальная идентификация), пока я не понял, что это возможно:
Итак, вот собственно вопрос: насколько распространены такие ситуации, если они вообще используются и где?
Такая ситуация довольно часто встречается в таких странах, как Китай, и с небольшими интернет-провайдерами (особенно интернет-провайдерами Wi-Fi) в других странах. Они получают относительно небольшой диапазон IP-адресов, а затем выполняют крупномасштабный NAT для своих пользователей.
Конечно, большинство из этих пользователей покупают дешевый маршрутизатор SOHO и попадают в диапазон 192.168.1.0/24 для внутреннего NAT.
Я видел моделируемые настройки, когда у пользователей заканчивались порты на 4-портовом маршрутизаторе, предоставленном интернет-провайдером, где 2 порта уже используются для телевизоров, они просто подключают дешевый soho для проводных компьютеров наверху. Так что я не думаю, что это что-то необычное
Если я вас правильно понял, вы хотите создать уникальный идентификатор клиента, используя комбинацию общедоступного IP-адреса и локального IP-адреса клиента. Но это сочетание не гарантирует уникальности.
Вам следует подумать об использовании общедоступного IP-адреса вместе с номером порта подключения. Это однозначно идентифицирует клиента.