Fact-checked by Grok 2 weeks ago

PFCP

The Packet Forwarding Control Protocol (PFCP) is a stage-3 protocol specified by the 3rd Generation Partnership Project (3GPP) to define the interface between control plane (CP) functions—such as the Session Management Function (SMF) or Packet Data Network Gateway Control plane (PGW-C)—and user plane (UP) functions—such as the User Plane Function (UPF) or Packet Data Network Gateway User plane (PGW-U)—in Evolved Packet Core (EPC) and 5G Core (5GC) architectures. It operates over reference points including Sxa, Sxb, Sxc (for EPC), N4 (for 5GC), and N4mb (for multicast/broadcast services), using UDP/IP with port 8805 for request messages, to enable the CP to provision rules for packet detection, forwarding, QoS enforcement, and usage reporting while the UP handles actual data processing. Introduced in 3GPP Release 14 as part of the Control and User Plane Separation (CUPS) architecture for EPC nodes, PFCP allows independent scaling and evolution of CP and UP components, reducing transport costs and improving network efficiency in virtualized environments. In 5G systems, it plays a central role on the N4 between the SMF and UPF, supporting PDU session , control, and advanced features like and network slicing. The protocol's design emphasizes reliability through retransmission mechanisms (with timer T1 and retry limit N1) and includes node-level procedures for association setup as well as session-level operations for establishing, modifying, or deleting PFCP sessions corresponding to PDN connections or PDU sessions. Key functionalities of PFCP encompass the provisioning of Packet Detection Rules (PDRs) for identifying flows, Forwarding Rules (FARs) for directing packets (e.g., to downlink, uplink, or buffering), QoS Enforcement Rules (QERs) for applying quality policies, and Usage Reporting Rules (URRs) for metering data volume, duration, or events. It also supports event reporting from the UP to the , such as notifications for path failures or exceedances, and enables advanced capabilities like steering to local breakout points, online charging interfaces, and support for or multicast/broadcast services in later releases (up to Release 19). Evolving through multiple versions—such as V19.3.0 as of November 2025—PFCP ensures interoperability across networks, facilitating seamless integration of legacy and modern deployments while addressing growing demands for low-latency and high-throughput services.

History and Standards

Introduction

The Packet Forwarding Control Protocol (PFCP) is a signaling protocol standardized by the 3rd Generation Partnership Project (3GPP) for enabling communication between the control plane (CP) and user plane (UP) functions in mobile networks. It serves as a key enabler for the separation of CP functions—such as session management, policy control, and charging—from UP functions responsible for packet forwarding, detection, and processing. This architecture, known as Control and User Plane Separation (CUPS), is foundational to both the 4G Evolved Packet Core (EPC) and 5G Core (5GC) networks, allowing for more efficient handling of user traffic while maintaining centralized control. PFCP operates exclusively on the Sx and N4 reference points, where the Sx interfaces connect CP and UP elements in EPC (e.g., between SGW-C/PGW-C and SGW-U/PGW-U), and the N4 interface links the Session Management Function (SMF) to the User Plane Function (UPF) in 5GC. Through these interfaces, PFCP supports the dynamic provisioning of rules that dictate UP behavior, including packet detection, (QoS) enforcement, and usage reporting, thereby ensuring precise management of data flows without requiring direct intervention in the user plane. The protocol's design delivers key benefits for modern mobile networks, including enhanced via independent scaling of and UP components, which supports load balancing and resource optimization across distributed deployments. It also provides flexibility in network function placement, allowing operators to disaggregate elements for cost efficiency and adaptability to varying traffic demands. In the context of , PFCP facilitates by enabling low-latency traffic steering and support for advanced services like network slicing and ultra-reliable low-latency communications (URLLC).

Development in 3GPP Releases

