<!-- title: 5G NSSF切片选择与S-NSSAI协商信令拆解 -->
<!-- domain: slicing-mec -->

# 5G NSSF切片选择与S-NSSAI协商信令拆解

> **规范依据**：TS 23.501 V18.9.0 §5.15 / TS 23.502 V18.7.0 §4.2.2.2.2 / TS 29.531 V18.5.0 §6.1

## 1 引言：为什么需要NSSF

5G网络切片是3GPP SA2架构组设计的核心能力之一。一个PLMN可以同时运营多个逻辑网络——eMBB、URLLC、MIoT、V2X——它们共享物理基础设施但拥有独立的SLA保障。**NSSF（Network Slice Selection Function）** 的职责就是在UE注册和PDU会话建立过程中，根据用户的签约切片、当前TAI、PLMN策略等因素，决定UE可以使用哪些切片（Allowed NSSAI），以及这些切片对应的AMF Set、NSI ID和SMF候选列表。

与4G EPS中MME统一承担接入控制不同，5GC将切片选择逻辑从AMF剥离为独立NF，使得运营商可以灵活地在不修改AMF逻辑的前提下扩展切片组合。这一设计带来的直接后果是：**一次初始注册可能触发AMF重选——初始AMF发现自己无法服务UE请求的切片时，必须通过NSSF查询后转发注册请求到目标AMF。**

本文将从S-NSSAI数据结构出发，逐步拆解Nnssf_NSSelection_Get API的请求/响应参数、注册流程中的NSSF交互、PDU会话建立中的SMF选择辅助、以及NSSAA和NSAC等扩展机制。

---

## 2 S-NSSAI与NSSAI数据模型

### 2.1 S-NSSAI结构

每个切片由一个**S-NSSAI（Single Network Slice Selection Assistance Information）** 标识。S-NSSAI由两部分组成（TS 23.501 §5.15.2.1）：

| 字段 | 长度 | 必选/可选 | 含义 |
|------|------|----------|------|
| **SST**（Slice/Service Type） | 8 bit（标准值）或可变长度（非标准） | **必选** | 指示切片的业务类型 |
| **SD**（Slice Differentiator） | 可变长度 | 可选 | 在同一SST下区分不同切片实例 |

**标准SST值**（TS 23.501 §5.15.2.2 Table 5.15.2.2-1）：

| SST值 | 十进制 | 业务类型 | 典型场景 |
|-------|--------|----------|----------|
| 0 | — | 保留 | — |
| 1 | eMBB | 增强移动宽带 | 高速视频、大带宽应用 |
| 2 | URLLC | 超可靠低时延通信 | 工业自动化、远程手术 |
| 3 | MIoT | 大规模物联网 | 传感器网络、智慧城市 |
| 4 | V2X | 车联网 | 自动驾驶、V2V/V2I |
| 5 | HMTC | 高性能机器类型通信 | AR/VR、云游戏 |
| 6 | HDLLC | 高数据速率低时延 | 工业检测、高清视频监控 |

> **关键约束**：标准SST值在所有PLMN中具有全局唯一含义；非标准SST值仅在归属PLMN内有意义。HPLMN的S-NSSAI与VPLMN的S-NSSAI之间通过**MappingOfNssai**建立映射关系，漫游场景下由NSSF完成映射。

### 2.2 NSSAI分类与生命周期

TS 23.501 §5.15.2.1定义了以下NSSAI类型，它们在不同阶段出现：

| NSSAI类型 | 来源 | 最多包含S-NSSAI数 | 使用阶段 |
|-----------|------|-------------------|----------|
| **Subscribed S-NSSAI** | UDM签约数据 | 最多16个 | 注册阶段（AMF从UDM获取） |
| **Configured NSSAI** | AMF/NSSF按TAI配置 | 8个 | UE开机附着、5GS Registration Request |
| **Requested NSSAI** | UE在Registration Request中携带 | 8个 | 初始注册、移动性注册更新 |
| **Allowed NSSAI** | NSSF或AMF授权后返回 | 8个 | 注册完成后UE可用切片集合 |
| **Pending NSSAI** | 待NSSAA认证的切片 | — | 切片特定认证未完成前 |
| **Partially Allowed NSSAI** | 部分S-NSSAI被授权 | — | NSSAA流程中部分通过认证 |

