好的,我们继续跟随工程师阿哲的脚步,深入探索3-GPP T-S 38.331的奥秘。在前两篇文章中,我们见证了手机从开机获取系统信息,到建立RRC连接并激活安全,再到配置好基础的数据承载和测量任务的全过程。阿哲的手机现在已经是一个全副武装、准备就绪的5G终端,正在享受着高速的网络服务。

现在,阿哲带着手机走出了家门,一场真正的移动性挑战即将开始。当他在不同的小区覆盖范围之间移动时,RRC协议是如何确保他的高清视频通话始终流畅,网络连接永不掉线的?答案就隐藏在规范5.3.5节RRCReconfiguration流程的一个核心应用——移动性控制之中。

本篇文章将是**RRCReconfiguration流程解读的第二部分**,我们将聚焦于RRC连接态下最关键、最复杂的场景之一:切换(Handover)。我们将深入剖析一个完整的切换流程,从UE的测量报告,到网络的切换决策,再到UE与新小区的“闪电结合”,揭示RRC如何导演这场保证业务连续性的“无缝大挪移”。


深度解析 3GPP TS 38.331:5.3.5 RRC reconfiguration (Part 2 - 移动性核心:无缝切换的艺术)

本文技术原理深度参考了3GPP TS 38.331 V18.5.1 (2025-03) Release 18规范中,关于“5.3.5 RRC reconfiguration (RRC重配置)”中涉及移动性控制,特别是切换(Handover)流程的核心章节,旨在为读者详细拆解一次完整的连接态切换是如何由测量驱动,并由RRCReconfiguration消息精确执行的。

1. 切换的前奏:测量配置与报告 (回顾5.5节)

在我们深入切换流程之前,必须先回顾一下它的触发器——测量报告。正如我们在上一篇文章中提到的,网络通过RRCReconfiguration消息中的measConfig为阿哲的手机配置了“侦察任务”。现在,这个任务要开始发挥作用了。

阿哲一边进行着视频通话,一边从他家所在的小区A走向街道的另一头,逐渐进入了邻近小区B的覆盖范围。

场景模拟:

  1. 信号变化:小区A的信号强度(RSRP)逐渐减弱,而小区B的信号强度逐渐增强。

  2. 触发事件:阿哲的手机持续监控着这两个小区的信号。终于,在某个瞬间,满足了网络预设的切换事件A3的条件。

    Event A3 (Neighbour becomes offset better than SpCell) Inequality A3-1 (Entering condition) Mn + Ofn + Ocn – Hys > Mp + Ofp + Ocp + Off

    这里的公式看起来复杂,但阿哲将其简化理解为:邻区B的测量值 + 各种偏置 > 主小区A的测量值 + 切换门限。当这个条件在一段特定时间(timeToTrigger)内持续满足时,事件就被正式触发。

  3. 上报测量报告:事件触发后,UE会立即生成一条MeasurementReport消息,并通过SRB1上报给当前的服务小区A。这份报告中会详细列出所有满足条件的邻区及其测量结果。

这份测量报告就像是前线侦察兵送回的紧急军情:“报告指挥部!发现更优阵地B,请指示!”。现在,决策的皮球踢给了网络侧。

2. “万能钥匙”再显神威:Reconfiguration with Sync (解读5.3.5.5.2)

源基站(小区A所属的gNB)收到MeasurementReport后,结合自身的负载情况、目标小区的状态以及QoS策略,决定启动切换。它会通过Xn接口与目标基站(小区B所属的gNB)进行“切换准备”(Handover Preparation),为阿哲的手机在目标小区B预留好所有必要的资源(如C-RNTI、DRB配置等)。

一旦准备就绪,源基站就会向阿哲的手机发送一条特殊的RRCReconfiguration消息。这条消息的特殊之处在于,它包含了spCellConfig内的reconfigurationWithSync字段。

5.3.5.5.2 Reconfiguration with sync The UE shall perform the following actions to execute a reconfiguration with sync. 1> if the AS security is not activated, perform the actions upon going to RRC_IDLE… … 1> stop timer T310 for the corresponding SpCell, if running; … 2> start timer T304 for the corresponding SpCell with the timer value set to t304, as included in the reconfigurationWithSync;

reconfigurationWithSync就像是这把“万能钥匙”上一个特殊的齿,一旦出现,就意味着这不是一次普通的配置修改,而是一次需要重新进行同步的重大操作——即切换。

