Skip to content

Network Slicing

Difficulty: Advanced / Estimated study time: 40 min / Scope: Network Slicing (S-NSSAI / NSSAI / slice selection) / Related NFs: AMF, NSSF, SMF / Related interfaces: N1, N2, N22

Learning objectives

After reading this page, you will be able to:

  • Explain the Why (why Network Slicing is needed) from the perspective of per-use-case optimization: it is hard to optimize ultra-high-speed video, ultra-low-latency control, and massive IoT all at once on a single physical network.
  • Explain that a slice (Network Slice) is a logically independent virtual network built on a common physical infrastructure.
  • Explain that an S-NSSAI (Single NSSAI) is the identifier of one slice, composed of an SST (Slice/Service Type) and an optional SD (Slice Differentiator).
  • Distinguish and explain the differences and relationships among the four kinds of NSSAI (Requested / Allowed / Configured / Subscribed).
  • Explain the role of the NSSF (Network Slice Selection Function) (assisting slice selection when the AMF cannot resolve it on its own, and managing NSSAIAvailability).
  • Explain the two timings of slice selection: at registration (the UE presents the Requested NSSAI → the AMF decides the Allowed NSSAI) and at PDU Session time (selecting the in-slice SMF/UPF by S-NSSAI+DNN).
  • Explain the representative use-case categories eMBB / URLLC / mMTC and that the standardized SSTs correspond to them (specific values: see TS 23.501, to be confirmed).
  • Contrast the fact that 4G (EPC) has no standardized slice concept, and that separation via DNN≒APN and DECOR/eDECOR (dedicated core networks) are the nearest precursor concepts.

Prerequisites

It will go more smoothly if you first understand the following. If you haven't yet, start from the curriculum.

  • Understanding of Registration (slice selection happens inside Registration; the UE presents the Requested NSSAI, and the AMF returns the Allowed NSSAI) → Initial Registration
  • Understanding of the PDU Session (at PDU Session establishment, the in-slice SMF/UPF are chosen by S-NSSAI+DNN) → PDU Session Establishment
  • Understanding of QoS (each slice can have a different QoS/DNN; slices and QoS are related) → QoS
  • The role of the AMF (slice support, deciding/holding the Allowed NSSAI, querying the NSSF) → AMF

What you'll learn in this chapter

This chapter focuses narrowly on the core of Network Slicing (slice identification and selection). It makes the main topics slice identification via S-NSSAI (SST+SD), the four kinds of NSSAI, the role of the NSSF, and slice selection at registration and at PDU Session time.

  • The Registration procedure itself is the topic of Initial Registration. This chapter makes the topic the details of slice selection that happen inside it, and defers the full registration procedure to registration.
  • The details of QoS (QoS Flow / 5QI / GBR / AMBR) are deferred to QoS. This chapter only touches on the relationship that each slice can have a different QoS/DNN.
  • The PDU Session establishment procedure itself is deferred to PDU Session Establishment. This chapter limits itself to the slice-selection perspective (S-NSSAI+DNN → in-slice NF selection).
  • The details of NF Discovery / NRF and the details of radio-side slicing (RAN slicing) are out of scope, and are mentioned only conceptually (including parts that are implementation-dependent).

Why — why Network Slicing is needed

Let's start with the Why (why it's needed). A 5G network carries, at the same time, services with completely different requirement characteristics. Ultra-high-speed video (eMBB) needs large bandwidth, factory control and autonomous driving (URLLC) need millisecond-order ultra-low latency and high reliability, and massive IoT sensors (mMTC) need a huge number of simultaneous connections that are each small per device.

If these were all handled uniformly on one and the same network, the optimal design for each could not coexist. Push latency to the extreme and you sacrifice efficiency for massive connectivity; maximize bandwidth and latency guarantees loosen. Hence, building multiple logically independent virtual networks (slices), each optimized per use case, on top of a common physical infrastructure is Network Slicing. Each slice can have an NF configuration, resources, and policies (QoS/DNN, etc.) tailored to its use case.

Analogy: virtually drawing purpose-specific lanes / dedicated lines on a single road

Network Slicing is like drawing purpose-specific virtual lanes on a single wide road (the physical infrastructure). Picture logically dividing, on the same road, a lane dedicated to ambulances and emergency vehicles (URLLC = low latency, high reliability), a lane for large buses (eMBB = large bandwidth), and a lane for a huge number of bicycles (mMTC = massive connectivity). Or it is like each unit (a slice) in a single apartment building (the physical infrastructure) having an independent living space. Physically common, but logically independent, and each individually optimized.

Overview

The skeleton of Network Slicing is two things: the mechanism for identifying slices (S-NSSAI) and the mechanism for deciding which slice to use (NSSAI and slice selection).

  • Slice (Network Slice) — a logically independent virtual network built on a common physical infrastructure. It is optimized per use case (eMBB/URLLC/mMTC, etc.).
  • S-NSSAI (Single NSSAI) — the identifier that identifies one slice. It is composed of an SST (Slice/Service Type) plus an optional SD (Slice Differentiator).
  • NSSAI (Network Slice Selection Assistance Information) — a set of S-NSSAIs. Depending on the use, there are four kinds — Requested / Allowed / Configured / Subscribed (see the table below).
