WebRTC的TURN服务器是几乎所有WebRTC部署中必不可少的部分,连接WebRTC会话是在多个WebRTC服务器的协助下精心策划的工作,WebRTC中的NAT遍历服务器负责确保正确连接多媒体,这些服务就是STUN和TURN服务。

webrtc连接方法——TURN服务器和STUN服务器作用简介_STUN

在浏览器(对等)连接WebRTC之间会话的三种方法:

A、通过本地网络直接连接:

如果两个设备都在本地网络上,则无需做任何特别的工作即可使用对等连接彼此,就是一台设备具有另一台设备的本地IP地址,则它们可以直接相互通信。

B、通过公共IP地址Internet直接连接:

这样就是通过STUN获取的公共IP地址直接连接WebRTC,当设备不在同一个本地网络中时,只能通过公共IP地址来实现相互访问的方式,所以我们的设备不知道公共IP地址,这样就是STUN服务的用武之地,它就是使设备可以向STUN服务器询问“我的公共IP地址是啥”。

C、通过WebRTC TURN服务器路由连接媒体:

使用TURN来中继媒体来连接我们的WebRTC,这种情况知道公共IP地址固然好,但是可能还是够。

这种情况造成的原因有很多种,其中之一是所使用的NAT和防火墙设备不允许发生这种直接流量。想这种情况下,我们通过TURN服务来做为中间公共服务器路由数据,这需要一定的工作和带宽成本。

webrtc连接方法——TURN服务器和STUN服务器作用简介_webrtc_02