The Packet Forwarding Control Protocol (PFCP) was initially introduced in Release 14 in September 2016 to enable Control and User Plane Separation (CUPS) within the Evolved Packet Core () for / networks, allowing independent scaling and deployment of control and user plane functions. This specification, documented in TS 29.244, defined the core protocol mechanisms for session establishment, modification, and reporting over the Sx interface between the Packet Data Network Gateway Control Plane (PGW-C) and User Plane (PGW-U). PFCP saw significant expansion in Release 15, frozen in June 2018, to support the 5G Core (5GC) architecture, where it serves as the primary protocol over the N4 interface connecting the Session Management Function (SMF) in the control plane to the User Plane Function (UPF). This integration facilitated CUPS in 5G, enabling flexible user plane processing for enhanced mobile broadband, massive machine-type communications, and ultra-reliable low-latency communications. Major updates to PFCP continued in subsequent releases to address evolving network demands. Release 16, completed in July 2020, introduced enhanced reporting capabilities and (QoS) monitoring features, including deferred activation of Parameter Data Rules (PDRs), support for multiple UP functions per , and improved PFCP release procedures to optimize resource handling and fault recovery. These changes supported advanced use cases like integrated access and backhaul while maintaining with deployments. Release 17, frozen in March 2022, extended PFCP for integrations and (TSN), incorporating protocol elements for low-latency traffic steering to edge UPFs and precise timing synchronization in industrial applications. Release 18, completed in June 2024, further enhanced PFCP to accommodate non-terrestrial networks (NTN), adding support for satellite-integrated user planes through updated session management and reporting for delayed or intermittent connectivity scenarios. As of November 2025, the current version of TS 29.244 is V19.3.0, incorporating Release 19 advancements. In Release 19, ongoing work includes further enhancements to PFCP to support advanced features, with preparations for Release 20 targeting evolutions like integrated sensing and communication. Outside , the Forum extended PFCP in Technical Report TR-459 (Issue 1, September 2020) for disaggregated Network Gateways (BNGs) using CUPS, with Issue 2 (April 2023) adding multi-service capabilities like IPTV and enhanced control packet redirection. Standards development for PFCP remains iterative, with areas of incompleteness such as partial specifications for flexible encapsulation options over the N4 in Release 18, particularly for diverse transport protocols in NTN environments, anticipated to be addressed in future releases.

Architecture and Role

Control and User Plane Separation

Control and User Plane Separation (CUPS) is an architectural framework in mobile networks that decouples the (CP), responsible for signaling, enforcement, and session management, from the user plane (UP), which handles actual data forwarding and processing. In 4G Evolved Packet Core (EPC) networks, this separation involves entities such as the Packet Data Network Gateway Control plane (PGW-C) for CP functions and PGW User plane (PGW-U) for UP functions, while in 5G Core (5GC), it corresponds to the Session Management Function (SMF) as the CP and User Plane Function (UPF) as the UP. This split allows network operators to deploy CP and UP components independently, optimizing across centralized and distributed locations. The Packet Forwarding Control Protocol (PFCP) serves as the key control in CUPS, enabling the to remotely provision, modify, and monitor UP functions through standardized messaging over interfaces like the N4 reference point in . PFCP facilitates the establishment of session contexts and the application of forwarding policies without requiring direct involvement in data plane operations, ensuring that the UP executes instructions efficiently while the maintains oversight. This operates on the interfaces in and N4 in , allowing dynamic configuration of UP resources as needed. Key benefits of CUPS, enabled by PFCP, include independent scaling of CP and UP elements to match varying traffic demands, such as placing UP functions closer to the edge for reduced while centralizing CP for unified . It supports advanced features like network slicing in by allowing tailored UP deployments under a single CP, enhances resource efficiency through flexible hardware utilization, and promotes independent evolution of control and data planes to accommodate future technologies. At a high level, CUPS components consist of CP entities, which issue PFCP commands to UP entities for session establishment and rule application, ensuring seamless coordination without embedding data processing logic in the control layer. For instance, the SMF in sends PFCP session requests to the UPF to activate forwarding paths, while in , the PGW-C similarly directs the PGW-U. This architecture underscores PFCP's role in bridging the planes for robust, scalable network operations.

Interfaces and Deployment

