想象一个城市的交通系统。出租车、救护车、运货卡车、自行车、行人——它们都在同一条马路上跑。如果把所有车辆一视同仁地塞进车道,结果一定是灾难:救护车被堵在车流里,运货卡车和自行车抢道,普通通勤车动弹不得。
聪明的城市管理者会怎么做?他们设计了多车道分级:救护车有专用应急车道(独占资源、绝对优先),货车有货运车道(保证最低通行能力),私家车走普通车道(尽力而为、按需共享)。还会在高峰期对某些车辆限流,避免一条路被占满。
5G网络的QoS(Quality of Service,服务质量)与网络切片,本质上就是这套"通信世界的交通管理系统"。它要解决的核心矛盾是:无线频谱和传输带宽是有限的稀缺资源,而5G要承载的业务却千差万别——4K直播要求超大带宽,自动驾驶要求超低时延,海量物联网传感器要求海量连接,IMS语音通话要求绝对稳定。如果用同一种方式对待所有数据,要么浪费资源,要么关键业务跑不动。
理解QoS与切片,就是理解5G如何"看菜下碟",把有限的比特管道分配给最需要它的业务。
要理解5G的QoS,先要看它从4G继承了什么、又改了什么。
4G时代,QoS调度的最小颗粒度叫EPS Bearer(演进型承载)。一个UE到PDN网关之间,会建立若干条承载,每条承载绑定一个QCI(QoS Class Identifier,9个标准值)。问题在于:
5G做了一个关键设计:把QoS控制和无线承载解耦。它引入了QoS Flow(QoS流)作为QoS差异化处理的"最小颗粒度"。这就像把"业务分级"和"运输车辆"分开了——你可以把多个不同优先级的包裹,灵活地装进同一辆或不同的卡车上。
整个下行数据流经的路径是这样的:
flowchart LR
DN[数据网络 DN<br/>Internet/企业网] --> UPF[UPF<br/>用户面功能]
UPF -->|N3隧道<br/>QFI标签| gNB[gNB<br/>无线接入]
gNB -->|DRB映射| UE[终端 UE]
subgraph 5GC核心网
UPF
end
subgraph 一个PDU会话
direction TB
F1[QoS Flow 1<br/>5QI=5 信令]
F2[QoS Flow 2<br/>5QI=1 语音]
F3[QoS Flow 3<br/>5QI=9 上网]
end
F1 -.共享N3隧道.-> gNB
F2 -.共享N3隧道.-> gNB
F3 -.共享N3隧道.-> gNB
这里有三个关键概念,必须先厘清:
| 层级概念 | 定义 | 类比 |
|---|---|---|
| PDU Session(协议数据单元会话) | UE到某个数据网络的一条逻辑连接,是用户面的"主通道" | 一条快递公司的总路线 |
| QoS Flow(QoS流) | QoS差异化处理的最小单位,用QFI(QoS Flow Identity,6bit,0-63)标识 | 路线上的不同优先级包裹类别 |
| DRB(数据无线承载) | gNB和UE之间空口的实际传输通道 | 实际跑在路上的卡车 |
核心设计思想:一个PDU Session内部的所有QoS Flow,共享同一条N3 GTP-U隧道(封装在IP里传输),但每个数据包带着自己的QFI标签。gNB收到后,根据QFI把数据包映射到合适的DRB上,用不同的无线调度策略发送。这就是"核心网按流分级,无线网按需承载"的解耦之美。
5QI(5G QoS Identifier)是一个标量索引,本身不是参数,而是一个"指针"——指向一组预先约定好的QoS特征(QoS Characteristics)。为什么要用索引而不是直接传一堆参数?因为这样能极大节省信令开销:核心网和接入网只要对"5QI=5"这三个字符达成共识,就隐含了"IMS信令、优先级中等、时延预算100ms"这一整套含义,不用每次都把所有参数传一遍。
一个5QI背后,关联着这几个核心参数:
$$ \text{5QI} \rightarrow \left( \text{Resource Type},\ \text{Priority Level},\ \text{PDB},\ \text{PER} \right) $$
5G定义了一批标准化的5QI值,下表选取几个最具代表性的:
| 5QI | 资源类型 | 优先级 | PDB | PER | 典型业务 | 一句话理解 |
|---|---|---|---|---|---|---|
| 1 | GBR | 2 | 100ms | 1e-2 | 会话语音 | 打电话,必须稳 |
| 2 | GBR | 4 | 150ms | 1e-3 | 会话视频 | 视频通话,稍慢可接受 |
| 4 | GBR | 3 | 300ms | 1e-6 | 非会话视频流 | 实时直播 |
| 5 | Non-GBR | 1 | 100ms | 1e-6 | IMS信令 | 控制信令,最高优先 |
| 7 | Non-GBR | 7 | 100ms | 1e-3 | 语音/视频/交互游戏 | 低延迟尽力而为 |
| 8 | Non-GBR | 8 | 300ms | 1e-6 | 高质量TCP流(网页/邮件) | 普通上网 |
| 9 | Non-GBR | 9 | 300ms | 1e-6 | 默认TCP业务(最常用) | 默认上网流量 |
| 80 | Delay-Critical GBR | 2 | 10ms | 1e-5 | 低延迟AR/VR | 工业控制、远程操作 |
注意几个设计上的巧思: - 优先级1留给信令(5QI=5),因为信令断了,业务全断,它的"重要性"高于具体业务数据; - Delay-Critical GBR(如5QI=80-85) 是5G新增的资源类型,专门服务URLLC(超可靠低时延)场景,它对"单次突发"有MDBV(最大数据突发量)的限制——不仅要保证速率,还要保证那一小批紧急数据在一个极短窗口内发完。
很多人把5QI的Priority Level和ARP的Priority Level搞混。这里必须讲清楚,因为这是工程调试中最容易踩的坑。
ARP(Allocation and Retention Priority,分配与保持优先级)只在准入控制(Admission Control)这一刻发挥作用——也就是当一个新业务要建立、切换、或资源紧张时,决定"让不让你进来"。它由三部分组成:
| ARP子参数 | 取值 | 作用 |
|---|---|---|
| Priority Level | 1~15(1最高) | 相对重要性,决定准入/抢占的排序 |
| Pre-emption Capability(抢占能力) | yes/no | 这个流能否"挤掉"低优先级流 |
| Pre-emption Vulnerability(被抢占易感性) | yes/no | 这个流能否"被挤掉" |
这是初学者最困惑的点,用一张图说明它们的分工:
flowchart TB
A[一次通话业务] --> B{建立阶段}
B --> C[ARP上场<br/>决定:让不让你建?<br/>资源不够,能不能挤掉别人?]
C -->|准入成功| D{传输阶段}
D --> E[5QI Priority上场<br/>决定:数据包怎么排队?<br/>谁先发、谁后发]
C -.失败.-> X[拒绝建立 或<br/>触发抢占/释放]
E --> Y[空口调度器据此排序]
style C fill:#ffe6e6
style E fill:#e6f3ff
简单说:
一个直观例子:两部手机同时发起语音呼叫,基站资源只够一通。这时ARP的Priority Level决定谁优先被接纳;而通话建立后,两通电话的数据包怎么在空口调度,则由5QI=1的Priority Level统一决定。
抢占是ARP最有"戏剧性"的功能。当资源紧张时,一个新的高优先级GBR业务要建立,会按这个流程决策:
flowchart TD
Start[新GBR业务请求建立] --> Check1{资源是否充足?}
Check1 -->|充足| Admit[直接准入]
Check1 -->|不足| Check2{新业务有<br/>抢占能力?}
Check2 -->|否| Reject[拒绝建立]
Check2 -->|是| Check3{存在被抢占易感性=yes<br/>且优先级更低的流?}
Check3 -->|否| Reject
Check3 -->|是| Kick[释放低优先级流]
Kick --> Admit
这套机制保证了一个原则:关键业务(如应急通信、IMS语音)在网络拥塞时,依然能获得资源。代价是某些低优先级业务会被"牺牲"掉。这也是为什么运营商在规划网络时,要非常谨慎地设置哪些业务允许抢占、哪些业务可被抢占——配错了会导致普通用户体验异常波动。
这是5G QoS的"双轨制":
| 维度 | GBR(保证比特率) | Non-GBR(非保证比特率) |
|---|---|---|
| 核心承诺 | 保证最低速率,必须预留资源 | 不保证速率,尽力而为,按需共享 |
| 准入控制 | 必须做——网络要确认资源够才接纳 | 不必逐流准入 |
| 关键参数 | GFBR(保证流速率)、MFBR(最大流速率) | 无逐流保证,靠AMBR限速 |
| 典型5QI | 1-4(GBR)、80-85(Delay-Critical GBR) | 5-9、69-79 |
| 典型业务 | 语音通话、视频会议、远程手术 | 网页、下载、后台同步 |
| 资源占用 | 独占预留,即使空闲也占着 | 动态共享,按需抢占空闲带宽 |
GBR的本质是"买保险"。语音通话这类业务,一旦中途卡顿,用户体验断崖式下跌。所以网络必须为它预留出GFBR大小的资源(空口的时频块、传输网的带宽),哪怕这通电话暂时没人说话(静音期),资源也得留着。这当然"浪费",但换来的是绝对的稳定。
Non-GBR的本质是"搭便车"。刷网页、下文件,慢一点无所谓,没必要为它预留固定资源。所以网络让所有Non-GBR流量共享剩余带宽,谁有需求就给谁,并通过AMBR限速防止某个用户把带宽吃光。
既然Non-GBR是共享的,怎么防止一个用户疯狂下载把整个基站吃干?答案是AMBR(Aggregate Maximum Bit Rate,聚合最大比特率),它有两个层级:
$$ \underbrace{\text{Session-AMBR}}{\text{一个PDU会话内所有Non-GBR流量的总速率上限}} \quad \leq \quad \underbrace{\text{UE-AMBR}} $$}
注意一个细节:AMBR只对Non-GBR生效,GBR流量的GFBR/MFBR不受AMBR约束。这符合直觉——你都"买保险"保证速率了,当然不该被限流。
把前面的概念串起来,看一次完整的QoS资源分配是怎么发生的:
sequenceDiagram
participant AF as 应用功能AF<br/>(如IMS)
participant PCF as PCF<br/>策略控制
participant SMF as SMF<br/>会话管理
participant RAN as gNB
participant UE as UE
AF->>PCF: 1. 业务请求(语音)<br/>携带业务需求
PCF->>PCF: 2. 生成PCC规则<br/>决定5QI=1, GBR
PCF->>SMF: 3. 下发PCC规则<br/>(5QI/ARP/GFBR)
SMF->>SMF: 4. 建立QoS Flow<br/>分配QFI
SMF->>RAN: 5. PDU会话资源建立<br/>下发QoS配置(5QI/ARP/GFBR)
RAN->>RAN: 6. 准入控制<br/>检查GFBR资源是否够
RAN->>UE: 7. RRC重配<br/>建立DRB并告知QoS规则
UE-->>RAN: 8. 确认
RAN-->>SMF: 9. 准入成功/失败
Note over RAN,UE: 此后数据包按QFI映射到DRB<br/>按5QI优先级调度
这条链路里,PCF是"决策大脑"(根据业务和应用策略生成PCC规则),SMF是"翻译官"(把PCC规则转成具体的QoS Flow参数),RAN是"执行者"(做准入控制、建立DRB、空口调度)。三者各司其职,是5G控制面分离架构的体现。
一个值得注意的简化设计是Reflective QoS(反射式QoS):对于某些场景,网络不通过信令显式下发QoS规则给UE,而是让UE通过观察下行数据包的QFI标签,自动"反射"出对应的UL QoS标记。这减少了上行QoS管理的信令开销——又是一个"能省则省"的工程权衡。
很多人觉得切片和QoS是两回事,其实它们是同一思想在不同层次的应用:
用交通类比:QoS是同一条高速路上分快慢车道;切片是直接修几条物理隔离的专用高速——救护车专用道、货运专用道、私家车专用道,各自独立运营、互不干扰。
切片用S-NSSAI(Single Network Slice Selection Assistance Information)标识,它由两部分组成:
一个UE可以同时订阅多个切片,记在它的Configured NSSAI里。注册时,AMF会根据UE请求的切片和NSSF(网络切片选择功能)的决策,为UE选择合适的AMF集合和切片。
切片和QoS不是非此即彼,而是嵌套关系:
flowchart TB
Physical[一张物理5G网络] --> S1[切片1: eMBB<br/>SST=1]
Physical --> S2[切片2: URLLC<br/>SST=2]
Physical --> S3[切片3: mIOT<br/>SST=3]
S1 --> P1[PDU会话1]
P1 --> Q1a[QoS Flow: 5QI=9 上网]
P1 --> Q1b[QoS Flow: 5QI=2 视频]
S2 --> P2[PDU会话2]
P2 --> Q2a[QoS Flow: 5QI=80<br/>Delay-Critical GBR]
style S2 fill:#fff4e6
style Q2a fill:#fff4e6
一个PDU会话永远只属于一个切片。换句话说,切片决定了"你走哪条路、用哪套网络资源",而QoS决定了"在这条路上你的包裹怎么排队"。URLLC切片里的业务,天然倾向于使用Delay-Critical GBR类的5QI;eMBB切片里的业务,则更多是Non-GBR的高带宽流量。切片是"宏观隔离",QoS是"微观调度",两者配合实现端到端的服务保障。
切片的隔离体现在三个层面:
| 隔离层 | 含义 | 实现方式 |
|---|---|---|
| 无线网 | 不同切片的容量可独立保障 | 切片级RRM策略、PRB资源预留比例 |
| 传输网 | 不同切片的流量分流 | 独立隧道、FlexE/VPN隔离 |
| 核心网 | 不同切片用不同的NF实例 | CNF实例隔离、UPF按切片部署 |
注意,切片的隔离程度是可配置的——可以是软隔离(共享物理资源,但保证最低份额),也可以是硬隔离(资源完全独占)。硬隔离资源利用率低但互不影响,软隔离效率高但需要精细的QoS策略兜底。这个权衡,和QoS里GBR与Non-GBR的设计思想一脉相承。
理论讲完,回到现实——这套原理在现网中如何体现,调试时哪里会用到?
如果用户反映语音通话质量问题,抓包看信令时,重点核查: - PDU会话建立是否成功:看SMF是否给语音业务建立了5QI=1的GBR QoS Flow; - 准入是否成功:RAN有没有回"Admission Control Failure"——这通常意味着基站拥塞,GFBR资源不够; - QFI是否正确映射到DRB:如果QoS Flow建了但没正确映射DRB,会出现"有信令无语音"。
某个用户疯狂下载导致其他人卡,要核查Session-AMBR和UE-AMBR是否配置正确。常见坑:运营商套餐改了但AMBR没同步更新,导致限速失效。
业务该优先却不优先,先确认是准入阶段的问题(ARP)还是调度阶段的问题(5QI Priority)。两者参数不同、生效时机不同,调错地方是初学者常犯的错误。
Q1: 一个PDU会话可以包含多个QoS Flow吗?最多多少个? A: 可以,而且这正是5G相比4G的灵活性所在。一个PDU会话内可以同时建立多个QoS Flow(如语音用5QI=1、信令用5QI=5、上网用5QI=9)。QFI是6bit,理论范围0-63,所以一个会话理论上最多支持64个QoS Flow(实际部署受策略限制,通常远少于此)。
Q2: ARP的抢占会不会导致普通用户频繁掉线? A: 设计上会尽量避免。只有当新业务有抢占能力 + 现有业务可被抢占 + 优先级足够低三者同时满足时才触发。运营商通常只对应急通信等极少数业务开启抢占能力,普通语音虽优先但一般不开抢占,所以日常网络拥塞时用户更多是"建立失败"而非"被踢掉"。
Q3: Reflective QoS和显式QoS什么时候各用哪个? A: Reflective QoS适用于非GBR的下行触发型业务(如下行数据触发的上行ACK),能省信令;但对于需要确定性QoS的GBR业务或需要立即生效的场景,仍用显式信令配置。它是一种"省则省、不行就显式"的优化,不是替代品。
Q4: 切片和QoS的边界在哪?为什么不能只用切片不用QoS? A: 切片是宏观隔离(按业务场景划分网络),粒度太粗——一个eMBB切片里同时有4K视频和网页浏览,它们对时延、速率的要求完全不同,切片层面无法区分,必须靠QoS在切片内部继续细分。两者是"大分类+小调度"的配合关系,缺一不可。
Q5: 5QI的标准化值不够用时怎么办? A: 5G提供了非标准化5QI(non-standardized 5QI)机制。运营商可以自定义一套QoS特征,用一个非标准5QI值引用,并在信令里显式携带完整参数。这给了5G极大的灵活性,但也要求厂商设备支持自定义参数下发,调试时要注意不同厂家对自定义5QI的兼容性。
回过头看,5G QoS与切片的整套机制,贯穿着两个朴素而强大的工程思想:
理解了这两个思想,再去看任何一个具体的QoS参数或切片配置,都不会迷失在细节里——你会知道它属于哪个层级、解决什么矛盾、付出了什么代价。这,就是原理科普想带给你的"理解力"。
本文由「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 等场景全覆盖。
