NR SRB and message transfer
微信同步更新欢迎关注同名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,下面通过一张图说明下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信令都由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不算长,感兴趣可以看下。
相关文章
- Ubuntu是一个以桌面应用为主的Linux操作系统
完整的桌面系统 Ubuntu为您运营组织,学校,家庭或企业提供了所需的一切。预装了所有必要的应用程序,例如办公套件,浏览器,电子邮件和多媒体应用等等。Ubuntu软件中心提供了成千上万的游戏和应用程序。 开源 Ubuntu一直…...
2023/6/8 20:04:18 - 采购信息记录(PIR)创建/修改的正确姿势
1. 前言 MEII函数组中的函数由于是未发布状态,不建议使用此方法;可参考Note:2333746 - Error using ME_DIRECT_INPUT_INFORECORD ME_INITIALIZE_INFORECORDME_DIRECT_INPUT_INFORECORDME_MAINTAIN_INFORECORDME_INFORECORD_PROCESSME_POST_I…...
2023/5/30 7:40:25 - Git项目管理快速入门,轻松易上手
Git项目管理快速入门,轻松易上手 文章目录Git项目管理快速入门,轻松易上手一、Git 是什么 ?1、代码管理2、版本控制3、团队协作二、Git 的安装配置三、Git 配置四、创建版本库1、什么是版本库呢?2、创建一个版本库3、获取 Git 仓库…...
2023/5/29 17:44:30 - 大数据项目之电商数仓、业务数据通道、Maxwell简介、Maxwell原理、MySQL主从复制读写分离、Maxwell部署
文章目录7. 业务数据采集模块7.1 采集通道7.1.1 业务数据通道7.2 采集工具7.2.1 Maxwell简介7.2.1.1 Maxwell概述7.2.1.2 Maxwell输出数据格式7.2.2 Maxwell原理7.2.2.1 MySQL二进制日志7.2.2.2 MySQL主从复制7.2.2.2.1 主从复制的应用场景如下7.2.2.2.2 主从复制的工作原理如下…...
2023/5/24 21:12:35 - 花了整整一天,总结了C语言所有常用的文件操作
本文介绍了基本常用的C语言文件定义,文件的基本操作(文件指针定义和文件的打开和关闭),文件的顺序读写(各种常用的文件读写函数),文件的随机读写(对指针偏移量操作的函数),文本文件和二进制文件.读取结束判定的函数(feof和ferror)文件缓冲区的概念 学会了用C语言对文件操作,可以…...
2023/6/7 9:27:48 - 什么是嵌入式视觉
什么是嵌入式视觉 事实上,嵌入式视觉和计算机视觉是一样的。正如标题所示,唯一的区别在于硬件。通常,它是一个安装在微型电路板上的大型先进计算机芯片。这些芯片功能强大,可以很好地用于各种视觉任务。 嵌入式视觉的应用主要有…...
2023/6/2 16:38:42 - 华为低端路由器配置脚本
路由器本端由客户自己配置,我们只配通上行链路就可以了,如果这样的话路由器只需以下三步简单配置就OK了: 1、配置路由器上行接口IP地址 2、配置路由器默认路由 3、保存配置 ping -c 1000 -s 5000 192.168.1.1 以下是华为AR2811路由器配置为例(VRP3.4…...
2023/5/24 3:50:16 - 基于Socket编程下 实现Linux-Linux、Linux-Windows tcp通信
文章目录前言一、Linux - Linux服务器 server客户端 client通信实操二、socket编程在windows和linux下的区别三、Windows - Linux四、程序源码前言 阅读本篇前 请先具备socket编程与TCP协议相关基础,可移步 “ Socket编程基础 ”、“ TCP传输控制协议 ”进行知识充…...
2023/5/28 0:42:17 - 机器学习笔记02——线性回归
周志华《机器学习》第三章https://blog.csdn.net/weixin_45666566/article/details/107137877 其他up主博客总结 目录 一. 线性回归API初步使用 1.1 步骤分析 1.2 代码过程 二、优化算法 三、案例:波士顿房价预测 3.1 正规方程进行波士顿房价预测 3.2 梯…...
2023/5/28 1:53:32 - 怎样编写裸片启动程序-ARMv8的Boot Code和ROM程序
ROM程序就是固化在芯片的ROM里面,把应用程序从存储器里加载/搬移到RAM中并使处理器开始执行应用程序的一段程序 1 Boot Code和ROM程序 从多普通单核MCU(如STM32)的使用者的角度来看,只需要把编译好的hex文件烧写到片上Flash中&am…...
2023/6/8 18:13:11 - C++构造函数中调用虚函数为什么不会实现多态
先看一段代码 上面代码new了一个子类对象,把指针赋值给父类指针,这没问题。 在构造子类对象的过程中调用父类的构造函数,父类构造函数调用虚函数func 而在子类中又完成了func的重写,理应输出Derive::func(),看结果&a…...
2023/5/26 5:06:45 - MySQL的安装与配置
文章目录一、初始MySQL什么是数据库?数据库的分类二、MySQL的安装与配置下载安装配置一、初始MySQL 什么是数据库? 数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。 我们也可以将数据存储在文件中,但是在文件中读写数据速…...
2023/6/8 13:14:18 - MySQL事务隔离级别详解
简介:MySQL的事务隔离级别一共有四个,分别是读未提交、读已提交、可重复读以及可串行化。 四个特性ACID 原子性 (Atomicity) 事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间…...
2023/5/29 22:29:24 - Redis 入门及应用 ( 五 ) 双写一致性
7.高级应用 7.1.数据库和缓存双写一致性 如果更新了数据库中的数据, 在缓存中的数据如何保持一致性? 4种方案 : 先写缓存, 再写数据库先写数据库, 再写缓存先删缓存, 再写数据库先写数据库, 再删缓存 7.1.1.先写缓存, 再写数据库 先将更新的数据写入缓存, 再写入到数据 …...
2023/6/1 10:45:04 - yolov7模型部署——环境搭建(python 导出onnx模型,c# OnnxRunTime-GPU版调用) 踩坑记录
一,导出onnx模块 1.1 运行python .\export.py导出onnx模块 yolov7提供了简单的点对点预测,不需要再重新写NMS,非常方便,于是当然采用--end2end方法啦,命令如下图: 运行时发现没装onnx, 那就安装好了 1.2 …...
2023/6/2 13:17:44 - 蓝桥杯 危险系数 图算法
题目描述 抗日战争时期,冀中平原的地道战曾发挥重要作用。 地道的多个站点间有通道连接,形成了庞大的网络。但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系。 我们来定义一个危险系数 DF(x,y)DF(x,y)&#x…...
2023/5/26 10:53:24 - 1186: 奖学金(结构体专题)
题目描述 某校发放奖学金共5种,获取条件各不同: 1.阳明奖学金,每人8000,期末平均成绩>80,且在本学期发表论文大于等于1篇; 2.梨洲奖学金,每人4000,期末平均成绩>85ÿ…...
2023/6/7 13:04:01 - Python中的正则表达式(Regex匹配,贪婪匹配Greedy Matching)
Python中的正则表达式(Regex匹配,贪婪匹配Greedy Matching) 什么是正则表达式? •正则表达式(regex)是描述一组字符串的模式 匹配过程测试给定字符串是否与模式匹配,也可以修改字符串.例如,通过替换子串或将其拆分为子串 •正则表达式是一种…...
2023/6/7 18:57:37 - Transformer8
太火了都说到第8了~~ 其实有点重复了 作为之前补充把 该怎么把预训练Transformer范式用到强化学习里?DeepMind提出「算法蒸馏」:可探索的预训练强化学习Transformer sformer模型可以将prompt作为条件或上下文学习(in-context learning&…...
2023/6/2 2:09:09 - ERR_NETWORK_CHANGED
目录 常见问题 方案 常见问题 ERR_NAME_NOT_RESOLVED:主机名(网址)不存在。 ERR_INTERNET_DISCONNECTED:设备未连接到互联网。 ERR_CONNECTION_TIMED_OUT 或 ERR_TIMED_OUT:该网页连接耗时过长。可能是互联网连接速度太慢,或者…...
2023/6/4 15:15:13
最新文章
- INNER JOIN ,LEFT JOIN ,RIGHT JOIN 区别
假设我们有两张数据表,一张是学生表(students),包含学生的ID、姓名和班级信息;另一张是班级表(classes),包含班级的ID和名称信息。两个表的结构如下: students表…...
2023/6/9 11:24:31 - 2005-2021年全国及31省绿色信贷水平(含原始数据和测算过程)
1、时间:2005-2021年 2、范围:全国及31省市 4、内容说明:包含原始数据、计算结果、计算过程 5、来源:工业NJ、2018年经济普查、其中2017年缺失已采用插值法补齐 6、计算说明: 选取各省六大高耗能产业利息支出占工…...
2023/6/9 11:24:16 - 这是雷诺仪的参数
实验目的: 1、观察流体在管内流动的两种不同型态。 2、观察湍流状态下管路中流体速度分布状态。 3、测定流动形态与雷诺数Re之间的关系及临界雷诺数值。 主要配置: 有机玻璃水槽、示踪剂盒、示踪剂流出管、细孔喷嘴、玻璃观察管、计量水箱、 刻度标尺、 …...
2023/6/9 11:23:54 - 手把手教你突破 GPT-4.0 3小时25次的限速!
很多人很郁闷 ,ChatGPT Plus账号在浏览器上使用GPT4.0模型的时候,会受到官方的限制,每3小时只能对话25次,是真的不够用。 但是在手机上使用GPT4.0模型则不会有限制,既然这样,那我们是否也可以在浏览器上无限…...
2023/6/9 11:23:28 - 【报告】当“无线通信”遇到“图神经网络”——简单理解
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 课程报告,随便做的,仅供参考~ B站视频:https://www.bilibili.com/video/BV1tM4y1v7t4/ 以下格式默认为:先放图,再放文字 前面的同学介绍了传统方法和经典…...
2023/6/9 11:23:00 - 【Android】实现Material Design风格的progressbar
在 Android 中,Material Design 风格的 ProgressBar 可以使用系统提供的 ProgressBar 和第三方库来实现。 系统提供的 ProgressBar: 普通线性 ProgressBar 可以使用 Android 系统自带的 ProgressBar ,并设置样式 style 为 “?android:att…...
2023/6/9 11:22:15 - opencv实践项目-停车位检测
目录 1. 步骤1.1 selector选择器1.2 detector探测器 2. 代码3. 效果图 1. 步骤 1.1 selector选择器 我们可以选择摄网络摄像头提供的第一帧,在该图像上选择停车位。为此,保存并使用该图像选择停车位。使用selectROIs函数标记停车位。ROI被定义为感兴趣…...
2023/6/9 11:21:55 - 自主可控!搭载龙芯二号,飞凌嵌入式FET-2K0500-C核心板发布
作为国内领先的信息技术核心产品研发企业,龙芯中科致力于打造自主开放的软硬件生态和信息产业体系,为国家战略需求提供自主、安全、可靠的处理器。现在,飞凌嵌入式与龙芯中科强强联手,共同推出FET-2K0500-C核心板! 飞…...
2023/6/9 11:21:29 - 基于SSM+Vue的房屋租赁网站-求租合同设计与实现
博主介绍: 大家好,我是一名在Java圈混迹十余年的程序员,精通Java编程语言,同时也熟练掌握微信小程序、Python和Android等技术,能够为大家提供全方位的技术支持和交流。 我擅长在JavaWeb、SSH、SSM、SpringBoot等框架下…...
2023/6/9 11:21:11 - c# 从零到精通-ArrayList-Hashtable的操作
c# 从零到精通-ArrayList-Hashtable的操作 1、ArrayList的操作 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; namespace Test11 { class Program { static void Main(string[] args) { ArrayList list …...
2023/6/9 11:20:36 - AI创作与大语言模型:2023亚马逊云科技中国峰会引领企业应用新潮流
川川出品,必属精品。 文章目录 CodeWhispere免费的代码生成器安装教程使用自动编码 2023亚马逊云科技中国峰会最后总结 CodeWhispere免费的代码生成器 这里我介绍亚马逊云科技的一个产品,那就是Amazon codewhisperer。大家肯定对AI各种产品的火爆已经有…...
2023/6/9 11:20:14 - 高通KMD框架详解
和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、概览二、核心模块解析三、模块初始化四、处理UMD CSL请求 一、概览 利用了V4L2可扩展这一特性,高通在相机驱动部分实现了自有的一套KMD…...
2023/6/9 11:19:08 - php开发中大数据量优化的问题总结(1):smarty循环优化、API掉包丢失数据排查、负载平衡配置
php开发中大数据量优化的问题总结 一、smarty模版引擎遍历优化1.项目需求2.解决方案 二、对接第三方API掉包丢失数据1.丢包和掉包2.解决和排查3.配置负载均衡命令行宝塔配置 一、smarty模版引擎遍历优化 模版引擎smarty中不规则遍历循环的解决方案(遍历数组、第一个元素单独处…...
2023/6/9 11:17:52 - 如何使用ArcGIS制作三维地形图
ArcGIS作为专业的GIS软件,不仅可以制作二维地图,制作三维地图也是不在话下,通常我们使用ArcScene来制作三维地图,这里为大家介绍一下制作三维地图的方法,希望能对你有所帮助。 预处理数据 将准备好的矩形面、矩形线和…...
2023/6/9 11:17:24 - LAZADA平台的商品评论Python封装API接口接入文档和参数说明
LAZADA是一个位于东南亚的电商平台,成立于2012年。该平台覆盖的国家包括新加坡、马来西亚、印尼、菲律宾、泰国和越南等地。它提供了一个多样化的产品选择,包括时尚、美容、数码、母婴等商品,并且拥有许多知名品牌的官方旗舰店。同时…...
2023/6/9 11:17:02 - 内存分配函数整理
话不多说,直接上表格,之后可能还会有补充 malloc()calloc()realloc()kmalloc()kzalloc()vmalloc()devm_kzalloc()作用范围用户空间用户空间用户空间内核空间内核空间内核空间设备驱动程序是否清零处理否是否否是否是自动释放否否否否否否是释放函数free…...
2023/6/9 11:16:50 - 国产触控笔哪个牌子好?第三方电容笔推荐
对于那些把iPad当做学习工具的人来说,这已经成为了他们生活中不可缺少的一部分。但没有人买得起苹果原装电容笔,因为苹果电容笔的售价太贵了。因此,最好还是用一支普通的电容笔。我是个一个苹果粉,同时也是个数字发烧友࿰…...
2023/6/9 11:16:31 - 2023年深圳某互联网公司前端开发初级岗笔试真题(含解析和源码)
📚关于该专栏: 该专栏的发布内容是前端面试中笔试部分真题、答卷类、机试等等的题目,题目类型包括逻辑题、算法题、选择题、问答题等等,除了内容的分享,还有解析和答案。真实来自某些互联网公司,坐标广东广州、深圳。 …...
2023/6/9 11:13:39 - 400万总奖金!打一场大厂算法赛事
Datawhale赛事 主办:科大讯飞,伙伴:Datawhale 5月6日,伴随科大讯飞星火认知大模型的发布,2023年度 iFLYTEK A.I. 开发者大赛也正式开启。本届大赛的总奖金池超400万元,除此外还将进一步开放海量数据与核心…...
2023/6/9 11:13:07 - 你知道支付宝转账怎么在自己的手机上不留痕迹吗
支付宝和微信支付是现代社会中非常普遍的移动支付方式,可以方便快捷地完成各种线上和线下交易。然而,在一些情况下,用户可能希望隐藏或删除某些转账的痕迹,以保护个人隐私或避免不必要的麻烦。对于支付宝而言,实际上有…...
2023/6/9 11:12:29