In 4G Evolved Packet Core () networks, PFCP operates over the Sxa reference point between the Serving Gateway (SGW-C) and Serving Gateway User plane (SGW-U), the Sxb reference point between the Packet Data Network Gateway (PGW-C) and Packet Data Network Gateway User plane (PGW-U), and the Sxc reference point between the Traffic Detection Function (TDF-C) and Traffic Detection Function User plane (TDF-U) for traffic detection and policy enforcement. These interfaces enable the to provision and manage rules on distributed user plane nodes, supporting combined Sxa/Sxb reference points for integrated SGW/PGW deployments. In Core networks, PFCP is utilized over the N4 reference point between the Session Management Function (SMF) and User Plane Function (UPF), where a single SMF can establish multiple PFCP associations with distinct UPF instances to handle diverse traffic paths and load balancing across user plane elements. Deployment scenarios for PFCP leverage the flexibility of Control and User Plane Separation (CUPS) to support centralized control plane functions with distributed user plane nodes, particularly in cloud-native 5G architectures where SMF instances are centralized for unified session management while UPFs are deployed across data centers or cloud regions for scalable traffic handling. Hybrid 4G/5G interworking deployments use PFCP over Sx and N4 interfaces to enable seamless session continuity during transitions, such as when a UE moves between EPC and 5G Core, with control plane nodes coordinating via shared PFCP associations. For low-latency services like Ultra-Reliable Low-Latency Communication (URLLC), edge deployments position UPFs closer to the radio access network edge, minimizing transport delays while the SMF remotely provisions rules over N4 to ensure real-time packet processing for applications such as industrial automation. PFCP integrates with the User plane (GTP-U) by establishing tunnels for user data forwarding, where PFCP sessions define the endpoints and forwarding rules, and actual packet transport occurs via GTP-U encapsulation on the user plane interfaces such as Sx-u and N3/N9 in . This separation allows the to dynamically modify GTP-U tunnels without disrupting data flow, supporting features like buffering and forwarding during handovers. Deployment challenges include managing node failures through PFCP association procedures, where the supports mechanisms and node reports to detect and recover from or user plane outages, ensuring session restoration without via graceful release or recovery reports. Scalability for massive sessions demands efficient PFCP association handling, as a single SMF-UPF pair may manage thousands of concurrent sessions, requiring optimized and load distribution across multiple UPF instances to prevent bottlenecks in high-density environments.

Core Functionality

Packet Processing Rules

In the Packet Forwarding Control Protocol (PFCP), packet processing rules form the foundational mechanism by which the instructs the user plane function (UPF) to detect, handle, and enforce policies on data packets within a PFCP session. These rules are provisioned dynamically during session establishment or modification and enable granular control over traffic flows in networks, supporting features like QoS enforcement, usage monitoring, and buffering without requiring involvement. The rules operate on a per-PFCP-session basis, where incoming packets are evaluated against detection criteria, and matched packets undergo specified actions, QoS applications, and reporting as defined by linked rules. Packet Detection Rules (PDRs) define the criteria for identifying incoming packets on the user plane. Each PDR includes a unique PDR ID and a precedence value that determines the matching order among multiple PDRs within a session, with higher precedence rules evaluated first. The core of a PDR is the Packet Detection Information (PDI), which specifies matching filters such as the IP 5-tuple (source/destination IP addresses, ports, and protocol), Security Parameter Index (SPI) for , UE IP address, Service Data Flow (SDF) filters, QoS Flow Identifier (QFI), Application ID, or source (e.g., access, core, or N6). PDRs may also include instructions for outer header creation or removal, such as adding or stripping GTP-U headers for tunneling between UPFs. Only the highest-precedence matching PDR is applied to a given packet to ensure unambiguous processing. Forwarding Action Rules (FARs) dictate the disposition of packets that match a PDR, providing the UPF with explicit instructions on handling. A FAR, identified by a unique FAR ID, specifies an apply action such as forwarding (FORW) to a designated or instance, dropping (DROP), buffering (BUFF), or duplicating (DUPL) the packet for replication to multiple destinations. Forwarding parameters within a FAR include details like the destination (e.g., N3 for access or N6 for data ), instance identifier, and outer header creation parameters, which support GTP-U encapsulation or decapsulation for inter-UPF tunneling. FARs enable flexible traffic steering, such as routing to local breakout or centralized gateways. QoS Enforcement Rules (QERs) ensure compliance with quality-of-service policies on matched packets by applying parameters linked to a PDR. Each QER, with a unique QER ID, includes elements like (MBR) and (GBR) for uplink and downlink directions (measured in kbps), (ARP) for during , and Reflective QoS Indicator (RQI) to signal reflective QoS activation. Additional QER features encompass gate status (open or closed to permit or block traffic), , QFI mapping, and marking of (ToS) or Traffic Class fields for . These rules enforce and at the UPF, supporting diverse service levels from conversational voice to background transfers. Usage Reporting Rules (URRs) configure the UPF to and usage metrics for charging, policy , or quota . A URR, identified by a URR ID, specifies a measurement method—such as ( bytes), (time elapsed), or event-based (e.g., start/stop of flow)—and associates reporting triggers like threshold (VOLTH), time threshold (TIMTH), periodic reporting (PERIO), linked usage reporting (LIUSA) for correlated sessions, quota validity time (QUHTI), or uplink/downlink inactivity (UPINT/DROTH). When a trigger condition is met, the UPF generates a usage sent to the via PFCP, enabling real-time enforcement of quotas or billing. Buffering Action Rules (BARs) provide instructions for temporary storage of packets, particularly useful for downlink data during UE inactivity or handovers. Each BAR, with a unique BAR ID, defines parameters such as downlink data notification delay (to stagger notifications to the ), downlink buffering duration (maximum time packets are held), and suggested buffer packet count (guidance on capacity). Buffering is triggered via a FAR's BUFF action, allowing the UPF to queue packets until the becomes reachable, after which they are forwarded upon notification. The interactions among these rules are tightly coupled through identifiers provisioned in the PDR. A single PDR links to one FAR for processing, where the FAR can specify multiple (e.g., forwarding with duplication via the Apply Action field), one or more QERs for layered QoS, and multiple URRs (via the URR Reference IE) for comprehensive , while BARs are referenced indirectly via FARs. This linkage ensures that detection in a PDR seamlessly invokes the appropriate , enforcements, and reports, optimizing packet handling efficiency in the user plane. Multiple PDRs may share the same FAR, QER, or URR to reduce redundancy across traffic flows. In later releases (e.g., Release 17+), additional rules like Measurement Action Rules (MARs) extend capabilities beyond URRs.

