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 服务化架构(SBA)核心NF交互 服务化总线(Service Bus) — HTTP/2 + JSON/Protobuf AMF 接入与移动性管理 SMF 会话管理 UPF 用户面功能 PCF 策略控制 UDM 统一数据管理 NRF 网络存储库 NSSF 切片选择 NEF 网络开放 每个NF通过Nn接口(Namf/Nsmf/Nupf等)向服务化总线注册并调用其他NF服务 控制面与用户面分离(CUPS)是5GC核心设计原则
架构要点: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之间的接口关系。

UPF在5G端到端数据路径中的位置 UE 用户设备 gNB 5G基站 UPF 用户面功能 DN 数据网络 SMF 会话管理 N3 N4 (PFCP) N6 N3:gNB ↔ UPF,GTP-U隧道承载用户面数据 N4:SMF ↔ UPF,PFCP协议控制会话规则 N6:UPF ↔ 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性能优化的潜在目标:

  1. GTP-U隧道终结/封装 — 从N3接口接收GTP-U包,解封装提取内层IP包;或从N6接口接收IP包,封装GTP-U头后发往N3。
  2. 包检测(PDR匹配) — 根据SMF下发的包检测规则(PDR),对数据包进行五元组/应用层匹配。
  3. 转发决策(FAR执行) — 根据转发动作规则(FAR),决定数据包的下一跳(N3/N6/N9)及封装方式。
  4. QoS执行(QER应用) — 根据QoS执行规则(QER),进行速率门控、包标记、队列调度。
  5. 用量统计(URR上报) — 根据用量报告规则(URR),累计上下行字节数/包数,周期性上报SMF。
  6. 数据包转发 — 将处理后的数据包通过对应接口发送出去。

1.3.1 UPF数据面处理流水线

UPF数据面处理流水线 GTP-U 解封装/封装 PDR匹配 包检测 FAR执行 转发决策 QER应用 QoS执行 URR上报 用量统计 转发 发送 每个步骤都可能成为性能瓶颈:GTP-U涉及加密/校验、PDR匹配涉及哈希查找、 QER涉及令牌桶算法、URR涉及原子计数。DPDK通过零拷贝、大页、无锁队列、 SIMD指令等优化手段加速上述每个环节。
优化切入点: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数据面加速的核心技术。