概述
微信公众号同步更新欢迎关注同名modem协议笔记
这篇所说的消息是指SM(session management) MM(mobility management)和RRC( Radio Resource Control)层的信令,即空口信令,这里不会看每条信令的具体IE,只是简单看下每层信令的传输流程。
和LTE一样,NAS 层的SM信令需要特定的MM信令承载然后传递给RRC层,MM信令也需要RRC层的信令的承载,传递给L2->L1最后通过天线发送到网络端。先看下SM/MM消息都包含哪些。
NAS SM/MM message如下
5GSM消息会通过特定的5GMM消息传输,主要过程就是通过特定5GMM消息的IE表示具体的5GSM消息。5GSM消息仅仅只能在5GMM context建立后触发,例如initial注册过程,完成注册后,有需要建立PDU时,才会触发PDU session establishment request。
而5GMM用于承载5GSM的消息就是UL NAS TRANSPORT/DL NAS TRANSPORT。
24.501中有详细描述了初始化UL/DL NAS TRANSPORT 的场景,如下图是UL NAS TRANSPORT的规定比较繁琐,这里仅对一些场景举例说明。
例如 在connected mode,UE要发送单个5GSM消息时,就会触发UL NAS TRANSPORT,这时候UL NAS TRANSPORT中的IE有其规定,例如要包含PDU session 信息(PDU session ID,old PDU session ID,S-NSSAI,mapped S-NSSAI,DNN,request type);要将Payload container type 设置为“N1 SM information”,Payload container对应的就是特定的5GMS消息。
下图示实际log中建立ims PDU session时UL NAS transport的截图,对照看下对应的就是上面的设置要求。
下面是其他各个场景对应UL NAS transport的设置规定,仅仅是列出来,方便后续查找,不做说明。
再看下RRC层如何承载NAS信令,类似的RRC层通过ULInformationTransfer/DLInformation transfer来传输NAS 或non-3GPP dedicated消息。
ULInformationTransfer 消息用来传输上行NAS或non-3GPP dedicated消息。
UL information transfer的目的就是传递UE发送给网络端的NAS dedicated information,当UE在RRC connected mode,有NAS dedicated information 发送时,就会进行这个过程。UE会将ULinfirmationTransfer 的IE dedicatedNAS-Message 设置为NAS PDU,然后交由底层(L2->L1)发送出去。
如果发生Failure,比如在AS security没有激活时发生了RLF或者发生PDCP 重建及传输UL information transfer的SRB release/addtiton ,或者PCell/PSCell 发生改变,RRC connection re-establishment等场景,这时候RRC层要将failure告知NAS层,这时候NAS要根据RRC层报上的failure原因进行特定的处理,这部分异常处理主要在24.501 5.4.5.2.6章节中描述,比如由于 UAC fail,access attempt barred,TAI 发生变化等等。
如上图是RRC层的定义,主要将其中的IE dedicatedNAS-message 设置成NAS传下来的消息,送出去即可。传输ULInformationTransfer 的Signalling radio bearer:是SRB2 或SRB1 (在SRB2没有建立起来之前用SRB1传输). 如果SRB2由于某些原因被suspend,UE要等到SRB2恢复正常后才能传输。传输方式对应的是RLC AM 模式,即可以通过RLC ARQ过程,在得到网络端ack消息后才能确认网络端有正常收到这条消息,常见的fail原因 ,比如在信号状况不佳或者网络异常的情况下,UE一直收不到RLC ack,UE就会重传, UL RLC 重传达到最大次数后会引发RLF等等。下图是实际log的截图。
DLInformationTransfer对应的就是DL NAS消息的传输过程。
在RRC connected mode ,当网络端NG-RAN有NAS dedicated消息发送给UE时就会触发。过程类似,网络端会将IE dedicatedNAS-message 设置为接收到的NAS层消息,如果还包含referenceTimeInfo IE时,要将对应的time,referenceSFN timeInfoType等都设置好,这个Time相关的IE是R16才新增的,在23.501 5.27.1.2中描述,主要用于UE端的时间同步,RRC层结构如下。
传输ULInformationTransfer 的Signalling radio bearer:是SRB2 或SRB1 (在SRB2没有建立起来之前用SRB1传输). 如果SRB2由于某些原因被suspend,UE要等到SRB2恢复正常后才能传输。传输方式对应的是RLC AM 模式,下图是实际log,对应的是R15版本协议,肯定没有上面提到的time相关的IE。
除了上述DLInformationtransfer/ULInformationtransfer,还有一些其他消息也会顺带传输NAS层的消息,例如RRCSetupComplete,RRCReconfiguration,RRCResumeComplete等,具体情况就不说了,可以搜下38.331看下,下面是实际log中的一些截图。
SM/MM/RRC层的消息传输,基本上说完了,下面顺带看下SRB的内容。
SRB 全称signalling Radio Bearers,即传输RRC/NAS消息的RB,通常包含SRB0/SRB1/SRB2,在某些DC场景可能会有SRB3。SRB1主要发送RRC信令,SRB2建立后主要用于发送DL/ULInformationTransfer,下面通过一张图说明下SRB的使用场景。
上图是UE从RRC idle进入connected的信令图,简单的说在SRB1 没有建立前的消息用SRB0传输,此时对应的是CCCH 逻辑信道,例如初始注册进行RA的场景,SRB0传输的消息对应的就是第一步的RRCSetuprequest 和第二步的RRC setup消息;而SRB1一般在RRC setup信令中配置下来,这之后的信令都由SRB1收发。
第一条NAS消息Registration request就是通过RRCSetupComplete发送给网络端;4/4a/5/5a 步对应的过程可以是authentication或identity过程。
第6步网络端AMF将准备的UE context data (包括PDU session context, the Security Key, UE Radio Capability and UE Security Capabilities等) 发送给gNB,之后第7步gNB就会和UE激活AS security,在AS security激活后就会建立SRB2。
第8步 gNB下发RRCreconfiguration让UE建立SRB2和对应的DRBs,对应实际log一般会在UE送出去第一条PDU session establishment request后,通过接下来的第一条RRCreconfiguration配置SRB2和DRB下来,之后的RRC信令DL/ULInformationTransfer都由SRB2进行收发。
第9步 gNB通知AMF完成setup过程。
实际log中SRB1/SRB2 配置下来的对应消息如下。
上述是SA场景不会出现SRB3,接下来就来看看SRB3相关的内容。
SRB3适用的场景是EN-DC NGEN-DC NR-DC,SRB3就是SN和UE之间建立的一个SRB,是否建立SRB3是由SN决定,SRB3的建立和release是通过Secondary Node Addition和Secondary Node Change过程完成的,如果要对SRB3 进行重配置,可以通过Secondary Node Modification完成。
在SRB3建立起来后,SN和UE之间就可以直接通信,不必再通过SN->MN->UE的路径发送消息,例如可以在SN和UE之间直接发送RRC Reconfiguration ,RRC Reconfiguration complete,Measurement report failure Information等消息,如下图,但是实际上ENDC场景一般都没有enable SRB3,看不到SRB3的传输过程。
还有一个概念Split SRB 也是仅适用于MR-DC场景,其是一个在MN和UE 间建立的SRB,如下图。
SRB1和SRB2均支持Split SRB(SRB0和SRB3不支持Split SRB)。Split SRB的RRC PDU通过NR PDCP进行加密和完整性保护。
Split SRB可由MN在辅助节点添加或修改过程中配置,SN配置部分由SN提供。UE可同时配置Split SRB和SRB3,SRB3和Split SRB在SCG可独立配置。
对于Split SRB下行传输路径的选择取决于网络实现;对于上行链路根据MN RRC信令配置决定是用MCG path还是在MCG和SCG path进行重复传输。
如果未配置Split SRB1,UE可以使用SRB3在ULInformationTransfer MRDC消息中向MN发送封装的MCG Failure Information消息,并在响应中接收封装的 RRC重配置、MobilityFromNRCommand 消息;在DLInformation TransferMRDC消息中发送Mobility From EUTRA Command或RRC释放消息。
SRB3是38.331中定义的一种SRB,使用的是NR-DCCH逻辑信道。SRB3上的RRC PDU使用NR PDCP加密和完整性保护,安全密钥来自S-KgNB。SN为SRB3选择加密和完整性保护算法,并在SCG配置中将它们提供给MN以传输给UE。
SRB3比所有的DRB的优先级都高,而split SRB1和SRB3的优先级是相同的,在SCG 释放掉的同时,SRB3也会release掉。
最后是几张从协议中截取的相关应用场景的流程图,主要在TS 37.340中,这个spec不算长,感兴趣可以看下。
最后
以上就是勤奋手链为你收集整理的NR SRB and message transfer的全部内容,希望文章能够帮你解决NR SRB and message transfer所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复