你有没有想过:你在手机上点开一个网页,这个请求是怎么变成空气中的电磁波,又被基站还原成数据的?中间经历了什么?为什么明明物理层已经有一堆纠错编码了,上面还要再来一层重传?为什么4G只有四层协议,5G偏偏要加一个SDAP?
这篇文章就带你把5G空口协议栈从上到下拆开,看清每一层的职责边界、设计动机,以及它们如何协作把一个IP包可靠地送过充满噪声和干扰的无线信道。
假设你要把一批易碎品从上海寄到拉萨。你不会亲自开车去,而是交给一套分工明确的物流系统:
每一层只关心自己的事:打包车间不需要知道货走的是哪条国道,调度中心不需要知道箱子里是不是易碎品。层与层之间通过标准化接口协作,任何一层换供应商(换算法、换设备)都不影响其他层。
这就是协议分层的全部哲学。5G空口协议栈从上到下五个用户面子层——SDAP、PDCP、RLC、MAC、PHY——每一层恰好对应物流系统里的一个角色,解决无线通信中的一个独立问题:
| 层级 | 一句话职责 | 生活类比 | 对等实体在哪里 | 出问题时的典型症状 |
|---|---|---|---|---|
| SDAP | 决定数据走哪条“服务通道”(QoS流到无线承载的映射) | 收件员决定走空运还是陆运 | UE ↔ gNB | 高优先级业务得不到保障 |
| PDCP | 加密、防篡改、报头压缩、按序交付 | 防震包装+防伪封条+编号 | UE ↔ gNB | 丢包、乱序、被窃听 |
| RLC | 拆包/组包,三种可靠度模式 | 大件拆成标准箱 | UE ↔ gNB | 大包传不动、实时业务卡顿 |
| MAC | 调度空口资源、快速重传(HARQ) | 机场塔台调度航班 | UE ↔ gNB | 速率低、时延抖动大 |
| PHY | 把比特变成电磁波,或把电磁波还原成比特 | 卡车与公路 | UE ↔ gNB | 信号差、解码失败(BLER高) |
还有一个看不见的控制面:RRC(无线资源控制)负责“管理这些物流工人本身”——建立承载、配置参数、下发测量命令;NAS(非接入层)则跨越基站,直接连接手机和核心网,处理注册、鉴权这类“身份事务”。
理解协议栈最重要的一个概念是对等实体(Peer Entity):UE的PDCP和gNB的PDCP是“同行对话”,它们之间的协议头只被对方的同层理解、由对方的同层剥掉。而每层协议在哪里终结,决定了出问题时你该去哪台设备上查日志。
flowchart TB
subgraph UE["手机 UE"]
APP["APP 应用层"]
NAS["NAS 非接入层"]
US["SDAP"]
URRC["RRC"]
UP["PDCP"]
UR["RLC"]
UM["MAC"]
UH["PHY"]
end
subgraph GNB["基站 gNB"]
NRRC["RRC"]
NS["SDAP"]
NP["PDCP"]
NR2["RLC"]
NM2["MAC"]
NH2["PHY"]
end
subgraph CORE["核心网 5GC"]
UPF["UPF 用户面锚点"]
AMF["AMF 连接与移动管理"]
end
APP --> US
NAS --> URRC
US --> UP
URRC --> UP
UP --> UR --> UM --> UH
UH <== "无线空口 Uu" ==> NH2
NH2 --> NM2 --> NR2 --> NP
NP --> NS
NS --> UPF
NP --> NRRC
NRRC --> AMF
从这张图能读出三条关键信息:
物理层是唯一真正“接触”物理世界的一层:把比特流映射成电磁波的幅度、相位、频率,接收端再从被噪声、衰落、多径污染的信号里把它们抠出来。
它面对的第一个铁律是香农极限:
$$C = B\,\log_2\left(1 + \frac{S}{N}\right)$$
信道容量 $C$ 由带宽 $B$ 和信噪比 $S/N$ 唯一决定。这个公式告诉所有上层:你们再怎么优化协议,也绕不过物理规律。想要更快的速率,要么加带宽(5G为什么用100MHz大带宽和毫米波),要么提升信噪比(为什么基站越近越快)。协议栈的其他四层,本质上都是在“逼近”这条天花板,而不是突破它。
PHY采用的传输骨架是OFDM:把宽带信道切成成百上千个正交的窄带子载波,并行传输。5G引入了可扩展的子载波间隔(numerology)——4G固定15kHz,而5G从15kHz一路可配置到960kHz,子载波间隔越大、时隙越短,时延越低(据Wikipedia的5G NR词条,15kHz对应1ms时隙,120kHz对应0.125ms时隙,这正是URLLC低时延的物理基础)。
但OFDM有个致命弱点:很多子载波同相叠加时,峰值功率远超平均值。用峰均比(PAPR)度量:
$$\mathrm{PAPR} = 10\lg\frac{P_{\text{peak}}}{P_{\text{avg}}} \;(\mathrm{dB})$$
峰均比高意味着功放必须留巨大线性余量,否则信号被“削顶”失真。基站的功放可以做得又大又贵,手机不行——所以上行(手机发、基站收)通常改用DFT扩频的OFDM(SC-FDMA形态),先把信号“预压缩”再上子载波,显著压低PAPR、省电省钱。这是“下行OFDMA、上行SC-FDMA”这一经典分工的由来,从4G LTE一直延续到5G(LTE维基词条明确记载了这一设计,动机就是节省终端功耗)。
PHY向上层交付的不是一个“保证成功”的服务,而是一个带错误率的统计服务。数据信道的初始误块率(BLER)典型目标约10%——是的,物理层“故意”允许10%的失败,因为它失败得快、重传得也快,这比追求一次成功更划算。理解这一点是理解整个协议栈设计的关键伏笔。
无线空口最宝贵的是时间和频率资源(时隙×PRB),成百上千个用户抢着用。MAC层的调度器就像机场塔台:每个毫秒级的调度周期里,决定“哪个用户的哪些数据、装进哪个时隙的哪些资源块、用什么编码调制等级”。
调度器要同时权衡:信道质量好的用户多给资源(提升总吞吐)、信道差的用户保底供给(保障公平)、语音包要按时到(保障时延)。这个多目标平衡没有标准答案,各厂商调度算法是核心商业机密——这也是为什么同样信号强度下,不同设备商的网络速率差异可以很大。
MAC还挂着通信系统里反应最快的重传机制——HARQ(混合自动重传请求)。它的精妙之处在于“失败不白失败”:接收端解码失败时,并不丢弃收到的信号,而是把原始软比特存在HARQ缓存里;发送端重传时可以只重发新的冗余校验比特,接收端把新旧软信息合并解码,像叠罗汉一样逐步逼近正确答案。HARQ环路的时延在毫秒级,是名副其实的“快速急救车”。
RLC负责把上层的包拆小(适配PHY一次能搬的传输块大小)和把收到的碎片拼回去。它有三种工作模式,可靠度依次递增:
| 模式 | 加协议头 | 分段 | 重传 | 保序 | 典型用途 |
|---|---|---|---|---|---|
| TM 透明模式 | ✗ | ✗ | ✗ | ✗ | 广播系统消息等极简场景 |
| UM 非确认模式 | ✓ | ✓ | ✗ | ✗ | VoIP语音、视频通话等实时业务 |
| AM 确认模式 | ✓ | ✓ | ✓ | ✓ | 大部分数据业务 |
为什么语音宁可允许丢包也不要重传?因为实时通话中,迟到300ms的包等于废包——重传补回来的话音早已过了播放时刻。UM模式用“丢了就丢了”换取时延确定性,这是为业务特性选择可靠度的典型设计。
值得注意的一个5G关键变化:4G的RLC-AM自己带重排和重传(ARQ),5G把这部分职责上移到了PDCP,RLC只留分段和纠错反馈。为什么这样改?4G时代这没问题,但5G引入载波聚合和双连接后,数据可以从多条支路到达,RLC层各自重排会把逻辑搞得很复杂;把重排统一收到PDCP这个“总装车间”,多支路乱序问题一处解决。5G的协议栈不是凭空堆功能,而是在做减法和职责再分配。
PDCP是用户面最“忙”的一层,四件事:
SDAP(Service Data Adaptation Protocol)是5G相对4G协议栈唯一全新增加的子层,很多人第一次看协议栈图都会疑惑:它到底干什么?
4G的服务质量绑定在“承载”上——一条EPS承载从手机到核心网网关端到端贯穿,QoS和管道合一。这个模型在4G够用,但5G要支撑差异化极大的业务切片(一个UE同时跑语音、超低时延工业控制、大流量视频),端到端统一管道太僵化。于是5G把QoS拆成了两级:
SDAP的工作就是在QFI和DRB之间做“接线”——把每条QoS流映射到合适的DRB上传输:
flowchart LR
subgraph CORE["5GC 侧"]
QF1["QoS Flow A<br/>语音 5QI=1 GBR"]
QF2["QoS Flow B<br/>普通上网 5QI=9 Non-GBR"]
end
subgraph AIR["空口侧 UE 与 gNB 对等"]
D1["DRB1 保障型承载"]
D2["DRB2 默认承载"]
end
QF1 -->|"SDAP 映射(打 QFI 标记)"| D1
QF2 -->|"SDAP 映射(打 QFI 标记)"| D2
D1 --> R1["调度优先保障速率与时延"]
D2 --> R2["剩余资源尽力而为"]
一个细节体现设计之精妙:SDAP头里的QFI跟随数据一起走到底,使得下游每个调度点(MAC调度器、承载网)都能 independently 知道这个包属于哪条QoS流,无需查询任何会话表。QoS信息“长在包上”,而不是“查在表里”——这是分布式系统里非常经典的设计智慧。
顺带一提:NSA(非独立组网)模式下用户面仍走4G锚点承载,SDAP通常不启用;只有SA组网才用上完整的五层协议栈。现网排查时,NSA手机的协议栈里看不到SDAP是正常现象,别当成故障。
RRC是协议栈的“管理层”:广播系统消息、建立/释放承载、配置测量与切换、寻呼手机。它跑在SRB(信令无线承载)上,用户数据跑在DRB上,两者在PDCP以下是同一套底层设施。NAS则在RRC之上,直接对 talk AMF,处理注册、鉴权、会话管理——记住它的穿透性:基站是NAS的管道,不是NAS的对手方。
现在把所有层串起来,看一个约1400字节的IP包从APP发出后,如何被逐层“套娃”,最后变成电磁波:
flowchart TD
A["IP 数据包<br/>约 1400 字节"] --> B["SDAP<br/>加 QFI 标记头"]
B --> C["PDCP<br/>ROHC 压缩 + 加密 + 加头"]
C --> D["RLC<br/>拆分为合适大小 + 加头"]
D --> E["MAC<br/>多条逻辑信道复用 + 加头 + 填充"]
E --> F["PHY<br/>加 CRC、LDPC/Polar 编码<br/>加扰、调制、映射到子载波"]
F --> G["射频发射<br/>电磁波上天"]
每一层剥掉自己的头,就完成一次“解套娃”。反向的接收端则完全镜像地逆向执行。发送路径上每加一层头,开销增加几个字节到十几个字节——这些开销是分层的“税”,换来的是每层职责的清晰与独立演进能力。
协议栈最容易被误解的设计,就是“为什么有两套重传”。答案一句话:HARQ求快,ARQ求稳,两者时延尺度差两三个数量级。
sequenceDiagram
participant TX as 发送端 MAC
participant RX as 接收端 MAC
participant PD as 接收端 PDCP
TX->>RX: 第1次发送传输块
RX-->>TX: NACK 解码失败
Note over RX: 软比特保留在 HARQ 缓存中
TX->>RX: 第2次发送增量冗余版本
Note over RX: 新旧软比特合并解码 成功
RX-->>TX: ACK
RX->>PD: 重组排序后上交
Note over PD: 若仍有缺失<br/>由 PDCP 层 ARQ 跨空口重传兜底
物理层初始BLER按10%设计,经过HARQ合并重传几次后,残留错误率以指数速度下降:
$$\mathrm{BLER}_{\text{残留}} \approx \mathrm{BLER}^{N} \quad \Rightarrow \quad 0.1^3 = 0.1\%$$
三次机会把90%成功率抬到99.9%。剩下的0.1%如果恰好发生,PDCP的ARQ在几百毫秒量级再补一刀。快慢两级互补:HARQ保证毫秒级时延下的效率,ARQ保证最终交付的可靠性。 这种“快速局部重传 + 慢速全局重传”的分层结构,在TCP/IP协议栈(MAC重传/TCP重传)、存储系统(磁盘ECC/RAID)中反复出现,是工程学的通用模式。
| 特性 | LTE (4G) | NR (5G) | 变化的动机 |
|---|---|---|---|
| 子层数量 | 4层(无SDAP) | 5层(+SDAP) | QoS流与无线承载解耦,支撑切片 |
| RLC-AM重排/ARQ | 在RLC | 上移到PDCP | 多支路(CA/DC)下统一重排 |
| 子载波间隔 | 固定15kHz | 15~960kHz可配 | 一张网同时服务广覆盖与低时延 |
| 最小调度周期 | 1ms子帧 | 0.125~1ms时隙 | URLLC毫秒内交付 |
| 空口加密位置 | PDCP | PDCP(不变) | 安全边界一致 |
| 上行波形 | SC-FDMA | CP-OFDM / DFT-s-OFDM可选 | 灵活性与终端功耗再平衡 |
可以看到,5G协议栈的骨架和4G高度同源——真正革命性的变化发生在物理层(大带宽、大规模天线、新编码)和网络架构(核心网服务化),协议栈本身做的是结构性微调:新增一层做QoS解耦、上移一个功能做多支路统一。据Wikipedia的5G NR词条,5G空口同样基于OFDM体系设计,是LTE的直接演进而非推倒重来。所以“5G快是因为协议栈新”是个常见误解——它快,主要快在物理层给了更大的舞台。
分层协议栈给工程师最大的礼物是故障域隔离:每一层有自己的KPI,哪层指标异常,问题就在哪层的管辖范围。推荐这条排查路径:
三个常见的调试陷阱:
Q: HARQ和PDCP重传(ARQ)功能重复吗?为什么留两套? A: 不重复,是互补。HARQ在MAC层,环路时延毫秒级,靠软比特合并“边错边救”,追求效率;PDCP的ARQ环路跨整个空口往返,时延大一到两个数量级,只兜HARQ救不回来的极小概率残留错误。类比:现场急救员(HARQ)+ 医院ICU(ARQ)。
Q: SDAP和4G的QCI机制本质区别是什么? A: 4G的QCI绑定在端到端承载上,QoS和管道合一;5G的SDAP把QoS流(带QFI标记)和空口DRB解耦,多条QoS流可共享一条DRB,也可以一条流独占一条DRB,映射灵活可动态调整。本质是从“管道定义QoS”变成“标签定义QoS”。
Q: 为什么上行不像下行一样用OFDMA,偏要SC-FDMA? A: OFDM多子载波同相叠加导致高峰均比(PAPR),要求功放有大的线性范围。基站立在铁塔上带大电源,无所谓;手机靠电池,功放低效直接吃续航、增加芯片成本。SC-FDMA先做DFT扩频“削峰”,牺牲一点实现复杂度换来终端侧的低PAPR。
Q: RLC的UM模式不允许重传,那语音丢包谁来管? A: 没人管,这是特性不是缺陷。实时语音对时延极度敏感,重传补回来的包已过播放时刻,毫无价值。UM模式允许少量丢包(人耳对偶发丢失不敏感,还有解码器补偿),换取每包按时到达的确定性。可靠和实时是同一枚硬币的两面。
Q: 加密为什么放在PDCP层而不是更低或更高? A: 放更低(MAC/PHY):基站的调度和重传需要读包头,全加密会让这些功能无法工作,且PHY逐次重传加解密开销太大;放更高(NAS/核心网):无法保护空口这一最脆弱的无线段。PDCP恰好平衡两者——基站以下链路受保护,基站内部仍能读头做调度,用户载荷对基站不透明(信令则在PDCP做完整性保护)。
本文由「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 等场景全覆盖。