Session Management Procedures

The Packet Forwarding Control Protocol (PFCP) session management procedures govern the lifecycle of sessions between the Control Plane (CP) function, such as the Session Management Function (SMF), and the User Plane (UP) function, such as the User Plane Function (UPF), over interfaces like N4. These procedures enable the dynamic setup, update, and teardown of packet processing contexts, ensuring efficient handling of user traffic in 4G and 5G networks. Each PFCP session is uniquely identified by a Fully Qualified Session Endpoint Identifier (F-SEID), which includes a 32-bit Session Endpoint Identifier (SEID) and the associated IP address, tying the session to an established PFCP association between nodes. Session establishment begins when the function sends a PFCP Session Establishment Request to the UP function to create a new session context. This request includes mandatory Information Elements (IEs) such as the CP F-SEID for session identification, Node ID, and Create PDR IEs to provision initial Packet Detection Rules (PDRs) for traffic matching, along with conditional IEs like Create FAR for Forwarding Action Rules, Create QER for QoS Enforcement Rules, and Create URR for Usage Reporting Rules. The UP function processes these to allocate resources, activates the rules, and responds with a PFCP Session Establishment Response containing the UP F-SEID, confirmation of created rules via Created PDR IEs, and any error indications using Cause IEs if applicable. This procedure supports initial bearer setup or PDU session activation in . Session modification allows dynamic adjustments to an active PFCP session, such as during QoS changes, mobility handovers, or traffic steering updates, using a PFCP Session Modification Request from the to the UP. The request carries only the delta changes, including Update PDR IEs for modifying detection rules (e.g., updating Precedence or Packet Detection Information), Update FAR IEs for action alterations like forwarding or buffering, Update QER IEs for rate enforcement, and Query URR Reference IEs to retrieve usage data. Partial updates minimize signaling overhead by retaining unmodified rules. The UP function applies the changes, deactivates or removes specified rules as needed (e.g., via null-length IEs), and replies with a PFCP Session Modification Response including activated rules, Usage Report IEs if queried, and Cause IEs for any failures. Session deletion is initiated by the CP function via a PFCP Session Deletion Request to release all associated resources, including rules and tunnels, typically upon PDU session termination or error recovery. The request includes the CP F-SEID and Node ID, prompting the UP to clean up the session context and generate final usage reports if configured via URRs. The UP responds with a PFCP Session Deletion Response acknowledging the deletion, potentially including Usage Report IEs with volume measurements or Additional Usage Reports Information IEs for batched data, and Cause IEs to indicate success or issues like resource unavailability. The F-SEID is then released, ending the session. Error handling in session procedures relies on Cause IEs to report failures, such as for invalid PDRs or FARs, or general causes like "No Established PFCP Association" or "Session Context Not Found." The UP function may send an asynchronous PFCP Error Indication with Offending IE and to highlight issues like SEID mismatches or failures, enabling CP recovery actions such as session re-establishment or modification. For persistent errors, the CP can trigger deletion to reset the context. PFCP sessions operate within the scope of a node-level , supporting in dense deployments. Sessions share the association's but maintain independent rule sets. Reporting procedures allow the UP function to proactively notify the CP of session events via a PFCP Session Report Request, triggered by conditions like volume or time thresholds in URRs, user plane inactivity via the User Plane Inactivity Timer, or errors such as overflows. The request includes Report Type IE (e.g., for Usage Status Report or UP Inactivity Report), URR ID, Usage Report IEs with Volume Measurement, and UR-SEQN for sequencing multiple reports. The CP acknowledges with a PFCP Session Report Response, potentially adjusting rules based on the data.

