首页 › deep-tech › 5G协议栈:数据封装的层层旅程

5G协议栈:数据封装的层层旅程

从寄快递理解协议栈

想象你从北京给上海的朋友寄一部手机。你不会直接把裸机扔进邮筒——你会先装进手机盒,再套上气泡袋防震,然后装进快递纸箱,贴上快递单,最后交给快递员放进运输车。每一层包装都有自己的目的:防震、防水、标识地址、防丢。

5G网络中,你的微信消息、视频数据、VoNR语音包,从手机到基站再传到核心网,经历的正是这样一个层层封装的过程。每一层协议就像一层包装,各自承担不同的职责:加密、分段、调度、纠错、调制。理解这个封装链条,是读懂5G所有信令流程和故障排查的基础。


一、5G协议栈的全景地图

5G协议栈分为控制面(Control Plane)和用户面(User Plane)两条路径。控制面传递信令(如注册、切换指令),用户面传递业务数据(如视频流、网页内容)。两条路径共享底层(PHY/MAC/RLC),但在上层有区别。

图表1

图表 1

控制面 vs 用户面对比

维度 控制面 用户面
传递内容 信令消息(注册、切换、寻呼) 业务数据(视频、文件、语音)
最高层协议 NAS → RRC SDAP(5G新增)
PDCP功能 加密 + 完整性保护 加密 + 头压缩
RLC模式 TM(BCCH/PCCH)或 AM(DCCH) UM(VoIP)或 AM(TCP业务)
终点 AMF(核心网控制面) UPF(核心网用户面)
时延要求 相对宽松 极其严格(URLLC要求<1ms)

为什么这样设计? 信令和数据走不同的路径,就像高速公路上客车和货车分道行驶——信令需要可靠性(走AM模式,确保每条指令送达),数据需要效率(VoIP走UM模式减少重传延迟)。


二、每层协议的核心职责

2.1 SDAP——5G专属的"快递分拣员"

SDAP(Service Data Adaptation Protocol)是5G NR全新引入的协议层,4G LTE中不存在。它的核心职责只有一个:将QoS流映射到数据无线承载(DRB)上。

为什么需要这一层?4G用"EPS承载"来管理服务质量,一个承载对应一套QoS参数。但5G要支持网络切片和更精细的QoS控制,引入了"QoS流"的概念——同一个PDU会话内可以有多个QoS流,每个流的时延、速率要求不同。SDAP就是负责把这些QoS流"分配"到合适的无线承载上。

SDAP PDU格式:
┌──────────┬──────────────────────┐
│ SDAP Header │   SDAP SDU(QoS流数据)│
│  (1字节)    │                      │
│  - RDI位    │                      │
│  - QFI(6位) │                      │
└──────────┴──────────────────────┘

QFI(QoS Flow Identifier)占6位,可标识64种不同的QoS流。RDI(Reflective QoS flow to DRB mapping Indication)位用于指示UE是否采用反射式映射。

2.2 PDCP——安全管家 + 快递打包员

PDCP(Packet Data Convergence Protocol)承担两大类功能:

功能类别 具体功能 为什么需要
安全 加密/解密、完整性保护/验证 防止空口数据被窃听或篡改
头压缩 ROHC(鲁棒头压缩) VoIP的IP/UDP/RTP头部40字节→1~4字节,节省空口资源
排序 基于PDCP SN的重排序 切换时数据可能乱序到达
重复检测 去除重复PDU 切换或重传场景下避免数据重复
切换支持 PDCP状态保存与前转 保证切换时业务不中断

PDCP序列号(SN)的长度是一个关键参数:

SN长度 适用场景 特点
12位 普通业务 最多4096个编号,节省头开销
18位 高速率业务 最多262144个编号,避免SN快速回绕

什么场景用18位SN? 当数据速率很高时(比如下载1Gbps的文件),12位SN很快就会用完一圈(4096个PDU),回绕会导致接收端误判为重复包。18位SN给足了余量。

2.3 RLC——精明的分段与重传管理器

RLC(Radio Link Control)是协议栈中最具"智慧"的一层,它有三种工作模式:

图表2

图表 2

模式 分段/重组 ARQ重传 头部开销 典型应用
TM 否 否 0字节 系统消息(SIB)、寻呼
UM 是 否 2~4字节 VoIP语音、视频流
AM 是 是 2~6字节 TCP数据、RRC信令

