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