ICE 协议中 Host、Relay、Reflexive 是三类核心的候选地址(Candidate),用于 NAT 穿透和媒体路径筛选
2025-12-15354
ICE 协议中 Host、Relay、Reflexive 是三类核心的候选地址(Candidate),用于 NAT 穿透和媒体路径筛选,三者的生成逻辑、适用场景和优先级差异显著,具体对比和说明如下:
一、 三类候选地址的核心定义
| 候选地址类型 | 英文全称 | 生成方式 | 地址特征 |
|---|---|---|---|
| Host(主机候选) | Host Candidate | 由终端直接从本地网卡获取 | 是终端的内网 IP 地址 + 端口,例如 192.168.1.100:5004 |
| Reflexive(反射候选) | Reflexive Candidate | 通过 STUN 服务器获取 | 是终端在NAT 设备上的公网映射 IP + 端口,例如 202.100.10.5:30000 |
| Relay(中继候选) | Relay Candidate | 通过 TURN 服务器获取 | 是TURN 服务器的公网 IP + 端口,媒体流需经 TURN 服务器转发 |
二、 关键差异与适用场景
- Host 候选地址
核心特点:优先级最高(ICE 协议默认优先选择),媒体流端到端直连,延迟最低、带宽消耗最小。
适用场景:仅适用于同一内网的终端通信(如会议室终端与办公室软终端在同一局域网)。
局限性:无法穿透 NAT 设备,跨公网通信时无效。
- Reflexive 候选地址
核心特点:优先级仅次于 Host,基于 STUN 协议获取 NAT 映射地址,媒体流仍为端到端直连,延迟接近 Host 候选。
适用场景:适用于跨 NAT 公网通信,且 NAT 设备支持端口映射(如多数企业路由器、家用路由器)。
局限性:无法穿透对称型 NAT(Symmetric NAT),这种场景下需要依赖 Relay 候选。
- Relay 候选地址
核心特点:优先级最低,媒体流需经 TURN 服务器中转,延迟最高、带宽消耗最大(双向转发)。
适用场景:作为兜底方案,用于穿透对称型 NAT、防火墙限制严格的网络,或两端终端无法直连的场景。
局限性:依赖 TURN 服务器的性能和带宽,服务器故障会导致通信中断。
三、 ICE 协议的地址选择逻辑
ICE 会收集终端的三类候选地址,与对端终端的候选地址进行配对测试,最终选择最优路径:
优先测试 Host-Host 配对 → 内网直连,最优路径。
若 Host 配对失败,测试 Reflexive-Reflexive 配对 → 公网直连,次优路径。
若 Reflexive 配对失败,启用 Relay-Relay 配对 → 中继转发,保底路径。
四、 与 Cisco 视频会议的关联
Host 候选:适用于注册到同一 CUCM 的内网终端通信。
Reflexive 候选:依赖 Cisco VCS/CMS 的 STUN 功能,实现跨 NAT 公网终端直连。
Relay 候选:依赖 Cisco VCS/CMS 的 TURN 功能,用于对称型 NAT 等复杂网络场景
