加载中...

NAT 使内网主机没有公网地址,两个都位于 NAT 之后的终端难以直接互联,这是 VoIP、视频通话与 P2P 应用必须解决的问题。STUN、TURN 与 ICE 是 IETF 给出的标准组合拳。
STUN(RFC 8489)让客户端向公网服务器发包,从响应中得知自己经 NAT 映射后的公网地址和端口,适用于大多数 NAT 类型,成本极低。TURN(RFC 8656)是兜底方案:当对称型 NAT 或防火墙导致直连失败时,双方都连到 TURN 服务器,由其中继全部媒体流量,可靠但消耗服务器带宽。ICE(RFC 8445)是编排框架:收集本机地址、STUN 反射地址、TURN 中继地址等所有候选项,两端交换后逐对进行连通性检查,按优先级选出最佳路径。
这套机制是 WebRTC 建立点对点连接的标准流程,也用于 SIP 话音、在线游戏与远程桌面;开源实现 coturn 是最常用的 STUN/TURN 服务器。

登录 后参与讨论
暂无讨论,来发表第一条评论吧