Kind of NSSAI Who holds/decides it Meaning
Requested NSSAI Presented by the UE The set of S-NSSAIs the UE requests at registration, saying "I want to use these slices"
Allowed NSSAI Decided by the network (AMF) The set of S-NSSAIs the network permits and returns in the Registration Accept. The UE can use slices within this range
Configured NSSAI Configured in the UE The set of S-NSSAIs preconfigured (per PLMN) in the UE
Subscribed S-NSSAI Subscription data (UDM) The S-NSSAIs permitted by the subscription (per subscriber)

The representative standardized SSTs are mapped to use cases.

Use-case category Meaning Assumed service examples
eMBB enhanced Mobile Broadband (high speed, large capacity) High-definition video, AR/VR
URLLC Ultra-Reliable Low-Latency Communication (ultra-high reliability, low latency) Factory control, remote operation, autonomous driving
mMTC / MIoT massive Machine-Type Communication / Massive IoT (massive connectivity) Massive IoT sensors, metering

The specific standardized SST values are to be confirmed (do not write fictitious values)

The specific numeric values of the standardized SSTs corresponding to eMBB/URLLC/MIoT, etc., are defined in 3GPP TS 23.501 §5.15 (Network Slicing; section number to be confirmed), but this page does not assert the individual SST values or the specific encodings of S-NSSAIs (values: to be confirmed against TS 23.501; per policy we do not record fictitious values). Here we show only the relationship that "use-case categories correspond to standardized SSTs."

The key point of slice selection is the two-stage structure of "the UE requests (Requested)" → "the network permits (Allowed)", with the NSSF assisting when the AMF cannot decide on its own.

Basic Concept — a beginner-friendly explanation

To understand Network Slicing, nail down three keywords.

1. What a slice is (a logically independent network)

A slice (Network Slice) is one logically independent network built on top of common physical equipment. Even though it physically uses the same base stations and the same server groups, it behaves as a separate network logically and is optimized per use case. To use the apartment analogy, the building (physical) is one, but each unit (a slice) is an independent living space.

