Why Separate Control and User Planes

In the 4G EPC, the Serving Gateway (SGW) and PDN Gateway (PGW) handled both control-plane signaling (GTPv2-C for session management, bearer modification) and user-plane data forwarding (GTP-U for tunneled traffic) within the same node. This coupling meant that scaling data throughput required scaling the entire gateway, including its control-plane processing -- an expensive and inflexible approach.

3GPP introduced CUPS (Control and User Plane Separation) in Release 14 (TS 23.214) for EPC, splitting the SGW into SGW-C and SGW-U, and the PGW into PGW-C and PGW-U, connected by the Sx interface. The 5G Core in Release 15 (TS 23.501) was designed with CUPS as a foundational principle from day one: the SMF handles session control, and the UPF handles user-plane forwarding, connected by the N4 interface using PFCP.

This separation is not merely architectural elegance -- it enables operators to deploy UPFs at the network edge for low-latency services while keeping SMFs centralized, to scale user-plane capacity independently of signaling load, and to select different UPFs for different traffic types.

Control Plane vs User Plane Function Mapping

FunctionControl PlaneUser Plane
PDU session establishmentSMF processes NAS-SM, interacts with PCF/UDMUPF receives PFCP rules, allocates TEIDs
QoS policy decisionPCF generates PCC rules, SMF maps to QoS flowsUPF enforces MBR/GBR via QER
Packet detectionSMF creates PDR rules in PFCPUPF executes PDR matching on every packet
Forwarding decisionSMF creates FAR rulesUPF forwards, drops, or buffers per FAR
ChargingCHF/SMF define charging triggers via URRUPF measures volume/time, reports via PFCP
Lawful interceptSMF signals LI activationUPF duplicates packets to LI target
Traffic steeringSMF computes traffic steering rulesUPF applies steering via FAR destinations
Buffering (idle UE)SMF signals buffer action in FARUPF buffers DL packets until paging completes
IP address allocationSMF allocates or delegates to UPFUPF may allocate from local pool
Usage monitoringSMF defines thresholds in URRUPF monitors and triggers reports
3GPP Reference: TS 23.501 Section 5.8 defines UPF functionality. TS 29.244 defines the PFCP protocol and information elements (PDR, FAR, QER, URR, BAR).

Benefits of CUPS Architecture

BenefitDescriptionImpact
Independent scalingUPF scales by throughput; SMF scales by session count40--60% cost reduction in user-plane scaling (Ericsson estimate)
Edge deploymentUPF placed at cell site or edge DC; SMF stays centralizedSub-5 ms latency for edge applications
Flexible topologyMultiple UPFs per SMF; UPF chaining (I-UPF + PSA)Traffic steering without control-plane changes
Vendor independenceDifferent vendors for SMF and UPFMulti-vendor core deployments via standard PFCP
Technology evolutionUpgrade UPF hardware (DPDK, SmartNIC) without SMF changesHardware acceleration without software refactoring
Traffic offloadLocal breakout at UPF without traversing central coreReduced backhaul utilization by 30--50% (Deutsche Telekom data)
ResilienceUPF failure affects only anchored sessions; SMF failure affects only signalingBlast radius containment
Charging flexibilityUPF reports usage; SMF/CHF decide charging actionsOnline/offline charging without user-plane overhead
Operator data -- Deutsche Telekom: In their 2024 edge computing deployment report, Deutsche Telekom documented that distributing UPFs to 80 edge locations across Germany reduced average application latency by 62% (from 18 ms to 6.8 ms) for enterprise customers, while maintaining centralized SMF instances in 4 regional data centers.

N4/PFCP Message Flow Deep Dive

The N4 interface between SMF and UPF uses PFCP (Packet Forwarding Control Protocol, TS 29.244). Below is the complete message flow for a PDU session lifecycle.

Session Establishment

1. PFCP Session Establishment Request (SMF -> UPF):

Key information elements:

  • Node ID: SMF identifier
  • F-SEID: Fully qualified Session Endpoint Identifier (SMF-side SEID)
  • Create PDR #1 (Uplink):

- PDI: Source Interface = Access, Local F-TEID (UPF allocates), Network Instance = "internet"

- Outer Header Removal: GTP-U/UDP/IPv4

- FAR ID: points to FAR #1

- QER ID: points to QER #1

  • Create PDR #2 (Downlink):

- PDI: Source Interface = Core, UE IP Address = 10.0.1.50

- FAR ID: points to FAR #2

- QER ID: points to QER #1

  • Create FAR #1 (Uplink forward):

- Apply Action: Forward

- Forwarding Parameters: Destination Interface = Core

  • Create FAR #2 (Downlink forward -- initially buffer):

- Apply Action: Buffer + Notify

- (gNB TEID not yet known)

  • Create QER #1:

- Gate Status: Open

- MBR (UL): 100 Mbps, MBR (DL): 300 Mbps

- QFI: 1

  • Create URR #1:

- Measurement Method: Volume

- Reporting Triggers: Volume Threshold (1 GB)

2. PFCP Session Establishment Response (UPF -> SMF):
  • Cause: Request Accepted
  • Created PDR #1: Local F-TEID = 0x00A1B2C3, UPF N3 IP = 10.200.1.1
  • UP F-SEID: UPF-side Session Endpoint Identifier
3. PFCP Session Modification Request (after gNB TEID received):
  • Update FAR #2: Apply Action = Forward, Outer Header Creation: GTP-U, TEID = 0x80000001, Peer Address = gNB N3 IP

Worked Example -- PFCP Rule Calculation for Multi-QoS Session

A UE establishes a PDU session with two QoS flows: a default flow (5QI=9, best effort internet) and a voice flow (5QI=1, GBR 150 kbps UL/DL).