为什么需要分段? 假设PDCP交给RLC一个1500字节的IP包,但MAC层本次调度只分配了500字节的传输块(TB)。RLC必须把这个1500字节的包切成3段,分3次传输。接收端RLC再根据段偏移(SO)字段把3段拼回去。

TM模式为什么存在? 系统消息(SIB)和寻呼消息需要在UE还没有建立任何承载时就能接收,此时RLC不能添加任何自己的头部(UE不知道如何解析),所以用透明模式"透传"。

RLC AM的ARQ机制关键参数:

$$\text{重传触发条件: } \text{pollSN} \leq \text{TX_Next} - 1 \text{ 且 } \text{未收到STATUS报告}$$

其中 TX_Next 是下一个待发送的RLC SDU编号,pollSN 是请求对端反馈STATUS的触发点。

2.4 MAC——调度决策的总指挥

MAC(Medium Access Control)是协议栈中"权力最大"的一层,它决定了谁的数据先传、传多少、用什么资源。

图表3

图表 3

MAC的核心功能一览:

功能 说明 实战意义
逻辑信道复用 将多个逻辑信道的数据复用到一个传输块 一帧中同时传信令和用户数据
HARQ 混合自动重传请求,物理层快速重传 一次HARQ RTT约4ms,远快于RLC ARQ
调度 根据BSR/PHR决定上行资源分配 基站知道UE有多少数据要发,才好分资源
逻辑信道优先级 保障高优先级信道(信令>VoIP>视频) 网络拥塞时信令不受影响
随机接入 管理PRACH过程 UE开机后第一个与基站的"对话"
时间提前量 调整UE上行发送时间 保证不同距离UE的信号同时到达基站

HARQ vs RLC ARQ的区别——这是初学者最容易混淆的点:

对比维度 HARQ(MAC层) ARQ(RLC层)
速度 快(~4ms RTT) 慢(几十ms)
机制 停等式,进程并行 滑窗式,选择性重传
纠错能力 只能纠正少量错误 可处理HARQ失败后的残留错误
反馈 ACK/NACK(1 bit) STATUS PDU(详细报告)
软合并 支持(Chase/IR合并) 不支持
失败后 通知RLC重传 重传该SDU

用快递类比:HARQ就像快递员发现包裹破损立刻回头重拿,ARQ则是仓库接到客户投诉后重新发货。HARQ是第一道防线,ARQ是兜底机制。

2.5 PHY——把数据变成电磁波

PHY(物理层)是协议栈的"底层搬运工",它把MAC层交来的传输块变成能在天线口发射的电磁波信号。核心处理流程:

传输块(TB) → 添加CRC → 信道编码(LDPC/Polar) → 速率匹配
→ 调制(QPSK/16QAM/64QAM/256QAM) → 层映射 → 预编码
→ RE映射 → IFFT → 加CP → 上变频 → 天线发射
处理步骤 5G NR选用的编码/方案 为什么选它
信道编码(数据) LDPC码 长码性能优于Turbo,并行解码速度快
信道编码(控制) Polar码 短码性能逼近香农极限
调制 最高256QAM 每符号携带8bit,吞吐量翻倍
波形 CP-OFDM(主流) 灵活的子载波间隔,支持MIMO

三、数据封装全流程:一个IP包的旅程

现在让我们跟踪一个1500字节的TCP/IP数据包(比如你正在加载的网页),看它如何从应用层一路封装到空口信号。

图表4

图表 4

封装过程的关键数字

层 添加的开销 输出 说明
应用层→IP +40字节(TCP+IP头) IP包 ~1440字节 IP头20B + TCP头20B
IP→SDAP +1字节 SDAP PDU ~1441字节 5G新增,4G无此层
SDAP→PDCP +3字节(12位SN) PDCP PDU ~1444字节 加密后载荷不可读
PDCP→RLC +3~6字节 RLC PDU ~1447字节 可能被分段
RLC→MAC +3~N字节 MAC PDU ~1450字节 含子头+可能的CE+填充
MAC→PHY +CRC 24bit + 编码冗余 传输块 编码后大小取决于MCS

开销占比分析: 一个1440字节的IP包,经过SDAP+PDCP+RLC+MAC封装后增加约10~15字节,协议开销占比不到1%。这就是为什么空口效率很高——大部分无线资源都在传"真正的数据"。


四、信道映射:三层信道的对应关系

