What is the 5G Session Management Function (SMF)?

The 5G Session Management Function (SMF) is a fundamental element of the 5G Service-Based Architecture (SBA). The SMF is primarily responsible for interacting with the decoupled data plane, creating updating and removing Protocol Data Unit (PDU) sessions and managing session context with the User Plane Function (UPF).


The Session Management Function within a 5G Service-Based Architecture

Both the UE and the gNB employs the Next Generation Application Protocol (NGAP) to carry Non Access Stratum (NAS) messages across the N1 or N2 reference interfaces in order to request a new session. The Access and Mobility Management Function (AMF) receives these requests and handles anything to do with connection or mobility management while forwarding session management requirements over the N11 interface to the SMF. The AMF determines which SMF is best suited to handle the connection request by querying the Network Repository Function (NRF). That interface and the N11 interface between the AMF and the specific SMF assigned by the NRF, use the Service Based Interface (SBI) message bus, to which all Service-Base Application elements are connected. The SBI message bus employs RESTful API principles over HTTP/2 -- web technologies that dramatically simplify and accelerate service deployments.


Basic SBI call flow for SMF registration and discovery, per 3GPP TS 23.502

Messages received over the N11 interface represent a trigger to add, modify or delete a PDU session across the user plane. The SMF sends messages to the UPF over the N4 reference interface using the Packet Forwarding Control Protocol (PFCP). Similar to OpenFlow, in nature, PFCP employs a well-known UDP port (8805) and was originally defined in release 14 specifications to support Control and User Plane Separation (CUPS).

During session establishment or modification, the SMF also interacts with the Policy Control Function (PCF) over the N7 interface and the subscriber profile information stored within the Unified Data Management (UDM) function (N10), which assumes the role previously performed by the HSS. Employing the SBI Message Bus, the PCF provides the foundation of a policy framework which, along with the more typical QoS and charging rules, includes Network Slice selection, which is regulated by the Network Slice Selection Function (NSSF).

Decoupling other control plane functions from the user plane, while (together with the AMF) assuming the some of the functionality previously undertaken by the MME, the SMF performs the role of DHCP server and IP Address Management (IPAM) system. Together with the UPF, the SMF maintains a record of PDU session state by means of a 24bit PDU Session ID. The SMF sets configuration parameters in the UPF that define traffic steering parameters and ensure the appropriate routing of packets while guaranteeing the delivery of incoming packets, though a Downlink (DL) data notification. In 4G EPC architectures, this is a SGW to MME message. The SMF is responsible for checking whether the UE requests are compliant with the user subscription and for connectivity charging, which is achieved by interacting with a Charging Function (CHF) defined within 3GPP TS 32.255.

To meet the architectural requirements of 5G, the SMF must be entirely designed and delivered as a Cloud-Native network function, dynamically deployed and scaled-up on demand in a completely automated manner. This is a particularly complex proposition when it comes to high-availability control components with asynchronous call flows across geo-diverse infrastructures requiring long and short-lived state maintenance for sessions traversing elements that might quiesce without notice. These functions must therefore employ established design patterns for building and deploying massively scalable web applications while adapting to fit the constraints of real-time communications networks. REST is inherently stateless and the 3GPP has defined a Structured and Unstructured Data Storage Functions (UDSF), which can be used by any Network Function to achieve stateless reliability and load distribution. However, a strong background in these design principles will ultimately be required to deliver on a truly Cloud-Native 5G Session Management Function.