我是靠谱客的博主 勤奋手链,最近开发中收集的这篇文章主要介绍NR SRB and message transfer,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

微信公众号同步更新欢迎关注同名modem协议笔记

这篇所说的消息是指SM(session management) MM(mobility management)和RRC( Radio Resource Control)层的信令,即空口信令,这里不会看每条信令的具体IE,只是简单看下每层信令的传输流程。

c76c7f0f13644ffa9fb1bbaee293b128.png

和LTE一样,NAS 层的SM信令需要特定的MM信令承载然后传递给RRC层,MM信令也需要RRC层的信令的承载,传递给L2->L1最后通过天线发送到网络端。先看下SM/MM消息都包含哪些。

NAS SM/MM message如下

25b47b92c070443da7293120fd9ce4aa.png

4e03d3d85f9d408b99f1e25413a1ad93.png

f58d7919cd914f2294d8d184066628c3.png

5GSM消息会通过特定的5GMM消息传输,主要过程就是通过特定5GMM消息的IE表示具体的5GSM消息。5GSM消息仅仅只能在5GMM context建立后触发,例如initial注册过程,完成注册后,有需要建立PDU时,才会触发PDU session establishment request。

 

而5GMM用于承载5GSM的消息就是UL NAS TRANSPORT/DL NAS TRANSPORT。

be9217def74a45f2a39b0d0b4dd33b1f.png

24.501中有详细描述了初始化UL/DL NAS TRANSPORT 的场景,如下图是UL NAS TRANSPORT的规定比较繁琐,这里仅对一些场景举例说明。

d4b5a1d9f4d94bcb9e13d69e52fdf894.png

例如 在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消息。 

7110a1fb265f40a5a0daaf8815e7a5c2.png

下图示实际log中建立ims PDU session时UL NAS transport的截图,对照看下对应的就是上面的设置要求。

4f183db69fd147c9a3da7079c0c1b520.png

下面是其他各个场景对应UL NAS transport的设置规定,仅仅是列出来,方便后续查找,不做说明。

dc65030383ec4fd691600c6ba40183e2.pngf2d8999c2dc048aea35b3b4b6602179a.png4476e05b78534375a15fdb1b4b014498.png

b7d6220cf1354849917f25257576d211.png

再看下RRC层如何承载NAS信令,类似的RRC层通过ULInformationTransfer/DLInformation transfer来传输NAS 或non-3GPP dedicated消息。

ULInformationTransfer 消息用来传输上行NAS或non-3GPP dedicated消息。

0f8d5feb71f94488bbdcfd17a3b07752.png

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 发生变化等等。

7f4e0d0e6988474b80949be0bc92314d.png

如上图是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的截图。

cc61f3766bf944e19ccc6e1b932eee5d.png

DLInformationTransfer对应的就是DL NAS消息的传输过程。

fb57f3425de543d8beb95fa205039314.jpg

在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层结构如下。

d49c0504ca874443b7535c23173b0058.png

4a9257ac58aa431f810efd410411c149.png

传输ULInformationTransfer 的Signalling radio bearer:是SRB2 或SRB1 (在SRB2没有建立起来之前用SRB1传输). 如果SRB2由于某些原因被suspend,UE要等到SRB2恢复正常后才能传输。传输方式对应的是RLC AM 模式,下图是实际log,对应的是R15版本协议,肯定没有上面提到的time相关的IE。

20a0c1a331344760a750b1af1813355f.png

除了上述DLInformationtransfer/ULInformationtransfer,还有一些其他消息也会顺带传输NAS层的消息,例如RRCSetupComplete,RRCReconfiguration,RRCResumeComplete等,具体情况就不说了,可以搜下38.331看下,下面是实际log中的一些截图。

f8b708e2413945e6acce86800cfbc8d6.png

6f0b76264cf140ceb5ecd846b98a8aea.png 

2aa280b5d2794da5ad5cfaede06f7eaf.png 

 SM/MM/RRC层的消息传输,基本上说完了,下面顺带看下SRB的内容。

f2d40126be3d4be78da515ff5388aec8.png

SRB 全称signalling Radio Bearers,即传输RRC/NAS消息的RB,通常包含SRB0/SRB1/SRB2,在某些DC场景可能会有SRB3。SRB1主要发送RRC信令,SRB2建立后主要用于发送DL/ULInformationTransfer,下面通过一张图说明下SRB的使用场景。

df23f2c0b97940d8a2bde7d517b4497e.png

上图是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 配置下来的对应消息如下。

f5fae222f3b1471f940c5624892225c5.png

 

上述是SA场景不会出现SRB3,接下来就来看看SRB3相关的内容。

9c8510be05504a4d9ff1097fee57592f.png

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的传输过程。

e0d12bcee5bb4abe8c5add20f1ec9869.png

还有一个概念Split SRB 也是仅适用于MR-DC场景,其是一个在MN和UE 间建立的SRB,如下图。

b352c1c01e67469e8b526cc0b4394807.png

1bd9e2c2928e46fd93b72750b5450f4e.png

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进行重复传输。

09335850e62f469e87774eec98fe7d7d.png

如果未配置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不算长,感兴趣可以看下。

311b471ffb5c4630b30dbde954cbb826.png

f011fdc5478d4f0290ea2099a274ed98.png

f72dff39632e402b9e51002ef69abd87.png 

 

 

 

最后

以上就是勤奋手链为你收集整理的NR SRB and message transfer的全部内容,希望文章能够帮你解决NR SRB and message transfer所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部