DPDK在5G UPF中的数据面加速应用实战 - 第1节
1.1 5G核心网总体架构
5G核心网(5GC)基于服务化架构(SBA,Service-Based Architecture)设计,将传统网元功能解耦为独立的网络功能(NF,Network Function),每个NF通过轻量级API(如HTTP/2)对外暴露服务。这种架构使网络具备灵活编排、按需部署和弹性扩缩的能力。
关键设计理念:控制面与用户面彻底分离(CUPS)、网络切片、边缘计算、服务化接口。
1.1.1 5GC核心网络功能(NF)
| 网络功能(NF) | 缩写 | 主要职责 |
|---|---|---|
| 接入与移动性管理功能 | AMF | UE注册、连接管理、移动性管理、NAS信令终结 |
| 会话管理功能 | SMF | PDU会话建立/修改/释放、UPF选择与控制、QoS策略 |
| 用户面功能 | UPF | 数据包路由转发、QoS执行、流量检测、计费信息收集 |
| 统一数据管理 | UDM | 用户签约数据管理、鉴权凭证生成 |
| 策略控制功能 | PCF | 策略规则制定、QoS与计费策略下发 |
| 网络切片选择功能 | NSSF | 网络切片实例选择、切片可用性查询 |
| 网络存储库功能 | NRF | NF服务注册、发现、状态监测 |
| 网络开放功能 | NEF | 能力开放、外部应用与内部NF安全交互 |
1.1.2 服务化架构(SBA)交互示意
下图展示了5GC核心NF之间的服务化接口关系,每个NF通过Nn接口(如Namf、Nsmf、Nupf)向服务化总线注册并调用其他NF的服务。
架构要点:5GC服务化架构中,UPF是唯一承担用户面数据转发的NF,其他NF均属于控制面。UPF通过N4接口(PFCP协议)接受SMF的会话控制指令,实现控制面与用户面的彻底解耦。
1.2 UPF在5G核心网中的角色与功能
用户面功能(UPF,User Plane Function)是5GC中负责数据包转发、QoS执行、流量检测和计费信息收集的核心网元。UPF位于用户面数据路径上,连接接入网(gNB)和数据网络(DN),是5G网络实现高吞吐、低延迟数据转发的关键节点。
1.2.1 UPF的核心功能清单
| 功能分类 | 具体功能 | 说明 |
|---|---|---|
| 数据转发 | PDU会话锚点 | 为UE提供到DN的IP/以太网/非结构化PDU连接 |
| 数据转发 | 上行分类器(UL CL) | 根据目标IP分流流量到不同DN |
| 数据转发 | 分支点(BP) | 多归属PDU会话的流量分支与合并 |
| QoS执行 | QoS流映射 | 将QoS流映射到DRB和N3/N9隧道 |
| QoS执行 | 速率限制 | GFBR/MFBR/AMBR的速率门控与整形 |
| QoS执行 | 包标记 | 设置QFI、DSCP、MPLS标签等 |
| 流量检测 | SDF检测 | 基于五元组/应用ID识别业务流 |
| 流量检测 | 应用检测 | 深度包检测(DPI)识别应用类型 |
| 计费 | 用量上报 | 上行/下行流量字节数、时长统计 |
| 计费 | 计费触发 | 基于流量/时间/事件的计费信息生成 |
| 辅助功能 | 数据包缓存 | UE空闲态时缓存下行数据 |
| 辅助功能 | RAN事件通知 | 向SMF上报RAN侧事件(如拥塞) |
1.2.2 UPF在5G网络中的位置
下图展示了UPF在5G端到端数据路径中的位置,以及它与gNB、SMF、DN之间的接口关系。
1.2.3 UPF的关键接口与协议
| 接口 | 连接对象 | 协议 | 传输内容 |
|---|---|---|---|
| N3 | gNB | GTP-U (User Plane) | UE用户面数据包(IP/Ethernet/非结构化) |
| N4 | SMF | PFCP (Packet Forwarding Control Protocol) | 会话规则、包检测规则、QoS规则、转发规则 |
| N6 | DN(数据网络) | IP/Ethernet | UE与外部网络之间的业务数据 |
| N9 | 其他UPF | GTP-U | UPF间数据转发(I-UPF ↔ PSA-UPF) |
性能关键点:UPF的数据面处理路径为 N3 → 内部转发 → N6(上行)或 N6 → 内部转发 → N3(下行)。DPDK优化的核心目标就是加速这条路径上的GTP-U封装/解封装、包检测、QoS调度和转发动作。
1.3 UPF数据面处理流程
UPF的数据面处理流程可分解为以下关键步骤,每个步骤都是DPDK性能优化的潜在目标:
- GTP-U隧道终结/封装 — 从N3接口接收GTP-U包,解封装提取内层IP包;或从N6接口接收IP包,封装GTP-U头后发往N3。
- 包检测(PDR匹配) — 根据SMF下发的包检测规则(PDR),对数据包进行五元组/应用层匹配。
- 转发决策(FAR执行) — 根据转发动作规则(FAR),决定数据包的下一跳(N3/N6/N9)及封装方式。
- QoS执行(QER应用) — 根据QoS执行规则(QER),进行速率门控、包标记、队列调度。
- 用量统计(URR上报) — 根据用量报告规则(URR),累计上下行字节数/包数,周期性上报SMF。
- 数据包转发 — 将处理后的数据包通过对应接口发送出去。
1.3.1 UPF数据面处理流水线
优化切入点:UPF数据面流水线中,PDR匹配(哈希查找)和GTP-U封装/解封装(内存操作)是CPU消耗最高的两个环节。DPDK的无锁哈希表(rte_hash)和零拷贝mbuf管理可显著降低这两个环节的延迟和CPU开销。
1.4 5G核心网对UPF的性能要求
5G核心网对UPF的性能要求远高于4G EPC,主要体现在以下维度:
| 性能指标 | 4G EPC (SGW/PGW) | 5G UPF | 提升倍数 |
|---|---|---|---|
| 单接口吞吐 | 10~40 Gbps | 100~400 Gbps | 10x |
| 包转发率 (PPS) | 5~15 Mpps | 50~200 Mpps | 10~15x |
| 端到端延迟 | 10~20 ms | <1 ms (URLLC场景) | 10~20x |
| 并发会话数 | 百万级 | 千万级 | 10x |
| QoS流粒度 | EPS承载级 | QoS流级 (更细粒度) | — |
| 网络切片支持 | 不支持 | 原生支持 | — |
性能挑战:传统基于Linux内核协议栈的UPF实现,在100Gbps线速下CPU占用率可达80%~90%,无法满足5G核心网对高吞吐、低延迟的要求。DPDK通过用户态驱动、轮询模式、大页内存、CPU亲和性绑定等机制,将UPF数据面处理效率提升5~10倍,是实现5G UPF高性能数据面的关键技术。
1.5 本章小结
- 5G核心网采用服务化架构(SBA),控制面与用户面彻底分离(CUPS),UPF是唯一承担用户面数据转发的NF。
- UPF通过N3(GTP-U)连接gNB,通过N4(PFCP)接受SMF控制,通过N6连接外部数据网络。
- UPF数据面处理流水线包括:GTP-U封装/解封装 → PDR匹配 → FAR执行 → QER应用 → URR上报 → 转发发送。
- 5G核心网对UPF的吞吐、延迟、并发性能要求比4G提升10倍以上,传统内核协议栈无法满足,DPDK成为UPF数据面加速的核心技术。