博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。

博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解

MAC BSR – Buffer Status Reporting

BSR是一个MAC层过程,UE使用它向服务gNB报告关于UL缓冲区中待传输数据量的信息。简单来说,我们可以说,BSR是一个MAC层消息,从UE到gNB,通知我有东西要传输,你能给我一个UL Grant来发送这个数据吗? 然后,如果资源可用,gNB将按照RBs为UE分配最小数量的UL Grant,即PUSCH资源。

使用BSR机制,gNB MAC调度器可以通过以下方式优化上行链路资源分配:

  • 只有当UE有东西要传输时,才分配UL资源(UL Grant)
  • 只分配需要的RBs (UE要求的),避免过多分配UL资源,减少资源浪费。

BSR的触发条件

如果发生以下事件,RRC控制BSR并触发一个BSR MAC-CE:

  • Regular BSR

    • Uplink Data:上行资源已经分配,但是

      • 要么该逻辑通道组无数据可用;
      • 要么该UL数据属于优先级更高的逻辑通道(比其它任何LCGs中的任何逻辑信道(有数据待传输)都高);
    • retxBSR-Timer:当这个计时器超时时,UE有数据可用于传输(属于某个LCG的逻辑通道);
  • Periodic BSR:periodicBSR-Timer超时时,发送BSR。此计时器在每次BSR传输后重新启动,除非使用 “truncated” 报告。periodicBST-Timer的最大值是 “无穷大”,这意味着它可以被禁用,并用作优化的选项;
  • Padding BSR:UL资源已经分配,填充的数量等于或大于Buffer Status Report的大小。在这种情况下,在上行报文中加入BSR以减少填充的数量(提升资源利用率)。

如何选择BSR格式

5G规范已经定义了四种BSR格式,以下描述了这四种格式之间的选择方式,

  • 如果是 Regular或Periodic 机制触发的BSR,则会生成Long BSR或Short BSR,

    • 如果有多个LCGs有数据待传输,则使用Long BSR;
    • 如果只有一个LCG有数据待传输,则使用Short BSR;
  • 如果是 Padding 机制触发的BSR,那么BSR的格式取决于padding的数量,
    • 如果 padding 大于等于 Long BSR+subheader 的长度,则使用 Long BSR格式,上报有数据待传输的所有LCGs状态;
    • 如果 padding 大于等于 Short BSR+subheader 的长度,但是小于 Long BSR+subheader 的长度,
      • 如果有多个LCGs有数据待传输,

        • 如果 padding 等于 Short BSR+subheader 的长度,则使用Short Truncated BSR格式,上报最高优先级的逻辑信道(有数据待传输)对应的LCG状态;
        • 如果 padding 大于 Short BSR+subheader 的长度,则使用Long Truncated BSR格式,则按照逻辑信道(有数据待传输)优先级递减的顺序上报相关LCGs状态,如果逻辑信道优先级相同,则按照LCGID递增的顺序上报;
      • 如果只有一个LCG有数据待传输,则使用Short BSR;

BSR MAC配置

BSR是按 “逻辑信道组” (LCG)而不是按 “逻辑信道” 发送的,尽管一个LCG可能只包含一个逻辑通道。通常,具有相似优先级的逻辑通道被链接到相同的LCG。这允许gNB区分高优先级数据的量和低优先级数据的量。

例如,用于信令的逻辑信道可以连接到 1st LCG,而传输语音数据的逻辑信道可以连接到 2nd LCG,传输网页浏览数据的逻辑信道可以连接到 3rd LCG。一个终端最多可配置8个LCG,因此gNB对逻辑信道进行分组时具有足够的灵活性。逻辑信道通过mac-LogicalChannelConfig中的 logicalChannelGroup IE 配置到LCG中。

与Buffer Stanis Reporting相关的其他参数使用BSR-Config配置,

BSR MAC-CE结构

Short BSR 和 Short Truncated BSR

Short BSR 和 Short Truncated BSR的结构如下所示,它由8位组成,其中3位用于LCG ID, 5位用于buffer stauts 报告。

5 bit 提供了2^5=32个索引值,分别是从0到31的索引,0索引代表0字节BSR, 31索引值代表150000字节BSR,这些索引的映射在3GPP 38.321中提供(以字节为单位)也如下所示,

Short BSR 和 Short Truncated BSR 的结构和大小是相同的。Short BSR 和 Short Truncated BSR 的区别是,Short BSR在只有单个LCG有数据要传输时提供信息而 Short Truncated BSR 是在有多个LCGs有数据要传输时提供具有最高优先级的逻辑通道相关的LCG的信息

Long BSR and a Long Truncated BSR

Long BSR 和 Long Truncated BSR 的结构如下图所示。这些MAC CE有相同的格式,但大小可变。第一个字节表示LCG ID,其他部分表示 buffer stauts 报告。Long BSR 和 Long Truncated BSR 使用8位允许2^8 = 256个索引,可以容纳81338368字节的更大的缓冲区状态。

从0到255的256个索引的映射(以字节为单位)如下所示,

Long BSR 和 Long Truncated BSR 的区别是,在 Long BSR 中如果LCGi为1,则表示 LCGi 对应的Buffer Status 字段存在,如果LCGi为0,则表示 LCGi 对应的Buffer Status 字段不存在。而Long Truncated BSR 中如果LCGi为1,则表示 LCGi 有数据待传输,如果LCGi为0,则表示 LCGi 没有数据待传输。而且 Long BSR 会上报所有LCGs的状态信息,而 Long Truncated BSR 上报的LCGs信息取决于Padding的大小。

