同一 public IP 的 NAT 后面的节点之间的连接切换到本地连接的机制或协议

a mechanism or protocol for a connection between nodes behind the NAT of the same public IP to switch to a local connection

同一 public IP 的 NAT 后面的节点之间是否存在用于 TCP 连接或更根本的 UDP 或 IP 通信会话的机制或协议,以发现它们在同一个 LAN,然后切换到更短、更快的本地连接?如果有,那是什么?

我已经测试了几个 video/voice 聊天应用程序和远程桌面应用程序。对于他们中的一些人,如果您切断 Internet 连接,聊天或 RD 会话将继续工作,而对于其他一些人来说,它只是停止工作。滞后非常小,感觉不像有中继服务器,所以我假设它们都使用 2 个节点之间的直接连接,不同之处在于它们中的一些使用本地连接而另一些使用 public 连接。但是我的假设可能是错误的。所以我想知道这是如何工作的,如果我想创建一个应用程序来支持它(自动检测 2 个节点是否在同一个 LAN 中并在可能的情况下切换到本地连接)我将如何做到这一点。

本人是计算机网络方面的菜鸟,有外行的表述还请见谅

协议LSD (Local Service Discovery)将满足您的需求。您可以先使用此协议查找 LAN 中的邻居点,然后使用其他一些协议(如 DHT)查找不在 LAN 中的点。