TCP / UDP и NAT

Мой друг сказал мне, что TCP не требует переадресации портов. Что именно он сказал, так это то, что если сервер перенаправлен на порт, клиент может что-то запросить, и сервер ответит без перенаправления порта. И я согласился с этим, хотя не уверен, что это правда.

Позже он сказал, что то же самое и с UDP, чему я не верю.

ГЛАВНЫЙ ВОПРОС: если клиент запрашивает что-то на сервере с TCP, нужно ли перенаправлять порт для получения ответа? То же самое и для UDP?


person Iamk Denok    schedule 03.09.2015    source источник
comment
Переадресация портов - это то, что происходит между маршрутизатором и машиной при использовании NAT. Если ваш маршрутизатор не знает, на какую машину перенаправлять запросы в сети при получении запроса, чего вы ожидаете?   -  person TZHX    schedule 03.09.2015
comment
Это больше касается IP / NAT, поскольку TCP и UDP являются лишь частью транспортного уровня.   -  person Coyote    schedule 03.09.2015


Ответы (1)


Если запрос от клиента является SYN для вызова соединения, то через NAT будет разрешен только ответ SYN-ACK. Если NAT поддерживает одновременное открытое соединение, тогда SYN-ответ от сервера также будет разрешен через NAT. После того, как соединение установлено, клиент и сервер могут свободно общаться без каких-либо ограничений. Перенаправление портов не требуется.

Для UDP после отправки пакета от клиента к серверу все что угодно с сервера может быть получено через тот же открытый порт NAT, с которого был отправлен первый пакет. Перенаправление портов не требуется.

person Tahlil    schedule 04.09.2015