目录
1. RRC重建介绍2. UE重建发起时机及操作3. 重建消息传输信道4. 重建流程解析4.1 UE设置并发送RRCReestablishmentRequest4.2 gNB接收RRCReestablishmentRequest4.3 UE接收RRCReestablishment 5. T311和T301定时器到期操作
前言:无线网络总有信号不稳定的时候,如果每次无线链路失败或者切换失败均要从头开始建立链接,无疑是比较耗费时间和系统资源的。重建流程只需要服务端对应到用户上下文,即可重建连接,简化了连接处理流程。
1. RRC重建介绍
重建成功重建失败,重新发起RRC建立
RRC重建过程的目的是重新建立RRC连接。处于RRC_CONNECTED状态的UE如果已经利用SRB2激活了AS安全性,则可以发起重建过程来恢复此前建立的RRC连接。如果重建时小区能够找到有效的UE上下文并得到验证,将重建和恢复SRB1;如果重建时小区无法找到相应的UE上下文,小区将丢弃存储的AS Context并释放所有RB,然后发送RRCSetup建立新的RRC连接。
如果UE尚未激活AS安全性,则UE不应发起重建过程,而是直接转换到RRC_IDLE,释放原因为“other”。如果已经激活了AS安全性,但是没有设置SRB2,UE同样不发起重建过程而是直接转换到RRC_IDLE,此时释放原因为“RRC连接失败(RRC connection failure)”。
2. UE重建发起时机及操作
UE在以下情况下会发起重建过程:
无线链路失败重新配置MCG同步失败NR侧移动性失败底层SRB1或SRB2显示完整性检查失败,这里排除在RRCReestablishment消息中检测完整性检查失败RRC连接重配失败在发起重建过程时,UE应该进行如下操作:
停止计时器T310停止计时器T304启动定时器T311挂起除SRB0外的所有RB复位MAC释放MCG SCell释放spCellConfig执行MR-DC释放释放delayBudgetReportingConfig,停止计时器T342释放overheatingAssistanceConfig,停止计时器T345进行小区选择在选择合适的NR小区后,UE应进行如下操作:
确认具有有效和最新的基本系统信息;停止定时器T311启动定时器T301;停止访问定时器T390;应用相应物理层规范中指定的默认L1参数值,SIB1中提供值的参数除外应用默认MAC Cell Group配置;应用CCCH配置;应用SIB1中包含的timeAlignmentTimerCommon;开始发送RRCReestablishmentRequest消息;在选择 inter-RAT小区时,UE应转入RRC_IDLE态,释放原因为“RRC连接失败(RRC connection failure)”。
3. 重建消息传输信道
消息 | 无线承载 | 逻辑信道 | 传输模式 | 传输方向 |
---|---|---|---|---|
RRCReestablishmentRequest | SRB0 | CCCH | TM | UE->gNB |
RRCReestablishment | SRB1 | DCCH | AM | gNB->UE |
RRCReestablishmentComplete | SRB1 | DCCH | AM | UE->gNB |
4. 重建流程解析
4.1 UE设置并发送RRCReestablishmentRequest
RRCReestablishmentRequest消息结构RRCReestablishmentRequest ::= SEQUENCE { rrcReestablishmentRequest RRCReestablishmentRequest-IEs}RRCReestablishmentRequest-IEs ::= SEQUENCE { ue-Identity ReestabUE-Identity, reestablishmentCause ReestablishmentCause, spare BIT STRING (SIZE (1))}ReestabUE-Identity ::= SEQUENCE { c-RNTI RNTI-Value, physCellId PhysCellId, shortMAC-I ShortMAC-I}ReestablishmentCause ::= ENUMERATED {reconfigurationFailure, handoverFailure, otherFailure, spare1}
如果重建是由于无线链路失败或重配同步失败导致,应该将VarRLF-Report中的reestablishmentCellId设置为所选小区的全局小区ID。设置UE标识 将c-RNTI设置为源PCell中使用的C-RNTI(通过同步或NR故障移动性重新配置)或触发重建的PCell使用的C-RNTI;将physCellId设置为源PCell的物理小区标识(通过同步或NR故障移动性重新配置)或触发重建的PCell的物理小区标识;将shortMAC-I设置为所计算MAC-I的低16位,使用源PCell中使用的KRRCint密钥和完整性保护算法(通过同步或NR故障移动性重新配置)或触发重建的PCell中使用的KRRCint密钥和完整性保护算法;将COUNT,BEARER和DIRECTION的所有输入位设置为二进制位。 设置重建原因(reestablishmentCause) 如果是因为重新配置失败而发起了重建过程,则将reestablishmentCause设置为 reconfigurationFailure;如果因为NR内切换失败或者NR的RAT间移动性失败导致了同步失败,需要重新配置而启动了重建过程,将reestablishmentCause设置为handoverFailure;除开上述两种情况后,其余情况将reestablishmentCause设置为otherFailure。 重建SRB1 重新建立SRB1的PDCP;重新建立SRB1的RLC;配置L2以暂停SRB1的完整性保护和加密,加密不适用于后续用于恢复连接的- RRCReestablishment消息。而完整性检查在RRC要求时才执行;恢复SRB1。 将RRCReestablishmentRequest消息提交给L2进行传输给gNB。4.2 gNB接收RRCReestablishmentRequest
根据C-RNTI,phyCellId和shortMac-I,查找RRC重建前的UE上下文根据查找到的UE上下文,恢复RRC配置信息和安全信息重建SRB1通过SRB1承载,向UE发送RRCReestablishment消息,携带nextHopChainingCount值,指示UE更新AS安全性密钥。4.3 UE接收RRCReestablishment
RRCReestablishment message消息结构RRCReestablishment ::= SEQUENCE { rrc-TransactionIdentifier RRC-TransactionIdentifier, criticalExtensions CHOICE { rrcReestablishment RRCReestablishment-IEs, criticalExtensionsFuture SEQUENCE {} }}RRCReestablishment-IEs ::= SEQUENCE { nextHopChainingCount NextHopChainingCount, lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension RRCReestablishment-v1700-IEs OPTIONAL}RRCReestablishment-v1700-IEs ::= SEQUENCE { sl-ConfigDedicatedNR-r17 SetupRelease {SL-ConfigDedicatedNR-r16} OPTIONAL, -- Cond L2RemoteUE sl-L2RemoteUEConfig-r17 SetupRelease {SL-L2RemoteUEConfig-r17} OPTIONAL, -- Cond L2RemoteUE nonCriticalExtension SEQUENCE {} OPTIONAL}
停止定时器T301;如果RRCReestablishment消息包括sl-l2remoteeconfig,执行L2 U2N Remote UE配置程序;其他情况将当前小区视为PCell。基于当前的KgNB密钥或NH,使用收到的nextHopChainingCount值来更新KgNB密钥;存储RRCReestablishment消息中指示的nextHopChainingCount值推导与先前配置的cipheringAlgorithm关联的KRRCenc和Kupens密钥;推导与先前配置的integrityProtAlgorithm关联的KRRCint和KUPint密钥请求L2使用先前配置的算法和KRRCint密钥验证RRCReestablishment消息的完整性保护。如果RRCReestablishment消息的完整性保护检查失败,则转入RRC_IDLE状态,释放原因为“RRC连接失败(RRC connection failure)”,重建流程结束。如果完整性保护检查成功,配置L2立即使用先前配置的算法和krcint密钥来恢复SRB1的完整性保护,完整性保护将用于后续UE接收和发送的所有消息,包括RRRRCReestablishmentComplete。配置L2使用先前配置的算法来恢复SRB1的加密,并立即使用KRRCenc密钥,加密也将用于后续UE接收和发送的所有消息,包括RRCReestablishmentComplete;释放measGapConfig指示的测量间隙配置将RRCReestablishmentComplete报文提交L2传输;重建流程结束。
5. T311和T301定时器到期操作
T311
当T311定时器到期,如果重建流程程序是由于无线链路故障或切换故障而发起,将VarRLF-Report中的noSuitableCellFound设置为true;转入RRC_IDLE状态,释放原因为“RRC connection failure”。
T301
当T301定时器到期,UE认为所选小区不可用,将转入RRC_IDLE状态,释放原因为“RRC connection failure”。