假设我们在启用WebRTC的情况下使用Asterisk。当我们尝试在不同网络上的两台主机之间建立连接时,我们需要使用它 STUN服务器在NAT后面正确确定其公共地址。但是,只要连接的两端位于同一网络上,我们就不需要求助于STUN服务器。所以问题是,是否有可能以某种方式确定客户端是否在同一网络上?
答案 0 :(得分:1)
不可靠。
但没关系。 STUN便宜又快捷。它只回显你公开可见的IP:端口地址。当WebRTC协商连接时,将使用所有发现的地址(本地和stun映射)。
如果两个节点位于同一专用LAN上,则WebRTC使用的算法将收敛到使用两个节点的私有IP地址而不是从STUN获得的映射地址。通过STUN连接时,连接仍然是直接连接而不是中继。
同样,如果您还使用TURN继电器,WebRTC(以及任何类似ICE的协议)将在返回TURN之前默认为私有和STUN地址。