有条件地使用STUN服务器



让我们假设我们正在使用启用了WebRTC的Asterisk。当我们试图在不同网络上的两台主机之间建立连接时,我们需要使用STUN服务器,以正确地确定他们的公共地址,以防他们在NAT后面。但是,每当连接的两端位于同一网络上时,我们就不需要求助于STUN服务器。问题是是否有可能以某种方式确定客户端是否在同一网络上?

不可靠。

但没关系。STUN既便宜又快速。它只回显您的公开可见的IP:端口地址。当WebRTC协商连接时,使用所有发现的地址(本地和stun映射)。

如果两个节点在同一个私有局域网中,WebRTC使用的算法将收敛到使用两个节点的私有IP地址,而不是使用从STUN获得的映射地址。当通过STUN连接时,连接仍然是直接的,而不是中继的。

同样,如果你也在使用TURN中继,WebRTC(和任何类似ICE的协议)将默认为私有和STUN地址,然后再回落到TURN。

相关内容

  • 没有找到相关文章

最新更新