**最大S-NSSAI数量规则**（TS 23.501 §5.15.2.1）：
- Requested NSSAI、Allowed NSSAI、Configured NSSAI均**不超过8个**S-NSSAI
- Subscribed S-NSSAI**不超过16个**

---

## 3 Nnssf_NSSelection服务API拆解

NSSF对外暴露的SBI服务名为**Nnssf_NSSelection**，定义于TS 29.531 §6.1。核心操作为**Nnssf_NSSelection_Get**（HTTP GET），AMF在无法自行确定Allowed NSSAI时调用此操作。

### 3.1 请求参数

Nnssf_NSSelection_Get通过URI查询参数传递请求信息（TS 29.531 §6.1.3.2.3.1）：

```
GET /nnssf-nsselection/v1/network-slice-information
    ?nf-type=AMF
    &nf-id={amfId}
    &slice-info-request-for-registration={SliceInfoForRegistration}
    &tai={Tai}
    &home-plmn-id={PlmnId}
```

**SliceInfoForRegistration**（TS 29.531 §6.1.6.2.10）关键字段：

| 属性名 | 类型 | 必选 | 说明 |
|--------|------|------|------|
| subscribedNssai | array(SubscribedSnssai) | 否 | UDM签约切片列表 |
| requestedNssai | array(Snssai) | 否 | UE请求的NSSAI |
| allowedNssaiCurrentAccess | array(AllowedSnssai) | 否 | 当前接入类型已允许的NSSAI |
| allowedNssaiOtherAccess | array(AllowedSnssai) | 否 | 其他接入类型已允许的NSSAI |
| mappingOfNssai | array(MappingOfNssai) | 否 | HPLMN与VPLMN的S-NSSAI映射 |
| defaultConfiguredSnssaiInd | boolean | 否 | 指示是否使用默认配置的S-NSSAI |
| ueSupNssrgInd | boolean | 否 | UE是否支持NSSRG |
| nsagSupported | boolean | 否 | UE是否支持NSAG |

**SliceInfoForPDUSession**（TS 29.531 §6.1.6.2.11）用于PDU会话场景：

| 属性名 | 类型 | 必选 | 说明 |
|--------|------|------|------|
| sNssai | Snssai | **是** | 目标S-NSSAI |
| roamingIndication | RoamingIndication | **是** | 漫游指示（非漫游/LBO/归属路由） |
| homeSnssai | Snssai | 否 | 归属S-NSSAI（漫游时映射用） |

### 3.2 响应参数

NSSF返回**AuthorizedNetworkSliceInfo**（TS 29.531 §6.1.6.2.2），这是整个切片选择流程的核心响应数据结构：

| 属性名 | 类型 | 说明 |
|--------|------|------|
| allowedNssaiList | array(AllowedNssai) | 按接入类型划分的Allowed NSSAI列表 |
| targetAmfSet | string | 目标AMF Set标识（触发AMF重选时） |
| candidateAmfList | array(AmfInfo) | 候选AMF实例列表 |
| nsiInformation | array(NsiInformation) | 网络切片实例信息（含NSI ID和对应NRF） |
| rejectedNssaiInPlmn | array(Snssai) | PLMN级别被拒绝的S-NSSAI |
| rejectedNssaiInTa | array(Snssai) | 当前TA级别被拒绝的S-NSSAI |
| configuredNssai | array(Snssai) | 为UE配置的NSSAI |
| targetNssai | array(Snssai) | 目标NSSAI（指示UE应切换到其他频率/TA） |
| nrfAmfSet | Uri | 目标AMF Set对应的NRF地址 |
| nrfNsiInformationList | array(NrfNsiInformation) | 每个NSI对应的NRF信息 |

**NsiInformation**（TS 29.531 §6.1.6.2.7）包含：
- **nsiId**：网络切片实例标识
- **nrfId**：该NSI对应NRF的URI
- **nrfNfMgtUri**：NRF NF管理服务的URI
- **nrfAccessTokenUri**：NRF OAuth2令牌端点URI

---

## 4 注册流程中NSSF交互全流程拆解

