4. NB-IoT协议栈与终端协议分层

NB-IoT终端从“上电驻网”到“把一条上行数据发出去”,并不是单一模块在工作,而是六层协议各司其职、逐层封装与逐层解封装的过程。理解协议栈的关键,不是背下六个缩写,而是搞清楚三件事:每一层在终端里负责什么、数据在层与层之间以什么形态传递、控制面信令与用户面数据分别走哪条路径。本节围绕这三点展开,并给出可直接对照的层间数据流关系。

一、终端协议栈的分层定位

NB-IoT终端协议栈自下而上分为物理层(PHY)、媒体接入控制层(MAC)、无线链路控制层(RLC)、分组数据汇聚协议层(PDCP)、无线资源控制层(RRC)和非接入层(NAS)。前五层属于接入层(AS),由基站(eNB)与终端对等交互;NAS属于非接入层,终端与核心网MME对等交互,基站只做透传。这是理解整个协议栈最重要的一条分界线。

从功能划分看:PHY负责把比特映射到NB-IoT的物理信道并完成调制解调、编码解码、同步与测量;MAC负责逻辑信道到传输信道的映射、调度请求、随机接入过程、HARQ重传与DRX;RLC负责分段与重组、ARQ重传,保证按序交付;PDCP负责头压缩、加密与完整性保护、按序递交;RRC负责连接建立与释放、无线承载配置、测量控制、系统消息读取;NAS负责附着、鉴权、EPS承载管理、TAU与PDN连接等与核心网相关的会话管理。

二、控制面与用户面的两条数据流

NB-IoT终端的数据流分为控制面和用户面。控制面承载RRC信令与NAS信令,路径为:NAS → RRC → PDCP → RLC → MAC → PHY,对端在基站侧逐层解封装后,NAS消息被透传给MME。用户面承载业务数据,路径为:应用数据 → IP → PDCP → RLC → MAC → PHY,对端在基站侧解到PDCP后经S1-U送往SGW/PGW。两条路径在PDCP以下共用同一套底层承载,区别在于PDCP之上是RRC还是IP。

以一次典型的上行数据发送为例:终端应用产生一个UDP包,先经IP层封装,进入PDCP后完成头压缩与加密,形成PDCP PDU;RLC根据MAC指示的传输块大小对PDCP PDU做分段,加上RLC头;MAC把RLC PDU复用进传输块,按调度授权选择MCS与重复次数,交给PHY;PHY完成CRC添加、信道编码、速率匹配、加扰、调制,映射到NPUSCH上发送。接收侧则完全反向:PHY解调译码 → MAC HARQ合并 → RLC重组与ARQ → PDCP解密解压缩 → IP层还原。整个过程体现了“逐层加头、逐层去头”的封装思想。

NB-IoT终端协议栈分层与数据流 终端(UE) NAS 附着/鉴权/承载管理 RRC 连接/承载/测量/系统消息 PDCP 头压缩/加密/完整性 RLC 分段重组/ARQ MAC 调度/HARQ/随机接入/DRX PHY 编码调制/同步/测量 基站(eNB) NAS 透传 不解析,转发MME RRC 对等信令处理 PDCP 解密/解压缩 RLC 重组/ARQ MAC 调度/HARQ PHY 解调译码 空口 Uu 核心网 MME NAS对等实体 SGW / PGW 用户面出口 S1-MME S1-U 数据流路径 控制面:NAS → RRC → PDCP → RLC → MAC → PHY(信令) 用户面:IP → PDCP → RLC → MAC → PHY(业务数据) 封装方向:逐层加头 ↓ 解封装方向:逐层去头 ↑

三、各层在终端中的关键动作与参数

PHY层在NB-IoT中承担了最重的“适配”工作。终端需要完成小区搜索与同步,读取NPSS/NSSS获得时频偏,再解NPBCH获取MIB,随后在锚点载波上读取SIB1-NB。上行使用SC-FDMA,子载波间隔分为15 kHz和3.75 kHz两种,前者用于常规覆盖,后者用于扩展覆盖。以15 kHz、单音(1 tone)为例,NPUSCH的传输块较小,一次调度可能只承载几十比特,因此RLC分段与MAC复用必须严格匹配调度授权。

