# Programmable Data Plane Applications in 5G and Beyond Architectures: A Systematic Review
## 3 Background in Programmable Data Plane and 5G and Beyond
### 5G and Beyond Technology and Architecture
#### 3.2.3 Network Functions, Entities, and Subsystems  
There are a vast number of NFs, entities and subsystems included in the 5 GS architecture. However, for the sake of brevity, this subsection will only describe the components that are the most important to the implementations included in the review.  
* 5G residential gateway (5G-RG): Device that enables residential or small business fixed users to connect to a 5G network and then to a DN such as the Internet. This acts as a bridge between 5 GC and UE.
* Access and mobility management function (AMF): Control plane NF within the 5G Core (5 GC). The UEs transmit all connection- and session-related data to the AMF, which is in charge of connection and mobility management duties. Other key features are cyphering and integrity protection, providing the user equipment (UE) with a temporary ID, subscriber authentication, support for location services (cell sites or tracking area), and help in lawful interception.
* Access gateway function (AGF): NF that enables fixed users to receive services from the same 5 GC that serves mobile subscribers. Its key functions include handling signaling associated with QoS and PDU sessions as well as marking user plane packets in uplink connections.
* Authentication server function (AUSF): Manages UE authentication of a 3 GPP or non-3 GPP access.
* Data network (DN): In addition to IP-based data networks (e.g., the Internet), it refers to any other structured data network (e.g., IoT data with low overhead).
* Network repository function (NRF): Works as a central repository for all NFs. Allows NFs to be registered and recognized.
* Network slice selection function (NSSF): Aids in selecting the network slice instance that will support a given device. The concept of network slicing will be further described in the following subsection.
* Next-generation radio access network (NG-RAN): Constitutes the 5G radio access for the UE. The main component of this subsystem is the 5G Node B (gNB), i.e., the 5G New Radio (5G-NR) base station. It can be separated into two modules: central unit (CU) and distributed unit (DU). This architecture features connections among CU, DU, and 5 GC. The CU handles upper layers and can be deployed as a hardware device or as cloud-based software. While DUs are placed at cell sites and manage time-sensitive processes. There are architectural variations for NG-RAN (e.g., C-RAN), further details can be found in [33].
* Policy control function (PCF): Establishes unified policy rules for control NFs like mobility, roaming, and slicing.  
Figure 4: Simplified representation of the 5G system architecture.  
Session management function (SMF): Another control NF, it is responsible of the session management, i.e., creation, update, and termination of the PDU (protocol data unit) session. Further capabilities include IP address allocation for UE, selection and control of user plane function (UPF), and liaison with the policy control function (PCF) for policy and QoS enforcement.
* Unified data management (UDM): Stores subscriber data and user profiles.
* User equipment (UE): Any end-user device that is able to connect to a 5G network, e.g., a mobile phone, an IoT sensor node, or a vehicle.
* User plane function (UPF): Handles UE data traffic by routing and forwarding packets. It also acts as an interconnection point between NG-RAN and DN, providing GPRS tunnelling protocol (GTP) encapsulation and decapsulation. Other important functionalities are acting as an anchor for RAN mobility, applying service data flow (SDF) filtering, implementing per-flow QoS ID, and reporting of traffic usage for billing.  
Given the line rate characteristic of data plane programmable devices, it makes them ideal candidates for handling 5G user traffic. Thus, a common implementation involves offloading UPF forwarding services to ASIC-based switches. Other uses include employing programmable devices within 5G entities such as gNB or even at the edge of the network (between NG-RAN and 5 GC).