博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接
本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。
博客内容主要围绕:
5G/6G协议讲解
算力网络讲解(云计算,边缘计算,端计算)
高级C语言讲解
Rust语言讲解
5G gNB间的N2/NGAP切换(handover)那点事儿
移动性(也就是切换)在任何电信时代都是一个重要的特性,5G时代也是如此。切换过程与传统网络相同,即UE向源小区报告相邻小区PCI和信号强度的测量报告,源小区决定启动向最佳目标小区的切换过程,最后由目标小区完成切换过程。
在LTE中,我们有不同类型的同系统(即LTE到LTE)切换,比如基于X2接口的切换、基于S1接口的切换、异频间切换、同频扇区间切换。同样3GPP规范也定义了5G下的同系统(即5G NR到5G NR)切换,如基于Xn接口的切换、基于N2\NGAP接口的切换、同频和异频切换。
在这篇文章中,我们将讨论gNB间的N2\NGAP切换,当UE从一个gNB移动到另一个gNB时,不会重定位AMF和UPF。
N2切换流程
上图描述了移动场景,其中UEs位于gNB#1下的PCI为22的小区,随后它开始向gNB#2下的PCI为21的小区移动。在整个切换过程中,主要通过N2接口传递信令,这些信令使用的是NGAP协议。
N2切换流程图
下图展示了5G gNB间的N2/NGAP切换流程。为了避免流程的复杂性,我们将gNB-DU、gNB-CUCP和gNB-CUCP视为一个单一实体,即gNB,不包含内部DU、CUCP和CUUP信令。
-
步骤#0:UE在RRC_CONNECTED中,在源gNB发送和接收上行链路和下行链路数据,并向目标端gNB移动;
-
步骤#1-MeasurementReport:终端向源gNB发送测量报告消息,包括服务小区和邻小区的信号强度;
-
步骤#1.1:源gNB根据测量报告和小区负载等信息,综合考虑UE的移动限制和无线能力,决定切换UE到其它gNB,并选择目标gNB发起切换;
-
步骤#2-Handover Required:基于源gNB的切换决定会触发一个N2切换,其向AMF发送N2切换请求信令。该信令包括UE RAN-NGAP-ID、AMF-NGAP-ID、Target gNB ID、切换类型、切换原因以及将要切换的PDU会话信息;
-
步骤#3-HandoverRequest:AMF接收到切换请求后,识别目标gNB并发送切换请求,请求内容包括UE安全上下文、UE能力、PDU会话信息、SourceToTarget-TransparentContainer、GUAMI等;
-
步骤#4-HandoverRequestAcknowledge:在接收到AMF的切换请求后,目标gNB根据可用资源的数量,来决定是否接纳UE。如果目标gNB能够接纳所有PDU会话中的各个数据bearers,它会使用HandoverRequestAcknowledge回复AMF。HandoverRequestAcknowledge消息包括UE-NGAP-IDs、已接纳的PDU会话列表和TargetToSource-TransparentContainer;
-
步骤#5-HandoverCommand:AMF向源gNB发送切换命令。此消息包括步骤#4中收到的信息。源gNB现在可以在步骤#6中向终端发送切换命令。在接收到切换命令后,终端将离开源小区,并开始连接到目标小区;
-
步骤#6-RRCReconfiguration:源gNB通过向UE发送RRCReconfiguration消息来触发切换,该消息包含了接入目标小区所需的信息(至少是目标小区ID、新的C-RNTI和所选安全算法的目标gNB安全算法标识符);
-
步骤#7-UplinkRANStatusTransfer:向空口发送了切换命令之后,源gNB会向AMF发送UplinkRanStatusTransfer消息,消息中包括了RAN和AMF的UE-NGAP-IDs、RANStatusTransfer-TransparentContainer。RANStatusTransfer-TransparentContainer包含源gNB上终端所有的PDCP DRBs的SN信息;
-
步骤#8-DownlinkRANStatusTransfer:AMF收到UplinkRanStatusTransfer消息后,会给目标gNB发送DownlinkRanStatusTransfer消息;
-
步骤#9-目标小区上发起RACH:在目标gNB上执行RACH,将步骤#6中收到的信息作为rach-ConfigDedicated的一部分;
-
步骤#10-RRCReconfigurationComplete:终端成功连接到目标小区后,通过向目标gNB发送RRCReconfigurationComplete消息完成切换过程。UE开始发送上行数据到目标gNB;
-
步骤#11-HandoverNotify:目标gNB向AMF发送切换通知消息,认为切换成功。该消息包括RAN和AMF的UE-NGAP-IDs,此参数可以用于识别UE上下文,以及UE位置信息(用来确定当前那个TAC在位此终端服务);
-
步骤#12-UEContextReleaseCommand:AMF向源gNB发送UEContextReleaseCommand消息,通知gNB释放与该UE相关的资源。AMF会在此消息中包含用于识别终端上下文的UE-NGAP-IDs和用于确定终端是否切换成功cause参数;
-
步骤#13-UEContextReleaseComplete:源gNB在成功删除终端上下文以及释放所有与终端相关的资源后,发送UEContextReleaseComplete消息。
在某些情况下,切换完成后,终端需要重新发起注册流程,例如,如果切换导致终端移动到不同的注册区域(Registration Area)。
总结
- 5G N2切换类似于4G中的S1切换;
- N2切换不要求源和目标gNB之间有可用的Xn接口;
- 两个具有Xn接口的gNB仍然进行N2切换,主要是因为配置不允许执行Xn切换;
- 这种类型的切换适用于同一个AMF内迁移或不同AMF间迁移,即源和目标gNB可以连接到同一个AMF或不同的AMF;
- N2切换分为同频切换和异频切换;
- 源gNB和目标gNB可以连接两个不同的UPFs;
- 如果源gNB和目标gNB属于不同的跟踪区域(TAC),则在成功切换后需要发起新的注册过程;
- N2/NGAP切换比Xn切换需要更多的时间;
- N2切换支持直接数据转发(Direct Data Forwarding)和间接数据转发(Indirect Data Forwading)。