Message Structure

Node Management Messages

Node management messages in the Packet Forwarding Control Protocol (PFCP) facilitate interactions at the node level between the Control Plane (CP) function and User Plane (UP) function, enabling association establishment, maintenance, and termination without involving specific sessions. These messages are essential for ensuring reliable communication over interfaces such as Sx and N4 in 5G core networks, supporting functions like liveness detection and graceful restarts. The Heartbeat Request and Response messages are used for periodic monitoring of PFCP node availability. The Heartbeat Request is sent by either the CP or UP function to the peer entity, with the Response acknowledging receipt and confirming liveness. These messages include the Recovery Time Stamp Information Element (IE) to indicate the time of the last node restart, aiding in graceful recovery procedures, and optionally the Node ID IE to identify the sending node. Association Setup Request and Response messages establish the PFCP association between CP and UP nodes, typically initiated by the CP function. The Request includes mandatory Node ID and Recovery Time Stamp IEs, along with the IE for negotiating supported capabilities. The Response confirms the association with a Cause IE indicating success or failure. negotiation via the Feature IE allows indication of optional functions, such as the Enhanced PFCP Association Release (EPFAR) introduced in Release 18 for improved association handling. Association Release Request and Response messages terminate the PFCP association, which may trigger cleanup of associated sessions. Either the CP or UP function can initiate the Request, including the Node ID IE and optionally a Graceful Release Period IE to specify a delay before full termination. The Response includes a Cause IE to denote the release reason, such as normal release or error conditions. The EPFAR feature enhances this process by providing more granular control over release timing and session handling in Release 18 implementations. The Node Report Request and Response messages are initiated by the UP function to report node-level events to the function, such as overload conditions, path failures, or graceful restarts. The Request includes the Node ID and to specify the event, along with relevant report like User Plane Path Failure Report or Recovery Time Stamp. The Response acknowledges the report with a confirming . Error responses, such as the Version Not Supported Response, handle protocol mismatches. This message is sent by a receiving PFCP entity upon detecting an unsupported version in an incoming message, including a Cause IE set to "Version Not Supported" to inform the sender without further processing. These node management messages are transported over /, utilizing specific port numbers on the and N4 interfaces for efficient, connectionless delivery.

Session Management Messages

Session management messages in the Packet Forwarding Control Protocol (PFCP) enable the (CP) function, such as the Session Management Function (SMF), to establish, modify, and terminate per-session contexts with the user plane (UP) function, such as the User Plane Function (UPF), over interfaces like N4. These messages carry Information Elements (IEs) to provision packet detection rules (PDRs), forwarding action rules (FARs), QoS enforcement rules (QERs), usage reporting rules (URRs), and buffering action rules (BARs), ensuring granular control of packet processing for individual (PDU) sessions. All session-related messages include a Session Endpoint Identifier (SEID) in the PFCP header to uniquely identify the session at each PFCP entity, and a Sequence Number to support reliable delivery, retransmission detection, and ordering of messages within the session. The PFCP Session Establishment Request, sent by the to the UP, initiates a new PFCP session context and provisions initial rules for packet handling. It mandatorily includes IEs such as (identifying the CP), Fully Qualified SEID (F-SEID) for the CP, Create PDR (to detect incoming packets), Create FAR (to define forwarding actions like gating or buffering), Create QER (for QoS enforcement), Create URR (for usage monitoring), and Create BAR (for downlink buffering). Optional IEs may include PDU Session Information, User Plane IP Resource Information, and Activation Time for deferred rule application. The corresponding PFCP Session Establishment Response from the UP acknowledges the request, providing the UP's F-SEID, a Cause IE indicating success or failure (e.g., "Request Accepted" or "No Established Resources Available"), and created rule identifiers (e.g., , ) for those successfully provisioned. If establishment fails, the response includes detailed failure causes and may list unapplied rules. Subsequent modifications to an established session are handled via the PFCP Session Modification Request from the to the UP, which supports dynamic to session resources without re-establishing the context. This message allows Create, , or Delete operations on IEs like PDR, FAR, QER, URR, and , enabling changes such as adding new traffic flows, adjusting QoS parameters, or removing obsolete rules; for instance, an FAR IE can modify buffering or forwarding behaviors. It may also include IEs for IP address reassignment, traffic steering enforcement, or deactivation time for graceful rule removal. The PFCP Session Modification Response from the UP confirms the changes, returning a Cause IE, updated rule identifiers, and any failure details for partially applied operations, such as "Rule Creation Modification Failure" with specifics like insufficient resources. To terminate a session, the sends a PFCP Session Deletion Request to the UP, which removes all associated resources including PDRs, FARs, and other rules. This message primarily contains the SEID and optionally a Node ID for session relocation scenarios, triggering the UP to release session state and send any pending reports. The UP responds with a PFCP Session Deletion Response including the (e.g., "Request Accepted") and may include final Usage Reports from URRs for billing or quota enforcement. For immediate deletions without awaiting confirmation, the CP can issue a PFCP Session Deletion Command, which instructs the UP to silently discard the session context, though the UP may still send a response if feasible. The PFCP Session Deletion Command Response, if sent, confirms the action with a IE. Event-driven reporting from the UP to the CP occurs via the PFCP Session Report Request, which notifies the CP of triggered conditions such as URR measurement thresholds, buffer status overflows, or error indications like remote GTP-U tunnel endpoint failures. This message includes the SEID, Sequence Number for ordering multiple reports, and IEs like Usage Report (with volume, duration, or time details), Event Time Stamp, and (specifying causes such as "Remote Error" or "Version Not Supported"). The CP acknowledges with a PFCP Session Report Response containing the Cause and an Acknowledgement Sequence Number to correlate reports and ensure reliability. Error handling in session management is integrated into response messages and dedicated reports, providing granular feedback on failures. For example, in establishment or modification responses, a Rule Creation/Modification Failure IE details specific issues like "Mandatory IE Missing" or "Rule ID Already Allocated," allowing the to retry or adjust requests accordingly. The Sequence Number in all session messages facilitates retransmission handling, where duplicates are discarded based on matching SEID and sequence values, ensuring protocol robustness without additional acknowledgements beyond paired requests and responses.

