WebRTC实时通信 (六)| TURN服务器
Turn Server是在不同网络中的2个主机/对等体之间中继流量所需的服务器。这是因为两个对等点之间不可能直接连接,除非它们在同一网络上(这是因为防火墙阻止了流量)
TURN服务器配置
可以通过两种方式添加add-turn服务器配置:
- 在前端或任何需要的地方添加静态url。
- 每次使用API获取url。
在前端或任何需要的地方添加url,一旦TURN服务器联机,所需要的只是客户端使用它的正确RTC配置。
ICE Candidates
考虑到NAT和防火墙的层层阻塞端口和协议,构建一个有效的NAT穿越解决方案是非常困难的。值得庆幸的是,ICE已被开发为一种有效的穿越NAT的协议。ICE或交互式连接建立协议是一组在参与者之间建立最有效隧道的方法
- 尽可能直连对等端
- 需要时使用STUN协商
- 并在需要时回退到TURN
UDP协议
UDP也被称为空协议或不可靠的数据报协议——事实上,UDP的RFC可以很容易说明:
一种独立的数据实体,携带足够的信息,从源节点路由到目的节点,而不依赖节点和传输网络之间的早期交换。
虽然数据报和数据包是可互换使用的术语,但也有一些区别。
当数据包指的是格式化的代码块时,数据报指的是通过不可靠网络传输的代码块。UDP协议的定义特征是数据传输的不可靠性质。即:
- 无交付保证
- 没有故障通知
因此,UDP被称为不可靠数据报协议,而不是官方术语“用户数据报协议”,这就是UDP数据包被称为数据报的原因。
UDP虽然在可靠性方面有所损失,但却大大提高了速度和吞吐量。
支持视频呼叫、语音呼叫和各种数据传输的webRTC(Web实时通信)标准运行在UDP协议上。
0