PFCP rules required:
  • PDR #1: Uplink access, match all traffic from UE -> FAR #1, QER #1 (default)
  • PDR #2: Uplink access, match QFI=1 (voice) -> FAR #1, QER #2 (voice)
  • PDR #3: Downlink core, match UE IP, QFI=9 -> FAR #2, QER #1
  • PDR #4: Downlink core, match UE IP, QFI=1 -> FAR #2, QER #2
  • FAR #1: Forward to Core (N6)
  • FAR #2: Forward to Access (N3), GTP-U encapsulation
  • QER #1: MBR UL=50 Mbps, MBR DL=150 Mbps, non-GBR
  • QER #2: GBR UL=150 kbps, GBR DL=150 kbps, MBR UL=300 kbps, MBR DL=300 kbps
  • URR #1: Volume measurement for default flow (charging)
  • URR #2: Time measurement for voice flow (charging)
Total: 4 PDRs + 2 FARs + 2 QERs + 2 URRs = 10 PFCP IEs per session

For an operator with 1 million active PDU sessions averaging 1.5 QoS flows each, the UPF must maintain approximately 6 million PDRs in its forwarding table -- a significant memory and lookup performance requirement.

UPF Selection Criteria

The SMF selects UPFs based on multiple criteria defined in TS 23.501 Section 6.3.3.2. The selection algorithm considers:

CriterionDescriptionWeight (typical)
DNN supportUPF must serve the requested DNNMandatory filter
S-NSSAI supportUPF must belong to the requested sliceMandatory filter
UE location (TAI)Closest UPF to the serving gNBHigh
UPF loadCurrent CPU/memory/session utilization reported via NRFHigh
Supported featuresDPI, header enrichment, LI, IPv6 prefix delegationMedium
Data network accessUPF must have N6 connectivity to the target DNMandatory
Edge computing affinityFor LADN or MEC, select UPF at the edge siteHigh (if applicable)
Inter-UPF topologyPrefer PSA UPF with minimal I-UPF hopsMedium
Priority and capacityNRF profile priority and capacity valuesMedium
Operator data -- AT&T: In their 2024 MEC deployment architecture presentation, AT&T described using a three-tier UPF hierarchy: Tier-1 UPFs in 12 regional DCs for general internet traffic, Tier-2 UPFs in 60 metro edge sites for enterprise, and Tier-3 UPFs at 500+ cell-site routers for ultra-low-latency applications. The SMF selects the appropriate tier based on the DNN and S-NSSAI in the PDU session request.

Worked Example -- Edge Computing with Distributed UPF

Scenario: A manufacturing plant deploys a private 5G network with an enterprise slice (SST=1, SD=0x000100) and a local DNN "factory-floor". The operator places an edge UPF at the factory site to minimize latency for industrial IoT control loops. Architecture:
  • Central DC: AMF, SMF, NRF, PCF, UDM (all control-plane NFs)
  • Factory edge site: UPF-Edge (local breakout for "factory-floor" DNN)
  • Regional DC: UPF-Central (anchor for internet DNN)
PDU Session for factory IoT device:
  1. UE requests PDU session: DNN = "factory-floor", S-NSSAI = {SST=1, SD=0x000100}
  2. SMF queries NRF for UPFs matching DNN + S-NSSAI + UE location (TAI of factory gNB)
  3. NRF returns UPF-Edge (priority=5, load=20%) and UPF-Central (priority=15, load=40%)
  4. SMF selects UPF-Edge based on proximity and priority
  5. SMF establishes PFCP session with UPF-Edge
  6. Traffic path: UE -> gNB -> UPF-Edge -> Factory application server (all on-premises)
  7. Round-trip latency: 2 ms (radio) + 0.5 ms (N3 transport) + 0.5 ms (UPF processing) = 3 ms
Comparison without edge UPF:
  • Traffic path: UE -> gNB -> UPF-Central (regional DC, 80 km away) -> back to factory server
  • Round-trip latency: 2 ms (radio) + 8 ms (N3 backhaul) + 1 ms (UPF) + 8 ms (N6 return) = 19 ms

This 84% latency reduction demonstrates why CUPS-enabled edge UPF deployment is critical for industrial 5G.

PDU Session for internet access on same device:

The same UE can establish a second PDU session with DNN = "internet" anchored at UPF-Central. The SMF manages both sessions independently, routing factory traffic locally and internet traffic centrally. This is the ULCL (Uplink Classifier) or branching point architecture defined in TS 23.501 Section 5.6.4.

CUPS Evolution from 4G to 5G

AspectEPC CUPS (Release 14)5GC Native CUPS (Release 15+)
SpecificationTS 23.214TS 23.501
InterfaceSx (Sxa, Sxb, Sxc)N4
ProtocolPFCP (first defined here)PFCP (enhanced)
CP entitiesSGW-C, PGW-CSMF
UP entitiesSGW-U, PGW-UUPF
AdoptionOptional retrofitMandatory by design
Edge supportLimitedNative ULCL, I-UPF, MEC integration
DiscoveryStatic configurationDynamic NRF-based UPF discovery

Summary

CUPS is the architectural foundation that makes 5G Core flexible, scalable, and edge-ready. By separating the SMF (control plane) from the UPF (user plane) and connecting them through the well-defined N4/PFCP interface, operators can independently scale data throughput, distribute UPFs to the edge for low-latency services, and evolve user-plane hardware without touching session management logic.

Key Takeaway: CUPS in 5G is not optional -- it is the fundamental design principle. The SMF decides what the UPF should do (via PFCP rules), and the UPF executes at line rate. This separation enables the distributed, edge-native architectures that make industrial IoT, autonomous vehicles, and real-time applications viable on 5G.