Двухточечное сетевое соединение через брандмауэры - PullRequest
0 голосов
/ 11 февраля 2012

Я хотел бы настроить сетевое соединение (RTP или UDP) между двумя компьютерами в разных местах, каждый из которых находится за модемом / межсетевым экраном NAT. Я не хочу никаких модификаций брандмауэров.

Мое рабочее предположение заключается в том, что мне нужен бот где-нибудь, до которого могут добраться оба компьютера (например, учетная запись оболочки на интернет-сервере). Каждый компьютер подключается к боту, и бот позволяет двум компьютерам обновлять и запрашивать статус и обмениваться данными.

Это нормально, но это означает, что все данные передаются через бота. Есть ли способ, которым я могу соединить два компьютера без бота или, если это не удастся, позволить боту выпадать из обмена данными после установки соединения? Я чувствую, что это невозможно сделать, но мой TCP / IP немного заржавел ...

1 Ответ

1 голос
/ 11 февраля 2012

Если вы предполагаете, что в NAT / Firewall ничего не указано, вы правы.

Например, Hole-Punching не будет работать с перегруженным NAT (PAT), насколько я знаю, поскольку порт источника рандомизированУстройство NAT, и оно сопоставляет / совпадает как с публичным адресом назначения, так и с выбранным выбранным исходным портом.

UPnP может работать, но опять же вы должны предположить, что оно существует и включено на устройстве NAT.

На мой взгляд, у вас есть только два варианта, если вы хотите быть универсальными: 1. Настройте NAT.2. Используйте прокси (бот, которого вы упомянули).Например, Skype использует второе, но делает это распределенным образом, используя каждый клиент Skype в качестве потенциального прокси (возможно, только если он обнаружит, что он не находится за NAT или не ограничен им).

...