Допустим, у меня есть клиент и сервер. Клиент находится за NAT, а сервер общедоступен.
Клиент хочет провести сеанс с сервером.
Допустим, клиент находится на 192.168.1.1, а NAT на 192.168.1.2 частных IP-адресов. И NAT на 50.0.0.1 и сервер на 50.0.0.2 публичных IP-адресов.
Клиент отправляет пакет UDP/IP (надеюсь, он похож на TCP/IP) на сервер. Этот пакет имеет исходный IP-адрес 192.168.1.1 и исходный порт, скажем, 1000 (выбран случайным образом), также имеет порт назначения 50.0.0.2 и порт назначения 2000, так как это приложение порта запускается на сервере.
Пакет TCP/IP поступает в NAT, который меняет исходный IP-адрес на 50.0.0.1 и порт, скажем, 5000 (выбран случайным образом) и направляет на сервер.
Сервер отправляет ответный пакет с IP-адресом назначения 50.0.0.1 и портом 5000.
NAT изменяет IP-адрес назначения пакета на 192.168.1.1 и порт назначения на 1000.
Может ли сервер отправить много пакетов UDP/IP на один и тот же IP-адрес 50.0.0.1 и порт 5000, и все пакеты будут перенаправлены на клиентский порт 192.168.1.1 порт 1000?
Если да, то как долго этот порт 5000 на открытой стороне NAT будет пересылать пакеты указанному клиенту?
Только пакеты с исходным IP 50.0.0.2 и исходным портом 2000 будут пересылаться клиенту?