5G 中的 BSR(Buffer Status Report,缓冲区状态报告)是 MAC 层的一种控制信令,用于 **UE 向基站(gNB)报告上行缓冲区中待发送数据量**。基站据此为 UE 分配上行资源,避免资源浪费或数据积压。
### 触发机制:BSR 何时发送?
BSR 的触发主要依赖以下事件:
* **常规 BSR (Regular BSR)**:当有新数据到达,且其逻辑信道优先级**高于**当前已有数据的任何逻辑信道时触发;或者此前缓冲区为空,新数据到达时也会触发。此外,`retxBSR-Timer` 超时且有数据待发时也归为此类。
* **填充 BSR (Padding BSR)**:当 UE 获得的上行资源在装载完数据后,**填充位(padding bits)足够容纳一个 BSR MAC CE 及其子头**时,会顺便发送一个 Padding BSR,属于“废物利用”。
* **周期性 BSR (Periodic BSR)**:当 `periodicBSR-Timer` 超时时触发,用于周期性向基站汇报状态。
### 格式类型:四类 MAC CE
根据可用资源和待报告的数据量,BSR 共有四种 MAC CE 格式:
| 格式 | 大小 | 关键特征 |
| :— | :— | :— |
| **短 BSR** | 固定 | 包含 **1 个** 逻辑信道组(LCG)的数据量 |
| **长 BSR** | 可变 | 包含**多个** LCG 的数据量,用位图指示哪些 LCG 有数据 |
| **短截断 BSR** | 固定 | 资源不够时,只报告**最高优先级** LCG 的数据量 |
| **长截断 BSR** | 可变 | 资源不够时,按优先级顺序尽可能多地报告多个 LCG |
在 Release 18 等更新版本中,还引入了“扩展短 BSR”、“精炼长 BSR”等增强格式,以支持更精细的报告。
### 关键字段解读
BSR MAC CE 的核心是告诉基站“**哪个组,有多少数据**”:
* **LCG ID(短 BSR)**:3 比特,指示所报告数据属于哪一个逻辑信道组。
* **LCGi 位图(长 BSR)**:8 比特,每一位对应一个 LCG。置 `1` 表示后续有该 LCG 的缓冲区大小字段;置 `0` 表示没有。
* **Buffer Size(缓冲区大小)**:这是**非线性的索引值**(5 比特或 8 比特),通过查表映射为实际的字节数范围。**短 BSR 用 5 比特**(精度较粗,范围较小),**长 BSR 用 8 比特**(精度更细,范围更大)。
### 优先级与取消规则
* **优先级**:除 Padding BSR 外,常规/周期性 BSR 的优先级**高于**除 C-RNTI MAC CE 或 UL-CCCH 数据外的任何逻辑信道数据。
* **取消**:当 UE 获得的上行资源足以发送完所有待传数据时,已触发的 BSR 会被取消;或者一旦在 MAC PDU 中包含了 BSR,之前的触发也会被取消。
总的来说,BSR 机制是 5G 上行调度的基石,UE 通过它“按需申请”资源,基站则依据报告进行精准分配。



![[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030203301-6ae4fefdb54f3-220x150.png)
![[LangChain] 学习笔记(02):LCEL 链式调用与动态模型配置实战-171主机测评](https://www.171host.com/wp-content/uploads/2026/10/20261030202745-6ae4fdc1556bf-220x150.png)