### 4.1 总体流程概览

当UE发起初始注册或移动性注册更新时，如果初始AMF发现UE Requested NSSAI中的切片超出了自己的服务能力，就必须与NSSF交互。TS 23.502 §4.2.2.2.2详细定义了这一流程。

```mermaid
sequenceDiagram
    participant UE
    participant RAN as (R)AN
    participant AMF as Initial AMF
    participant UDM
    participant NSSF
    participant NRF as NRF(AMF Set)
    participant Target as Target AMF

    UE->>RAN: Registration Request<br/>(Requested NSSAI)
    RAN->>AMF: N2 Initial UE Message<br/>(Registration Request + TAI)

    Note over AMF: Step 2: AMF检查自己是否能服务<br/>Requested NSSAI中的所有切片

    alt AMF不能确定Allowed NSSAI
        AMF->>UDM: Nudm_SDM_Get<br/>(Slice Selection Subscription Data)
        UDM-->>AMF: Subscribed S-NSSAIs<br/>(最多16个)

        Note over AMF: Step 3b-3c: AMF评估<br/>Requested NSSAI vs Subscribed S-NSSAIs

        AMF->>NSSF: Nnssf_NSSelection_Get<br/>(SliceInfoForRegistration<br/>+ TAI + PLMN ID)
        NSSF-->>AMF: AuthorizedNetworkSliceInfo<br/>(Allowed NSSAI + Target AMF Set<br/>+ NSI Info + Rejected S-NSSAIs)

        Note over AMF: Step 5: AMF发现Target AMF Set<br/>不同于自身

        AMF->>NRF: Nnrf_NFDiscovery<br/>(nf-type=AMF, target-amf-set)
        NRF-->>AMF: Candidate AMF List

        alt Direct Forwarding (Step 7A)
            AMF->>Target: Namf_Communication_UEContextTransfer<br/>(Registration Request)
            Target-->>AMF: UE Context
            AMF->>Target: Namf_Communication_RegStatusTransfer
        else Via RAN Reroute (Step 7B)
            AMF->>RAN: N2 AMF Reroute<br/>(Target AMF Set + Registration Request)
            RAN->>Target: N2 Initial UE Message<br/>(Registration Request)
        end

        Target-->>UE: Registration Accept<br/>(Allowed NSSAI)
    end
```

### 4.2 Step 2：AMF自评估决策

AMF收到Registration Request后，首先检查**Requested NSSAI**（如果携带）与自身的服务能力。AMF的决策逻辑分为三种路径（TS 23.501 §5.15.5.2.1）：

**路径A——AMF自行确定Allowed NSSAI**：
- AMF已配置了当前TAI下所有可用的S-NSSAI
- Requested NSSAI中的所有S-NSSAI均在Subscribed S-NSSAIs内
- AMF不需要查询NSSF，直接根据本地配置和签约数据确定Allowed NSSAI

**路径B——AMF查询NSSF**：
- AMF配置了NSSF地址且无法自行确定Allowed NSSAI
- 可能原因：Requested NSSAI包含AMF不认识的S-NSSAI、需要确定AMF Set、需要获取NSI Information

**路径C——AMF确定Registration Area**：
- 当Allowed NSSAI在不同TAI集合中可用时，NSSF需要协助确定最优的Registration Area

### 4.3 Step 3a-3c：UDM签约数据查询

AMF通过**Nudm_SDM_Get**服务从UDM获取**Slice Selection Subscription Data**，包含：
- **Subscribed S-NSSAIs**：UE签约的所有切片（最多16个），每个标注是否为Default S-NSSAI
- **NSSRG信息**：网络切片同时注册组的约束条件（如果配置）
- **Prohibited S-NSSAIs**：禁止UE使用的切片（如果配置）

### 4.4 Step 4a-4b：Nnssf_NSSelection_Get核心交互

AMF构建**SliceInfoForRegistration**请求体，向NSSF发送查询。以下是一个典型的请求示例：

