механизм или протокол для соединения между узлами за NAT одного и того же publi c IP для переключения на локальное соединение - PullRequest
0 голосов
/ 11 июля 2020

Существует ли механизм или протокол для TCP-соединения, или, что более важно, сеанса связи UDP или IP между узлами за NAT одного и того же опубликованного c IP-адреса, чтобы обнаружить тот факт, что они находятся в одной локальной сети и затем переключиться на более короткое и быстрое локальное соединение? Если да, то что это?

Я протестировал несколько приложений для видео / голосового чата и приложений для удаленного рабочего стола. Для некоторых из них, если вы отключите соединение Inte rnet, сеанс чата или RD продолжит работать, а для некоторых просто перестанет работать. Задержка очень небольшая, и не похоже, что есть сервер ретрансляции, поэтому я предполагаю, что для всех из них используется прямое соединение между двумя узлами, и разница в том, что некоторые из них используют локальные соединения, а некоторые другие используют publi. c подключений. Однако мое предположение может быть неверным. Поэтому мне интересно, как это работает, и если я хочу создать приложение для поддержки этого (автоматически определять, находятся ли 2 узла в одной локальной сети и, если возможно, переключаться на локальное соединение), как я собираюсь это сделать.

Я ладья ie в компьютерных сетях, так что извините, если есть какие-нибудь любительские выражения.

1 Ответ

1 голос
/ 12 июля 2020

Протокол LSD (Local Service Discovery) удовлетворит ваши требования. Вы можете сначала использовать этот протокол для поиска соседних узлов в LAN, а затем использовать некоторые другие протоколы, такие как DHT, для поиска одноранговых узлов, которых нет в LAN.

...