本文是「移动性管理原理」系列第 3 轮。前面我们拆解了寻呼、TAU、切换流程、测量事件 A3、Xn 切换等"经典动作"。这一篇,我们把镜头拉近到一个更微妙的问题:传统切换为什么会在高速、高频段场景下频繁失败?5G 又用什么样的机制从根上化解它? 答案就是 R16 引入的条件切换(Conditional Handover,CHO)。
想象你坐在时速 350 公里的高铁上,正和朋友视频通话。列车穿过一个隧道口的瞬间,手机上的信号格子从 4 格跳到 1 格,然后通话中断了——这不是运营商"小气"不给你信号,而是切换来晚了。
在通信工程师的语言里,这叫 too-late handover(过晚切换):网络还没来得及把你的连接搬到下一个小区,当前小区的信号就已经塌方,手机跟丢了。
为了理解 CHO 为什么出现,我们必须先看清传统切换到底卡在哪。
传统切换(5G 里叫 baseline handover,本质是 RRC 同步重配)可以拆成一句口诀:"测量—上报—决策—下令—执行"。这五个动作必须串行完成,而前四个都依赖当前服务小区的链路还活着。
用一张时序图看清楚这条"接力链"在哪里容易断:
sequenceDiagram
participant UE as 手机(UE)
participant S as 源gNB
participant T as 目标gNB
Note over UE,S: 阶段0:链路正在快速恶化...
UE->>S: ① 测量报告(发现邻区更好)
Note right of S: ② 源gNB决策,选目标
S->>T: ③ HO Request(请求准入)
T-->>S: ④ HO Request Ack(资源预留)
S->>UE: ⑤ HO Command(切换命令)
Note left of UE: ⑥ UE收到命令才执行切换
rect rgba(255,80,80,0.15)
Note over UE,S: 危险窗口:从①到⑤全程依赖源链路<br/>若此刻信号已塌方→RLF(无线链路失败)
end
这张图里藏着一个致命的依赖链:从测量报告上报(①),到切换命令成功送达(⑤),中间任何一刻源小区链路断了,整个流程就崩盘。问题是,手机最需要切换的时候,恰恰是源链路最差的时候——这是传统切换无法回避的内在矛盾。
业界把切换失败的典型形态归为三类,它们都和"时间赛跑"直接相关:
| 失败类型 | 发生时机 | 根因 |
|---|---|---|
| 过晚切换(too late) | RLF 发生在切换命令之前 | 决策慢,信号塌方时命令还没到 |
| 过早切换(too early) | 切换刚完成又掉回原小区 | 触发太激进,乒乓效应 |
| 切到错小区(to wrong cell) | 目标选择错误 | 测量上报有滞后,选了瞬时最优而非稳定最优 |
| 维度 | 4G LTE | 5G NR |
|---|---|---|
| 典型频段 | 低频(700M~2.6G) | 中频 + 毫米波/FR2(28G以上) |
| 小区半径 | 较大(数百米~公里) | 更小(尤其是高频/微站) |
| 信号变化速率 | 相对平缓 | 极快(绕过一根柱子就可能掉 20dB) |
| 切换频率 | 较低 | 显著升高 |
简单算一笔账:当信号以每秒 30dB 的速度下跌时,留给"测量—决策—下令"的整个信令预算可能只有 几十到几百毫秒。而传统切换端到端的空口+回传时延,往往就吃掉了这个预算的一大半。余量为负,必败。
这就逼出了一个反向思考:既然"等链路差了再切"注定来不及,那能不能趁链路还好的时候,先把切换该办的事全部办完,只把"扣扳机"这一下留给最后一刻?
这就是 CHO 的设计哲学。
条件切换(CHO):网络提前把一个或多个候选目标小区的切换配置连同"执行条件"一起下发给 UE;UE 持续评估这些条件,一旦某个候选满足条件,UE 自主执行切换,无需网络再发命令。
关键转变可以用一个对比概括:
传统切换像"到了机场再买票"——万一路上堵车(链路恶化),就赶不上飞机(切换失败)。
CHO 像"提前办好值机、打好登机牌、选好座位",你只需要在自己判断合适的时间走向登机口(条件满足),登机口(目标小区)早已为你留好位置(资源预留)。哪怕你在候机厅多等一会儿也没关系,因为登机牌已经攥在手里了。
这个"提前备好资源 + 自主择机执行"的双解耦,正是 CHO 的全部精髓。
CHO 把切换拆成准备(Preparation)、执行(Execution)、完成(Completion)三个清晰阶段。下面这张时序图是本文的核心,请仔细看每个阶段做了什么、谁主动:
sequenceDiagram
autonumber
participant UE as 手机(UE)
participant S as 源gNB
participant T1 as 候选gNB-1
participant T2 as 候选gNB-2
Note over UE,S: ═══ 准备阶段 Preparation ═══
UE->>S: 测量报告(邻区列表)
S->>T1: HO Request
S->>T2: HO Request
T1-->>S: HO Request Ack(预留C-RNTI/专用preamble)
T2-->>S: HO Request Ack(预留资源)
S->>UE: RRC Reconfiguration(CHO命令:<br/>含2个候选配置+各自执行条件)
Note right of UE: UE保存配置,不切换,继续测量
Note over UE,S: ═══ 执行阶段 Execution ═══
Note left of UE: UE持续评估条件...<br/>候选-2满足A3事件+TTT
UE->>T2: 专用preamble随机接入(RACH)
T2-->>UE: 随机接入响应(TA调整)
Note left of UE: UE同步到T2,单向下行,不回源
Note over UE,T1: ═══ 完成阶段 Completion ═══
UE->>T2: RRC Reconfiguration Complete
T2->>S: HANDOVER SUCCESS(通知成功)
S->>T1: CANCEL(释放候选-1预留资源)
Note over S: 源gNB转发/清理用户上下文
逐阶段拆解这背后的"为什么":
💡 为什么强调"链路还好的时候发"? 因为传统切换失败的高发点就是"命令发不出去/收不到"。CHO 把这条最脆弱的命令前移到信号好的时段,从根上消除这个失败模式。
UE 拿到的每个候选配置里,都绑着一个"执行条件"。条件本质上是一个或多个测量事件的组合,配合迟滞(Hysteresis)和触发时间(TTT)两个"防抖"参数。
| 事件 | 触发含义 | CHO 中常用场景 |
|---|---|---|
| A3 | 邻区质量比服务小区高出偏移量 | 最常用,相对判决"谁更好" |
| A4 | 邻区质量高于绝对门限 | 用于覆盖受限、找强信号 |
| A5 | 服务小区低于门限 且 邻区高于门限 | 双条件,适合边缘/恶化场景 |
以最常用的 A3 为例,UE 进入触发状态的条件(用 RSRP 衡量):
$$M_n + O_{fn} + O_{cn} - H_{ys} > M_p + O_{fp} + O_{cp} + O_{ff}$$
离开触发状态(取消)的条件:
$$M_n + O_{fn} + O_{cn} + H_{ys} < M_p + O_{fp} + O_{cp} + O_{ff}$$
其中:
关键直觉:$H_{ys}$(迟滞)让"进入"门槛高于"离开"门槛,形成一个死区——信号在死区里抖动时,UE 不会一会儿触发一会儿取消。配合 TTT(条件必须持续满足若干毫秒才生效),就构成了双重防抖,专门用来压制乒乓效应。
CHO 允许给一个候选配置多个执行条件("任一满足即触发"),也允许给 UE 配多个候选。这就形成一个"谁先达标先切谁"的并发评估逻辑:
flowchart TD
A[UE持有CHO配置:<br/>候选1,候选2,候选3] --> B{持续并行评估各候选条件}
B -->|候选1满足 A3+TTT| C1[执行→候选1]
B -->|候选2满足 A4+TTT| C2[执行→候选2]
B -->|候选3满足 A5+TTT| C3[执行→候选3]
B -->|多个同时满足| D{按配置优先级选择}
D --> C1
C1 --> E[执行成功后,丢弃其余候选配置]
C2 --> E
C3 --> E
E --> F[网络侧释放其他候选预留资源]
style C1 fill:#cfe8d8
style E fill:#fde2cf
这种"广撒网 + 抢答式执行"的设计,在覆盖复杂、信号跳变剧烈的场景(如 FR2 高频、室内微站、高铁)特别有效——无论哪个候选最先达标,UE 都能第一时间切过去,而不是死等一个可能永远不达标的目标。
这是 CHO 最容易被误解、但工程上最关键的一条性质:
一旦 UE 开始执行 CHO(向某个候选发起随机接入),就不再回头评估源小区,也不会切换到其他候选。这是一张"单程票"。
为什么这么设计?
这带来的重要推论是:CHO 不能被网络"中途撤销后让 UE 老老实实待在源小区"——网络要中止一个未执行的 CHO,必须通过新一轮 RRC 重配来更新或释放配置。所以 CHO 的可靠性,本质上押注在"准备阶段把候选选对"上。如果候选小区本身就有问题,UE 执行后会 RLF,进入 RRC 重建流程(前面文章讲过 RRC 重建正是掉线手机的自救术)。
| 维度 | 传统切换(baseline) | 条件切换(CHO) |
|---|---|---|
| 决策主体 | 网络(gNB) | UE 自主(按预设条件) |
| 执行时机 | 收到命令立即执行 | 条件满足后才执行 |
| 命令下发时机 | 链路已变差时 | 链路仍好时提前下发 |
| 候选目标数 | 通常 1 个 | 可多个并发准备 |
| 链路突变鲁棒性 | 差,易 RLF | 强,化解过晚切换 |
| 乒乓抑制 | 依赖 A3 参数调优 | 迟滞 + TTT + 多候选多重抑制 |
| 空口信令开销 | 每次切换一整套 | 准备提前,执行期信令更少 |
| 失败回退 | 切换失败→重建 | 单程票,失败→重建 |
| 典型场景 | 一般移动、低频大站 | 高频/高速/密集微站/边缘 |
R16 还引入了另一个明星机制 DAPS(Dual Active Protocol Stack,双激活协议栈)切换,初学者很容易和 CHO 搞混。它们的出发点不同、解决的问题也不同,最好放在一起对比理解:
flowchart LR
subgraph 传统切换
A1[源链路] -- 切换瞬间 --> A2[空窗] --> A3[目标链路]
end
subgraph CHO
B1[源链路<br/>+提前下发配置] --> B2[UE自决<br/>择机切走] --> B3[目标链路]
end
subgraph DAPS
C1[源链路] --> C2[源+目标<br/>双链路并行] --> C3[断源留目标]
end
style A2 fill:#ffd6d6
style C2 fill:#d6e8ff
| 维度 | 条件切换 CHO | DAPS 双激活协议栈 |
|---|---|---|
| 核心思想 | 提前准备 + 条件触发 | 切换期间同时保持源+目标两条链路 |
| 中断时延 | 减小(准备提前)但仍是单链路切换 | 趋近零中断(双链路重叠) |
| 解决的主要痛点 | 过晚切换、命令丢失、乒乓 | 中断时延、数据转发连续性 |
| UE 复杂度 | 中(需并发评估多条件) | 高(需双套收发/协议栈) |
| 触发方式 | UE 按条件自主触发 | 网络下令,UE 双链路工作 |
| 典型场景 | 高频/高速/移动鲁棒性 | URLLC、对时延零容忍业务 |
| 可否组合 | ✅ 可以 | ✅ 可以(DAPS + 条件执行 = 双重增益) |
一句话区分:CHO 解决"切得对、切得稳",DAPS 解决"切得快、不断流"。 两者还能组合使用——用 DAPS 的双链路保障零中断,再用 CHO 的条件触发决定何时切,鱼与熊掌兼得。
理论讲到这,落到现网和调测台,CHO 在哪些地方会被你"摸到"?
在 UE 侧 log 或 gNB 侧信令跟踪里,CHO 的标志是 RRC Reconfiguration 里出现 condReconfigToAddModList(条件重配列表),每个条目带一个 condExecutionCond(执行条件)。只要看到这个 IE,就知道这条重配是 CHO 命令而非普通切换。
现网里,过晚/过早/错小区切换的自动识别与参数自愈,由移动鲁棒性优化(MRO)这套自组织网络(SON)机制负责。CHO 与 MRO 是互补关系:MRO 负责调对参数(TTT、迟滞、偏移),CHO 负责在参数给定后把执行做得更稳。两者结合,才是 5G 高速移动不掉话的完整答案。
CHO 的全部智慧,可以用一个公式化的判断浓缩:
$$\text{切换可靠性} = \underbrace{\text{准备充分}}{\text{提前下发+多候选}} \times \underbrace{\text{触发精准}}$$}
它没有发明新的空口技术,而是重新分配了"何时由谁做决定"的责任——把最脆弱的"下令"环节前移到链路好的时候,把"执行"的主动权交给离信号最近、反应最快的 UE。这种用机制设计换时间裕量的思路,正是 5G 应对高频段、高速移动挑战的核心范式之一。
Q1:CHO 和测量事件 A3 是什么关系?A3 不是一直在用吗? A:A3 是一种测量事件(描述"邻区比服务小区好多少"的判据),传统切换和 CHO 都用它。区别在于谁基于 A3 做决定:传统切换里,UE 上报 A3,由 gNB 决策并下令;CHO 里,A3 作为执行条件直接交给 UE,UE 满足 A3+TTT 就自主切换,不再等网络下令。
Q2:CHO 配了多个候选,如果两个候选同时满足条件怎么办? A:网络在配置时会为候选设置优先级/顺序。当多个候选同时满足条件时,UE 按配置中规定的优先级选择一个执行,不会"双切"。执行成功后,其余候选配置被丢弃,网络侧释放对应资源。
Q3:CHO 执行后如果目标小区也失败了,怎么办? A:因为 CHO 是单程票,UE 不会"回退"到源小区。如果目标侧也出问题导致 RLF,UE 会进入 RRC 连接重建流程(即"掉线手机的自救术"),尝试重新建立连接。这也是为什么 CHO 的准备阶段把候选选对至关重要。
Q4:既然 DAPS 中断更小,为什么不全部用 DAPS,还要 CHO? A:DAPS 要求 UE 同时维持两套收发链路和协议栈,终端复杂度、功耗、成本都高得多,主要留给对时延零容忍的 URLLC 类业务。CHO 复杂度中等、普适性强,更适合作为高频/高速场景的"主力切换增强"。两者定位不同,且可以组合使用。
Q5:4G LTE 能用 CHO 吗? A:可以。CHO 虽在 NR(R16)中成名,但同样的条件切换机制也适用于 E-UTRA(即 4G LTE)。运营商在 LTE↔NR 互操作、以及高铁等 LTE 覆盖场景中,也会部署 CHO 以提升切换鲁棒性。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。
