2014-01-18 4 views
3

Извините, из-за этого немого вопроса, но я не нашел ответа. Поэтому для TCP только серверу требуется переадресация порта, но не клиент. Но так как UDP технически не отличается между клиентом и сервером, нужно ли мне также пересылать порт для клиента? (AFAIK TCP делает это сам, как только он подключается к серверу)Требуется перенаправление портов UDP?

+0

Я предполагаю, что ваш вопрос относится к перенаправлению портов в маршрутизаторах, чтобы внутренние системы были доступны снаружи (если не добавить дополнительный контекст к вашему вопросу). В этом случае для UDP также необходимо добавить переадресацию портов, поскольку в противном случае исходный пакет из UDP-клиента (это тот, кто инициирует соединение) не увидит UDP-сервер (это тот, кто получает начальный пакет). –

+0

Да, я имею в виду перенаправление портов в маршрутизаторах. Но нужно ли мне выполнять переадресацию портов на маршрутизаторе CLIENT? (Маршрутизатор перед клиентским компьютером) – theCNG27

ответ

6

Если клиент находится за брандмауэром NAT, то да, вам понадобится клиентский порт вперед. Многие маршрутизаторы NAT поддерживают «автоматическую» переадресацию UDP, которая автоматически настраивает временную переадресацию портов всякий раз, когда видит пакет OUTGOING, так что ответные пакеты могут вернуть его клиенту. Возможно, вам понадобится настроить маршрутизатор, чтобы включить это, и может потребоваться установить различные параметры тайм-аута, чтобы он работал правильно (поскольку UDP не имеет тайм-аутов, встроенных в протокол).

Обратите внимание, что этот вид переадресации обратного порта ТАКЖЕ необходим для TCP, но все NAT-маршрутизаторы/брандмауэры делают это автоматически, так как без него они будут бесполезны.

+0

Спасибо, это то, что я хотел знать. – theCNG27

Смежные вопросы