Это вопрос, который меня беспокоит долгое время. Я искал ответ в своих исследованиях и всегда предполагал, что «Я уверен, что я что-то пропустил или что я узнаю об этом позже», но я не знал. В любом случае, если отправлен пакет с tcp + ip:
Как этот пакет узнает, к какому конкретному устройству он должен попасть в маршрутизатор, исходя только из общедоступного IP-адреса и адреса порта?
Чтобы быть еще яснее, допустим, общедоступный IP-адрес моего домашнего маршрутизатора - 155.100.100.10 (который является пунктом назначения в IP-заголовке), и у меня есть три устройства, подключенных к нему, поэтому все эти три устройства имеют один и тот же IP-адрес назначения. Таким образом, IP-адрес назначения находится в заголовке IP, порт, к которому нужно перейти, находится в заголовке TCP, но как, черт возьми, пакет узнает, к какому из трех устройств перейти?
Если это подсети, пожалуйста, объясните, где отправитель пакета включает конкретную информацию о том, в какую подсеть отправлять, потому что я не могу найти ее даже после некоторого копания wirehark
Неважно, я нашел это, думаю, я оставлю здесь ответ для всех, кто может наткнуться на то же самое:
Обычно клиент регистрирует свой собственный локальный адрес и уникальный порт на устройстве / «маршрутизаторе» транслятора сетевых адресов (NAT) при отправке запроса. Поэтому, когда сервер отвечает только общедоступным IP-адресом, он использует зарезервированный порт, чтобы узнать, в какую подсеть следует отправлять информацию.