Transport and Protocol Details

Transport Protocol

The Packet Forwarding Control Protocol (PFCP) employs over as its sole underlying transport mechanism to ensure low-latency communication between (CP) and user plane (UP) functions, with no support for . This choice aligns with the protocol's design for efficient in mobile networks, where minimizing overhead is critical. PFCP entities must support both IPv4 and addressing, allowing flexible deployment across network environments and enabling multiple IP addresses per to facilitate load balancing and . The standard UDP destination port for PFCP request messages is 8805, which is registered with the (IANA) for both CP and UP functions. For reliability, PFCP incorporates application-layer sequencing through the Sequence Number Information Element (IE), which ensures message ordering and duplicate detection without relying on end-to-end acknowledgments; instead, it depends on procedure-specific retries. In cases of lost messages, the protocol uses configurable timeouts and retransmissions, such as an initial timer (e.g., 2 seconds) with a limited number of attempts before failure handling, like session restoration or redirection. Security for PFCP transport is not inherent to the protocol itself, which lacks built-in or ; instead, it relies on external mechanisms such as for and , as outlined in 3GPP TS 33.210 for network domain . Overload control is managed via the Overload Control Information IE, exchanged during PFCP associations to signal capacity constraints, with Release 17 enhancements providing granular parameters like reduction metrics (0-100%) and validity periods to support advanced throttling algorithms. As of Release 18 (v18.10.0, June 2025), additional enhancements include support for message bundling to improve efficiency over the transport.

Message Encoding and Format

