2015-09-03 1 views
0

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

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

В ОСНОВНОМ ВОПРОСЕ Если клиент запрашивает что-либо на сервере с TCP, необходимо ли его перенаправление для получения ответа? То же самое для UDP?

+0

Пересылка портов - это то, что происходит между маршрутизатором и машиной при использовании NAT. Если ваш маршрутизатор не знает, какой аппарат пересылает запросы в сети, когда он получает запрос, что вы ожидаете от вас? – TZHX

+0

Это больше вопрос о IP/NAT, поскольку TCP и UDP являются лишь частью транспортного уровня. – Coyote

ответ

0

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

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