AWS WebRTC:获取ICE服务地址(part 3):STUN服务和TURN服务的作用

STUN服务和TURN服务的作用:

服务 全称 作用 是否中继流量 适用场景
STUN Session Traversal Utilities for NAT 协助设备发现自己的公网地址(srflx candidate) ❌ 不中继,仅辅助 NAT 穿透成功时使用
TURN Traversal Using Relays around NAT 提供中继服务器,帮助双方通信 ✅ 会中继所有流量 直连失败时兜底方案

ICE 服务地址(ICE Server URLs)主要是 STUN 和 TURN 服务器的地址,用于 WebRTC 在 NAT 网络环境中协商建立连接。

STUN 服务的两个主要作用:

获取外网映射(服务器反射地址,即 srflx)
  • 当设备在 NAT 后面(如家庭路由器)时,STUN 可以告诉客户端:

    • 你在公网上的 IP 是什么

    • 你的端口是 NAT 分配的哪个端口

  • 这个过程通常用于生成 Server Reflexive Candidate(srflx)

测试连通性(连接性检测)
  • 在 ICE 流程中,ICE Agent 会向候选对(candidate pair)发送 STUN Binding Request

  • 收到 STUN Binding Response 说明该路径是可达的。

  • 不仅测试了连通性,还用于 NAT 的打洞(NAT Traversal)

补充说明:

  • 虽然连接性检测使用的是 STUN 消息(Binding Request/Response),但它不一定必须经过 STUN 服务器

    • 比如 host ↔ host 时,直接点对点发 Binding Request。

    • 只有在某些 NAT 情况下才需要借助 STUN 服务器。

TURN服务:

TURN(Traversal Using Relays around NAT)Server 是当直接 P2P(点对点)失败时,用来"转发"音视频数据的中继服务器,确保连接稳定可靠。

TURN 的工作原理:

  • 客户端通过 ICE(Interactive Connectivity Establishment)协议 发现所有可用的连接方式(候选地址)。

  • 优先尝试使用:

    • 主机地址(Host)

    • STUN 地址(STUN Server 可用于 NAT 穿透)

  • 如果上述方法失败,就使用 TURN Server 中继音视频流,TURN 会接收一个客户端的数据,并通过公网再发给另一个客户端。

客户端 A <---> TURN Server <---> 客户端 B

总结:

项目 内容
名称含义 TURN = Traversal Using Relays around NAT
核心作用 在 P2P 无法建立时作为中继,保证通信成功
使用成本 高(中继流量,带宽占用大)
必须存在? 非必须,但可以提升可靠性
搭配使用 常与 STUN 服务器一起搭配使用

下一篇:AWS WebRTC:获取ICE服务地址(part 4):本地配置STUN服务

相关推荐
ZStack开发者社区6 小时前
ZSvirt 开源月报第 1 期 · Around the World
开源·云计算·vmware·虚拟化
QYRdata7 小时前
ICMP云管理平台2026-2032年CAGR达13.5% 未来发展潜力凸显
云计算·服务发现
天翼云开发者社区10 小时前
央国企大模型安全合规应用新标杆!中国电信天翼云推出央企可信Token专区!
云计算·大模型推理服务
AKAMAI17 小时前
Akamai 云服务持续强化其基础架构(更新时间:2026年8月)
人工智能·云计算
zhaodezhu168818 小时前
软件SaaS信息技术云计算GEO优化公司专属服务活动正式开启
云计算·信息技术·geo优化·软件saas·公司服务
zhaodezhu168821 小时前
软件SaaS信息技术云计算GEO优化公司行业百科
云计算·信息技术·geo优化·软件saas·公司行业
云老大-阿里云国际站代理商1 天前
华为云国际站服务代理商:NAT网关怎么配?多台ECS共用公网IP要注意什么
服务器·华为云·云计算
闲云自留地1 天前
告别命令恐惧症,openEuler 基础操作 + 文本 + 网络管理实战
linux·运维·云计算
程序员老陆2 天前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep
逐流人2 天前
Containerd容器管理实战:从架构原理到nerdctlcrictl工具链
linux·运维·云原生·容器·云计算·containerd