<!-- title: 5G协议栈：数据封装的层层旅程 -->

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

## 从寄快递理解协议栈

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

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

---

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

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


![图表1](images/telecom-deep-tech-r3-2041-mermaid-0.png)

> *图表 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](images/telecom-deep-tech-r3-2041-mermaid-1.png)

> *图表 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](images/telecom-deep-tech-r3-2041-mermaid-2.png)

> *图表 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](images/telecom-deep-tech-r3-2041-mermaid-3.png)

> *图表 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](images/telecom-deep-tech-r3-2041-mermaid-4.png)

> *图表 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](https://www.telecomtrainer.com/5g-nr-data-flow-explained-from-ip-packets-to-mac-pdus/) — 5G数据面从IP到MAC的完整流程图解
2. [5G NR 协议栈架构：控制面和数据面 - 博客园](https://www.cnblogs.com/beilou310/p/16996732.html) — 控制面与用户面协议栈详细对比
3. [MAC, RLC, and PDCP Layers — 5G Documentation](https://5gsitedocumentation.readthedocs.io/en/latest/learningmodule8.html) — L2各层PDU结构与功能详解
4. [5G Protocol Stack: Layer 1, Layer 2, and Layer 3 Explained](https://www.rfwireless-world.com/terminology/5g-protocol-stack) — 各层职责与信道映射关系
5. [5G系统观学习笔记2：5G协议栈架构 - 知乎](https://zhuanlan.zhihu.com/p/1946152509790990901) — 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学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
