2. UPF 数据面转发原理:N3/N4/N6 接口、GTP-U 协议封装、数据包转发流程、QoS 流与 DRB 映射

本章深入剖析 5G 核心网用户面功能(UPF)的数据面转发原理。理解 N3/N4/N6 接口的职责、GTP-U 协议的封装细节、数据包的端到端转发流程以及 QoS 流与 DRB 的映射关系,是后续使用 DPDK 进行高性能加速的理论基础。

2.1 核心接口:N3、N4、N6

UPF 作为 5G 核心网的数据面锚点,通过三个关键接口连接不同网元与外部网络。每个接口承载不同的协议栈与业务逻辑。

接口 连接对象 主要协议 功能描述
N3 gNB(基站) ↔ UPF GTP-U / UDP / IP 承载用户面数据隧道,将基站侧的数据包封装后传输至 UPF。
N4 SMF(会话管理功能) ↔ UPF PFCP(包转发控制协议) 控制面接口,SMF 通过 PFCP 会话下发转发规则、QoS 策略与检测规则给 UPF。
N6 UPF ↔ DN(数据网络) IP(IPv4/IPv6) UPF 与外部数据网络(如 Internet、企业内网)之间的用户面接口,通常为纯 IP 转发。
关键理解: N3 和 N6 是纯用户面接口,承载实际业务流量;N4 是控制面接口,决定了 UPF “如何转发”。DPDK 优化的重点在于 N3/N6 的高效数据包处理,而 N4 的规则下发频率较低,通常由控制面线程处理。

2.2 GTP-U 协议封装与解封装

GTP-U(GPRS Tunnelling Protocol for User Plane)是 N3 接口的核心协议,负责在 gNB 与 UPF 之间建立隧道,隔离不同用户的业务流量。

2.2.1 GTP-U 报文结构

一个完整的 N3 接口数据包包含多层封装:

+-------------------------------+
|       L2 Header (MAC)         |
+-------------------------------+
|       L3 Header (IP)          |  <-- 外层 IP(传输层)
+-------------------------------+
|       L4 Header (UDP)         |  <-- 目的端口 2152
+-------------------------------+
|       GTP-U Header            |  <-- 包含 TEID
|   (Version, PT, Message Type, |
|    Length, TEID, Sequence No.)|
+-------------------------------+
|   Inner IP Packet (UE IP)     |  <-- 真正的用户数据包
+-------------------------------+
|   Payload (TCP/UDP/ICMP...)   |
+-------------------------------+
  • TEID(Tunnel Endpoint Identifier):隧道端点标识符,用于区分不同的 PDU 会话。每个 UE 的每个 PDU 会话在 N3 接口上都有唯一的 TEID。
  • 外层 IP/UDP:用于在 gNB 与 UPF 之间传输,源/目的 IP 为基站与 UPF 的传输层地址。
  • 内层 IP:UE 的 IP 地址,是业务流量的真实源/目的地址。

2.2.2 上行与下行封装差异

方向 操作 说明
上行(UL) 解封装 UPF 从 N3 接口收到 GTP-U 报文,剥离外层 IP/UDP/GTP-U 头,提取内层 IP 包,然后通过 N6 接口转发至 DN。
下行(DL) 封装 UPF 从 N6 接口收到发往 UE 的 IP 包,根据 PDR(包检测规则)找到对应的 TEID,添加 GTP-U/UDP/IP 头,通过 N3 接口发送至 gNB。
DPDK 加速点: GTP-U 的封装与解封装涉及大量的内存拷贝与头部操作。DPDK 通过零拷贝技术(如使用 rte_mbuf 直接操作数据包缓冲区)和批量处理(burst processing)可以显著降低这部分开销。

2.3 数据包转发流程

UPF 的数据面转发严格遵循 SMF 通过 N4 接口下发的规则。核心逻辑围绕三个关键概念:PDR(包检测规则)、FAR(转发动作规则)、QER(QoS 执行规则)。

