Description
A Network Function (NF) is a fundamental architectural concept in 3GPP systems, particularly central from Release 5 onwards with the introduction of the IP Multimedia Subsystem (IMS) and fully realized in the 5G Core (5GC) with its Service-Based Architecture (SBA). An NF is a self-contained, modular software function that provides a specific telecommunications capability, such as session management, mobility management, policy control, or user data storage. Each NF has a clearly defined functional behavior and exposes its capabilities through well-defined interfaces, primarily service-based interfaces (SBIs) using HTTP/2 and JSON in 5GC, or reference point interfaces in earlier architectures.
Architecturally, NFs are the nodes that replace the traditional monolithic network elements. In the 5G Core, the architecture is composed entirely of interconnected NFs. Key NFs include the Access and Mobility Management Function (AMF), which handles connection and mobility management; the Session Management Function (SMF), responsible for session establishment and IP address allocation; the User Plane Function (UPF), which performs packet routing and forwarding; and the Unified Data Management (UDM), which stores subscriber data. These NFs interact within a service-based framework where they can act as service producers (exposing an API) and service consumers (invoking APIs).
How an NF works depends on its type and the network generation. In a 5G SBA, an NF must register its services with the Network Repository Function (NRF), which acts as a service discovery broker. When an NF (consumer) needs to utilize a service from another NF (producer), it queries the NRF to obtain the instance(s) of the producer NF that can fulfill the request, including their reachability information (IP address, port). Communication then occurs directly between the NFs using RESTful principles over HTTP/2. Each NF is designed to be stateless where possible, with state information externalized to a data layer, enabling scalability, resilience, and cloud-native deployment.
Its role in the network is to provide a flexible, scalable, and decomposable way to deliver network services. By breaking down monolithic network elements into finer-grained NFs, operators can deploy, scale, and update individual functions independently based on demand. This supports network slicing, as different slices can instantiate specific NF instances with tailored configurations. NFs can be virtualized (VNF) or containerized (CNF), deployed on commercial off-the-shelf (COTS) hardware in data centers, which is a cornerstone of network function virtualization (NFV). The NF concept decouples software functionality from hardware, enabling automation, rapid innovation, and reduced capital and operational expenditure.
Purpose & Motivation
The Network Function concept was created to address the limitations of traditional, vertically integrated network appliances (like the MSC, SGSN, GGSN in 2G/3G). These legacy nodes were proprietary, hardware-bound, and monolithic, making them expensive to procure, difficult to scale, and slow to upgrade with new features. Each new service often required a new physical node, leading to network sprawl and complex, rigid interconnections. The NF model introduces a software-centric, modular approach to network design.
The primary problem it solves is inflexibility. By defining network capabilities as discrete, reusable software functions, the NF model enables network softwarization and cloudification. This allows operators to deploy network services on generic cloud infrastructure, scale elastically with traffic demand, and introduce new services rapidly by composing existing NFs or deploying new ones without replacing entire hardware platforms. It is the enabler for Network Function Virtualization (NFV) and the transition to cloud-native 5G cores.
Historically, the concept evolved significantly. In Release 5, with IMS, functions like the CSCF were early examples of logically separate NFs, though initially still tied to specific implementations. The drive for cost reduction, service agility, and support for diverse use cases (IoT, low latency, high bandwidth) in the 4G to 5G transition made the NF model imperative. The 5G Service-Based Architecture (SBA) is the full realization of this concept, where the core network is literally defined as a set of interacting NFs. This addresses the need for automation (through standard APIs), support for network slicing (where a slice is a set of NF instances), and the ability to distribute functions flexibly (e.g., placing UPFs at the network edge for low-latency services). The NF is the atomic unit of modern 3GPP network design, fundamental to achieving the goals of 5G and future generations.
Key Features
- Modular software function with well-defined behavior and interfaces
- Can be virtualized (VNF) or containerized (CNF) on cloud infrastructure
- Interacts via service-based interfaces (SBI) using RESTful APIs (in 5G)
- Registers and discovers services via a Network Repository Function (NRF)
- Designed for stateless operation where possible for high scalability
- Enables independent lifecycle management, scaling, and upgrade
Evolution Across Releases
Introduced the Network Function concept with the IP Multimedia Subsystem (IMS) architecture. Defined early NFs like the Call Session Control Function (CSCF) and Home Subscriber Server (HSS), establishing the principle of separating control functions into logical entities with defined reference points.
Defining Specifications
| Specification | Title |
|---|---|
| TS 21.905 | 3GPP TS 21.905 |
| TS 23.501 | 3GPP TS 23.501 |
| TS 23.700 | 3GPP TS 23.700 |
| TS 23.758 | 3GPP TS 23.758 |
| TS 23.799 | 3GPP TS 23.799 |
| TS 25.866 | 3GPP TS 25.866 |
| TS 26.531 | 3GPP TS 26.531 |
| TS 26.942 | 3GPP TS 26.942 |
| TS 28.520 | 3GPP TS 28.520 |
| TS 28.531 | 3GPP TS 28.531 |
| TS 28.533 | 3GPP TS 28.533 |
| TS 28.535 | 3GPP TS 28.535 |
| TS 28.536 | 3GPP TS 28.536 |
| TS 28.801 | 3GPP TS 28.801 |
| TS 28.816 | 3GPP TS 28.816 |
| TS 28.834 | 3GPP TS 28.834 |
| TS 28.836 | 3GPP TS 28.836 |
| TS 28.840 | 3GPP TS 28.840 |
| TS 28.849 | 3GPP TS 28.849 |
| TS 28.873 | 3GPP TS 28.873 |
| TS 29.508 | 3GPP TS 29.508 |
| TS 29.509 | 3GPP TS 29.509 |
| TS 29.510 | 3GPP TS 29.510 |
| TS 29.512 | 3GPP TS 29.512 |
| TS 29.517 | 3GPP TS 29.517 |
| TS 29.520 | 3GPP TS 29.520 |
| TS 29.523 | 3GPP TS 29.523 |
| TS 29.524 | 3GPP TS 29.524 |
| TS 29.525 | 3GPP TS 29.525 |
| TS 29.532 | 3GPP TS 29.532 |
| TS 29.534 | 3GPP TS 29.534 |
| TS 29.550 | 3GPP TS 29.550 |
| TS 29.574 | 3GPP TS 29.574 |
| TS 29.575 | 3GPP TS 29.575 |
| TS 29.576 | 3GPP TS 29.576 |
| TS 29.581 | 3GPP TS 29.581 |
| TS 29.591 | 3GPP TS 29.591 |
| TS 29.594 | 3GPP TS 29.594 |
| TS 29.598 | 3GPP TS 29.598 |
| TS 29.675 | 3GPP TS 29.675 |
| TS 29.808 | 3GPP TS 29.808 |
| TS 29.890 | 3GPP TS 29.890 |
| TS 32.240 | 3GPP TR 32.240 |
| TS 32.255 | 3GPP TR 32.255 |
| TS 32.256 | 3GPP TR 32.256 |
| TS 32.279 | 3GPP TR 32.279 |
| TS 32.290 | 3GPP TR 32.290 |
| TS 32.291 | 3GPP TR 32.291 |
| TS 32.300 | 3GPP TR 32.300 |
| TS 32.401 | 3GPP TR 32.401 |
| TS 32.404 | 3GPP TR 32.404 |
| TS 32.409 | 3GPP TR 32.409 |
| TS 32.426 | 3GPP TR 32.426 |
| TS 33.117 | 3GPP TR 33.117 |
| TS 33.501 | 3GPP TR 33.501 |
| TS 33.517 | 3GPP TR 33.517 |
| TS 33.518 | 3GPP TR 33.518 |
| TS 33.794 | 3GPP TR 33.794 |
| TS 33.835 | 3GPP TR 33.835 |
| TS 33.848 | 3GPP TR 33.848 |
| TS 33.867 | 3GPP TR 33.867 |
| TS 36.755 | 3GPP TR 36.755 |
| TS 36.790 | 3GPP TR 36.790 |
| TS 36.791 | 3GPP TR 36.791 |
| TS 37.809 | 3GPP TR 37.809 |
| TS 37.842 | 3GPP TR 37.842 |
| TS 37.843 | 3GPP TR 37.843 |
| TS 37.941 | 3GPP TR 37.941 |
| TS 38.774 | 3GPP TR 38.774 |
| TS 38.785 | 3GPP TR 38.785 |
| TS 38.786 | 3GPP TR 38.786 |
| TS 38.787 | 3GPP TR 38.787 |
| TS 38.801 | 3GPP TR 38.801 |
| TS 38.817 | 3GPP TR 38.817 |
| TS 38.868 | 3GPP TR 38.868 |
| TS 38.869 | 3GPP TR 38.869 |
| TS 38.877 | 3GPP TR 38.877 |
| TS 38.886 | 3GPP TR 38.886 |
| TS 38.892 | 3GPP TR 38.892 |