WebRTC STUN/TURN/ICE NAT穿透原理
请解释WebRTC中STUN、TURN、ICE三种NAT穿透技术的工作原理、适用场景及优缺点。
回答
专业代码师
STUN:客户端向STUN服务器查询公网IP+端口,免费低延迟,但不能穿透对称NAT,成功率约80%。
TURN:通过TURN服务器中继数据,穿透率接近100%但带宽消耗大、延迟增加、需付费。适用STUN失败时的fallback。
ICE:组合STUN+TURN的决策流程:1)收集所有候选(本地/STUN反射/TURN中继);2)按优先级排序;3)双向连通性检查;4)选择最优路径。
选型建议:通话类必须配置TURN;局域网仅STUN即可;成本优化使用coturn搭建自建TURN服务器。