协议栈中存在三种信道,分别对应不同层之间的接口。理解信道映射,就像理解"快递系统中的三种地址"。

图表5

图表 5

三种信道的本质区别

信道类型 存在于 传输的是什么 类比
逻辑信道 RLC与MAC之间 不同类型的数据(信令/业务/广播) 快件的"内容分类"(文件/食品/电子)
传输信道 MAC与PHY之间 数据的传输方式(共享/专用/随机) 快递的"运输方式"(空运/陆运/海运)
物理信道 PHY到空口 具体的无线信号资源(时频域位置) 具体的"航班号/车牌号"

关键映射表(下行)

逻辑信道 → 传输信道 → 物理信道 说明
BCCH → BCH → PBCH MIB(主系统信息块)
BCCH → DL-SCH → PDSCH SIB1~SIB9(详细系统信息)
PCCH → PCH → PDSCH 寻呼消息
DCCH → DL-SCH → PDSCH 专用RRC信令
DTCH → DL-SCH → PDSCH 用户数据

为什么BCCH有两种映射路径? MIB是UE开机后读到的第一条系统信息,内容很少但极其关键(只有24比特核心内容),用专门的PBCH信道发送。而SIB内容较多,不值得单独占用信道,就复用DL-SCH/PDSCH共享传输。这是"关键少量信息走专用通道,大量信息走共享通道"的设计哲学。


五、4G LTE vs 5G NR协议栈差异

对比维度 4G LTE 5G NR 设计动机
用户面最高层 PDCP SDAP(新增) 支持基于QoS流的精细调度
QoS管理粒度 EPS承载(粗粒度) QoS流(细粒度) 一条承载内多种QoS需求
PDCP SN长度 5/7/12位 12/18位 高速率业务需要更大SN空间
RLC模式 TM/UM/AM TM/UM/AM(相同) 继承LTE成熟设计
MAC子头长度 固定格式 更灵活的变长格式 提高资源利用率
PHY子载波间隔 固定15kHz 15/30/60/120/240kHz 灵活numerology适配不同场景
双连接 PDCP分流 增强的PDCP复制+分流 更可靠的双连接切换
数据前转 基于X2的PDCP前转 基于Xn的增强前转 降低切换中断时间

SDAP层为什么是5G"必须"的? 4G的EPS承载架构中,每个承载对应一组QoS参数,但建立/修改承载需要信令交互,开销大、延迟高。5G的QoS流架构允许核心网(SMF)在同一个PDU会话内动态创建/删除QoS流,无需空口信令。SDAP负责在空口侧把这些流映射到已有的无线承载上,实现了"核心网灵活 + 空口高效"的结合。


六、实战连接:协议栈知识如何指导排障

场景1:VoNR通话单通

现象: A能听到B的声音,B听不到A的声音。

协议栈视角: - VoNR走用户面协议栈:SDAP → PDCP → RLC(UM) → MAC → PHY - 单通说明某个方向的数据流断裂 - 如果A→B不通:检查A的上行RLC是否在持续发送、B的下行PDCP是否在持续接收 - 排查方向: 用QXDM/logView看UE侧的RLC Tx/Rx统计,定位是发送端没发包还是接收端没收到

场景2:切换后业务中断

现象: 手机从小区A切换到小区B后,正在进行的视频通话卡住。

协议栈视角: - 切换涉及PDCP层的重定位:PDCP SN要连续,缓存中的PDU要前转 - 如果RLC AM模式下,切换时AM实体重建,未确认的PDU会丢失 - 排查方向: 检查PDCP状态报告是否在切换中成功传递,RLC STATUS PDU是否完整前转

场景3:上行速率不达预期

现象: 理论上行速率500Mbps,实测只有50Mbps。

协议栈视角: - 上行速率受限于整个链条的最慢环节 - 检查BSR(Buffer Status Report)是否准确上报了UE的缓存大小 - 检查MAC调度:基站是否给足了UL Grant - 检查RLC AM的窗口是否受限:AM_Window_Size 如果太小,会导致发送窗口卡住 - 检查PDCP是否使用了ROHC头压缩:没有压缩时VoIP开销大增 - 排查方向: 逐层定位——先看PHY层的MCS和RB数量,再看MAC层的Grant利用率,最后看RLC/PDCP是否有瓶颈

场景4:RLC重传率过高

现象: RLC层STATUS报告显示大量NACK,重传率>5%。