The PFCP messages are encoded in a format comprising a fixed-length header followed by variable-length Information Elements (IEs) structured in Type-Length-Value (TLV) format. This encoding ensures efficient transmission over the N4/Sx interface between and user plane nodes, with the header providing essential metadata for message identification, sequencing, and session association. The PFCP header varies in length depending on the message type: 8 octets for node-related messages (without SEID) and 16 octets for session-related messages (with SEID). It begins with octet 1 containing the field (3 bits, bits 1-3, encoded as 001 for , the major version supporting releases up to Rel-19 (as of 2025)), spare bits (bits 4-5, set to 0), the S flag (bit 6, set to 1 if SEID is present), the E flag (bit 7, for future extensions, set to 0), and the flag (bit 8, set to 1 if a 4-bit Message Priority is included in octet 16, bits 8-5). Octet 2 holds the Message Type field (8 bits, values in the range 0-255; 0-49 for messages such as type 1 for Request, and 50 or higher for session messages such as type 50 for Session Establishment Request). Octets 3-4 contain the field (16 bits, specifying the total length of the message content in octets, excluding the first 4 octets of the header). For session-related messages, octets 5-12 include the SEID (64 bits, a session identifier). Octets 13-16 hold the Sequence Number (32 bits, used to match requests with responses and ensure ordering). If the flag is set, octet 16's remaining bits (4-1) are spare and set to 0. The following table illustrates the octet layout for a session-related message header:
OctetBits 8-1 Description
1Version (1-3), Spare (4-5), S (6), E (7), MP (8)
2Message Type (8 bits)
3-4Length (16 bits)
5-12SEID (64 bits)
13-16Sequence Number (32 bits); if MP=1, bits 8-5 = Message Priority, bits 4-1 = Spare
This structure supports reliable delivery and prioritization while maintaining compactness. Nodes indicate their supported PFCP version (currently version 1) in the header during association setup, responding to unsupported versions with a dedicated message (Type 11) for future compatibility. Following the header, PFCP messages consist of one or more IEs in TLV format, where each IE starts with a 16-bit Type (2 octets, values 0-32767 for standard 3GPP-defined IEs and 32768-65535 for enterprise-specific IEs), followed by a 16-bit (2 octets, indicating the Value field's size in octets, minimum 0), and the variable-length Value field (encoded per IE definition, such as integers, octet strings, or IP addresses). IEs are classified as mandatory (must be present for valid message processing), conditional (included based on message context or options), or optional (may be added for additional information). Grouped IEs encapsulate multiple sub-IEs to organize complex data, such as rules or reports. Receivers ignore unrecognized IEs to ensure forward and across PFCP versions. In Release 18, enhancements include new IEs for features like multicast/broadcast services () and access traffic steering, switching and splitting (ATSSS). Several key IEs are fundamental to PFCP operations. The Node ID IE (Type 9) carries the sending node's identity as a encoded FQDN (variable length) or (: 4 octets, : 16 octets with a 4-bit type indicator). The Cause IE (Type 1) is a mandatory 1-octet field in response messages, using 8-bit values to denote outcomes (e.g., value 1 for "Request Accepted," value 64 for "Request Rejected - Session Context Not Found"). The IE (Type 13) is a 4-octet unsigned 32-bit uniquely identifying a Packet Detection Rule within a session. The Create PDR IE (Type 50) is a grouped mandatory IE in session establishment requests, containing sub-IEs such as PDR ID, Precedence (8-bit priority level), and Packet Detection Information (including filters like IP headers or Ethernet types). Similarly, the Create FAR IE (Type 51) groups forwarding parameters like FAR ID (Type 14, 32-bit) and action indications (e.g., forward, , or ). These grouped structures allow modular definition of packet processing behaviors without fixed message lengths. Enterprise-specific IEs enable vendor extensions within the Type range 32768-65535, typically prefixed by a 16-bit Enterprise ID (e.g., IANA-assigned codes for organizations like , BBF) followed by proprietary Value data such as bitmasks or parameters. These are treated as optional by standard implementations, preserving . Release 19 introduces additional IEs (types 246-271) for emerging features. Version handling in the header's 3-bit field promotes : nodes indicate the supported version (version 1) during association setup, with the Version Not Supported Response (Type 11) for handling future versions. Unknown or spare fields are ignored, and mandatory IEs from prior versions remain required, ensuring seamless evolution. For instance, in a Session Establishment Request (Type 50), the header's SEID and Sequence Number facilitate matching with the response, while grouped IEs like Create PDR and Create FAR define initial session rules without altering the core format. PFCP messages are transported within datagrams for low-overhead delivery.

References

  1. [1]
    [PDF] ETSI TS 129 244 V17.5.0 (2022-07)
    The present document specifies the Packet Forwarding Control Protocol (PFCP) used on the interface between the control plane and the user plane function. PFCP ...<|control11|><|separator|>
  2. [2]
    Specification # 29.244 - 3GPP
    Sep 19, 2016 · Title changed from "Interface between the Control plane Plane and the User Plane of EPC Nodes" by CR0042r1.
  3. [3]
    [PDF] ETSI TS 129 244 V18.6.0 (2024-07)
    The present document specifies the Packet Forwarding Control Protocol (PFCP) used on the interface between the control plane and the user plane function. PFCP ...
  4. [4]
    [PDF] ETSI TS 129 244 V14.0.0 (2017-07)
    This clause specifies the high level principles of the PFCP protocol and describe how 3GPP functionalities are realised ... 3GPP TS 29.244 version 14.0.0 Release ...
  5. [5]
    [PDF] ETSI TS 129 244 V15.6.0 (2019-07)
    If the UP function has requested to release the PFCP association in the PFCP Association Update Request, the CP ... 3GPP TS 29.244 version 15.6.0 Release 15.
  6. [6]
    Release 15 - 3GPP
    Apr 26, 2019 · Release 15 is the first full set of 5G standards, including standalone 5G, a new radio system, and a next-generation core network.
  7. [7]
    Packet Forwarding Control Protocol - Devopedia
    Aug 25, 2023 · Packet Forwarding Control Protocol ( PFCP ) is a protocol used for communicating between control plane ( CP ) and user plane ( UP ) ...
  8. [8]
    [PDF] The 5G Evolution:3GPP Releases 16-17
    Jan 16, 2020 · 3GPP Release 16 includes several LTE-related features developed within six different work items: enhancements for LTE-MTC, NB-IoT, DL MIMO ...
  9. [9]
    Release 17 - 3GPP
    Enhanced support of non-public networks,; Support for uncrewed aerial systems,; Support for edge computing in 5GC,; Proximity-based services in 5GS,; Access ...Missing: PFCP TSN
  10. [10]
    Non-Terrestrial Networks (NTN) - 3GPP
    May 14, 2024 · The WG RAN2 led Release 18 WI "NR NTN (Non-Terrestrial Networks) enhancements" (NR_NTN_enh) had the goal to enhance NTN related features ...Missing: PFCP | Show results with:PFCP
  11. [11]
    [PDF] ETSI TS 129 244 V18.9.0 (2025-03) - iTeh Standards
    3GPP TS 29.244 version 18.9.0 Release 18. Reference. RTS/TSGC-0429244vi90 ... Latest updates are available on the. ETSI IPR online database. Pursuant to ...Missing: November | Show results with:November
  12. [12]
    RAN Rel-19 Status and a Look Beyond - 3GPP
    Apr 7, 2025 · TSG RAN is currently working on Release 19 (Rel-19) projects, the 2 nd release of 5G-Advanced and also the last release fully dedicated to 5G.Missing: PFCP optimizations
  13. [13]
    [PDF] TR-459: Multi-Service Disaggregated BNG with CUPS. Reference ...
    Apr 24, 2023 · The Broadband Forum is a non-profit corporation organized to create guidelines for broadband network system development and deployment.
  14. [14]
    [PDF] TR-459.2: Multi-Service Disaggregated BNG with CUPS
    Jan 29, 2025 · Control packet redirection PFCP rules follow the IPoE TR-459 section 6.3. ... These services include multicast and walled-garden services. End of ...
  15. [15]
    [PDF] ETSI TS 129 244 V16.5.0 (2020-11)
    The present document specifies the Packet Forwarding Control Protocol (PFCP) used on the interface between the control plane and the user plane function. PFCP ...
  16. [16]
    Control and User Plane Separation of EPC nodes (CUPS) - 3GPP
    Jul 26, 2017 · CUPS separates control and user plane functions in EPC nodes, enabling flexible deployment, independent scaling, and independent evolution of ...
  17. [17]
  18. [18]
    [PDF] ETSI TS 129 244 V18.8.0 (2025-01)
    This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical ...Missing: November | Show results with:November
  19. [19]
    [PDF] ETSI TS 123 214 V18.0.0 (2024-04)
    This enables a flexible placement of the separated control plane and user plane functions for supporting diverse deployment scenarios (e.g. central or ...
  20. [20]
    A Study of 5G Edge-Central Core Network Split Options - MDPI
    Dec 20, 2021 · This article introduces a comprehensive set of deployment options for the 5G network and its network management, complementing MEC with the connectivity ...
  21. [21]
    [PDF] Low Latency 5G UPF Using Priority Based 5G Packet Classification
    Jan 6, 2020 · The 5G SA UPF collaboration by Intel and SK Telecom demonstrates how a standards-based solution can be used to achieve low latency and jitter ...
  22. [22]
    Introduction to PFCP and CUPS concepts
    May 5, 2023 · The Sx interface is defined by 3GPP for 4G sessions, while the N4 interface is defined for 5G sessions. 3GPP defines these interfaces mainly in ...
  23. [23]
  24. [24]
    [PDF] ETSI TS 129 244 V18.7.0 (2024-09)
    This Technical Specification (TS) has been produced by ETSI 3rd Generation Partnership Project (3GPP). The present document may refer to technical ...
  25. [25]
  26. [26]
    [PDF] ETSI TS 133 210 V18.0.0 (2024-04)
    IPsec security policy enforcement for inter-security domain communication is a matter for the SEGs of the communicating security domains. 5.6. Network domain ...Missing: PFCP | Show results with:PFCP