MAC层在终端侧的核心动作包括:随机接入过程(发送NPRACH前导)、调度请求、HARQ进程管理、逻辑信道优先级处理以及DRX配置。NB-IoT的HARQ采用异步自适应方式,上行重传由DCI中的NDI指示新数据或重传。MAC还负责把RRC信令、NAS信令和用户数据映射到不同的逻辑信道,再复用到UL-SCH传输信道。

RLC层在NB-IoT中通常配置为UM(非确认模式)或AM(确认模式)。对于控制面信令,多采用AM以保证可靠交付;对于时延敏感或允许丢包的业务,可采用UM。RLC PDU的大小由MAC在每个TTI给出的传输块大小决定,因此RLC必须支持动态分段。PDCP层则负责对用户面数据做ROHC头压缩,对控制面做完整性保护,加密算法由RRC在安全激活后配置,常见为128-NEA1/128-NEA2。

RRC层是终端与基站之间的“控制中枢”。它负责广播系统消息的读取、RRC连接建立(含竞争解决)、无线承载配置、测量配置与上报、连接释放。NB-IoT为省电引入了RRC空闲态下的eDRX和PSM,RRC连接态下则通过DRX和C-DRX降低监听开销。NAS层位于RRC之上,终端通过NAS消息完成附着请求、鉴权响应、安全模式命令、PDN连接建立、TAU等流程,这些消息被封装在RRC消息中透传,基站不解析其内容。

四、一次上行发送的层间协作示例

假设终端已建立RRC连接并激活安全,应用要发送一个20字节的CoAP报文。IP层封装后约48字节,PDCP压缩UDP/IP头后可能降到约30字节,加上PDCP头形成PDCP PDU。MAC根据当前调度授权给出传输块大小为72比特(示例值),RLC据此把PDCP PDU分成两段,分别加上RLC头。MAC把两段RLC PDU复用进一个传输块,选择MCS并指示重复次数,交给PHY。PHY完成CRC、Turbo编码、速率匹配、加扰和π/2-BPSK调制,映射到NPUSCH发送。基站收到后逐层解封装,若CRC校验失败,MAC触发HARQ重传;若RLC AM检测到丢失,则触发ARQ重传。终端通过监听NPDCCH获取重传授权,完成整个闭环。

判断协议栈是否正常工作的一个实用方法:在终端侧抓取层间日志,观察PDCP PDU是否成功递交到RLC、RLC是否按序重组、MAC HARQ重传次数是否异常升高。若HARQ重传频繁,问题多在PHY覆盖或MCS选择;若RLC ARQ重传频繁,问题多在调度授权与分段匹配。

五、分层带来的工程意义

理解协议分层,对终端开发与部署有直接价值。做功耗优化时,要关注MAC的DRX/eDRX与RRC的PSM配置;做吞吐优化时,要关注RLC分段效率、PDCP头压缩比与MAC调度授权大小;做覆盖增强时,要关注PHY的重复次数与MAC的HARQ合并策略;做信令排障时,要区分是RRC连接问题还是NAS附着问题。每一层的参数调整都会影响上下层的行为,因此协议栈不是孤立的知识点,而是终端行为分析的坐标系。

协议层终端侧主要功能典型观察点
PHY同步、编解码、调制、测量RSRP、SNR、重复次数
MAC调度、HARQ、随机接入、DRXHARQ重传次数、TA
RLC分段重组、ARQARQ重传、分段数
PDCP头压缩、加密、完整性压缩比、安全激活状态
RRC连接管理、承载配置、测量RRC状态、测量报告
NAS附着、鉴权、承载、TAUEPS承载、TAU周期

把六层协议放在一条数据流上看,终端的行为就变得可解释:每一次发送都是自上而下的封装,每一次接收都是自下而上的解封装;控制面与用户面在PDCP处分叉,在PHY处汇合。掌握这条主线,后续的功耗、覆盖、吞吐与排障分析才有统一的落点。