目录

UPF

UPF(User Plane Function,用户面功能):从 4G EPC CUPS 演进而来,4G EPC CUPS 将 SGW/PGW 分离为 SGW/PGW-C 和 SGW/PGW-U,前者负责处理信令业务,而后者则在更接近网络边缘的地方执行 UP 的 SDF(业务数据流)以及流量聚合,达到提高带宽效率,同时减少网络阻塞的效果。然而在 4G 中要彻底实现 CP 和 UP 的分离是一项复杂的工程,5G 则引入了 UPF 来实现这一点。

5G NGC — UPF 用户面功能_5g

UPF 的参考点架构

5G NGC — UPF 用户面功能_5g_02

与 UPF 相关的由 4 个标准参考点:

  • N3:® AN 和 I-UPF(Initial UPF)/ UPF 之间的接口。
  • N4:SMF 和 UPF 之间的接口。
  • N6:DN 和 UPF 之间的接口。
  • N9:I-UPF 和 PSA 之间的接口。移动场景中,UE 与 PSA 之间插入 I-UPF 进行流量转发。
  • N19:两个 PSA 之间的接口。5G LAN 场景中,两个 PSA 之间的用户面接口,在不使用 N6 接口的情况下直接路由不同 PDU Session 之间的流量。

5G NGC — UPF 用户面功能_5g_03

其中,N3 和 N9 参考点上采用了以下协议,由 I-UPF 来完成中继,并在 PSA 上终结:

  1. 带 5G 扩展协议头的 GTPv1-U 协议。
  2. 分段路由协议(SRV6 或 NSH)。
  3. ICN(Information Centric Networking)协议。
  4. GTPv1-U 协议之上的 LISP-DP(Locator/ID Separation data plane protocol,位置/身份分离数据平面协议)。
  5. GTPv1-U 协议之上的 ILA(Identifier Locator Addressing,标识符定位寻址)。

NOTE:PSA(UPF of PDU Session Anchor),Anchor(锚点)的概念来自 4G Anchor PGW,是一个记录了 UE Session 的 PGW,连接着 DN。在 4G EPC 中,SGW 是很多且分散的,但 PGW 只会存在于核心网中心机房。无论 UE 如何移动、SGW 如何切换,但 Anchor PGW 始终记录着 UE Session。就像是船的锚,无论船怎么飘,始终会有锚绳在牵引着。

UPF 的功能描述

UPF 作为 5G 核心网的用户面网元,主要功能是响应 SMF 请求,作为 RAN 与 DN 之间的联接点,PDU Session 锚点负责完成用户面上 GTP-U 协议的封装与解封装、分组路由与转发、数据包检查以及 QoS Flow 映射等网络用户面的处理,完成用户面门控、重定向、流量转向等策略规则的实施。同时,还要对计费及合法拦截提供用户流量收集接口和流量使用报告。

下列为 3GPP 列举的 UPF 功能描述:

  • Anchor point for Intra-/Inter-RAT Mobility.
  • External PDU Session point of interconnect to Data Network.
  • Packet routing & forwarding (e.g. support of Uplink classifier to route traffic flows to an instance of a data network, support of Branching point to support multi-homed PDU Session).
  • Packet inspection (e.g. Application detection based on service data flow template and the optional PFDs received from the SMF in addition).
  • User Plane part of policy rule enforcement (e.g. Gating, Redirection, Traffic steering).
  • Lawful intercept.
  • Traffic usage reporting.
  • QoS handling for user plane, UL/DL rate enforcement, Reflective QoS marking in DL.
  • Uplink Traffic verification.
  • Transport level packet marking in the uplink and downlink.
  • Downlink packet buffering and downlink data notification triggering.
  • Sending and forwarding of one or more “end marker” to the source NG-RAN node.
  • ARP proxying and / or IPv6 Neighbour Solicitation Proxying functionality for the Ethernet PDUs. The UPF responds to the ARP and / or the IPv6 Neighbour Solicitation Request by providing the MAC address corresponding to the IP address sent in the request.

NOTE:RAT(Radio Access Technology,无线接入技术),包括 3GPP 的接入技术,即:LTE、NR;以及 Non-3GPP 接入技术,如:Wi-Fi、WiMAX 和 CDMA。

PFCP Session 的策略模型

在建立 UE 的 PDU Session 流程中,会同步建立 PFCP Session,又称 N4 Session。采用了 PFCP(Packet Forwarding Control Protocol,分组交换控制协议)协议,用于定义 UPF 对 PDU(Protocol Data Unit,协议数据单元)进行 “标识、转发、缓存、标记、报告和多接入” 的方式。

PFCP Session 主要用于 CP 和 UP 之间传输 Node Management、Session Management 及 UP Message Report。CP 和 UP 之间交互的规则包括:

  • 识别(PDRs,Packet Detection Rules,报文检测规则)
  • 转发(FARs,Forwarding Action Rules,转发操作规则)
  • 缓存(BARs,Buffering Action Rules,缓存操作规则)
  • 标记(QERs,QoS Enforcement Rules,QoS 实施规则)
  • 报告(URRs,Usage Reporting Rules,用量上报规则)
  • 多接入(MAR,Multi-Access Rule,多接入规则)

5G NGC — UPF 用户面功能_原力计划_04

详见:

PDU Session 的转发模型

5G NGC — UPF 用户面功能_协议栈_05
5G NGC — UPF 用户面功能_其他_06

  1. PDU 进入 UPF。
  2. 首先通过 PDU Session(F-TEID)找到匹配的 PFCP Session,也就是 N4 Session。
  3. 如果匹配 PFCP Session 成功,则找到所有与该 PFCP Session 关联的 PDRs,并按照优先级,挑选出优先级最好的 PDR。对于未匹配任何 PDR 的数据包,UPF 则执行丢弃处理。
  4. 如果悬着 PDR 成功,则找到与所有与该 PDR 关联的 FARs、BARs、QERs、URRs。
  5. 根据 FARs、BARs、QERs、URRs 信元中定义的规则对 PDU 进行相应的报文处理。
  6. UPF 发出 PDU。