The User Plane Function (UPF) is a fundamental component of a 3GPP 5G core infrastructure system architecture. The UPF represents the data plane evolution of a Control and User Plane Separation (CUPS) strategy, first introduced as an extension to existing Evolved Packet Cores (EPCs) by the 3GPP in their Release 14 specifications. CUPS decouples Packet Gateway (PGW) control and user plane functions, enabling the data forwarding component (PGW-U) to be decentralized. This allows packet processing and traffic aggregation to be performed closer to the network edge, increasing bandwidth efficiencies while reducing network. The PGW’s handling signaling traffic (PGW-C) remain in the core, northbound of the Mobility Management Entity (MME).
The primary goal CUPS was to support 5G New Radio (NR) implementations enabling early IoT applications and higher data rates. Committing to a complete implementation of control and user plane separation, however, is a complex proposition which only provides a subset of the advantages adopting a 5G User Plane Function affords, such as network slicing. Deployed within a dynamic cloud native compute infrastructure, the User Plane Function delivers the packet processing foundation for Service Based Architectures (SBAs).
Defined in 3GPP technical specification 23.501, the UPF provides:
The interconnect point between the mobile infrastructure and the Data Network (DN), i.e. encapsulation and decapsulation of GPRS Tunnelling Protocol for the user plane (GTP‑U).
The Protocol Data Unit (PDU) session anchor point for providing mobility within and between Radio Access Technologies (RATs), including sending one or more end marker packets to the gNB.
Packet routing and forwarding, including performing the role of an Uplink Classifier / UL-CL (directing flows to specific data networks based on traffic matching filters) and a Branching point, when acting as an Intermediate UPF (I-UPF) multi-homed to more than one PDU session anchor (PSA).
Application detection using Service Data Flow (SDF) traffic filter templates or 3-tuple (protocol, server-side IP address and port number) Packet Flow Description (PFD) received from the SMF.
Per-flow QoS handling, including transport level packet marking for uplink (UL) and downlink (DL), rate limiting and reflective QoS (DSCP) marking on the DL.
Traffic usage reporting for billing and the Lawful Intercept (LI) collector interface
The User Plane Function has four distinct reference points:
N3: Interface between the RAN (gNB) and the (initial) UPF.
N9: Interface between two UPF’s (i.e the Intermediate I-UPF and the UPF Session Anchor)
N6: Interface between the Data Network (DN) and the UPF
N4: Interface between the Session Management Function (SMF) and the UPF
5G Core Reference Point Architecture
The protocol employed on the N3 and N9 interfaces could be the GPRS Tunnelling Protocol (GTP) with header extensions for 5G, segment routing (SRv6 or NSH) or even an Information Centric Networking (ICN) protocol. The Locator/ID Separation data plane protocol (LISP-DP) over GTP or Identifier Locator Addressing (ILA) could also be utilized. A relay function would be performed by an I-UPF, while the UPF PDU Session Anchor would terminate these protocols.
5G User Plane Protocol Stack, employing STP with 5G header extensions
The UPF identifies user plane traffic flow based on information received from the SMF over the N4 reference point. The N4 interface employs the Packet Forwarding Control Protocol (PFCP), which was originally defined within 3GPP technical specification 29.244 for use on Sx reference points in support of CUPS. PFCP is similar to OpenFlow but can be limited to only the functionality required to support mobile networks. PFCP sessions, established with the UPF, define how packets are identified (Packet Detection Rule / PDR), forwarded (Forwarding Action Rules / FARs), processed (Buffering Action Rules / BARs), marked (QoS Enforcement Rules / QERs) and reported (Usage Reporting Rules / URRs).
Packet processing flow in the User Plane Function (per 3GPP TS29.244)
To meet 5G’s fundamental mandate for granular capacity or application-driven, instantiation and up/down-scaling, the UPF must be implemented as a pure cloud native network function using modern microservices methodologies and deployable within a serverless framework. In order to achieve high packet throughputs with complex pipelines and low latencies, such components have historically been realized using dedicated hardware and custom silicon. Delivering a cloud native UPF on shared resources demands solving complex real-time data processing problems and providing a high degree of flexibility in the pipeline to support emerging traffic tunneling, mobility and infrastructure overlays. UPF instantiation must also be highly automated and orchestrated. This means developing or enhancing user-space data plane acceleration, runtime programmability techniques and tightly integrating with numerous cloud orchestration systems, such as Kubernetes.
The User Plane Function is a critical new component for supporting the new generation of service-based architectures. The velocity of innovation in this area, however, should also allow the early majority of perspective CUPS adopters to adopt the UPF over interim PGW/SGW-U solutions, smoothing the migration from 4G to 5G.