```json
{
  "sliceInfoRequestForRegistration": {
    "subscribedNssai": [
      {"subscribedSnssai": {"sst": 1, "sd": "000001"}, "defaultIndication": true},
      {"subscribedSnssai": {"sst": 2, "sd": "000002"}, "defaultIndication": false},
      {"subscribedSnssai": {"sst": 3}, "defaultIndication": false}
    ],
    "requestedNssai": [
      {"sst": 1, "sd": "000001"},
      {"sst": 2, "sd": "000002"}
    ],
    "mappingOfNssai": [],
    "defaultConfiguredSnssaiInd": false,
    "ueSupNssrgInd": true
  },
  "tai": {"plmnId": {"mcc": "460", "mnc": "00"}, "tac": "0001"},
  "nfType": "AMF"
}
```

NSSF的处理逻辑：

1. **签约校验**：将Requested NSSAI中的每个S-NSSAI与Subscribed S-NSSAIs比对，不在签约列表中的直接标记为Rejected
2. **TAI可用性检查**：检查每个签约S-NSSAI在当前TAI下是否可用（运营商配置）
3. **AMF Set映射**：根据Allowed NSSAI确定目标AMF Set
4. **NSI Information关联**：为每个Allowed S-NSSAI关联对应的NSI ID和NRF地址
5. **NSSRG约束检查**：如果UE和运营商都支持NSSRG，验证同时注册的切片组合是否合规

NSSF返回的典型响应：

```json
{
  "allowedNssaiList": [
    {
      "allowedSnssaiList": [
        {"allowedSnssai": {"sst": 1, "sd": "000001"}, "nsiInformationList": [{"nsiId": "nsi-001", "nrfId": "https://nrf1.5gc.mnc000.mcc460.3gppnetwork.org"}]},
        {"allowedSnssai": {"sst": 2, "sd": "000002"}, "nsiInformationList": [{"nsiId": "nsi-002", "nrfId": "https://nrf2.5gc.mnc000.mcc460.3gppnetwork.org"}]}
      ],
      "accessType": "3GPP_ACCESS"
    }
  ],
  "targetAmfSet": "amf-set-2",
  "nrfAmfSet": "https://nrf-set2.5gc.mnc000.mcc460.3gppnetwork.org/nnrf-disc/v1",
  "rejectedNssaiInTa": [{"sst": 3}],
  "nsiInformation": [
    {"nsiId": "nsi-001", "nrfId": "https://nrf1.5gc.mnc000.mcc460.3gppnetwork.org"},
    {"nsiId": "nsi-002", "nrfId": "https://nrf2.5gc.mnc000.mcc460.3gppnetwork.org"}
  ]
}
```

### 4.5 Step 5-7：AMF重选决策

```mermaid
flowchart TD
    A[AMF收到NSSF响应] --> B{targetAmfSet存在?}
    B -->|否| C[AMF继续服务UE<br/>确定Allowed NSSAI]
    B -->|是| D{targetAmfSet == 自身?}
    D -->|是| C
    D -->|否| E{AMF有Namf_Communication<br/>到目标AMF的路径?}
    E -->|是| F[路径7A: 直接转发<br/>Namf_Communication<br/>UEContextTransfer]
    E -->|否| G[路径7B: 经RAN重路由<br/>N2 AMF Reroute<br/>携带Target AMF Set]
    F --> H[Target AMF继续<br/>注册流程]
    G --> H

    style A fill:#e1f5fe
    style C fill:#c8e6c9
    style H fill:#c8e6c9
    style F fill:#fff3e0
    style G fill:#fff3e0
```

**路径7A——直接转发**（TS 23.502 §4.2.2.2.2 Step 7A）：
- 初始AMF通过NRF发现目标AMF Set中的候选AMF
- 调用**Namf_Communication_UEContextTransfer**将UE上下文转发到目标AMF
- 调用**Namf_Communication_RegStatusTransfer**通知注册状态转移
- 目标AMF继续执行注册流程的剩余步骤

**路径7B——经RAN重路由**（TS 23.502 §4.2.2.2.2 Step 7B）：
- 初始AMF向(R)AN发送**N2 AMF Reroute**消息，携带Target AMF Set信息和原始Registration Request
- (R)AN根据Target AMF Set选择目标AMF，重新发送**N2 Initial UE Message**
- 目标AMF从头开始处理注册请求（可能需要重新查询UDM和NSSF）