阿哲的手机收到这条消息后,RRC实体会像接收到最高指令一样,执行一系列严格而迅速的动作:

  1. 停止与源小区的联系

    • 停止用于检测源小区无线链路失败的T310定时器。
    • 重置MAC实体,清空所有与源小区相关的HARQ进程和缓冲区。
    • 释放所有辅小区(如果配置了CA)。
  2. 启动切换定时器

    • 启动T304定时器。这是一个“切换失败”定时器。如果在T304超时之前,UE还没能成功接入目标小区,就会宣告本次切换失败,并触发RRC连接重建流程。
  3. 配置目标小区

    • 应用消息中包含的目标小区的全部配置,包括新的SpCell配置、MAC层配置、物理层配置等。
    • 获取目标小区的安全算法(虽然密钥通常在切换后保持不变或进行更新)。
  4. 与目标小区同步

    2> if the frequencyInfoDL is included: 3> consider the target SpCell to be one on the SSB frequency indicated by the frequencyInfoDL with a physical cell identity indicated by the physCellId; 2> else: 3> start synchronising to the DL of the target SpCell;

    UE会根据消息中提供的目标小区频率和SSB信息,快速与目标小区B的下行信号实现同步。

  5. 发起随机接入: 与目标小区下行同步后,UE会立即使用RRCReconfiguration消息中为目标小区配置的RACH资源,发起一次随机接入过程,以建立上行同步。

这次随机接入是“基于竞争”还是“非竞争”的,取决于网络是否在消息中为UE分配了专用的PRACH前导码(rach-ConfigDedicated)。通常为了保证切换的成功率和低时延,网络会分配专用的非竞争前导码

2.1 切换中的安全处理

在切换过程中,安全性是无缝衔接的关键一环。RRCReconfiguration消息中也包含了处理安全密钥更新的机制。

The purpose of this procedure is to modify an RRC connection… to perform reconfiguration with sync, to setup/modify/release measurements…

虽然通常在切换中UE的KgNB基密钥保持不变,但为了防止重放攻击和增加安全性,网络可以要求UE在每次切换后都更新底层的加密和完整性保护密钥(KRRCenc, KRRCint, KUPenc, KUPint)。这是通过“密钥更新”机制实现的。在切换到目标小区后,PDCP层的COUNT计数会重置,为了避免使用相同的密钥和COUNT组合(这会产生安全漏洞),必须使用新的底层密钥。

gNB会计算一个新的NCC(Next Hop Chaining Counter),并将其包含在切换命令中。UE收到后,会使用这个NCC和原有的KgNB,派生出一套全新的KgNB,并由此再派生出全新的底层密钥。这个过程确保了即使PDCP COUNT重置,也不会出现密钥流的重用,保证了通信的持续安全。

2.2 切换的“B计划”:DAPS切换 (Dual Active Protocol Stack)

对于像阿哲正在进行的实时视频通话这样对时延和中断极其敏感的业务,5G RRC提供了更为先进的“B计划”——DAPS切换。

1> if the RRCReconfiguration includes the daps-SourceRelease: 2> reset the source MAC and release the source MAC configuration; 2> for each DAPS bearer: 3> release the RLC entity… for the source SpCell; 3> reconfigure the PDCP entity to release DAPS as specified in TS 38.323;

在DAPS切换中,UE在切换执行阶段会短暂地维持源小区和目标小区的双协议栈。

  • 上行:UE在与目标小区建立连接后,会将上行数据流从源小区切换到目标小区。
  • 下行:UE可以同时从源小区和目标小区接收数据。PDCP层会负责对来自两个路径的数据包进行重排序和去重,保证上层看到的是一条连续的数据流。

一旦UE成功接入目标小区,源gNB会再发送一条包含daps-SourceReleaseRRCReconfiguration消息,指示UE正式释放与源小区的所有连接。这种“先通后断”的机制,理论上可以实现零中断的数据传输,为极致的用户体验提供了保障。

3. 切换的收尾:确认与完成

当UE在目标小区B上成功完成了随机接入,它会立即通过新建立的上行链路,向目标基站B发送RRCReconfigurationComplete消息。

这个消息的发送标志着:

  1. UE侧切换成功:UE已经成功应用了新配置,并与目标小区建立了稳定的连接。
  2. 网络侧完成路径更新:目标基站收到此消息后,会通知核心网的用户面功能(UPF),将下行数据流从原来的路径(通往基站A)切换到新的路径(通往基站B)。

此时,阿哲的视频通话数据流已经神不知鬼不觉地从小区A切换到了小区B。他完全没有感觉到任何卡顿或中断,RRC成功地完成了一次“无缝大挪移”。

4. 切换失败:RRC的“灾难恢复”机制

然而,现实世界的无线环境是复杂的,切换并不总是一帆风顺。如果T304定时器超时,UE仍未成功接入目标小区,就会触发切换失败

5.3.5.8.3 T304 expiry (Reconfiguration with sync Failure) The UE shall: … 3> initiate the connection re-establishment procedure as specified in clause 5.3.7.

此时,UE会认为自己与网络失去了连接,并立即启动**RRC连接重建(RRC Connection Re-establishment)**流程。它会尝试在覆盖范围内的任何一个合适的NR小区(可能是原来的小区A,也可能是另一个小区C)上重新建立RRC连接。

连接重建成功后,UE会向网络上报一次包含切换失败信息的RLF-Report(无线链路失败报告),帮助网络诊断和优化切换参数。这形成了一个完整的闭环:执行-失败-恢复-报告-优化

