我有一个在公共IP地址上运行的WebRTC MCU( kurento) 为一些仅发送或仅接收音频的客户提供服务 因此,每个客户端都与具有公共IP地址的MCU(不是彼此)直接连接. Q1:是否仍然需要使用STUN和TU
为一些仅发送或仅接收音频的客户提供服务
因此,每个客户端都与具有公共IP地址的MCU(不是彼此)直接连接.
Q1:是否仍然需要使用STUN和TURN进行NAT遍历?如果是这样的话?
Q2:浏览器中的WebRTC是否有任何黑客可以消除对STUN和TURN的需求?
在我看来:大多数客户端 – 服务器架构对NAT后面的客户没有任何困难.这与webrtc的不同之处是什么?
是的ICE绝对是WebRTC必须的.Q1: Is there still a necessity to use STUN and TURN for NAT traversal
?? if so Why ??
对于您的场景,您不需要使用STUN或TURN.让我解释一下原因.
私有网络中的每个客户端都在某种具有公共IP地址的NAT下.外界不知道该客户端的私有IP地址,即使他们知道在不知道公共IP地址的情况下也无法与客户端连接. STUN服务器用于收集此公共IP地址.
因此,如果您的服务器想要启动连接,那么它需要客户端发送其NAT的公共IP.客户端将使用STUN服务器知道其公共IP并将其发送到服务器.但是,如果客户端启动连接,则无需知道NAT的公共IP.客户端可以将数据包发送到公共服务器以启动连接.服务器可以从客户端数据包中知道cilents public IP,然后它们就可以连接.所以不需要STUN.
您的服务器在这种情况下正在扮演TURN的角色.所以你不需要TURN服务器.
Q2:浏览器中的WebRTC是否有任何黑客可以消除对STUN和TURN的需求?
没有黑客.根据场景使用TURN / STUN.对于您不需要的场景.如果您想进行客户端 – 客户端连接,那么您将需要STUN服务器.