2.3.1 转发流程步骤

  1. 包接收:UPF 从 N3 或 N6 接口的网卡接收数据包。
  2. 包检测(PDR 匹配):提取数据包的关键字段(如 TEID、UE IP、QFI 等),与 PDR 中的匹配规则进行比对。
  3. 动作决策(FAR 查询):匹配到 PDR 后,获取对应的 FAR,决定转发动作(如:转发至 N6、转发至 N3、丢弃、缓存等)。
  4. QoS 执行(QER 应用):根据 QER 规则,对数据包进行门控(Gate)、速率限制(Metering)或标记(Marking)。
  5. 封装/转发:根据 FAR 指定的目标接口,执行 GTP-U 封装或解封装,并通过对应的网卡端口发送出去。
性能关键: 在传统内核协议栈中,每个数据包都需要经过多次系统调用、中断处理和上下文切换。DPDK 通过轮询模式驱动(PMD)和用户态转发逻辑,避免了这些开销,使得上述流程可以在纯用户态以极低的延迟完成。

2.4 QoS 流与 DRB 映射

5G QoS 模型基于 QoS Flow 概念,它是 QoS 控制的最小粒度。一个 PDU 会话可以包含多个 QoS Flow,每个 Flow 由 QFI(QoS Flow Identifier) 唯一标识。

2.4.1 映射关系

从无线接入网到核心网,QoS 流需要映射到不同的承载上:

  • QoS Flow ↔ DRB(Data Radio Bearer):在空口侧,gNB 负责将多个 QoS Flow 映射到一个或多个 DRB 上。一个 DRB 通常对应一个特定的 QoS 配置(如时延、丢包率)。
  • QoS Flow ↔ N3 GTP-U Tunnel:在 N3 接口,每个 QoS Flow 通过 GTP-U 扩展头中的 QFI 字段进行标识。UPF 需要识别 QFI 并执行对应的 QER 规则。

2.4.2 UPF 中的 QoS 处理

UPF 在转发过程中,需要根据 QFI 执行以下操作:

QoS 参数 UPF 执行动作 典型应用
GBR(保证比特率) 确保最小带宽,进行速率整形 VoIP、实时视频
Non-GBR 尽力而为转发,可进行速率限制 网页浏览、文件下载
Packet Delay Budget 优先级调度,丢弃超时数据包 URLLC(超可靠低时延通信)
Packet Error Rate 链路层重传策略配合 eMBB(增强移动宽带)
DPDK 实践: 在实现 QoS 调度时,DPDK 提供了 QoS 调度库(如 rte_sched),支持基于令牌桶的速率限制和优先级队列。UPF 可以根据 QFI 将数据包分发到不同的 DPDK 队列中,实现硬件级别的 QoS 保证。

2.5 整体转发架构 SVG 图

下图展示了 UPF 在 N3/N4/N6 接口间的数据面转发架构,以及 QoS 流与 DRB 的映射关系。

UPF 数据面转发架构与 QoS 流映射 gNB (基站) UPF (用户面) DN (数据网络) SMF (控制面) N3 (GTP-U) N6 (IP) N4 (PFCP) QoS Flow 映射 QFI 1 → DRB 1 QFI 2 → DRB 1 QFI 3 → DRB 2 UPF 内部处理 PDR 匹配 FAR 动作决策 QER 执行

2.6 本章小结

  • 接口职责:N3 负责 GTP-U 隧道,N4 负责控制面规则下发,N6 负责与外部网络通信。
  • GTP-U 封装:TEID 是隧道标识,UPF 需要高效执行封装与解封装操作。
  • 转发流程:基于 PDR/FAR/QER 的三元组规则,实现灵活的数据包检测、转发与 QoS 控制。
  • QoS 映射:QFI 是核心标识,UPF 需要根据 QFI 执行门控、速率限制等策略,并理解其与空口 DRB 的对应关系。
下一阶段准备: 理解上述原理后,我们将进入 DPDK 环境搭建与核心库介绍,为后续在 UPF 数据面中实现零拷贝、无锁队列和批量转发打下坚实基础。