A может находиться в локальной сети с несколькими подключенными устройствами. Как маршрутизатор узнает, что пакет должен быть перенаправлен к A в случае 2, но не в случае 1?
Потому что маршрутизаторы, межсетевые экраны и устройства, которые используют NAT(преобразование сетевых адресов), имеют таблицу NAT, которая отслеживает входящие пакеты, которые будут преобразованы в NAT и отправлены по назначению.
Таблица NAT включает IP-адрес устройства источника, номер порта и протокол (TCP/UDP). Поэтому, когда A отправляет пакет на B (vps), устройство NAT добавляет запись в таблицу NAT, поэтому, когда пакет возвращается из B, оно считывает IP-адрес, порт и протокол назначения и пытается найти совпадают в таблице NAT, а NAT возвращает ответ серверу А.
A начинает прослушивать пакеты udp на порту X. vps (B) отправляет пакеты с порта Y, но A не получает их, потому что это не порт, перенаправленный.
Сервер A не получит пакет, потому что он будет сброшен вашим маршрутизатором. Поскольку переадресация портов отсутствует, а таблица NAT не содержит записи, которая соответствует IP-адресу назначения, порту и протоколу.
Если у вас есть устройство за брандмауэром или маршрутизатором, и вы используете NAT, вам нужно использовать переадресацию портов, чтобы маршрутизатор знал, что пакет, отправленный из B, включает в себя IP-адрес назначения, номер порта и протокол сервера A, должен быть перенаправлен на сервер A, а не удален.
Надеюсь, что я ответил на ваш вопрос.