协议栈视角: - RLC AM重传发生在HARQ重传失败之后 - 先确认HARQ是否也失败率高——如果是空口质量问题,HARQ也会失败 - 如果HARQ正常但RLC重传多——可能是MAC层HARQ进程配置不合理,或RLC轮询(poll)触发过于频繁 - 排查方向: 对比HARQ BLER和RLC重传率,判断问题在物理层还是协议层

调试工具提示

工具 能看到的协议层信息 典型用途
QXDM/QCAT 全协议栈日志 查看每层PDU内容、统计重传率
Wireshark NAS/RRC解码 分析信令流程、定位注册/切换失败
基站侧log MAC调度详情、HARQ进程状态 分析调度是否公平、资源是否充足
路测软件 PHY层RSRP/SINR/CQI 评估空口质量,判断是否物理层瓶颈

七、核心概念速查表

术语 全称 一句话解释
SDU Service Data Unit 上层交下来的"原始数据"
PDU Protocol Data Unit 本层加工后的"带包装数据"
TB Transport Block MAC层交给PHY的一个传输块
LCID Logical Channel ID MAC子头中标识逻辑信道的编号
BSR Buffer Status Report UE告诉基站"我还有多少数据要发"
PHR Power Headroom Report UE告诉基站"我还有多少发射功率余量"
ROHC Robust Header Compression PDCP的头压缩协议,把40字节IP头压到1~4字节
HARQ Hybrid ARQ MAC层的快速重传机制
SN Sequence Number PDCP或RLC层的序列号

常见问题

Q: SDAP层在NSA组网下存在吗? A: 不一定。NSA(非独立组网)模式下,UE通过LTE锚点接入5G核心网,数据面可能走LTE的eNB。只有当数据通过gNB的NR用户面传输时,SDAP层才存在。如果UE通过EN-DC双连接,主站eNB侧没有SDAP,辅站gNB侧有SDAP。

Q: PDCP加密和完整性保护有什么区别? A: 加密(Ciphering)是把数据内容变成密文,防止窃听,用DRB密钥加密载荷部分;完整性保护(Integrity Protection)是给数据加一个校验标签(MAC-I,32bit),防止篡改,对整个PDU(包括头部)计算。控制面(SRB)必须同时启用加密和完整性保护,用户面(DRB)只必须启用加密,完整性保护可选。这也是为什么控制面比用户面多了4字节完整性标签开销。

Q: RLC的AM模式下,重传多少次才放弃? A: 标准没有规定固定次数,而是通过参数 t-Reassembly(重组定时器)和 maxRetxThreshold(最大重传次数)来控制。典型配置下,maxRetxThreshold 可以设为 1/2/3/4/6/8/16/32 次。如果超过最大重传次数仍未收到确认,RLC层会上报RRC,触发RLF(无线链路失败)流程。

Q: MAC CE是什么?为什么不走RLC? A: MAC CE(Control Element)是MAC层自带的控制信息,如BSR、PHR、C-RNTI等。这些信息量很小(几个字节)但需要快速传递,如果再经过RLC的分段和确认机制,延迟就太高了。所以MAC CE直接嵌入MAC PDU中,随数据一起发送,走HARQ保护即可。这就像快递单上直接写"加急",不需要另外发一封信通知快递公司。

Q: 为什么说协议栈是"沙漏"形状? A: 在整个通信体系中,从应用层到物理层,中间的IP层是"最窄"的——无论上层有多少种应用(微信、抖音、视频会议),到了IP层都统一成IP包。这就像沙漏中间最细的地方,所有东西都要通过同一个瓶颈。5G协议栈的L2(SDAP/PDCP/RLC/MAC)是空口的"瓶颈",所有应用数据都要经过同一套封装和调度机制。


参考来源

  1. 5G NR Data Flow Explained: From IP Packets to MAC PDUs — 5G数据面从IP到MAC的完整流程图解
  2. 5G NR 协议栈架构:控制面和数据面 - 博客园 — 控制面与用户面协议栈详细对比
  3. MAC, RLC, and PDCP Layers — 5G Documentation — L2各层PDU结构与功能详解
  4. 5G Protocol Stack: Layer 1, Layer 2, and Layer 3 Explained — 各层职责与信道映射关系
  5. 5G系统观学习笔记2:5G协议栈架构 - 知乎 — 5G全协议栈体系架构图与核心网协议栈

本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入