Skip to content

Network Function (NF) Overview

Difficulty: Beginner–Intermediate / Estimated study time: 25 min / Prerequisites: 5GC Overview and SBA

Learning objectives

After finishing this chapter, you will be able to do the following.

  • Explain that a Network Function (NF) is "a unit into which functionality is carved out as a software component"
  • Explain why the 5GC splits functions into NFs (scaling, independent updates, multi-vendor mix)
  • Classify NFs into control plane / data management / user plane / exposure and analytics
  • State the role of each of the 16 major NFs (AMF, SMF, UPF … AF) in one line, and navigate to its individual page
  • Intuitively explain the relationship among NF instance / NF service / discovery (NRF)

Prerequisites

  • 5GC Overview and SBA — The first introduction to SBA (Service Based Architecture), SBI, and NRF. This chapter builds on that and looks at things "from the NF side"

What you'll learn in this chapter

  • Why — Why functions are split into NFs rather than into monolithic nodes
  • Overview — A map of the NF as a unit and its classification
  • Basic Concept — An analogy to how departments in a company divide up work
  • Main discussion — What an NF is / the classification map / the overview table of major NFs / NF instances, services, and discovery
  • Comparison with EPC — Monolithic nodes (LTE) → finely divided NFs (5GC)
  • Deep explanations of each NF are left to the individual pages (e.g. AMF) and the NF Dictionary

Why — Why split functions into NFs

The role of the 5GC is to "authenticate terminals, establish sessions, carry data, and apply policy and charging." It would be possible to cram all of this into one giant node, but that does not fit modern requirements. Therefore, the 5GC carves functionality into independent software components called Network Functions (NFs). There are mainly three reasons for splitting.

  • Scaling (scalability) — You can add only the functions that are congested. For example, if registration processing (AMF) becomes strained, you can add more AMFs while leaving data forwarding (UPF) as is
  • Independent updates — Fixing one function is less likely to ripple to others. You can update only the authentication logic (AUSF/UDM) without stopping other NFs
  • Multi-vendor mix — Because interactions between NFs are done over a standardized SBI, you can combine them, such as AMF from Vendor A and SMF from Vendor B

In other words, the NF is a unit for "componentizing per function so that you can scale, update, or swap only the parts you need." What underpins this componentization is SBA (Service Based Architecture); for details, see 5GC Overview and SBA.

Overview

The 5GC is a system in which many NFs work in coordination. This chapter draws a "map" in the following order.

  • What an NF is — A unit into which functionality is split as a software component. Its substance is not so much a physical device as software running on a virtualization platform
  • Classification — It becomes clearer to grasp NFs by broadly dividing them into four families based on role (control plane / data management / user plane / exposure and analytics)
  • Overview table of major NFs — A bird's-eye view of the 16 NFs with "one-line role + link to the individual page"
  • NF instance / NF service / discovery — An NF has multiple substances (instances), exposes its functionality as services, and finds one another through the NRF

Where this chapter sits

This chapter sticks to being a "map." The precise version — which carries each NF's provided APIs, related interfaces, and spec section numbers — is left to the NF Dictionary, and reference points and protocols are left to the Interface / Protocol Overview.

Basic Concept — Explanation for beginners

An analogy to how departments in a company divide up work

Think of the 5GC as a single company. A company divides its work into "departments."

  • Reception / general front desk (AMF) — Handling visitors (terminals) and relaying them to the right internal department
  • Contracts / line provisioning (SMF) — Arranging which line to provision and how, and instructing the field (UPF)
  • Delivery field (UPF) — Actually carrying the packages (user data)
  • HR / roster management (UDM/UDR) — Managing who is an employee (subscriber)
  • Security / identity verification (AUSF) — Verifying that an entrant is who they claim to be
  • Company rules (PCF) — The rules for how much is allowed (QoS, charging, access)
  • Internal phone directory (NRF) — The roster for looking up which department to ask

If you make one person (one giant node) do all the work, the whole company grinds to a halt just because reception gets busy. If you divide into departments (NFs), you can add staff only to the busy department, change how one department works while others keep running, and use a different outsourcer (vendor) per department. This is the idea behind splitting the 5GC into NFs. Because the etiquette for interactions between departments is standardized (SBI), the mix works.

