Control-/User Plane Separation (CUPS)  in mobile networks refer to the complete separation between control plane functions (which take care of the user connection management, as well as defining QoS policies, performing user authentication, etc.) and user plane functions (which deal with data traffic forwarding). It was first introduced by 3GPP’s Release 14 at packet data gateway level, concerning the 4G Evolved Packet Core (mobile core for 4G networks) and has then been introduced for the 5G System (5GS) in the latest 3GPP’s Release 15 .
The main motivation for CUPS is to make user plane functions scale independently, allowing operators for a more flexible deployment and dimensioning of the network. For instance, if data traffic increases, more data plane nodes can be added without affecting the control plane functions.
CUPS also enables user plane programmability, which means having a set of data plane nodes which can be selected and treated for a particular role (e.g., a data plane gateway, a regular transit router or switch) to perform forwarding, encapsulation, traffic steering or whatever else needed according to the indications received by the control plane elements. Potentially, this enables for the implementation of different data planes solutions to coexist in the same user plane and to be dynamically selected according to the needs of the specific traffic: data planes nodes could encapsulate traffic when GPRS Tunneling Protocol for User Plane (GTP-U) is used for packet transportation, enforce steering policies to IP packets if a plain IP transport network approach is used, etc.
A further possibility is to exacerbate the control-/user plane functions split by introducing a Network Controller (NC) in the middle. This can completely abstract the user plane from the control plane, with the latter one only providing high level information on policies for user traffic, whereas the Network Controller selects, for instance, the data path and the specific data plane nodes enforcing these policies.
Introducing a Network Controller in the mobile core architecture allow to obtain a three-tier architecture, which can be easily mapped to a Software-Defined Networking (SDN) paradigm. SDN is a not so new technology, announced already several years ago, which is used to introduce flexibility and efficiency in networks. It is composed by an Infrastructure Layer (composed of only forwarding devices, the SDN switches), a Controller Layer (having a complete logical view of the physical network) and an Application Layer (which forwards the decision logic to the controller). If introduced in the 5G core (5GC), the Application Layer can be mapped to the control plane and the Infrastructure Layer to the user plane nodes. This gives a strong abstraction between layers allowing for a stronger implementation of CUPS. The level of abstraction given by the controller may be tuned according to different expectations: the NBI could allow the control plane to just forward to the controller its high-level intents and those will be translated to one or more rules on the SBI; or the control plane could have a more tight control on the user plane, reducing abstraction but potentially introducing higher efficiency in managing the network. The only requirement is that the protocol used between SDN Controller and user plane nodes, on what is called the Southbound Interface (SBI), is provided with a sufficient semantic to support the specific transport protocol used for data traffic (e.g., if GTP-U is used, the SBI protocol must be able to create rules based on specific GTP-U header fields, as GTP-U identifiers).
In the Figure, the SDN paradigm applied to the 5G Core (5GC) is shown, highlighting the mapping between SDN layers and 5GC components. Similar approaches where proposed for 4G Evolved Packet Core (EPC) in many works and is consider as one of the enabling pillars for an enhanced 5G core (5GC+) in which enable new advanced data plane operations and solutions. 
Future challenges in this scenario regard adding new features in the architecture (e.g., traffic monitoring and reporting back to the control plane) without exacerbating the SBI load and ensuring still scalability and efficiency.
 3GPP, “System Architecture for the 5G System (Release 15), TS 23.501; june-2018.
 U.Fattore, F.Giust, M.Liebsch, “5GC+: an Experimental Proof of a Programmable Mobile Core for 5G”, 2018 IEEE 23rd International Workshop on Computer Aided Modeling and Design of Communication Links and Networks (CAMAD), Barcelona 2018.