ICE 协议中 Host、Relay、Reflexive 是三类核心的候选地址(Candidate),用于 NAT 穿透和媒体路径筛选

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 服务器转发

二、 关键差异与适用场景

  1. Host 候选地址
    • 核心特点:优先级最高(ICE 协议默认优先选择),媒体流端到端直连,延迟最低、带宽消耗最小。

    • 适用场景:仅适用于同一内网的终端通信(如会议室终端与办公室软终端在同一局域网)。

    • 局限性:无法穿透 NAT 设备,跨公网通信时无效。

  2. Reflexive 候选地址
    • 核心特点:优先级仅次于 Host,基于 STUN 协议获取 NAT 映射地址,媒体流仍为端到端直连,延迟接近 Host 候选。

    • 适用场景:适用于跨 NAT 公网通信,且 NAT 设备支持端口映射(如多数企业路由器、家用路由器)。

    • 局限性:无法穿透对称型 NAT(Symmetric NAT),这种场景下需要依赖 Relay 候选。

  3. Relay 候选地址
    • 核心特点:优先级最低,媒体流需经 TURN 服务器中转,延迟最高、带宽消耗最大(双向转发)。

    • 适用场景:作为兜底方案,用于穿透对称型 NAT、防火墙限制严格的网络,或两端终端无法直连的场景。

    • 局限性:依赖 TURN 服务器的性能和带宽,服务器故障会导致通信中断。

三、 ICE 协议的地址选择逻辑

ICE 会收集终端的三类候选地址,与对端终端的候选地址进行配对测试,最终选择最优路径:
  1. 优先测试 Host-Host 配对 → 内网直连,最优路径。

  2. 若 Host 配对失败,测试 Reflexive-Reflexive 配对 → 公网直连,次优路径。

  3. 若 Reflexive 配对失败,启用 Relay-Relay 配对 → 中继转发,保底路径。

四、 与 Cisco 视频会议的关联

Cisco 视频会议部署中:
  • Host 候选:适用于注册到同一 CUCM 的内网终端通信。

  • Reflexive 候选:依赖 Cisco VCS/CMS 的 STUN 功能,实现跨 NAT 公网终端直连。

  • Relay 候选:依赖 Cisco VCS/CMS 的 TURN 功能,用于对称型 NAT 等复杂网络场景


相关内容