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 协议的地址选择逻辑
优先测试 Host-Host 配对 → 内网直连,最优路径。
若 Host 配对失败,测试 Reflexive-Reflexive 配对 → 公网直连,次优路径。
若 Reflexive 配对失败,启用 Relay-Relay 配对 → 中继转发,保底路径。
四、 与 Cisco 视频会议的关联
Host 候选:适用于注册到同一 CUCM 的内网终端通信。
Reflexive 候选:依赖 Cisco VCS/CMS 的 STUN 功能,实现跨 NAT 公网终端直连。
Relay 候选:依赖 Cisco VCS/CMS 的 TURN 功能,用于对称型 NAT 等复杂网络场景。
与 ICE 的区别:ANAT 仅提供静态地址备选,不涉及连通性检测与 NAT 穿透;ICE(RFC 5245)侧重动态路径探测与最优路由选择,二者互补但应用场景不同IETF。
三、关键特性与应用场景
| 特性 | 说明 | 典型场景 |
|---|---|---|
| 多地址协商 | 支持 IPv4/IPv6 混合网络、多网卡终端的地址选择 | 跨国企业 IPv4/IPv6 混合部署、终端双链路冗余 |
| 无额外信令 | 基于 SDP 分组完成地址协商,无需扩展协议 | 轻量化音视频通信、SIP 终端快速适配多网络 |
| 静态备选机制 | 地址需预配置,不支持动态地址更新 | 网络环境稳定、地址规划明确的企业通信系统 |
四、部署要点与注意事项
终端兼容性:通信双方终端需支持 ANAT 语义,否则可能导致媒体协商失败。
地址优先级配置:建议按 “内网地址→IPv6 地址→公网地址” 的顺序配置优先级,优化连接效率。
与 ICE 协同:在 NAT 复杂环境中,ANAT 可作为 ICE 的补充(如 ICE 探测前的备选地址),但不能替代 ICE 的 NAT 穿透能力。
