L2 MAC层核心机制介绍
理解L2 MAC层的核心机制,尤其是你提到的逻辑信道与物理信道的映射、MAC PDU结构以及复用与解复用,是掌握无线通信协议栈如何高效管理数据的关键。为了让你对MAC层有一个全局的认识,首先通过下面这张图来了解MAC层在协议栈中的位置及其核心功能架构。

一、信道映射的简介
1、逻辑信道
MAC层为RLC层以逻辑信道的形式提供服务。
逻辑信道只关注传输的信息是什么。通过逻辑信道,实现了MAC层与上层的分离。
根据传输的是控制信息还是业务信息,逻辑信道分为:控制信道和业务信道。
1、下行控制信道:控制信道用于传输控制面信息。
广播控制信道(BCCH, Broadcast Control Channel):用于广播系统控制信息的下行信道。它在用户的实际工作开始之前,传送一些必要的通知信息。
寻呼控制信道(PCCH,Paging Control Channel):用于传输寻呼信息和系统信息变化通知的下行信道。寻人启事类消息的入口,一般用于被叫流程。
公共控制信道(CCCH,Common Control Channel):在UE和网络之间还没有建立RRC连接时,用于发送控制信息。类似于主管和员工间协调工作用的渠道。
专用控制信道(DCCH,Dedicated Control Channel):用于在RRC连接建立之后,UE和网络之间发送一对一的专用控制信息。类似于主管和亲信之间协调工作的渠道。
多播控制信道(MCCH,Multicast Control Channel):点对多点的下行控制信息的传送信道。类似于领导给多个下属下达搬运货物的指示的渠道。
2、下行业务信道
专用业务信道(DTCH ,Dedicated Traffic Channel):用于去往/来自终端的用户数据的传输。传输所有上行链路和非MBSFN下行链路用户数据的逻辑信道。
3、上行控制信道
CCCH 公共控制信道,用于传输与随机接入相关的控制信息。
DCCH 专用控制信道,用于传输去往/来自终端的控制信息。用于终端的单独配置。
4、上行业务信道
DTCH 专用业务信道。
2、传输信道
传输信道不关心传输的是什么,而是怎么传。
下行:
广播信道(BCH,Broadcast Channel):通过广播的方式,给整个小区传输下行控制信息。
下行共享信道(DL-SCH,Downlink Shared Channel):规定了待搬运货物的传送格式。用于传送业务数据。寻呼信道(PCH,Paging Channel):用于传输寻呼信息。
上行:
上行共享信道(UL-SCH,Uplink Shared Channel):规定了待搬运货物的传送格式。用于传送业务数据。方向为从终端到网络。随机接入信道(RACH,Random Access Channel):规定了终端接入网络时的初始协调信息格式。
二、理解信道映射
在无线通信中,"信道"是一个多层面的概念。MAC层承上启下,负责将上层的逻辑信道映射到下层的物理信道上。
逻辑信道:传输内容的分类。
逻辑信道根据传输信息的类型定义,主要分为控制信道和业务信道。
信道类型 | 名称 | 功能简介 |
|---|---|---|
控制信道 | 广播控制信道(BCCH) | 广播系统控制信息 |
寻呼控制信道(PCCH) | 发送寻呼信息和系统信息变更通知 | |
公共控制信道(CCCH) | 在UE和网络未建立RRC连接时传输控制信息 | |
专用控制信道(DCCH) | 在UE和网络建立RRC连接后传输专用控制信息 | |
业务信道 | 专用业务信道(DTCH) | 传输用户面数据,专用于一个UE |
传输信道:定义传输方式
传输信道关注的是信号如何通过物理层进行传输,其特征由传输格式(如调制编码方案、资源块分配等)定义。
下行传输信道:
下行共享信道 (DL-SCH):是下行数据传输的主要信道,支持动态链路自适应、HARQ等关键技术。
广播信道 (BCH):用于广播特定的系统信息(如MIB),采用固定的、稳健的传输格式。
寻呼信道 (PCH):用于发送寻呼消息,支持UE的不连续接收以省电。
上行传输信道:
上行共享信道 (UL-SCH):与DL-SCH对应,是上行数据传输的主要信道。
随机接入信道 (RACH):用于UE初始接入网络或重建同步,可能发生碰撞。
物理信道:最终的传输实体
物理信道是实实在在的无线资源,对应特定的时隙、频段和码道等。例如:
物理下行共享信道 (PDSCH):承载主要的下行用户数据和部分信令。
物理上行共享信道 (PUSCH):承载主要的上行用户数据和信令。
物理随机接入信道 (PRACH):用于UE发送随机接入前导码。
映射关系:串联起整个流程
MAC层的核心作用之一就是完成这三类信道之间的映射。下图清晰地展示了从逻辑信道到传输信道,再到物理信道的完整映射路径。

