UPF

User Plane Function

Core Network
Introduced in Rel-14
The core network function in the 5G System (5GS) responsible for packet routing and forwarding, packet inspection, QoS handling, and traffic usage reporting. It is the central anchor point for the user data plane, connecting the (R)AN to external data networks and enabling key 5G features like network slicing and edge computing.

Description

The User Plane Function (UPF) is a fundamental network function within the 5G Core (5GC) based on the Service-Based Architecture (SBA). It is responsible for all tasks related to the processing and forwarding of user data packets. The UPF acts as the interconnect point between the Radio Access Network (RAN) – either NG-RAN or non-3GPP access – and external Data Networks (DNs), such as the internet or operator services. Its architecture is designed to be highly flexible and distributable, allowing multiple UPF instances to be deployed in different parts of the network (e.g., central, regional, edge locations) to meet diverse latency and bandwidth requirements.

How the UPF works is governed by rules installed by the Session Management Function (SMF). The SMF provisions Packet Detection Rules (PDRs), Forwarding Action Rules (FARs), QoS Enforcement Rules (QERs), and Usage Reporting Rules (URRs) into the UPF via the N4 interface. Upon receiving a packet, the UPF inspects it (matching against PDRs) and executes the associated actions. These actions can include forwarding the packet to a specific tunnel or interface (FAR), applying QoS marking and rate limiting (QER), measuring traffic volume for charging (URR), and even duplicating packets for analytics or redundancy. A single UE session may involve multiple UPFs, such as a branching point UPF for multi-homed connectivity or an intermediate UPF for localized breakouts.

Key components of the UPF's role include being the anchor point for mobility—both intra-system and between 3GPP and non-3GPP access. It provides the external PDU Session interface, making it the official 'exit point' of the 5G network. Furthermore, the UPF is the critical enabler for several advanced 5G capabilities. For Network Slicing, different UPF instances can be dedicated to specific slices, providing isolated data paths. For Edge Computing, the UPF can be deployed at the network edge to locally route traffic to nearby application servers, drastically reducing latency. It also performs deep packet inspection for application-aware steering and supports features like traffic aggregation and IPv6 multi-homing.

Purpose & Motivation

The UPF was created as part of the clean-slate design of the 5G Core network to address the limitations of the 4G EPC's user plane, particularly the split SGW/PGW architecture. The motivations were to achieve greater flexibility, scalability, and support for new service paradigms. Key problems it solves include: enabling ultra-low latency services by allowing decentralized deployment at the network edge; providing the architectural foundation for end-to-end network slicing by offering an isolatable data plane component; and supporting a wider range of access technologies (5G NR, LTE, Wi-Fi, fixed) with a unified anchor point.

Historically, the 4G EPC gateways (SGW, PGW) were monolithic entities with control and user plane tightly coupled, making them difficult to scale independently and deploy flexibly. The 5G design principles of cloud-nativity, SBA, and Control and User Plane Separation (CUPS) directly led to the UPF's creation. The UPF is a pure, scalable user plane element that can be instantiated on demand anywhere in the network cloud. This addresses the need for a dynamic, software-driven architecture capable of supporting diverse 5G use cases, from enhanced mobile broadband (eMBB) to massive IoT (mIoT) and critical communications, each with distinct bandwidth, latency, and reliability requirements.

Key Features

  • Packet routing, forwarding, and GTP-U/encapsulation tunneling
  • Traffic detection and enforcement via rules from SMF (PDR/FAR/QER/URR)
  • Anchor point for mobility and session continuity
  • Support for local breakout and edge computing (UL CL, IPv6 multi-homing)
  • Integral component for per-slice isolation in Network Slicing
  • Deep Packet Inspection (DPI) and application-aware traffic steering

Evolution Across Releases

Defining Specifications

SpecificationTitle
TS 23.380 3GPP TS 23.380
TS 23.501 3GPP TS 23.501
TS 23.527 3GPP TS 23.527
TS 23.700 3GPP TS 23.700
TS 23.758 3GPP TS 23.758
TS 24.193 3GPP TS 24.193
TS 24.501 3GPP TS 24.501
TS 24.502 3GPP TS 24.502
TS 26.113 3GPP TS 26.113
TS 26.501 3GPP TS 26.501
TS 26.522 3GPP TS 26.522
TS 26.802 3GPP TS 26.802
TS 26.803 3GPP TS 26.803
TS 26.804 3GPP TS 26.804
TS 26.806 3GPP TS 26.806
TS 26.822 3GPP TS 26.822
TS 26.857 3GPP TS 26.857
TS 26.891 3GPP TS 26.891
TS 26.919 3GPP TS 26.919
TS 26.926 3GPP TS 26.926
TS 26.942 3GPP TS 26.942
TS 28.802 3GPP TS 28.802
TS 28.822 3GPP TS 28.822
TS 28.833 3GPP TS 28.833
TS 28.836 3GPP TS 28.836
TS 28.874 3GPP TS 28.874
TS 29.244 3GPP TS 29.244
TS 29.502 3GPP TS 29.502
TS 29.508 3GPP TS 29.508
TS 29.512 3GPP TS 29.512
TS 29.513 3GPP TS 29.513
TS 29.514 3GPP TS 29.514
TS 29.519 3GPP TS 29.519
TS 29.520 3GPP TS 29.520
TS 29.523 3GPP TS 29.523
TS 29.532 3GPP TS 29.532
TS 29.552 3GPP TS 29.552
TS 29.561 3GPP TS 29.561
TS 29.564 3GPP TS 29.564
TS 29.574 3GPP TS 29.574
TS 29.575 3GPP TS 29.575
TS 29.585 3GPP TS 29.585
TS 29.820 3GPP TS 29.820
TS 29.866 3GPP TS 29.866
TS 29.889 3GPP TS 29.889
TS 29.890 3GPP TS 29.890
TS 29.892 3GPP TS 29.892
TS 32.240 3GPP TR 32.240
TS 32.255 3GPP TR 32.255
TS 32.279 3GPP TR 32.279
TS 32.899 3GPP TR 32.899
TS 33.127 3GPP TR 33.127
TS 33.501 3GPP TR 33.501
TS 33.515 3GPP TR 33.515
TS 33.739 3GPP TR 33.739
TS 33.749 3GPP TR 33.749
TS 33.835 3GPP TR 33.835
TS 33.851 3GPP TR 33.851
TS 33.861 3GPP TR 33.861
TS 38.300 3GPP TR 38.300
TS 38.305 3GPP TR 38.305
TS 38.410 3GPP TR 38.410
TS 38.413 3GPP TR 38.413
TS 38.414 3GPP TR 38.414
TS 38.415 3GPP TR 38.415
TS 38.423 3GPP TR 38.423