PFCP

Last updated

Packet Forwarding Control Protocol (PFCP) is a 3GPP protocol used on the Sx/N4 interface between the control plane and the user plane function, specified in TS 29.244. [1] It is one of the main protocols introduced in the 5G Next Generation Mobile Core Network (aka 5GC [2] ), but also used in the 4G/LTE EPC to implement the Control and User Plane Separation (CUPS). [3] PFCP and the associated interfaces seek to formalize the interactions between different types of functional elements used in the Mobile Core Networks as deployed by most operators providing 4G, as well as 5G, services to mobile subscribers. These two types of components are:

Contents

  1. The Control Plane (CP) functional elements, handling mostly signaling procedures (e.g. network attachment procedures, management of User-data Plane paths and even delivery of some light-weight services as SMS)
  2. The User-data Plane (UP) functional elements, handling mostly packet forwarding, based on rules set by the CP elements (e.g. packet forwarding for IPv4, IPv6 - or possibly even Ethernet with future 5G deployments - between the various supported wireless RANs and the PDN representing the Internet or an enterprise network).

PFCP's scope is similar to that of OpenFlow, however it was engineered to serve the particular use-case of Mobile Core Networks.

PFCP is also used on the interface between the control plane and user plane functions of a disaggregated BNG, as defined by the BroadBand Forum in TR-459.

Overview

Albeit similar to GTP in concepts and implementation, PFCP is complementary to it. It provides the control means for a signaling component of the Control-Plane to manage packet processing and forwarding performed by a User-Plane component. Typical EPC or 5G Packet Gateways are split by the protocol in two functional parts, allowing for a more natural evolution and scalability.

PFCP in the Evolved Packet Core - the Sx interface (editable image source) PFCP in EPC.png
PFCP in the Evolved Packet Core - the Sx interface (editable image source)

The PFCP protocol is used on the following 3GPP mobile core interfaces:

Note: Sxa and Sxb can be combined, in case a merged SGW/PGW is implemented.

PFCP in the 5G Core (aka NGC) - the N4 interface (editable image source) PFCP 5GC.png
PFCP in the 5G Core (aka NGC) - the N4 interface (editable image source)

Functionality

The Control-Plane functional element (e.g. PGW-C, SMF) controls the packet processing and forwarding in the User-Plane functional elements (e.g. PGW-U, UPF), by establishing, modifying or deleting PFCP Sessions.

User plane packets shall be forwarded between the CP and UP functions by encapsulating the user plane packets using GTP-U encapsulation (see 3GPP TS 29.281 [3]). For forwarding data from the UP function to the CP function, the CP function shall provision Packet Detection Rules (PDR) per PFCP session context, with the Packet Detection Information (PDI) identifying the user plane traffic to forward to the CP function and with a Forwarding Action Rule (FAR) set with the Destination Interface "CP function side" and set to perform GTP-U encapsulation and to forward the packets to a GTP-u F-TEID uniquely assigned in the CP function per PFCP session and PDR. The CP function shall then identify the PDN connection and the bearer to which the forwarded data belongs by the Fully Qualified TEID (F-TEID) in the header of the encapsulating GTP-U packet. For forwarding data from the CP function to the UP function, the CP function shall provision one or more PDR(s) per PFCP session context, with the PDI set with the Source Interface "CP function side" and identifying the GTP-u F-TEID uniquely assigned in the UP function per PDR, and with a FAR set to perform GTP-U decapsulation and to forward the packets to the intended destination. URRs and QERs may also be configured.

Per session multiple PDRs, FARs, QoS Enforcement Rules (QER), Usage Reporting Rules (URR) and/or Buffering Action Rules (BAR) are sent.

Here are the main concepts used, organized in their logical association model:

Messages

PFCP Message Format
Bit/Byte offset012345678910111213141516171819202122232425262728293031
Bytes 0..3Version (1)(spare 0s)FOMPSMessage TypeMessage Length (in bytes, not including the first 4)
Bytes 4..11if (S flag set) then SEID; else these bytes are missing
Bytes 8..11
Bytes 4..7

or 12..15

Sequence Numberif (MP flag set) then Message

Priority; else (spare 0s)

(spare 0s)
Bytes 8..(MsgLen+4)

or 16..(MsgLen+4)

Zero or more Information Elements
PFCP Information Element Format
Bit/Byte offset012345678910111213141516171819202122232425262728293031
Bytes 0..3TypeIE Length (in bytes, not including the first 4)
Bytes 4..IELen+4if (Type >= 32768) then Enterprise-ID; else this is part of the PayloadPayload (cont.) ...
Payload cont. ...

IEs are defined either as having a proprietary encoding, or as grouped. Grouped IEs are simply a list of other IEs, encoded one after the other like in the PFCP Message Payload.