需要注意的是,逻辑信道与传输信道之间是多对多的映射关系。特别是DL-SCH和UL-SCH这两个共享信道,它们像是一个“交通枢纽”,能够承载多种不同类型的逻辑信道数据,这也是“复用”发生的地方。
三、剖析MAC PDU格式
MAC层协议数据单元(PDU)是MAC层与物理层交互的基本数据单元。对于物理层而言,一个MAC PDU对应一个传输块(TB)。
MAC PDU的总体结构
一个完整的MAC PDU由以下部分按顺序构成:
MAC Header(MAC头):包含一个或多个子头(Subheader),每个子头对应后面的一个MAC控制元素或MAC SDU。
MAC Control Elements(MAC控制元素):用于携带MAC层内部的紧急控制信令,如缓存状态报告(BSR)、功率余量报告(PHR)等。这些控制元素位于所有MAC SDU之前,确保了控制信令的优先处理。
MAC SDUs(MAC服务数据单元):来自上层的(RLC层)数据包。
Padding(填充):当剩余空间不足以容纳有效数据时,用填充字节凑齐,以确保整个PDU长度符合物理层要求。
四、MAC子头的奥秘
MAC头中的每个子头都是一个“标签”,描述了其后所对应数据的信息。子头主要有两种格式:
子头格式 | 结构 | 适用场景 | |||||
|---|---|---|---|---|---|---|---|
短格式 | <code>R | R | E | LCID</code> | 用于最后一个子头、固定长度的控制元素或填充。 | ||
长格式 | <code>R | R | E | LCID | F | L</code> | 用于变长的MAC SDU(除了最后一个)和部分控制元素。 |
各字段含义如下:
LCID(逻辑信道ID):这是最关键字段,标识了对应的SDU或控制元素来自/去往哪个逻辑信道,或者具体是哪种类型的控制信令。例如,LCID值可以指示这是CCCH信令、DTCH用户数据,还是一个BSR报告。
L(长度):指示对应MAC SDU或可变长控制元素的长度(字节数)。
F(格式):指示L字段本身的长度是1字节还是2字节,从而能表示更长的数据。
E(扩展):指示MAC头中是否还有更多的子头紧随其后。
R(保留位):通常设为0。
五、复用与解复用
复用与解复用是MAC层提升无线资源利用率的核心技术。
复用(Multiplexing):在发送端,MAC层将来自多个不同逻辑信道的数据(MAC SDUs)和可能的控制信令,组装到同一个MAC PDU(即一个传输块)的过程。
解复用(Demultiplexing):在接收端,MAC层从一个接收到的MAC PDU中,根据MAC头中的LCID信息,将数据分离并分发到对应的逻辑信道的过程。
如何实现复用与调度
这个过程主要由MAC层的调度器(Scheduler) 控制:
优先级处理:调度器根据预定义的规则(如QoS要求、逻辑信道优先级)决定哪些逻辑信道的数据可以优先被发送。
资源分配:物理层为MAC层提供可用的传输块大小。
组装PDU:MAC层根据优先级和可用资源,从不同逻辑信道的缓冲区中取出数据,加上MAC头和必要的控制元素,组装成一个MAC PDU。
下行与上行的区别:
下行:基站(gNB)的调度器完全掌控复用过程,它决定每个UE以及每个UE内不同逻辑信道的数据如何组合。
上行:基站通过授权(Grant)指示UE可以使用的传输块大小,但具体在UL-SCH上复用哪些逻辑信道的数据,则由UE侧的MAC层自主决定(当然需要遵循基站配置的规则)。
六、从LTE到5G的演进
结构一脉相承:5G NR的MAC层基本继承了LTE的设计理念,如信道映射关系、MAC PDU结构等。
功能增强:
更灵活的调度:5G支持更灵活的参数集和时隙结构,使得调度器能更精细、更快速地适配多样的业务需求。
异步HARQ:5G上下行均采用异步HARQ,重传发生的时间更加灵活,便于实现更复杂的调度策略和低时延通信。
新场景支持:为了支持毫米波等高频段和超可靠低时延通信,5G MAC层在调度和HARQ机制上做了诸多优化。