What an NF is — A unit into which functionality is carved out

A Network Function (NF) is a unit into which 5GC functionality is carved out as an independent software component. 3GPP defines NFs in the TS 23.501 §6.2 family. The key points are as follows.

  • An NF is a unit of "role (function)," and is not necessarily one-to-one with a physical device. It commonly runs as multiple substances on a virtualization/cloud platform
  • In SBA, interactions between NFs are done by invoking services through the SBI (Service Based Interface) (HTTP/2 + JSON based)
  • An NF exposes its own functionality as NF services, and other NFs consume them. Who calls whom is not fixed wiring; they dynamically find each other through the NRF

An NF is a role, not a box

Rather than thinking "there is one AMF device," it is closer to the reality of the 5GC to grasp it as "software that plays the AMF role is running in as many copies as needed." We call this "substance" an NF instance (discussed later).

The classification map — Grasping NFs in four families

Memorizing all 16 NFs at once is hard. First, bundling them into four families by role makes things clearer.

graph TD
    NF["Network Function (NF)"]
    NF --> CP["Control plane
(connect / establish / select)"] NF --> DM["Data management
(hold subscriber/data)"] NF --> UP["User plane
(carry data)"] NF --> EA["Exposure / analytics / auxiliary
(external liaison/analytics/charging)"] CP --> CP1["AMF / SMF / AUSF
PCF / NRF / NSSF"] DM --> DM1["UDM / UDR"] UP --> UP1["UPF"] EA --> EA1["NEF / NWDAF / CHF
BSF / SMSF / SEPP / AF"]

How to read the diagram: this is a "map that bundles things with similar roles," not an official classification defined by 3GPP (it is a scaffold for memorization). In reality, PCF handles policy, NRF handles discovery, NSSF handles slice selection… and so their roles differ, so please check the contents of each bundle line by line in the overview table below.

  • Control plane — Connect terminals, establish sessions, authenticate, decide policy, and select which NF to ask (AMF / SMF / AUSF / PCF / NRF / NSSF)
  • Data management — Hold subscriber information and policy data (UDM / UDR)
  • User plane — The only NF that forwards actual data (UPF)
  • Exposure / analytics / auxiliary — Mediation with the outside, analytics, charging, binding information, SMS, inter-PLMN protection, application liaison (NEF / NWDAF / CHF / BSF / SMSF / SEPP / AF)

Overview table of major NFs — A bird's-eye view of the 16 NFs

Each NF's role is shown in one line, with deep dives linked to the individual pages. The wording of roles is aligned with the NF Dictionary. When you want to look up the provided APIs, related interfaces, and spec section numbers, go to the dictionary.

NF Full name (abbr.) Role (one line) Individual page Classification
AMF Access and Mobility Management Function N1/N2 termination; registration, connection, and mobility management AMF Control plane
SMF Session Management Function PDU session management; UPF control (N4) SMF Control plane
AUSF Authentication Server Function Authentication (5G-AKA / EAP-AKA') server AUSF Control plane
PCF Policy Control Function Policy control (QoS, charging, access control rules) PCF Control plane
NRF Network Repository Function NF registration, discovery, and selection support NRF Control plane
NSSF Network Slice Selection Function Network slice selection support (NSSAI resolution) NSSF Control plane
UDM Unified Data Management Subscriber data management; authentication information generation UDM Data management
UDR Unified Data Repository Data storage repository for subscriber, policy, etc. UDR Data management
UPF User Plane Function User plane processing (packet forwarding, QoS enforcement, charging measurement) UPF User plane
NEF Network Exposure Function Capability exposure and information mediation to external AFs NEF Exposure / analytics / auxiliary
NWDAF Network Data Analytics Function Network data analytics and prediction NWDAF Exposure / analytics / auxiliary
CHF Charging Function Charging (online/offline) function CHF Exposure / analytics / auxiliary
BSF Binding Support Function Management of binding information between sessions and PCF BSF Exposure / analytics / auxiliary
SMSF Short Message Service Function SMS delivery function over NAS SMSF Exposure / analytics / auxiliary
SEPP Security Edge Protection Proxy Edge protection of inter-PLMN SBI signaling (N32) SEPP Exposure / analytics / auxiliary
AF Application Function Application-side function (liaison via NEF or directly with PCF) AF Exposure / analytics / auxiliary

The classification is only a learning scaffold

The "Classification" column in the table above is a bundling for the purposes of learning in this chapter. It is not the official category that 3GPP defines in §6.2. Take the strict definitions of roles, provided APIs, and related interfaces from each individual page and the NF Dictionary as authoritative.

NF instance / NF service / discovery

Viewing NFs from an operational perspective, three terms are central.

NF instance — The "substance" of an NF

An NF instance is each individual substance that actually runs a given NF (role). One NF type can have multiple instances (e.g. running three AMF instances for load balancing). Each instance has a unique NF Instance ID and is registered with the NRF.

NF service — The unit of functionality an NF exposes

An NF service is a unit of functionality that an NF provides to other NFs over the SBI. One NF provides multiple services. For example, the AMF exposes services such as Namf_Communication and Namf_EventExposure (for the list of service names, see the NF Dictionary). Other NFs consume these to use the functionality.

discovery — Finding one another via NRF

NFs do not use fixed wiring; they dynamically look for their counterpart through the NRF (Network Repository Function). Let's grasp this flow intuitively.

sequenceDiagram
    participant SMF as NF instance (e.g. SMF)
    participant NRF as NRF
    participant AMF as NF instance (e.g. AMF)

    Note over AMF,NRF: At startup
    AMF->>NRF: NF Register (register its own profile)
    Note over SMF,NRF: When a counterpart is needed
    SMF->>NRF: NF Discovery (query for an AMF matching the criteria)
    NRF-->>SMF: Return information on the matching AMF instance
    SMF->>AMF: Invoke the service over the SBI
  • Register — At startup, each NF instance registers its own information with the NRF as an NF profile
  • Discovery — When an NF needs a counterpart, it queries the NRF specifying criteria (NF type, slice, region, etc.) and is told the matching instances
  • Selection — From the returned candidates, select the instance to actually call

What is an NF profile

An NF profile is the "self-introduction card of that NF instance" registered with the NRF. It includes the NF type, NF Instance ID, the NF services provided, supported slices (S-NSSAI), the address to connect to, and so on. It is easy to understand if you grasp Discovery as the mechanism that narrows down these profiles by criteria. For details on the NRF and SBA themselves, see 5GC Overview and SBA.

Comparison with EPC — From monolithic nodes to finely divided NFs

The significance of the 5GC's NF split becomes easier to understand when viewed against LTE's core network, the EPC (Evolved Packet Core).

Aspect EPC (LTE) 5GC
Unit of functionality Relatively monolithic nodes such as MME / SGW / PGW Many NFs into which functionality is finely divided
Inter-node IF Each IF fixed with an individual protocol (GTP-C, Diameter, etc.) Unified with SBI (HTTP/2), discovered dynamically
Control and user plane Control and forwarding tend to be tied together in nodes like the PGW SMF (control) and UPF (forwarding) clearly separated (an evolution of CUPS)
Scaling / updates Scaled up/down together at the node level Scaled, updated, and vendor-mixed individually per NF

For example, the "session control + user data forwarding" that LTE's PGW handled has, in the 5GC, been split into the SMF (control) and the UPF (forwarding). Separating control and forwarding enables flexible placement, such as placing only the forwarding closer to the terminal (at the edge). For a more detailed correspondence between EPC and 5GC, see the Interface / Protocol Overview and each individual page.

3GPP Specification

  • Definition of NFs — TS 23.501 §6.2 family (5G System Architecture). The functional description of each NF is placed in §6.2.x (e.g. AMF=§6.2.1, SMF=§6.2.2, UPF=§6.2.3, UDM=§6.2.7, AUSF=§6.2.8, NRF=§6.2.6). The numbers are made consistent with the NF Dictionary
  • NoteCHF does not have its own section in TS 23.501 §6.2 (its definition is in the charging-family TS 32.290, etc.), and BSF also has no section in §6.2 and is defined in TS 23.503 (PCC framework). When looking up individual §6.2.x numbers, treat the dictionary's values as authoritative
  • For detailed specifications of SBA, SBI, and the discovery procedure, go to 5GC Overview and SBA and related specs

Handling of section numbers

This chapter shows §6.2.x for the core NFs only to the extent that it is consistent with the dictionary. Numbers we cannot be confident of are not written in the body text; please refer to the corresponding row in the NF Dictionary (the dictionary holds values verified against the ETSI public Rel-17 version).

FAQ

Q. Is an NF a physical device? Or software? A. In actual operation, grasping it as software is closer to reality. An NF is a unit of "role" and runs as multiple NF instances on a virtualization/cloud platform. It is not one-to-one with a physical device.

Q. There are 16 NFs and I can't remember them. A. We recommend first bundling them into four families (control plane / data management / user plane / exposure and analytics) and starting with the representative ones (AMF, SMF, UPF, UDM, PCF, NRF). For the rest, checking the overview table and individual pages when you need them is enough.

Q. How do NFs find their counterparts? A. They query the NRF. Each NF registers its own NF profile with the NRF at startup, and an NF that needs a counterpart requests discovery from the NRF by specifying criteria and is told the matching instances.

Q. What is the difference between an "NF instance" and an "NF service"? A. An NF instance is "the substance running that NF (countable as one, two, …)," while an NF service is "the unit of functionality that NF exposes over the SBI (e.g. Namf_Communication)." One instance provides multiple services.

Q. Is this classification an official 3GPP category? A. No. The four-family classification in this chapter and the "Classification" column of the overview table are learning scaffolds. Treat the 3GPP definition (TS 23.501 §6.2) as authoritative, and check the strict roles in the NF Dictionary and the individual pages.

Summary

  • An NF (Network Function) is a unit into which 5GC functionality is carved out as a software component (defined in the TS 23.501 §6.2 family)
  • The reasons for splitting into NFs are scaling, independent updates, and multi-vendor mix. What underpins this is SBA / SBI
  • For learning purposes, it is clearer to grasp NFs in the four families of control plane / data management / user plane / exposure and analytics
  • Get a bird's-eye view of the 16 major NFs (AMF–AF) with a one-line role + individual page, and go to the NF Dictionary and the individual pages for details
  • An NF runs as multiple NF instances, exposes its functionality as NF services, and discovers one another through the NRF
  • Compared with EPC's monolithic nodes, the 5GC finely divides functionality into NFs and also separates control (SMF) from forwarding (UPF)

Practice — Comprehension check and exercises

Comprehension check

Q1. List three main reasons the 5GC splits functions into NFs.

The three are scaling (you can add only the congested function), independent updates (fixing one function is less likely to ripple to others), and multi-vendor mix (you can combine a different vendor per NF). What underpins this is the standardized interaction via the SBI.

Q2. State the difference between an 'NF instance' and an 'NF service' in one phrase.

An NF instance is "the substance running an NF (countable)," while an NF service is "the unit of functionality an NF exposes over the SBI (e.g. Namf_Communication)." One instance provides multiple services.

Q3. When an NF finds a counterpart NF, what does it query?

The NRF (Network Repository Function). Each NF registers its own NF profile at startup, and an NF that needs a counterpart requests discovery by specifying criteria.

Q4. Into which NFs was the function LTE's PGW handled split in the 5GC?

It was split into the SMF, which handles session control, and the UPF, which handles user data forwarding. The separation of control and forwarding enables flexible placement.

Exercises

  • Try sorting the 16 NFs in the overview table into the four families without looking. If you get stuck, check your answers against the table's "Classification" column.
  • Using the company-department analogy, try explaining to your family in one minute "why the 5GC splits functions into NFs."
  • Pick one NF that caught your interest, open its individual page (e.g. AMF), and check how far the one-line role has been made concrete.

Next Step