> **工程实践提示**：路径7A效率更高，避免了重复的UDM/NSSF查询；路径7B更通用，适用于AMF间无直接SBI连接的场景。运营商应根据网络拓扑选择合适策略。

---

## 5 PDU会话建立中的NSSF交互

### 5.1 SMF选择辅助

在PDU会话建立过程中，AMF需要为UE请求的S-NSSAI选择合适的SMF。如果AMF无法根据本地配置确定SMF，则需要再次查询NSSF——但这次使用的是**SliceInfoForPDUSession**请求类型（TS 23.502 §4.3.2.2.3）。

```mermaid
sequenceDiagram
    participant UE
    participant AMF
    participant NSSF
    participant NRF
    participant SMF

    UE->>AMF: NAS PDU Session Establishment Request<br/>(DNN + S-NSSAI)

    Note over AMF: AMF检查本地SMF选择配置

    alt AMF无法确定SMF
        AMF->>NSSF: Nnssf_NSSelection_Get<br/>(SliceInfoForPDUSession<br/>sNssai + roamingIndication)
        NSSF-->>AMF: AuthorizedNetworkSliceInfo<br/>(nsiInformation含NRF)
        AMF->>NRF: Nnrf_NFDiscovery<br/>(nf-type=SMF, sNssai, nsiId)
        NRF-->>AMF: SMF候选列表
    end

    AMF->>SMF: Nsmf_PDUSession_CreateSMContext
    SMF-->>AMF: SM Context Created
```

**非漫游/LBO场景**（TS 23.502 §4.3.2.2.3.2）：
- AMF直接向NSSF查询目标S-NSSAI对应的NSI Information
- NSSF返回该NSI对应的NRF地址
- AMF通过该NRF发现服务该切片的SMF

**归属路由漫游场景**（TS 23.502 §4.3.2.2.3.3）：
- V-AMF向V-NSSF查询
- V-NSSF与H-NSSF交互完成跨PLMN的切片映射
- H-NSSF返回归属侧的S-NSSAI映射和H-SMF选择信息
- V-NSSF综合返回V-SMF和H-SMF的候选信息

### 5.2 Target NSSAI机制

TS 23.501 §5.3.4.3.3定义了**Target NSSAI**机制：当NSSF在响应中包含`targetNssai`字段时，表示某些Allowed S-NSSAI只能在特定的频率或TA中使用。AMF在Registration Accept中将Target NSSAI信息传递给UE，触发UE执行以下操作之一：
- 移动到Target NSSAI指示的频率
- 移动到Target NSSAI指示的TA
- 在新频率/TA下发起移动性注册更新以获取完整切片服务

---

## 6 扩展机制

### 6.1 NSSAA——切片特定认证与授权

NSSAA（Network Slice-Specific Authentication and Authorization）定义于TS 23.501 §5.15.10，允许运营商对特定切片执行独立的AAA认证。流程如下：

1. NSSF在Allowed NSSAI中将需要NSSAA的S-NSSAI标记为**Pending NSSAI**
2. AMF在Registration Accept中同时返回Allowed NSSAI和Pending NSSAI
3. AMF触发NSSAA流程，通过**NSSAAF**（Network Slice-Specific AAA Function）与外部AAA Server交互
4. NSSAA成功后，AMF通过**Nnssf_NSSAIAvailability_Notify**通知NSSF更新切片可用性
5. NSSF将Pending S-NSSAI升级为Allowed S-NSSAI
6. AMF通过**UE Configuration Update**流程将新的Allowed NSSAI下发给UE

### 6.2 NSAC——切片接纳控制

NSAC（Network Slice Admission Control）定义于TS 23.501 §5.15.11，对每个切片的注册UE数和PDU会话数设置上限。NSACF与NSSF协同工作：

- NSSF确定Allowed NSSAI时考虑NSAC策略
- AMF在UE注册和PDU会话建立时向NSACF报告资源占用
- 当切片达到容量上限时，NSACF通知NSSF拒绝新的接纳请求

### 6.3 NSSRG——切片同时注册组