2. What an S-NSSAI is (a slice's "jersey number" = SST+SD)

An S-NSSAI (Single NSSAI) is the jersey number (identifier) attached to one slice. It is made of two parts.

  • SST (Slice/Service Type) — represents what kind of use case that slice is for (there are standardized values corresponding to eMBB / URLLC / mMTC, etc.; specific values are to be confirmed).
  • SD (Slice Differentiator) — optional auxiliary information to further distinguish within the same SST (e.g., separating customer A's use from B's within the same eMBB). The SD is optional, and some S-NSSAIs have none.

In other words, it is a jersey number that does "broad classification by SST, finer classification by SD."

3. The four kinds of NSSAI (Requested, Allowed, Configured, Subscribed)

NSSAI is a collection of S-NSSAIs. It splits into four kinds by who holds it and when it is used. In plainer terms:

  • Requested NSSAI (requested) — the list the UE asks the network for, saying "I want to use these."
  • Allowed NSSAI (allowed) — the list the network returns, saying "you may use these" (notified in the Registration Accept).
  • Configured NSSAI (configured) — the list preconfigured in the UE (the groundwork for what to request).
  • Subscribed S-NSSAI (subscribed) — the slices permitted by the subscription (held by the UDM as subscription data).

To use a restaurant analogy: Configured = the menu in hand, Requested = your order, Subscribed = what you can order on your plan, Allowed = the items the restaurant has confirmed "we can make." That is the relationship.

Putting how these four are narrowed down to Allowed on a single sheet gives the following. The two on the UE side (Configured/Requested) and the two on the network side (Subscribed/Allowed) are cross-checked at registration and settle into the Allowed NSSAI.

flowchart LR
    subgraph UEside["Held by the UE side"]
        direction TB
        CONF["Configured NSSAI
Preconfigured in the UE (groundwork)"] REQ["Requested NSSAI
This time's 'want to use' request"] CONF -->|"Build the request on this groundwork"| REQ end subgraph NWside["Held/decided by the network side"] direction TB SUB["Subscribed S-NSSAI
Permitted by subscription (UDM)"] ALLOW["Allowed NSSAI
May be used this time (confirmed)"] SUB -->|"Gives the permitted range"| ALLOW end REQ ==>|"Presented at registration"| AMFcheck{"AMF cross-checks
(NSSF when needed)"} SUB ==>|"Cross-check material"| AMFcheck AMFcheck ==>|"Narrowing result"| ALLOW ALLOW ==>|"Notified in Registration Accept"| USE["The UE uses slices
within this range"] classDef ue fill:#efe,stroke:#3a3; classDef nw fill:#eef,stroke:#66a; classDef res fill:#fde,stroke:#c69,stroke-width:2px; class CONF,REQ ue; class SUB,ALLOW nw; class ALLOW res;

How to read the diagram

The green (UE side) Configured NSSAI is the "groundwork" preloaded in the UE, and based on it the UE assembles this time's Requested NSSAI (the want-to-use request). The blue (network side) Subscribed S-NSSAI is the range permitted by the subscription (held by the UDM), from which the Allowed NSSAI (this time's confirmed usable list) is narrowed. At registration, the AMF cross-checks the Requested against the Subscribed/Configured (querying the NSSF if it cannot resolve on its own), and returns their intersection as the Allowed NSSAI in the Registration Accept. The two-stage structure where the UE "requests" and the network returns "permission" is the skeleton of the relationship among the four kinds. For the branching logic of the narrowing, see the State Machine flowchart later.


Architecture

Here are the elements involved in Network Slicing and the interfaces that connect them. It shows the typical picture where a common AMF orchestrates registration and slice selection, and an NF group such as SMF/UPF per slice can be provided (deployment is slice-design- and implementation-dependent).

flowchart LR
    UE(["UE
(presents Requested NSSAI)"]) -- "N1 (NAS)" --> AMF["AMF
(slice support / decides Allowed NSSAI)"] RAN["NG-RAN / gNB"] -- "N2 (NGAP): S-NSSAI" --> AMF UE -.RRC.- RAN AMF -- "N22 (Nnssf): NSSelection
(only when needed)" --> NSSF["NSSF
(slice selection assistance / NSSAIAvailability)"] AMF -. "NF discovery (concept)" .-> NRF["NRF
(slice-aware NF discovery)"] subgraph SliceA["Slice A (e.g., eMBB)"] SMFa["SMF"] --> UPFa["UPF"] end subgraph SliceB["Slice B (e.g., URLLC)"] SMFb["SMF"] --> UPFb["UPF"] end AMF -- "select per S-NSSAI" --> SMFa AMF -- "select per S-NSSAI" --> SMFb classDef core fill:#efe,stroke:#3a3,stroke-width:2px; class AMF,NSSF core;

The roles of each element are as follows.

  • UE — presents the slices it wants to use as the Requested NSSAI (with the Configured NSSAI as groundwork).
  • AMF — the command center of slice selection. It cross-checks the Requested NSSAI against the Subscribed S-NSSAI / Configured NSSAI and decides and holds the Allowed NSSAI. When it cannot resolve on its own, it queries the NSSF.
  • NSSF (Network Slice Selection Function) — handles slice selection assistance when the AMF cannot decide on its own, and management of the NSSAI available in each TA (Tracking Area) (NSSAIAvailability). Since there is no individual NF page, see the NSSF row in the NF Dictionary.
  • SMF / UPF — selected per S-NSSAI, they handle the PDU session / user-plane forwarding within that slice (chosen at PDU Session establishment).
  • PCF — distributes the URSP (UE Route Selection Policy) to the UE, letting the UE side decide which app/traffic goes onto which S-NSSAI/DNN (details deferred to PCF/URSP).
  • NRF (NF Repository Function) — discovers NFs corresponding to slices (NF Discovery, concept only; details out of scope).

NF deployment topology is implementation-dependent

Whether to "place a dedicated SMF/UPF per slice" or "share NFs across multiple slices" depends on the slice design and operator configuration (implementation-dependent). The diagram above is a typical example for understanding, and the actual deployment can differ. Also, the NG-RAN is not a core NF (it is on the radio access side).

For details on the interfaces, see the Interface Dictionary.

Network Function

Here are the roles of the main NFs involved in Network Slicing. Since the NSSF has no individual page, see the NSSF row in the NF Dictionary. The NG-RAN is on the radio access side and is not a core NF.

NF Role in this context Information held/obtained Main APIs/procedures Impact on failure
AMF The actor of slice selection. Cross-checks the Requested NSSAI and decides/holds the Allowed NSSAI. Queries the NSSF when needed, and reselects the AMF under some conditions UE context, Allowed NSSAI, serving area (TAI), supported S-NSSAIs Namf (provided) / Nnssf(NSSelection) consumed Slice selection does not succeed, so registration/sessions cannot proceed
NSSF (see NF Dictionary) Slice selection assistance when the AMF cannot resolve on its own. Management of the NSSAI available per TA (NSSAIAvailability) Available NSSAI per TA, slice selection policy Nnssf_NSSelection / Nnssf_NSSAIAvailability (N22, TS 23.501 §6.2.14) The AMF cannot resolve the slice and the Allowed NSSAI is not confirmed
SMF Selected per S-NSSAI, it manages the PDU session within that slice S-NSSAI, DNN, session context Nsmf_PDUSession The PDU session of the relevant slice cannot be set up
UPF User-plane forwarding within a slice. Can be selected per S-NSSAI Forwarding rules, in-slice sessions PFCP (N4) Data forwarding of the relevant slice is impossible
PCF Distributes the URSP to the UE, letting the UE side decide the app→S-NSSAI/DNN mapping URSP, slice route policy Npcf (URSP distribution) The UE-side route selection (which slice to use) falls back to default behavior
NRF (core NF) Discovery of NFs corresponding to slices (NF Discovery, concept) NF profiles (supported S-NSSAIs, etc.) Nnrf_NFDiscovery Discovery of slice-aware NFs stalls (details out of scope)

Interface / Protocol

Here are the main interfaces and protocols used in this context. We organize how slice information flows across which segments and in what form. Some of the IE names and operation names are version- and implementation-dependent and are to be confirmed.

Interface Protocol Transport Segment Use in this context
N1 NAS (5GMM) (tunneled over NGAP/N2) UE ⇔ AMF In Registration, carries the Requested NSSAI (request) / Allowed NSSAI (acceptance) (TS 24.501)
N2 NGAP SCTP (port 38412) gNB ⇔ AMF Carries S-NSSAI information to the NG-RAN (AMF selection / slice support; TS 38.413)
N22 SBI (HTTP/2, TLS, JSON) TCP/TLS AMF ⇔ NSSF Nnssf (NSSelection: slice selection / NSSAIAvailability: management of available NSSAI per TA. TS 29.531. TS 23.501 §6.2.14)
N4 PFCP UDP (port 8805) SMF ⇔ UPF User-plane configuration within a slice (tied to sessions per S-NSSAI)
N7 SBI (HTTP/2, TLS, JSON) TCP/TLS PCF ⇔ SMF/AMF Policy (including URSP, etc., i.e., slice route policy)

The positioning of N22 and Nnssf

N22 is the interface between the AMF and the NSSF, and it carries the Nnssf service (NSSelection and NSSAIAvailability). NSSelection resolves "for this Requested NSSAI, which Allowed NSSAI / which AMF is appropriate," and NSSAIAvailability manages "which NSSAI can be used in which TA." The fine details of operation names and the IE names are version- and implementation-dependent, and some are to be confirmed. References: TS 23.501 §6.2.14 (NSSF), TS 29.531 (Nnssf).

For details on the protocols, see the Protocol Dictionary, and for the interface list, see the Interface Dictionary.


Procedure — Call Flow

This is the heart of this page. The flow of slice selection is shown as a Mermaid sequenceDiagram. The basis is TS 23.502 (registration / slice selection procedures), TS 23.501 §5.15 (Network Slicing; section number to be confirmed) / §6.2.14 (NSSF), TS 24.501 (NAS NSSAI), TS 29.531 (Nnssf), and TS 38.413 (NGAP S-NSSAI). Because slice selection in many cases happens as part of Initial Registration, here we focus on slice selection (for the full registration procedure, see registration).

Precondition: slice selection happens inside the Registration procedure

From the UE presenting the Requested NSSAI to accepting the Allowed NSSAI is not an independent procedure; it takes place inside Initial Registration. This diagram extracts the slice selection (Requested → Allowed, NSSF query when needed) part of it. The operation names and ordering follow TS 23.502, but the fine details are version- and implementation-dependent, and some are to be confirmed.

sequenceDiagram
    autonumber
    participant UE
    participant RAN as NG-RAN / gNB
    participant AMF
    participant NSSF
    participant UDM
    participant SMF

    Note over UE,RAN: RRC connection establishment (radio side, outline)
    UE->>RAN: Registration Request (NAS: Requested NSSAI)
    Note right of RAN: TS 24.501. Includes the Requested NSSAI
    RAN->>AMF: Carry the NAS in an Initial UE Message (NGAP)
    Note right of RAN: Initial AMF selection (RAN outline)

    AMF->>UDM: Fetch subscriber data (Subscribed S-NSSAI)
    UDM-->>AMF: Subscribed S-NSSAI
    Note over AMF: Cross-check the Requested NSSAI against Subscribed / Configured

    opt When the AMF cannot resolve on its own (conditional)
        AMF->>NSSF: Nnssf_NSSelection (Requested NSSAI / TAI, etc.)
        NSSF-->>AMF: Allowed NSSAI / appropriate AMF info
        Note right of NSSF: N22 / TS 29.531 / TS 23.501 §6.2.14
    end

    opt When AMF reselection is needed (conditional)
        Note over AMF: Relocate to the appropriate AMF (AMF reselection)
    end

    AMF->>UE: Registration Accept (NAS: Allowed NSSAI)
    UE->>AMF: Registration Complete (NAS)
    Note over UE,AMF: Thereafter, slices can be used within the Allowed NSSAI

    Note over UE,SMF: [At PDU Session time] Subsequent in-slice NF selection (overview)
    UE->>AMF: PDU Session Establishment Request (S-NSSAI + DNN)
    Note right of AMF: Select the in-slice SMF by S-NSSAI+DNN
    AMF->>SMF: To the selected in-slice SMF (→ in-slice UPF selection)
    Note over AMF,SMF: For details, see pdu-session

Step-by-step explanation (numbers correspond to the diagram above)

1-2. UE→(R)AN→AMF: The UE sends a Registration Request carrying the Requested NSSAI (the set of slices it wants to use), and the gNB conveys it to the AMF in an Initial UE Message (NGAP) (the initial AMF selection is done by the RAN). 3-4. AMF↔UDM: The AMF fetches subscriber data and obtains the Subscribed S-NSSAI (the slices permitted by the subscription). The AMF cross-checks the Requested NSSAI against the Subscribed / Configured NSSAI. 5-6. (conditional) AMF↔NSSF: If the AMF cannot resolve the slice on its own, it queries the NSSF with Nnssf_NSSelection (N22) and obtains the Allowed NSSAI and (if needed) the appropriate AMF info (TS 29.531, TS 23.501 §6.2.14). 7. (conditional) AMF reselection: If the current AMF is not appropriate to accommodate the requested slices, it can be relocated (AMF reselection) to an appropriate AMF (condition- and configuration-dependent). 8-9. Registration accept: With AMF→UE Registration Accept, the Allowed NSSAI is notified. Thereafter, the UE can use multiple S-NSSAIs (slices) within this range. It completes with UE→AMF Registration Complete. 10-12. (At PDU Session time) In-slice NF selection: When the UE specifies S-NSSAI + DNN in the PDU Session Establishment Request, the AMF selects the SMF within that slice, and the SMF selects the UPF within that slice. For the detailed procedure, see PDU Session Establishment.

The NSSF query and AMF reselection are conditional

The query to the NSSF (steps 5-6) and AMF reselection (step 7) are omitted or vary depending on conditions such as whether the AMF can resolve on its own and whether the current AMF can accommodate the requested slices. Because the relevant procedure in 3GPP TS 23.502 includes many optional/conditional steps, the specific omission conditions need to be verified individually against the spec (some are to be confirmed).

References: TS 23.501 §5.15 (Network Slicing; section number to be confirmed) / §6.2.14 (NSSF), TS 23.502 (the registration procedure involving slice selection), TS 24.501 (NAS NSSAI), TS 29.531 (Nnssf), TS 38.413 (NGAP S-NSSAI).

Signal Flow

We organize the main "information containers" involved in slice selection, by direction. Some of the IE names and operation names are version- and implementation-dependent and are to be confirmed.

Information Protocol Source→Dest Purpose Main contents (some to be confirmed)
Requested NSSAI NAS (5GMM) UE→AMF Request the slices to use A set of S-NSSAIs (each S-NSSAI = SST[+SD]. IE name to be confirmed)
Subscribed S-NSSAI SBI (Nudm) UDM→AMF Provide the slices permitted by the subscription Subscribed S-NSSAIs (may include a default-slice designation = to be confirmed)
Nnssf_NSSelection SBI (Nnssf, N22) AMF→NSSF Request/response for slice selection assistance Requested NSSAI, TAI, etc. → (response) Allowed NSSAI, appropriate AMF info
Allowed NSSAI NAS (5GMM) AMF→UE Notify the permitted slices The set of permitted S-NSSAIs (inside the Registration Accept. IE name to be confirmed)
S-NSSAI (N2) NGAP AMF→(NG-RAN) Slice info to the radio side S-NSSAI (accompanies PDU Session resources, etc. IE name to be confirmed)

Requested → Allowed is the backbone

The backbone of the table above is the flow: the UE's Requested NSSAI (request) → the AMF cross-checks against Subscribed/Configured, queries the NSSF when needed → returns the Allowed NSSAI (permission). The NSSF query (Nnssf_NSSelection) is inserted in the middle of this flow when the AMF cannot resolve on its own. For the details and reference specs of each IE, see the Message Dictionary.

State Machine

A slice is not a topic with an independent, heavy state machine. Here, we show with diagrams how the NSSAI gets confirmed from the UE's perspective, and the AMF's decision logic for slice selection (conceptual representations for understanding; the basis is TS 23.501 §5.15, section number to be confirmed).

First, the flow of NSSAI confirmation from the UE's perspective.

stateDiagram-v2
    [*] --> Configured: Configured NSSAI is set (not yet registered)
    Configured --> Requested: Present the Requested NSSAI at registration
    Requested --> Allowed: Obtain the Allowed NSSAI in the Registration Accept
    Allowed --> InUse: Establish a PDU session with an S-NSSAI within Allowed
    InUse --> Allowed: Session release (Allowed is retained)
    Allowed --> [*]: De-registration, etc.
  • Configured — the Configured NSSAI is set in the UE, but it has not yet registered.
  • Requested — the state where the Requested NSSAI has been presented at registration.
  • Allowed — the state where the Allowed NSSAI has been received in the Registration Accept and the usable slices are confirmed.
  • InUse — the state where a PDU session is set up using an S-NSSAI within Allowed and slices are actually in use.

Next, the decision logic (flowchart) for when the AMF selects a slice. The Allowed NSSAI is decided along this judgment.

flowchart TD
    A["Receive the Requested NSSAI"] --> B{"Can it be resolved by
cross-checking against Subscribed / Configured?"} B -- "Yes" --> C["The AMF decides the Allowed NSSAI"] B -- "No (cannot resolve on its own)" --> D["Query the NSSF with Nnssf_NSSelection"] D --> E{"Is the appropriate AMF the current AMF?"} E -- "Yes" --> C E -- "No" --> F["AMF reselection (relocate to the appropriate AMF)"] F --> C C --> G["Return the Allowed NSSAI in the Registration Accept"]

Slices are a topic with a thin state machine

Because a slice itself is not largely treated as an explicit state machine, the stateDiagram above is a conceptual representation for understanding the NSSAI confirmation from the UE's perspective (state names are to be confirmed). The operational branches (NSSF query, AMF reselection) are closer to reality in the decision logic (flowchart) below, so refer mainly to that.

Packet Analysis (Wireshark)

Here are the focal points when analyzing Network Slicing with Wireshark. Slice information appears mainly in NAS (N1) and NGAP (N2).

Main display filters

Filter Meaning Segment to observe
nas-5gs 5GS NAS messages in general (Registration including Requested/Allowed NSSAI) N1
nas-5gs.mm 5GS NAS MM (Registration Request/Accept, etc.) N1
ngap NGAP messages in general (including the S-NSSAI IE) N2
sctp.port == 38412 The SCTP port of N2 (NGAP) N2

IE names, values, and field positions are environment-dependent and to be confirmed

The IE name of the NAS Requested/Allowed NSSAI and the IE name / storage position of the NGAP S-NSSAI are based on 3GPP assignments, but the display and matching method may differ depending on the Wireshark version / dissector implementation. This page does not assert fictitious numeric values, IE names, or SST values. Treat the concrete field names and values as to be confirmed; on real equipment, checking via the GUI's protocol hierarchy view is the surest approach.

Points to look at when decoding (main IEs)

  • The Requested NSSAI in the NAS Registration Request — the set of slices the UE requests. Each S-NSSAI contains an SST (+ an optional SD) (IE name to be confirmed).
  • The Allowed NSSAI in the NAS Registration Accept — the set of slices the network permitted. The UE uses slices within this range (IE name to be confirmed).
  • The NGAP S-NSSAI IE — accompanying PDU Session Resource setup, etc., the S-NSSAI of the target slice is carried to the NG-RAN (IE name / storage position to be confirmed).

Actual pcaps are environment-dependent (implementation-dependent)

The filters and IE names on this page are guidelines for analysis. If you configure multiple S-NSSAIs (SST/SD) and perform registration / PDU sessions on an Open5GS or free5GC testbed, you can actually observe the NAS Requested/Allowed NSSAI and the NGAP S-NSSAI (implementation-dependent). The specific SST values depend on each implementation's configuration.

Configuration

Here are the structure-level essentials of the configuration for making Network Slicing work. Concrete values and vendor-specific items (Cisco, etc.) are implementation-dependent, and we do not write fictitious values here.

Configuration perspective for slice identification/support (AMF/NSSF side)

  • Supported S-NSSAI (SST/SD) — the list of S-NSSAIs supported by the AMF and each TA. The SST uses standardized values corresponding to use-case categories (eMBB/URLLC/mMTC, etc.), but the specific values are to be confirmed against TS 23.501 §5.15 (section number to be confirmed; do not use fictitious values). The SD is assigned as needed.
  • NSSAIAvailability — configured on the NSSF side as "which NSSAI can be used in which TA" (aligned with the AMF via N22).
  • Configured NSSAI — the default set of S-NSSAIs configured on the UE side (or via provisioning).

Provisioning of subscriber slices (UDM/UDR)

  • Subscribed S-NSSAI — register in the UDM/UDR the slices permitted per subscriber (SUPI) (may include a default-slice designation = to be confirmed).

Configuration perspective for per-slice NF deployment

  • Per-slice SMF/UPF — whether to place a dedicated NF per slice or share them is implementation-dependent. Register each NF's supported S-NSSAIs in the NRF to make slice-aware NF discovery work.

Concrete values and vendor-specific items are implementation-dependent

Configuration key names, hierarchy, and required items, the specific SST/SD values, and the form of per-slice NF deployment differ across Open5GS / free5GC / commercial vendors (Cisco, etc.). Treat the standardized SST values as to be confirmed against TS 23.501 §5.15; this page does not record fictitious configuration values or SST values (implementation-dependent).

Trouble Shooting

Here is the triage for representative slice-related troubles (in general terms). For details on Cause values, see the Cause Dictionary.

Symptom Suspected cause Check points Related logs/packets Direction of remedy
(a) The Requested NSSAI is rejected Requesting a non-subscribed slice; not supported in the relevant TA Subscribed S-NSSAI, the TA's NSSAIAvailability Registration Reject/Accept (NAS), AMF logs Check alignment with the subscribed slices and TA support
(b) The Allowed NSSAI is empty / fewer than expected Mismatch between Subscribed and Requested; NSSF unresolved The cross-check result of Requested↔Subscribed↔Configured NAS (Allowed NSSAI), Nnssf, AMF/NSSF logs Check the subscription settings, NSSAIAvailability, and NSSF cooperation
(c) A request in a TA where the slice is not supported The UE requests a slice not provided in the serving TA The NSSF's NSSAIAvailability, TA configuration Nnssf (NSSAIAvailability), AMF/NSSF logs Check the provided-slice configuration per TA
(d) In-slice NF selection failure for a PDU session No SMF/UPF supporting the relevant S-NSSAI is found The NRF's NF profiles (supported S-NSSAI), DNN consistency Nnrf_NFDiscovery, SMF/AMF logs Check the registration of slice-aware NFs and the DNN/S-NSSAI consistency
(e) The NSSF cannot resolve NSSF not configured; NSSAIAvailability inconsistency N22 reachability, NSSF configuration Nnssf, AMF/NSSF logs Check the NSSF configuration, N22 reachability, and NSSAIAvailability

Comparison with EPC

Let's contrast them so that those experienced with 4G (EPC) can bridge over to 5G. 4G has no standardized "slice" concept like 5G's. As the nearest precursor concepts, there are service separation via DNN≒APN and DECOR/eDECOR (dedicated core networks).

Aspect 4G / EPC 5G / 5GC
Slice concept No standardized slice concept Network Slice (standardized via S-NSSAI)
Nearest precursor concept DECOR / eDECOR (dedicated core networks = separating the core per subscriber type) Slices via S-NSSAI (logical partitioning per use case)
Identifier for service separation APN (Access Point Name) DNN (Data Network Name) + S-NSSAI
Slice selection NF None (DECOR does its routing at the MME, etc.) NSSF (Nnssf / NSSAIAvailability, N22)
Selection information (routing by subscriber type, etc.) NSSAI (Requested/Allowed/Configured/Subscribed)

DECOR/eDECOR is positioned as a precursor to 5G slicing

4G's DECOR (Dedicated Core Network) and eDECOR (enhanced DECOR) are mechanisms that route to a dedicated core network (MME, etc.) per subscriber type, and can be said to be positioned as a precursor to 5G's Network Slicing. However, DECOR/eDECOR do not have standardized slice identification like S-NSSAI or selection assistance by an NSSF, and their granularity, flexibility, and degree of standardization differ from 5G's slices. The detailed operation of DECOR/eDECOR is to be confirmed (this chapter stays at the conceptual level). Also, APN↔DNN correspond as identifiers of the service / data network, but in 5G an essential difference is that S-NSSAI is added as the axis of slices on top of that.

Release differences

Here are the main topics related to Network Slicing. We mark uncertain items as to be confirmed and do not assert them.

  • Rel-15 — The basics of Network Slicing (slice selection at registration and at PDU Session time via S-NSSAI (SST/SD) / NSSAI (Requested/Allowed/Configured/Subscribed) / NSSF (Nnssf, N22)) were established (the foundation of TS 23.501 §5.15; section number to be confirmed).
  • NSAC (Network Slice Admission Control) — an extension that controls the upper limit of registered UEs / PDU sessions per slice (said to be Rel-16 or later, but the introduction Release and detailed operation are to be confirmed). Concept only; details to be confirmed.
  • Rel-17 / Rel-18 (5G-Advanced) — slice-related extensions (slice selection, charging, interworking, etc.) continue (the concrete differences are to be confirmed).

Release differences are to be confirmed

Which features were woven, and to what extent, into slicing in each release (especially the introduction Release and operation of NSAC) needs to be checked individually against the version differences of the relevant TS. The above is an overview, and the concrete items are to be confirmed.

3GPP Specification

Spec Section Content
TS 23.501 §5.15 Network Slicing (the slice concept, S-NSSAI, NSSAI kinds) (section number to be confirmed)
TS 23.501 §6.2.14 The definition of the NSSF (Network Slice Selection Function)
TS 23.502 (registration procedure sections) The registration procedure involving slice selection (section number to be confirmed)
TS 24.501 (NAS sections) The NAS-side NSSAI (Requested/Allowed NSSAI, etc.) (section number to be confirmed)
TS 29.531 Nnssf (NSSelection / NSSAIAvailability, the SBI of N22)
TS 38.413 (NGAP sections) NGAP (N2) transport of the S-NSSAI (section number to be confirmed)

Handling of section numbers

TS 23.501 §5.15 (Network Slicing) and §6.2.14 (NSSF) are referenced as the skeleton of this chapter. However, the fine sub-numbers, the slice selection procedure of TS 23.502, the NSSAI sections of TS 24.501, and the individual NGAP section numbers of TS 38.413 may differ across versions, and some are to be confirmed. The individual values of the standardized SSTs / the encodings of S-NSSAIs, the IE names of NSSAI/S-NSSAI, and the fine details of Nnssf operation names are also to be confirmed, and this page does not assert values.

FAQ

Q1. What is a Network Slice?

A slice is a logically independent virtual network built on a common physical infrastructure. It is optimized per use case (eMBB/URLLC/mMTC, etc.), and each can have dedicated/shared NFs, resources, and policies (QoS/DNN, etc.). Even though the physical is one, it behaves as a separate network logically.

Q2. What is the difference between the SST and the SD of an S-NSSAI?

The SST (Slice/Service Type) represents the use-case category of a slice (a standardized value corresponding to eMBB/URLLC/mMTC, etc.; specific values to be confirmed) — the "broad classification." The SD (Slice Differentiator) is optional auxiliary information for further distinguishing within the same SST (the "finer classification"), and some S-NSSAIs have none. S-NSSAI = SST[+SD].

Q3. What is the difference between the Requested NSSAI and the Allowed NSSAI?

The Requested NSSAI is the set of slices the UE presents at registration, saying "I want to use these." The Allowed NSSAI is the set that the network (AMF) confirms by cross-checking against Subscribed/Configured, querying the NSSF when needed, saying "you may use these," and returns in the Registration Accept. The UE can use slices within the range of the Allowed NSSAI.

Q4. When is the NSSF used?

It is used when the AMF cannot resolve the slice on its own. The AMF can often decide the Allowed NSSAI on its own by cross-checking the Requested NSSAI against Subscribed/Configured, but when it cannot, it queries the NSSF with Nnssf_NSSelection (N22) and obtains the Allowed NSSAI and the appropriate AMF info. The NSSF also manages the available NSSAI per TA (NSSAIAvailability).

Q5. Can a single UE use multiple slices at the same time?

Yes. The UE can use multiple S-NSSAIs (slices) contained in the Allowed NSSAI at the same time. It can set up PDU sessions on each slice and use different slices per use case (e.g., eMBB and URLLC) in parallel (the upper limit on simultaneous use, etc., is configuration-dependent, to be confirmed).

Q6. Are there slices in 4G?

4G has no standardized slice concept like 5G's. As the nearest precursor concepts, there are service separation via APN and DECOR/eDECOR (dedicated core networks). DECOR/eDECOR are positioned as a precursor to 5G slicing, but they do not have S-NSSAI or an NSSF, and their granularity, flexibility, and degree of standardization differ (details to be confirmed).

Summary

  • Network Slicing is the mechanism for building multiple logically independent virtual networks (slices) on a common physical infrastructure and optimizing them per use case (eMBB/URLLC/mMTC).
  • A slice is identified by an S-NSSAI (SST[+SD]). The SST is the use-case category (broad classification; standard values to be confirmed), and the SD is the finer classification within the same SST (optional).
  • NSSAI is a set of S-NSSAIs, with four kinds: Requested (UE request) / Allowed (NW permission, returned in the Accept) / Configured (UE setting) / Subscribed (subscription).
  • Slice selection has a two-stage structure. At registration, the UE's Requested NSSAI → the AMF cross-checks against Subscribed/Configured, queries the NSSF (Nnssf, N22) when needed → returns the Allowed NSSAI (with AMF reselection depending on conditions). At PDU Session time, the in-slice SMF/UPF are chosen by S-NSSAI+DNN.
  • With URSP (distributed by the PCF), the UE decides which app/traffic goes onto which S-NSSAI/DNN.
  • 4G has no standardized slice; DECOR/eDECOR (dedicated core) is the precursor concept (to be confirmed).
  • The basis is TS 23.501 §5.15 (Network Slicing) / §6.2.14 (NSSF) / TS 23.502 / TS 24.501 / TS 29.531 (Nnssf) / TS 38.413 (S-NSSAI) (some of the section numbers, SST values, and IE names are to be confirmed).

Practice — comprehension check and exercises

Comprehension check

Q1. What is the identifier that identifies a slice, and what is it composed of? (answer)

The S-NSSAI (Single NSSAI). It is composed of an SST (Slice/Service Type, use-case category) plus an optional SD (Slice Differentiator, finer classification). The SD may be absent.

Q2. List the four kinds of NSSAI, and who holds/decides each? (answer)

Requested (requested by the UE) / Allowed (decided by the AMF and returned in the Accept) / Configured (set in the UE) / Subscribed (subscription data = UDM).

Q3. When is the NSSF used? (answer)

When the AMF cannot resolve the slice on its own. The AMF queries with Nnssf_NSSelection (N22) and obtains the Allowed NSSAI / appropriate AMF info. The NSSF also manages NSSAIAvailability (the available NSSAI per TA).

Q4. What are the two timings at which slice selection happens? (answer)

(1) At registration (deciding Requested NSSAI → Allowed NSSAI), (2) at PDU Session establishment (selecting the in-slice SMF/UPF by S-NSSAI+DNN).

Q5. Can a single UE use multiple slices? (answer)

Yes. It can use multiple S-NSSAIs within the Allowed NSSAI at the same time (the upper limit, etc., is configuration-dependent, to be confirmed).

Exercises

Question: Reorder the following main steps of "slice selection at registration" into the correct order.

A. The AMF returns the Allowed NSSAI in the Registration Accept
B. The UE sends a Registration Request carrying the Requested NSSAI
C. (conditional) The AMF queries the NSSF with Nnssf_NSSelection
D. The AMF cross-checks the Requested NSSAI against Subscribed / Configured
E. (conditional) AMF reselection (relocate to the appropriate AMF)
F. The AMF fetches the Subscribed S-NSSAI from the UDM
Answer

B → F → D → C → E → A

  • B: The UE presents the Requested NSSAI
  • F: The AMF fetches the Subscribed S-NSSAI from the UDM
  • D: Cross-check the Requested against Subscribed/Configured
  • C: (if it cannot resolve on its own) Nnssf_NSSelection to the NSSF
  • E: (if needed) AMF reselection
  • A: Return the Allowed NSSAI in the Registration Accept

  • C and E are omitted depending on conditions (situation- and implementation-dependent). This selection is not an independent procedure but is woven into Initial Registration. The ordering and branching are partly to be confirmed.

Next Step

Here are the next steps to deepen your understanding.