总结

  • BSR是一个MAC层的功能由3gpp规范TS 38.321定义;
  • BSR 是一个MAC CE;
  • gNB使用RRC signalling的BSR-Config来配置UE的BSR 参数;
  • 三种类型BSR,
    1. Regular BSR
    2. Periodic BSR
    3. Padding BSR
  • 四种格式的BSR,
    1. Short BSR
    2. Short Truncated BSR
    3. Long BSR
    4. Long Truncated BSR
  • Short BSR 是一个5 bit的BSR机制,最多可容纳150000字节;
  • Long BSR 是一个8 bit的BSR机制,最多可容纳81338368字节;
  • LCID=61用于标识Short BSR,而LCID=59用于标识Short Truncated BSR;
  • LCID=62用于标识Long BSR,而LCID=60用于标识Long Truncated BSR。

【5G】MAC BSR – Buffer Status Reporting相关推荐

  1. 【转】mac os、linux及unix之间的关系

    [转]mac os.linux及unix之间的关系 mac os.linux及unix之间的关系 unix 是由贝尔实验室开发的多用户.多任务操作系统 linux是一类Unix操作系统的统称,严格来说 ...

  2. 【ajax】readyState=4并且status=200时,还进error方法

    转载自  [ajax]readyState=4并且status=200时,还进error方法 今天在使用jquery.ajax方法去调用后台方法时,ajax中得参数data类型是"JSON& ...

  3. 【Python】Mac下Sublime Text3配置Python3开发环境

    我采用的第二种方案 1 [Python]Mac下Sublime Text3配置Python3开发环境 https://blog.csdn.net/qq_33304418/article/details ...

  4. fiddler证书 iphone_【详细】Mac使用Fiddler实现IPhone抓包(支持https)

    [详细]Mac使用Fiddler实现IPhone抓包(支持https) > Windows 同理 1. 下载 安装 注册具体步骤不过多赘述 2. 打开Fiddler 设置界面,按照下图设置HTT ...

  5. 【转载】Mac键盘快捷键

    [转载]Mac键盘快捷键-目录 1.Mac 键盘快捷键 2.剪切.拷贝.粘贴和其他常用快捷键 3.睡眠.退出登录和关机快捷键 4.访达和系统快捷键 5.文稿快捷键 6.其他快捷键 7.进一步了解 * ...

  6. 【5G】UE开关移动数据信令分析

    分析 UE开关移动数据就是建立/释放PDU Session的过程. 从没有移动数据到开启→建立PDU Session,从PDU Session Establishment Request开始,到PDU ...

  7. mac vscode 运行html,【转载】Mac平台上用VSCode调试C++代码

    [转载]Mac平台上用VSCode调试C++代码 [转载]Mac平台上用VSCode调试C++代码

  8. 【解决】Mac 10.14 欧路词典窗口大小不可调的问题

    文章目录 [解决]Mac 10.14 欧路词典窗口大小不可调的问题 环境说明 问题 解决方案一 解决方案二 总结 [解决]Mac 10.14 欧路词典窗口大小不可调的问题 欧路词典确实是mac下比较优 ...

  9. 【计算机网络】MAC地址、IP地址以及ARP协议

    [计算机网络]MAC地址.IP地址以及ARP协议 1.概述 2.MAC地址 2.1 IEEE 802局域网的MAC地址格式 2.2 IEEE 802局域网的MAC地址发送顺序 2.2.1 单播MAC地 ...

最新文章

  1. ActivityGroup是如何对嵌入的Activitys进行管理的
  2. python3.5怎么安装pip-为python 3.5安装pip
  3. 盘点六大在中国复制失败的O2O案例
  4. Python数据结构与算法(第六天)
  5. 小程序完整对接 pingpp支付
  6. 深入学习SAP UI5框架代码系列之五:SAP UI5控件的实例数据修改和读取逻辑
  7. Flutter基础—绘画效果之不透明度
  8. spring-boot-maven-plugin多模块install问题解决办法
  9. NI6509输出遇到的问题
  10. 关于双硬盘电脑掉盘的问题
  11. php import mdf,excel表格怎么导入数据库数据格式转换-已有excel表格导入sql server生成*.mdf *.ldf文件......
  12. Chrome将网页背景变成黑色(真正的夜间模式、深色模式)
  13. 怎么样把 swf格式 转换为flv格式
  14. 使用代理服务器哪些风险?
  15. FPGA学习日志——VGA接口项目
  16. 内存卡误删除文件怎么恢复
  17. nginx解决浏览器跨域问题_Nginx 反向代理解决浏览器跨域问题
  18. 基于Spark的巨型矩阵分布式LU计算求逆【第一篇】
  19. R语言|散点图 ———R语言数据可视化系列(一)
  20. windows远程mstsc命令指定远程的窗口大小

热门文章

  1. 电源学习总结(五)——开关电源基本原理
  2. 克服焦虑症的6个方法
  3. VTK学习笔记(二十一)vtk裁剪求截面面积
  4. 5G NR SSB和CORESET0复用模式
  5. Joystick手柄输入
  6. pe卸载win10更新补丁_这样操作,阻止win10五月更新版自动升级,避免陷入更新大BUG!...
  7. ios realm 文件_realm之于iOS
  8. asterisk:No compatible codecs, not accepting this offer!
  9. mysql交集_MySQL交集INTERSECT运算符
  10. Windows版本下Go安装下载