2009-07-09 1 views
1

Мне нужно подключиться к компьютеру через tcp/ip, у меня есть внешний ip, но без переадресации портов. Я не могу подключиться к серверу . Есть ли способ настроить сервер для приема соединения на внешний ip и порт, определяемый сервером без настройки маршрутизатора? (Как эМюль это делает или другой одноранговой приложение)Есть ли способ преодолеть перенаправление портов маршрутизатора на приложение tcp/ip

ответ

3

Вы должны прояснить ситуацию. Является ли целевой компьютер за маршрутизатором, который выполняет NAT?

Если это так, ответ отрицательный.

Сервер не может принимать соединения на внешнем IP-адресе, поскольку внешний IP-адрес IP-адреса маршрутизатора, и сервер может принимать только соединения, которые маршрутизатор перенаправляет на него, так как нет прямого пути к серверу.

Есть, однако, некоторые способы обойти проблемы, подобные NAT. Обычно они включают компьютер за NAT, делающий исходящее соединение, которое затем используется для связи. См.

http://en.wikipedia.org/wiki/Hole_punching

Universal Plug и Play, цит другой ответ, может позволить это.

0

В принципе вам нужна программа на этом компьютере, которая инициирует соединение. Вот как такие программы, как FogCreek CoPilot, LogMeIn и т. Д., Позволяют удаленно управлять машинами за маршрутизаторами NAT без настройки маршрутизатора.

+0

, пожалуйста, дайте мне больше информации по этому вопросу – user63898

2

В идеале вы хотите, чтобы клиент за NAT intiate соединение, но если это не возможно, вы захотите взглянуть на STUN или UPnP

STUN представляет собой набор инструментов и протоколов, который позволяет пробивать отверстия через NAT , Это может потребовать сотрудничества с сервером без NAT. Это может быть неудачно в зависимости от реализации NAT.

UPnP - это протокол к NAT-маршрутизатору, который может позволить клиенту динамически перенаправлять необходимые порты. Не все NAT-маршрутизаторы будут поддерживать это, хотя большинство современных, вероятно, будут.

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