Мой вопрос несколько расширяется в этой дискуссии: ответы NAT и UDP

Сценарий: машина A за NAT, машина B в интернете

  1. машина A: порт M отправляет пакет UDP на машину B: PortN
  2. Машина B: порт N отправляет ответ машине A: порт M (я знаю, что в середине есть трансляция NAT, прозрачная для обеих машин)

Будет ли работать механизм NAT на общедоступном маршрутизаторе машины A, если порт источника машины B отличается. Таким образом, заменив шаг 2 следующим, все еще работает, и компьютер A получает UDP-ответ от компьютера B:
2. Машина B: порт Z отправляет ответ машине A: порт M

Это, вероятно, не сработает, иначе это будет угроза безопасности? ИЛИ Зависит от того, как настроен NAT?

2 ответа2

0

NAT не полностью стандартизирован, поэтому невозможно сказать, что будет или не будет работать. Сказав это, есть протоколы для такого рода вещей, которые обычно работают. Я бы предложил использовать что-то вроде STUN (Session Traversal Utilities for NAT) для настройки сетевых трансляций в поле NAT, чтобы ваши коммуникации работали.

0

Обычно у вас есть проверенный маршрутизатор или брандмауэр. Это означает, что устройство "видит" новое соединение и запоминает партнеров по соединению, порты и протокол. Таким образом, если вы начнете новый запрос на подключение, маршрутизатор узнает, что это соединение udp, и ожидается ответ. Поэтому, когда ответ приходит назад, маршрутизатор также будет возвращаться назад. Таким образом, если вы измените исходный порт компьютера B, воспроизведение не будет работать.

чао райдер

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .