1 RRC连接过程中的子状态间的跃迁
任意状态1NULL23初搜(小区选择)45171615131112CON
图1 子状态跃迁
HOIDL(小区重选)69ACC7810WCA141.1 子状态描述
表1:LTE中各子状态说明
状态 空闲 子状态 NULL(空状态) 初搜 IDLE UE一开机先进入此状态,通过附着和注册过程,接收寻呼消息和系统信息,完成PLMN选择和小区选择、初始下行同步。 正常的小区驻留状态,在收到寻呼或是高层发起呼叫之前,UE一直处于该状态。在该状态下,UE与E-UTRAN之间没有任何上行物理信道连接。UE在该状态监听广播信道,维护更新服务小区的系统信息;执行邻近小区的测量,当发现一个更好的小区时或是满足小区重选标准时就进行小区重选。 当UE接收到高层配置的连接建立请求消息,根据连接建立原因判断小区是否被禁止。若小区不被禁止,UE的RRC负责配置无线资源和无线信道,通过原语通知MAC初始随机接入进程,建立上行同步。 状态描述 连接 ACC(随机接入) WCA(等待激活接入) 当接收到MAC来的随机 接入响应的指示消息,通知高层建立RRC连接,并建立SRB1。 CON(正常连接状态) 初始安全性激活,配置AS密钥和相关参数,并配置低层进行加密和完整性保护所需要的相关密钥和参数。负责连接重配置,建立SRB2和DRBs,完成UE和E-UTRAN之间的无线链路建立。当UE和E-UTRAN之间的无线链路建立起来后,可以进行正常的数据通信过程 HO(切换)
执行同频、异频小区间的切换,主要是通过重配置消息里的MobilityControlInfo来实现。 1.2 子状态跃迁描述
“1”:任意状态->NULL, “2”:NULL->初搜, “3”:初搜->NULL, “4”:初搜->IDL, “5”:IDL->初搜, “6”:IDLE->ACC,已经小区驻留的UE通过原语RR_ESTABLISH_REQ收到高层的业务请求或是对寻呼的响应而发起的RRC连接建立,通过原语CMAC_RANDOM_ACC_REQ请求MAC进行随机接入,进入ACC子状态。 “7”:ACC->IDL,在ACC子状态的UE,当收到高层发起的突然中断连接请求,或是T300超时,RRC子层放弃连接建立过程,返回IDL子状态。
“8”:即ACC->WCA,当MAC子层通过原语CMAC_STATUS_ACC_IND,向RRC子层指示随机接入的响应情况,RRC子层配置MAC,配置RLC子层建立层2链路,停止定时器T300,开始传输RRCConnectionRequest消息,进入WCA子状态。
“9”:WCA->初搜:当接收到RRCConnectionReject消息时,RRC子层放弃连接建立过程,通过原语RR_ESTABLISH_ERR告诉高层连接失败,进入初搜子状态。
“10”:WCA->IDL:在WCA子状态下,如果收到高层发起的突然中断连接请求,或是此时定时器T300、T302、T303、T305正在运行时发生小区重选,RRC子层放弃连接建立过程,返回IDL子状态。 “11”:WCA->CON,在WCA子状态下完成了SRB1建立,RRC子层向高层发送RR_ESTABLISH_CNF,并向网络端发送RRCConnectionComplete消息,进入CON子状态。 “12”:CON->WCA,在CON子状态,主要是完成安全性激活和SRB2、DRBs的建立,若在这个子状态下,初始安全性激活失败(SecurityModeCommand消息没有通过完整性校验),UE将继续使用安全性激活过程开始之前的配置,既不加密也不完整性保护,返回到WCA子状态,重新激活安全性。 “13”:CON->IDL, 初始安全性激活成功情形下,RRC重配置失败时,UE将返回到IDL小区驻留状态,重新发起连接建立请求。
“14”:CON->初搜,在CON子状态下,发生无线链路失败,RRC子层释放无线资源,进入小区初搜子状态。 “15”:CON->HO,当用户在正常通话过程中发生小区跃迁,或者当一定时间一个小区的同时进行通信的用户数饱和时,网络端要求UE进行小区切换,进入HO子状态。 “16”:HO->IDL,当定时器T304超时,即切换失败,UE先返回到源小区,使用源小区的某些配置,处于小区驻留,重新发起连接建立过程。 “17”:HO->初搜,切换失败,同时发生无线链路失败时,UE无法返回到源小区,回到初搜,重新开始小区选择。
2 RRC连接建立过程的设计流程
下面将详细介绍RRC连接建立过程中RRC模块接收信号的流程设计,主要针对一些重要信号。
2.1 连接建立过程的MSC
UE-NASUE-RRCUE-PDCP先根据建立原因判断小区是否被barred,否,执行以下动作,启动T30XUE-RLCUE-MACEUTRANIDLRR_ESTABLISH_REQCMAC_RANDOM_ACC_REQACCCMAC_STATUS_ACC_INDSTART T300PRACHCMAC_CONNECT_CONFIG_REQ=CRLC_CONFIG_REQWCACMAC_TM_DATA_REQRRCConnection-RequestRRCConnectionSetupSTOP T300,T30XCMAC_TM_DATA_INDCPDCP_CONFIG_REQCRLC_CONFIG_REQCMAC_CONNECT_CONFIG_REQ=RR_ESTABLISH_CNFCPDCP_SRB_REQ(Establlish SRB1)CRLC_AM_DATA_REQMAC_DATA_REQRRCConnectionSetp-Complete WCA 图2 RRC连接建立过程的MSC(成功情形)
UE-NASUE-RRCIDLUE-PDCP先根据建立原因判断小区是否被barred,是,执行以下动作UE-RLCUE-MACEUTRANRR_ESTABLISH_REQ若被barred,根据建立原因,进行计算比较判决是否被barred,若是,告诉高层失败,若否,执行正常连接进程(barred)RR_ESTABLISH_ERR(not barred) CAMC_RANDOM_ACC_REQWCAACCCMAC_STATUS_ACC_INDSTART T300CMAC_CONNECT_CONFIG_REQCRLC_CONFIG_REQPRACHWCACMAC_TM_DATA_REQCMAC_TM_DATA_INDCMAC_TM_DATA_INDCell re-selection while T302,T303 or T305 is runningRR_ESTABLISH_INDCell re-selection while T300 is running or T300 expiryRR_ESTABLISH_INDUE高层突然中断连接RR_RELEASE_REQRR_RELEASE_INDRRCConnection-RequestRRCConnectionRejectRRCConnectionSetupRR_ESTABLISH_REJ初搜 图3 RRC连接建立过程的MSC(失败情形)
2.2 连接建立过程的流程说明
2.2.1 RRC连接建立过程,建立SRB1(WCA)
RR_ESTABLISH_REQ (IDL)
在IDLE状态下收到RR_ESTABLISH_REQ信号,要求进入接入。该信号包含了RRC连接建立原因、NAS层的信息以及UE标识。处理流程如图4所示。在收到该原语后首次判断是否允许接入,如果允许接入,RRC向MAC发送CMAC_RANDOM_ACC_REQ信号,要求MAC进行物理层接入过程,RRC模块进入ACC状态。如果不允许接入则发送RR_RELEASE_IDN通知EMM,进入初搜小区选择状态重新进行小区选择过程。
IDL状态收到RR_ESTABLISH_REQ是否允许接入保存NAS信令及连接建立原语到全局变量发送RR_RELEASE_IND到EMM子层进行RRC连接建立请求的ASN编码进入初搜小区选择状态CMAC_RADOM_ACC_REQ到MAC层进入ACC状态 图4 收到RR_ESTABLISH_REQ信号的处理流程
CMAC_ACC_STATUS_IND(ACC)
在收到该信号后RRC子层已得到MAC的随机接入响应指示,RRC子层对MAC、RLC子层进行缺省配置,开启定时器T300,RRC进入WCA状态,向网络端发送“RRC连接建立请求”消息,并等待接收网路来的“RRC连接建立”消息或其他。
RR_ABORT_REQ(ACC)
RR_ABORT_REQ(WCA)
CMAC_TM_DATA_IND(WCA)
在WCA状态下收到CMAC_TM_DATA_IND信号,处理流程如图5所示,RRC子层首先停止T300,对信号中携带的信息进行ASN解码。然后进行消息解码的正确性判断,如果收到消息解码正确则进行后续的过程。如果消息解码错误,丢弃该消息不做任何处理,停留在WCA状态。判断消息的类型,如果是“RRC连接建立”消息的容,如果分配了DCCH信道并且消息中包含无线资源配置专用信息,执行无线资源配置。RRC发送CPDCP_CONFIG_REQ、CRLC_CONFIG_REQ,CMAC_CONNECT_CONFIG_REQ,配置PDCP、RLC、MAC子层,建立层2链路,发送RLC_AM_DATA_REQ携带“RRC连接建立完成”消息到网络,RRC停留在WCA状态。如果消息的类型为“RRC连接拒绝”,处理流程如果所示,解析该消息的容,开启定时器T302,并把它的值设为waitTime,继续停留在WCA状态,当该定时器超时,RRC进入初搜小区选择过程,通知EMM子层,RRC连接建立失败。
WCA状态CMAC_TM_DATA_IND申请内存进行消息的ASN解码解码是否正确否是忽略该信号判断消息类型WCA状态RRC连接建立消息处理RRC连接建立拒绝消息处理小区更新消息处理URA更新消息处理根据消息的内容进入响应的状态图5 RLC_TM_DATA_IND信号处理流程
CRLC_AM_DATA_REQ(WCA)
RRC子层接收到RRCConnectionSetup消息,执行无线资源配置,建立SR1及其对应的PDCP、RLC实例,向EMM子层发送RR_ESTABLISH_CNF通知EMM,RRC连接建立成功,完成接入过程,通过发送信号CRLC_AM_DATA_REQ携带“RRC连接建立完成”消息包含NAS响应网络,“RRC连接建立完成”消息在SRB1上发送。这样RRC连接建立就完成了。
T300超时(WCA) 当T300超时时,RRC子层重置MAC,释放MAC配置和为所有已建立的RBs重建RLC,通知EMM子层RRC连接建立失败,进入初搜小区选择过程。
2.2.2 初始安全性激活过程(CON)
UE-NASUE-RRCUE-PDCPUE-RLCEUTRANCPDCP_SRB_INDRR_SECURITY_INDRR_SECURITY_REQRLC_AM_DATA_INDSecurityModeCommandSMC消息通过完整性校验CPDCP_Integrity_IND (指示完整性校验失败)继续使用接收到SMC之前的配置,既不加密也不完整性保护CPDCP_SRB_REQSecurityModeFailureRLC_AM_DATA_REQSMC消息通过完整性校验SecurityModeFailureCPDCP_Integrity_IND (指示完整性校验失败)配置低层使用加密和完整性保护CPDCP_SRB_REQSecurityModeCompleteRLC_AM_DATA_REQSecurityModeComplete 图6 安全性激活过程
2.2.3 建立SRB2、DRBs过程(CON)
UE-NASUE-RRCUE-PDCPUE-RLCUE-MACEUTRANSecurityModeCommandRRCConnection-ReconfigurationRLC_AM_DATA_INDCPDCP_SRB_INDCPDCP_CONFIG_REQMAC_DATA_INDCRLC_CONFIG_REQRR_DATA_INDCPDCP_SRB_REQRLC_AM_DATA_REQMAC_DATA_REQRRCConnection-Reconfiguration-Complete 图7 RRC连接重配置过程(建立SRB2、DRBs)
3 RRC连接重建过程
UE-NASUE-RRC 在5种情形之下下,UE 初始连接重建进程STOP T310,START T311UE-PDCPUE-RLCUE-MACEUTRAN CRLC_SUSPEND_REQCMAC_ACC _CONFIG_REQ执行小区选择选择了一个合适的E-UTRA小区选择了一个iner-RAT小区RR_RELEASE_INDCPDCP_SRB_REQCPDCP_SRB_INDCPDCP_SRB_REQRLC_AM_DATA_REQRRCConnectionRee-stablishmentRequestSRB0 CCCHRRCConnectionRee-stablishmentSRB0 CCCHSTOP T311,START T301设置shortMAC-I值的过程MAC_DATA_REQSTOP T301CPDCP_SRB_INDCPDCP_CONFIG_REQCRLC_CONFIG_REQ执行无线资源配置专用RLC_AM_DATA_INDMAC_DATA_IND CRLC_RESUME_REQT311 expiryRR_RELEASE_ERRCPDCP_SECURITY_REQCPDCP_SECURITY_INDCPDCP_SRB_REQRLC_AM_DATA_REQMAC_DATA_REQT301 expiry或者已选小区变得不再合适RRCConnectionReest-ablishmentComplete(SRB1 CCCH)RR_RELEASE_ERR重建成功,进行重配置CPDCP_SRB_REQRLC_UM_DATA_REQMAC_DATA_REQCPDCP_CONFIG_REQCRLC_CONFIG_REQRRCConnectionReest-ablishmentReject(SRB1 CCCH)执行无线资源配置专用RR_DATA_INDCRLC_RESUME_REQCPDCP_SRB_REQRLC_AM_DATA_REQMAC_DATA_REQRRCConnection-Reconfiguration(SRB1 DCCH) 图8 RRC连接重建过程
4 RRC连接释放
UE-NASUE-RRCUE-PDCPUE-RLCUE-MACEUTRANRRCConnectionReleaseCONMAC_DATA_INDRLC_AM_DATA_INDCPDCP_SRB_INDRRC子层接收到网络端发来的RRCConnectionRelease消息开始的60ms内CPDCP_RELEASE_IND若收到底层的RLC释放指示失败指示后,还没超过CMAC_STATUS_IND60ms,执行以下动作RR_RELEASE_IND若收到底层的初搜失败指示,已经超过60ms,执行以下动作RR_RELEASE_REQCPDCP_RELEASE_REQCRLC_DETACH_REQCMAC_DEACT_REQRR_RELEASE_IND初搜图9 RRC连接释放过程
5 切换
5.1 intra-MME handover过程说明
UESource eNBTarget eNBMMEServing Gateway0.Area Restriction Provided1.Measurement ControlPacket data UL allocation2.Measurement ReportsL3 signallingL1/L2 signallingUser DataPacket data3.HO decision4.Handover Request5.Admission Control6.Handover Request Ack DL allocation 7.RRCConnectionReconfig Include Mobility-ControlInformationDetach from old cell and syschronize New cellDeliver buffered and in transit packets to target eNB8.SN Status TransferData Forwarding9.Synchronisation10.UL allocation + TA for UE11.RRCConnectionReconfigCompletePacket dataBuffer packets fromSource eNBPacket data12.Path Switch Request13.User Plane update requestEnd MarkerEnd MarkerPacket data14.Switch DL path17.UE Context Release16.Path Switch Request 15.User Plane update responseAck18.Release Resources 图10 intra-MME handover过程
0: 1:
5.2 连接重配置消息里包含MobilityControlInfo消息(UE端的切换过程)
图11
UE-NASUE-RRCUE-PDCPUE-RLCUE-MACEUTRANSTOP T310START T304HOCPDCP_SRB_INDRLC_AM_DATA_INDMAC_DATA_INDRRCConnection-Reconfiguration include Mobility-ControlInfoDetach from old cell and synchronize to new cell与目标小区建立下行同步Reset MACCPDCP_CONFIG_REQCRLC_CONFIG_REQCMAC_RANDOM_ACC_REQPRACHConfigure lower layers in accordance with the received radioResourceConfigCommon更新密钥KeNB 以及加密算法和完整性保护算法配置底层采用加密和完整性保护CPDCP_SRB_REQSTOP T304RLC_AM_DATA_REQMAC_DATA_REQCMAC_STATUS_ACC_INDRRCConnection-Reconfiguration CompleteWCA 图11 UE端的切换过程