NSSRG（Network Slice Simultaneous Registration Group）限制UE可以同时注册的切片组合。当UE签约的S-NSSAI跨越多个NSSRG时，UE在同一时刻只能注册属于同一NSSRG的切片子集。NSSF在确定Allowed NSSAI时执行NSSRG约束检查（TS 29.531 §6.1.6.2.10的`ueSupNssrgInd`参数用于指示UE是否支持此机制）。

---

## 7 Nnssf_NSSAIAvailability通知机制

除了核心的切片选择服务，NSSF还提供**Nnssf_NSSAIAvailability**服务（TS 29.531 §6.2），允许AMF订阅和通知切片可用性变化：

| 操作 | HTTP方法 | 用途 |
|------|----------|------|
| NSSAIAvailability_Subscribe | POST | AMF订阅某个TAI下切片可用性变化通知 |
| NSSAIAvailability_Unsubscribe | DELETE | 取消订阅 |
| NSSAIAvailability_Notify | POST（回调） | NSSF向AMF通知切片可用性变化 |
| NSSAI Availability Get | GET | AMF查询某个TAI下可用的S-NSSAI |

当运营商修改切片配置（如新增S-NSSAI、调整TAI覆盖范围）时，NSSF通过Notify通知已订阅的AMF，AMF可在不重新查询NSSF的情况下更新本地配置。

---

## 8 关键IE参数速查表

| IE名称 | 所属消息/响应 | 类型 | 取值范围/说明 |
|--------|-------------|------|-------------|
| sst | Snssai | integer(0..255) | 标准值1-6，0保留 |
| sd | Snssai | string(3字节hex) | 可选，如"000001" |
| allowedSnssai | AllowedSnssai | Snssai + nsiInformationList | 含NSI关联信息 |
| targetAmfSet | AuthorizedNetworkSliceInfo | string | AMF Set标识符 |
| nsiId | NsiInformation | string | 网络切片实例ID |
| nrfId | NsiInformation | Uri | 对应NRF的完整URI |
| rejectedNssaiInPlmn | AuthorizedNetworkSliceInfo | array(Snssai) | PLMN级别被拒切片 |
| rejectedNssaiInTa | AuthorizedNetworkSliceInfo | array(Snssai) | TA级别被拒切片 |
| targetNssai | AuthorizedNetworkSliceInfo | array(Snssai) | 需切换频率/TA的切片 |
| defaultIndication | SubscribedSnssai | boolean | 是否为默认签约切片 |
| roamingIndication | SliceInfoForPDUSession | enum | NON_ROAMING / LOCAL_BREAKOUT / HOME_ROUTED_ROAMING |
| accessType | AllowedNssai | enum | 3GPP_ACCESS / NON_3GPP_ACCESS |

---

## 9 故障排查实战指南

### 9.1 注册失败：切片被拒绝

**现象**：UE Registration Accept中Allowed NSSAI为空或不包含Requested NSSAI中的切片。

**排查路径**：

1. **检查UDM签约数据**：通过`Nudm_SDM_Get`确认Subscribed S-NSSAIs是否包含UE请求的切片。如果签约数据中没有对应S-NSSAI，需要联系运营商运维人员更新签约
2. **检查NSSF响应中的rejectedNssaiInPlmn/rejectedNssaiInTa**：
   - `rejectedNssaiInPlmn`：整个PLMN不可用——检查运营商切片部署策略
   - `rejectedNssaiInTa`：当前TA不可用——检查TAI配置和切片覆盖范围
3. **检查NSSAA状态**：如果S-NSSAI在Pending NSSAI中，说明NSSAA认证未完成。检查NSSAAF日志和AAA Server连通性
4. **检查NSAC阈值**：如果切片已达容量上限，NSAC会拒绝新的注册。检查NSACF的当前计数和配置上限

### 9.2 AMF重选循环

**现象**：UE注册请求在多个AMF之间反复转发，无法完成注册。

**排查路径**：

1. 检查NSSF返回的`targetAmfSet`是否正确——NSSF的切片-AMF Set映射配置错误可能导致循环
2. 检查AMF Set的NRF注册状态——目标AMF可能未正确注册到NRF，导致发现失败
3. 检查路径7A和7B的选择策略——如果AMF间SBI连接不稳定但选择了直接转发，可能导致超时后回退到RAN重路由