结语:在移动中编织无缝的网络

通过对5.3.5节中切换流程的深入剖析,阿哲对RRC的强大能力有了更深的敬畏。如果说RRC连接建立是在静态中从无到有地构建通信桥梁,那么切换就是在动态中,以“偷天换日”般的手法,为飞驰的“数据列车”瞬间切换轨道,而车上的乘客(用户业务)却毫无察觉。

这场“无缝大挪移”的成功,依赖于一个环环相扣、逻辑严密的闭环系统:

  • 精准的测量机制作为“眼睛”;
  • 灵活的事件触发作为“神经反射”;
  • 强大的RRCReconfiguration消息作为“指挥中枢”;
  • 高效的随机接入作为“登陆艇”;
  • 可靠的失败恢复机制作为“安全网”。

这正是RRC协议设计的精髓所在——在复杂的无线环境中,通过一系列精密的信令流程,为上层业务提供一个看似简单、稳定、永远在线的无线管道。

阿哲的散步还在继续,他的手机可能会经历更多的切换、甚至跨系统的移动。在下一篇文章中,我们将继续探索RRC的其他高级功能,例如更为复杂的双连接(Dual Connectivity)管理和载波聚合(Carrier Aggregation)配置,看RRC是如何通过“合纵连横”的策略,为用户提供极致的峰值速率体验。


FAQ

Q1:切换(Handover)和RRC连接重建(Re-establishment)有什么区别? A1:两者都是UE在连接态下恢复与网络连接的手段,但触发原因和流程目标有本质区别。

  • 切换可预期的、网络控制的移动性事件。它由测量报告触发,网络提前为UE在目标小区准备好资源,旨在实现业务无中断地平滑过渡。整个过程UE的连接不会断开(从上层来看)。
  • RRC连接重建不可预期的、UE发起的故障恢复流程。它在发生无线链路失败(RLF)、切换失败或RRC配置失败后触发。UE会尝试在任何一个合适的细胞上“从头”恢复RRC连接,这个过程会导致业务中断,上层数据传输会暂停,直到重建成功。其首要目标是恢复信令连接,而不是保证业务无缝。

Q2:什么是切换中的“条件切换”(Conditional Handover, CHO)? A2:条件切换是5G Rel-16中引入的一项增强功能。在传统切换中,网络只给UE一个目标小区。而在CHO中,网络可以一次性给UE配置多个候选目标小区以及各自的执行条件(通常是基于测量的事件)。UE会同时监控这些候选小区,一旦第一个满足执行条件的小区出现,UE会立即自主地向该小区执行切换,并通知网络。这种“UE自主执行,事后通知”的模式,大大降低了切换时延,特别适用于高速移动等场景,因为省去了UE上报测量报告、等待网络下发切换命令的时间。

Q3:为什么在DAPS切换中,UE需要同时维护两个协议栈?这对手机硬件有什么要求? A3:DAPS(双活动协议栈)的核心思想是在切换的瞬间,让UE的协议栈(特别是MAC和RLC层)能够同时处理来自源gNB和目标gNB的数据。下行方向,PDCP层需要能够接收来自两个路径的数据包,并进行去重和重排序。上行方向,MAC层需要能够将数据发送给新的目标gNB。这对UE的基带处理能力提出了更高的要求,需要硬件能够支持在短时间内同时运行和管理两个小区的底层协议栈,并具备更强大的缓冲区管理和数据处理能力。

Q4:T304、T310、T311这些定时器在移动性管理中分别扮演什么角色? A4:这些是RRC移动性管理中最重要的几个“哨兵”定时器:

  • T310 (无线链路失败检测):当UE连续收到N310个“失步”指示后启动。如果在T310超时前没有收到N311个“同步”指示来停止它,UE就会宣告无线链路失败(RLF),并触发连接重建。
  • T304 (切换失败检测):在UE收到带reconfigurationWithSync的切换命令后启动。如果在T304超时前没有成功接入目标小区(即没有发送RRCReconfigurationComplete),则宣告切换失败,触发连接重建。
  • T311 (连接重建中的小区选择):在UE发起连接重建流程时启动。UE会在T311的持续时间内,尝试在选定的小区上进行重建。如果T311超时,UE仍未成功,则会放弃重建,彻底进入RRC_IDLE状态。

Q5:如果切换的目标是一个不同频段的小区,UE是如何找到它的? A5:这是通过切换命令RRCReconfiguration中的详细物理层配置实现的。消息中会包含一个frequencyInfoDL字段,明确指示目标小区的载波频率(通过absoluteFrequencySSBarfcn-ValueNR)。同时,消息还会提供目标小区用于同步的SSB块的索引(ssb-Index)和其时域位置信息。UE收到这些精确的“坐标”后,就不再需要盲目搜索,而是可以直接将射频单元调谐到指定频率的指定位置,快速地捕获目标小区的同步信号,从而大大缩短切换中断时间。