IE Types 0..32767 are 3GPP specific and do not have an Enterprise-ID set. IE Types 32768..65535 can be used by custom implementation and the Enterprise-ID must be set to the IANA SMI Network Management Private Enterprise Codes [4] of the issuing party.

Messages

Standardized Message Types
Message TypeMessageInterface ApplicabilityDirectionPurpose
RequestResponseSxaSxbSxcN4RequestResponse
0(Reserved)
(1..49)Node Related Messages
12HeartbeatXXXXCP ↔ UPCan be optionally used between communication peers which have an established association, to check if the other node is alive. A Recovery-Timestamp is used to detect if the other peer has been restarted.
34PFD Management-XXXCP → UPUP → CPOptional feature, to provision PFDs per Application identifier, outside of the regular PFCP sessions.
56Association SetupXXXXCP ↔ UPSetup and update an association between CP and UP functional elements. Includes list of optional features, to inform the other elements about capabilities; other configuration elements are passed as well.

No session related messages should be exchanged before this procedure.

While the Association-Release is only triggered by the CP, the UP can request it as part of the Association-Update-Request.

78Association UpdateXXXXCP ↔ UP
910Association ReleaseXXXXCP → UPUP → CP
-11Version Not SupportedXXXXCP ↔ UPError response to all requests which do not cover the implemented versions (currently only version 1 defined).
1213Node ReportXXXXUP → CPCP → UPSent by the UP function to report information which is not part of a session, but potentially general (e.g. user-plane path failure).
1415Session Set DeletionXX-CP → UPUP → CPSent by the CP function to indicate a partial failure, requesting deletion of all sessions affected.
(50..99)Session Related Messages
5051Session EstablishmentXXXXCP → UPUP → CPUsed by the CP to set up, modify and remove sessions consisting of sets of rules for processing and forwarding UP traffic. These are the main functional message of the PFCP application domain.

The UP may include Usage Report information in the answer, such that an additional Session-Report message would be avoided.

5253Session ModificationXXXX
5455Session DeletionXXXX
5657Session ReportXXXXUP → CPCP → UPReport from UP Usage Report information based on the packet processing and forwarding procedures: downlink data (notification of new packets queued), usage report (volume, time, etc based information, for charging purposes), errors and/or inactivity indications.
(100..255)Other Messages

Transport

Very similar to GTP-C, PFCP uses UDP. Port 8805 is reserved. [5]

For reliability, a similar re-transmission strategy as for GTP-C is employed, lost messages being sent N1-times at T1-intervals. Transactions are identified by the 3-byte long Sequence Number, the IP address and port of the communication peer.

The protocol includes an own Heart-beat Request/Response model, which allows monitoring the availability of communication peers and detecting restarts (by use of a Recovery-Timestamp Information Element).

For User-Plane packet exchanges between the Control and User Plane functional elements, GTP-U for the Sx-u interface, or alternatively a simpler UDP or Ethernet encapsulation for the N4-u interface (to be confirmed, as standards are still incomplete).

See also

Notes

  1. 3GPP TS 29.244 LTE; Interface between the Control plane Plane and the User Plane of EPC Nodes
  2. "The 5G Core Network (5GC) – Part 1 – Network Entities". 25 April 2018.
  3. Flynn, Kevin. "Control and User Plane Separation of EPC nodes (CUPS)". www.3gpp.org.
  4. https://www.iana.org/assignments/enterprise-numbers/enterprise-numbers [ bare URL plain text file ]
  5. "Service Name and Transport Protocol Port Number Registry". www.iana.org.

Related Research Articles

<span class="mw-page-title-main">General Packet Radio Service</span> Packet oriented mobile data service on 2G and 3G

General Packet Radio Service (GPRS), also called 2.5G, is a packet orientated mobile data standard on the 2G cellular communication network's global system for mobile communications (GSM). GPRS was established by European Telecommunications Standards Institute (ETSI) in response to the earlier CDPD and i-mode packet-switched cellular technologies. It is now maintained by the 3rd Generation Partnership Project (3GPP).

<span class="mw-page-title-main">Router (computing)</span> Device that forwards data packets between computer networks

A router is a computer and networking device that forwards data packets between computer networks, including internetworks such as the global Internet.

<span class="mw-page-title-main">Medium access control</span> Service layer in IEEE 802 network standards

In IEEE 802 LAN/MAN standards, the medium access control (MAC), also called media access control, is the layer that controls the hardware responsible for interaction with the wired or wireless transmission medium. The MAC sublayer and the logical link control (LLC) sublayer together make up the data link layer. The LLC provides flow control and multiplexing for the logical link, while the MAC provides flow control and multiplexing for the transmission medium.

The GPRS core network is the central part of the general packet radio service (GPRS) which allows 2G, 3G and WCDMA mobile networks to transmit Internet Protocol (IP) packets to external networks such as the Internet. The GPRS system is an integrated part of the GSM network switching subsystem.