### 9.3 PDU会话建立失败：SMF选择失败

**现象**：UE注册成功但无法建立PDU会话，AMF日志显示SMF discovery失败。

**排查路径**：

1. 确认NSSF返回的NSI Information中NRF地址是否可达
2. 确认目标NSI ID下是否有SMF注册——检查SMF的Nnrf_NFManagement_NFRegister中的sNssaiList
3. 漫游场景下检查V-NSSF与H-NSSF的N32互连状态

---

## 10 FAQ

**Q1：AMF何时自行确定Allowed NSSAI、何时必须查询NSSF？**

A：当AMF已配置当前TAI下所有可用S-NSSAI的信息（包括NSI ID、AMF Set等），且UE Requested NSSAI中的切片均在AMF服务范围内时，AMF可自行确定Allowed NSSAI（路径A）。当AMF缺少某些切片的配置信息，或需要确定目标AMF Set时，必须查询NSSF（路径B）。

**Q2：漫游场景下NSSF如何处理跨PLMN切片映射？**

A：VPLMN的V-NSSF收到V-AMF查询后，将VPLMN的S-NSSAI映射为HPLMN的S-NSSAI（通过MappingOfNssai），然后与H-NSSF交互获取归属侧的切片授权信息。H-NSSF返回的Authorized NSSAI再由V-NSSF映射回VPLMN的S-NSSAI返回给V-AMF。

**Q3：一个UE最多可以同时使用多少个切片？**

A：Allowed NSSAI最多包含8个S-NSSAI（TS 23.501 §5.15.2.1），这是UE在同一时刻可同时使用的切片上限。但签约的S-NSSAI可达16个，通过Configuration Update Command可以动态调整Allowed NSSAI的成员。

**Q4：NSSF是无状态的吗？**

A：NSSF本身不存储UE上下文，每次查询基于请求参数和运营商配置进行无状态决策。但NSSF维护全局的切片-AMF Set映射、TAI可用性等配置数据。NSSAIAvailability订阅机制是NSSF为数不多的有状态交互。

**Q5：NSSAA和主认证的关系是什么？**

A：NSSAA是**补充认证**，在5G-AKA/EAP-AKA'主认证完成后执行。NSSAA针对特定切片的第三方AAA认证（如企业专网的证书认证），不替代主认证。主认证建立的是PLMN级别的信任，NSSAA建立的是切片级别的授权。

**Q6：Target NSSAI和Allowed NSSAI有何区别？**

A：Allowed NSSAI是UE当前可直接使用的切片集合；Target NSSAI是NSSF指示UE需要移动到特定频率/TA后才能使用的切片。Target NSSAI机制用于运营商将不同切片部署在不同频段/区域的场景。

---

## 参考文献

| 编号 | 来源 | 内容 |
|------|------|------|
| [1] | 3GPP TS 23.501 V18.9.0 §5.15 | Network Slicing架构定义、S-NSSAI数据模型、NSSAI生命周期 |
| [2] | 3GPP TS 23.502 V18.7.0 §4.2.2.2.2 | Registration with AMF Re-allocation流程、NSSF交互步骤 |
| [3] | 3GPP TS 23.502 V18.7.0 §4.3.2.2.3 | PDU Session中SMF选择的NSSF辅助流程 |
| [4] | 3GPP TS 29.531 V18.5.0 §6.1 | Nnssf_NSSelection服务API、AuthorizedNetworkSliceInfo数据类型 |
| [5] | 3GPP TS 29.531 V18.5.0 §6.2 | Nnssf_NSSAIAvailability订阅通知服务 |
| [6] | free5GC NSSF实现 | github.com/free5gc/nssf — 开源5GC中NSSF的参考实现 |
| [7] | 5G6G Academy | NSSF Network Slice Selection Function技术详解 |
| [8] | 3glteinfo | 5G Network Slicing Architecture and NSSF Operations |

---

> **关于作者**：本文基于3GPP Release 18规范自动生成，聚焦NSSF切片选择与S-NSSAI协商信令的深度技术拆解。所有规范引用均标注具体章节号，便于读者溯源查证。
>
> **订阅获取每日3GPP技术深度解析** | Powered by **5G信令拆解实验室**

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