The Radio Network Controller (RNC) is a governing element in the UMTS radio access network (UTRAN) and is responsible for controlling the Node Bs that are connected to it. The RNC carries out radio resource management, some of the mobility management functions and is the point where encryption is done before user data is sent to and from the mobile. The RNC connects to the Circuit Switched Core Network through Media Gateway (MGW) and to the SGSN in the Packet Switched Core Network.

The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem (IMS) is a standardised architectural framework for delivering IP multimedia services. Historically, mobile phones have provided voice call services over a circuit-switched-style network, rather than strictly over an IP packet-switched network. Various voice over IP technologies are available on smartphones; IMS provides a standard protocol across vendors.

<span class="mw-page-title-main">Assisted GNSS</span> System to improve the time-to-first-fix of a GNSS receiver

Assisted GNSS (A-GNSS) is a GNSS augmentation system that often significantly improves the startup performance—i.e., time-to-first-fix (TTFF)—of a global navigation satellite system (GNSS). A-GNSS works by providing the necessary data to the device via a radio network instead of the slow satellite link, essentially "warming up" the receiver for a fix. When applied to GPS, it is known as assisted GPS or augmented GPS. Other local names include A-GANSS for Galileo and A-Beidou for BeiDou.

In telecommunications networks, RANAP is a protocol specified by 3GPP in TS 25.413 and used in UMTS for signaling between the Core Network, which can be a MSC or SGSN, and the UTRAN. RANAP is carried over Iu-interface.

GPRS Tunnelling Protocol (GTP) is a group of IP-based communications protocols used to carry general packet radio service (GPRS) within GSM, UMTS, LTE and 5G NR radio networks. In 3GPP architectures, GTP and Proxy Mobile IPv6 based interfaces are specified on various interface points.

Packet Data Convergence Protocol (PDCP) is specified by 3GPP in TS 25.323 for UMTS, TS 36.323 for LTE and TS 38.323 for 5G. PDCP is located in the Radio Protocol Stack in the UMTS/LTE/5G air interface on top of the RLC layer.

The Radio Resource Control (RRC) protocol is used in UMTS, LTE and 5G on the Air interface. It is a layer 3 protocol used between UE and Base Station. This protocol is specified by 3GPP in TS 25.331 for UMTS, in TS 36.331 for LTE and in TS 38.331 for 5G New Radio. RRC messages are transported via the PDCP-Protocol.

<span class="mw-page-title-main">Data plane</span> Router architecture

In routing, the data plane, sometimes called the forwarding plane or user plane, defines the part of the router architecture that decides what to do with packets arriving on an inbound interface. Most commonly, it refers to a table in which the router looks up the destination address of the incoming packet and retrieves the information necessary to determine the path from the receiving element, through the internal forwarding fabric of the router, and to the proper outgoing interface(s).

System Architecture Evolution (SAE) is the core network architecture of mobile communications protocol group 3GPP's LTE wireless communication standard.

GTP' is an IP based protocol used within GSM and UMTS networks. It can be used with UDP or TCP. GTP' uses the same message structure as GTP, but it is largely a separate protocol. GTP' uses registered UDP/TCP port 3386.

Proxy Mobile IPv6 is a network-based mobility management protocol standardized by IETF and is specified in RFC 5213. It is a protocol for building a common and access technology independent of mobile core networks, accommodating various access technologies such as WiMAX, 3GPP, 3GPP2 and WLAN based access architectures. Proxy Mobile IPv6 is the only network-based mobility management protocol standardized by IETF.

Access network discovery and selection function (ANDSF) is an entity within an evolved packet core (EPC) of the system architecture evolution (SAE) for 3GPP compliant mobile networks. The purpose of the ANDSF is to assist user equipment (UE) to discover non-3GPP access networks – such as Wi-Fi or WIMAX – that can be used for data communications in addition to 3GPP access networks and to provide the UE with rules policing the connection to these networks.

A Home eNodeB, or HeNB, is the 3GPP's term for an LTE femtocell or Small Cell.

QoS Class Identifier (QCI) is a mechanism used in 3GPP Long Term Evolution (LTE) networks to ensure carrier traffic is allocated appropriate Quality of Service (QoS). Different carrier traffic requires different QoS and therefore different QCI values. QCI value 9 is typically used for the default carrier of a UE/PDN for non privileged subscribers.

Polaris Networks is a privately held company founded in 2003 and located in San Jose, California. It focuses on developing networking protocol software, and its products primarily include wireless protocol test tools and emulators for 3GPP LTE networks.

5G network slicing is a network architecture that enables the multiplexing of virtualized and independent logical networks on the same physical network infrastructure. Each network slice is an isolated end-to-end network tailored to fulfill diverse requirements requested by a particular application.