5GC实践篇之NSSF篇第10篇:UE注册未携带requestedNssai时的切片匹配
作者:爱卫生
1 测试背景与用例简介
在上一篇(第9篇)中,我们分析了UE注册时携带Requested NSSAI的场景——UE明确告诉网络"我要用切片1",但由于AMF SET1不支持切片1,触发了NSSF的切片匹配和AMF重定向流程。
本篇讨论的是一个更特殊的场景:UE发起注册时不携带Requested NSSAI,NSSF需要基于UE签约数据中的Default S-NSSAI进行切片匹配。
《5G核心网原理与实践》实践篇 · NSSF 网元功能
作者:爱卫生
在上一篇(第9篇)中,我们分析了UE注册时携带Requested NSSAI的场景——UE明确告诉网络"我要用切片1",但由于AMF SET1不支持切片1,触发了NSSF的切片匹配和AMF重定向流程。
本篇讨论的是一个更特殊的场景:UE发起注册时不携带Requested NSSAI,NSSF需要基于UE签约数据中的Default S-NSSAI进行切片匹配。
在实际网络中,UE不携带Requested NSSAI的常见原因包括:
UE首次入网:UE还没有获得Configured NSSAI,无法形成Requested NSSAI;
UE不支持标准切片:终端固件不具备切片选择能力(与第7、8篇类似,但本篇聚焦注册阶段);
UE无活跃切片需求:UE只是进行基本注册,暂时没有特定切片业务需求;
UE的Configured NSSAI为空:网络侧之前没有给UE下发过切片配置。
本篇的网络配置与第9篇完全相同,唯一的区别是UE在注册请求中不携带Requested NSSAI:
| 配置项 | 取值 | 与第9篇对比 |
|---|---|---|
| AMF SET1支持的切片 | S-NSSAI(2,X), S-NSSAI(3,X) | 相同 |
| UE签约切片 | S-NSSAI(1,X), S-NSSAI(2,X) | 相同 |
| UE默认签约切片 | S-NSSAI(1,X) | 相同 |
| UE请求切片(Requested NSSAI) | 未携带 | 区别: 第9篇携带了(1,X) |
|---|---|---|
| NSSF配置 | PLMN1-TA1-AMF SET1支持切片2和3 | 相同 |
nf-type |
AMF | AMF |
nf-id |
AMF SET1 UUID | AMF SET1 UUID |
subscribed-snssais |
(1,X), (2,X) | (1,X), (2,X) |
requested-snssais |
(1,X) | 无此参数 |
defaultConfiguredSnssaiInd |
可选 | true(关键参数) |
tai |
相同 | 相同 |
home-plmn-id |
相同 | 相同 |
subscribed-snssais |
UE签约切片列表 | 其中(1,X)标记为Default |
defaultConfiguredSnssaiInd |
使用Default Configured指示 | 告诉NSSF使用Default S-NSSAI进行匹配 |
requested-snssais |
UE请求切片列表 | 本场景中不存在 |
协议参考:根据3GPP TS 29.531 第5.3.2.2节,当UE未提供Requested NSSAI时,NSSF应使用Subscribed S-NSSAI中标记为Default的S-NSSAI作为匹配依据。
defaultConfiguredSnssaiInd参数用于明确告知NSSF启用此逻辑。
NSSF收到查询后,由于没有Requested NSSAI,采用基于Default S-NSSAI的匹配逻辑:
flowchart TD
A["NSSF收到NSSelection_Get请求(无Requested NSSAI)"] --> B["提取Default S-NSSAI: (1,X)"]
B --> C["查询NSSF切片策略库"]
C --> D["PLMN1-TA1-AMF SET1支持切片2和3"]
D --> E["查找支持切片1的AMF Set"]
E -->|"场景A: 找到AMF SET2支持切片1"| F["返回: 目标AMF=AMF SET2, Allowed NSSAI=(1,X)"]
E -->|"场景B: 没有AMF Set支持切片1"| G["返回: 空AuthorizedNetworkSliceInfo"]
style F fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style G fill:#ffcdd2,stroke:#c62828,stroke-width:2px
NSSF匹配算法对比(第9篇 vs 第10篇):
| 匹配维度 | 第9篇(有Requested NSSAI) | 第10篇(无Requested NSSAI) |
|---|---|---|
| 匹配输入 | Requested NSSAI(1,X) AND Subscribed(1,2) | Default Subscribed NSSAI(1,X) |
| 匹配结果 | 切片1 | 切片1(Default) |
| 查找目标 | 支持切片1的AMF | 支持Default切片1的AMF |
| 最终结果 | 可能相同 | 可能相同 |
NSSF返回的响应与第9篇类似,但匹配的依据不同:
场景A:NSSF找到了支持Default切片(1,X)的AMF
# NSSF -> AMF SET1(切片选择响应——成功匹配)
Frame: 326
HEADERS: 200 OK
JavaScript Object Notation: application/json
Object
Member Key: targetAmfSet
String value: "AMF_SET2_XXXXXXXX"
# 支持Default切片1的目标AMF Set
Member Key: allowedNssai
Array
Object
Member Key: sst
Number value: 1
Member Key: sd
String value: "XXXXXXX"
# Allowed NSSAI: Default切片1
Member Key: candidateAmfList
Array
Object
Member Key: nfInstanceId
String value: "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
Member Key: ipEndPoints
Array
Object
Member Key: ipAddress
String value: "10.XX.XX.XX"
Member Key: port
Number value: 8080
Member Key: authorizedNetworkSliceInfo
Object
# 完整的授权切片信息
场景B:NSSF未找到匹配策略(源文件描述的实际结果)
# NSSF -> AMF SET1(切片选择响应——无匹配)
Frame: 326
HEADERS: 200 OK
JavaScript Object Notation: application/json
Object
# 空的 AuthorizedNetworkSliceInfo
# NSSF上无支持该UE的Default Subscribed S-NSSAI的AMF Set
# AMF SET1 -> UE(注册拒绝)
Frame: 330
NAS-5GS Registration Reject
5GMM cause: 62
# 62 = No suitable cells in tracking area
# 也可以使用其他原因值, 如:
# 73 = S-NSSAI not supported in current PLMN
NSSF响应为空时的原因分析:
在本测试的网络配置下,NSSF配置了:
PLMN1 -> TA1 -> AMF SET1 -> 切片2
PLMN1 -> TA1 -> AMF SET1 -> 切片3
而UE的Default S-NSSAI是(1,X)。在NSSF的整个策略库中,没有任何AMF Set被配置为支持切片1。因此NSSF返回空的AuthorizedNetworkSliceInfo,AMF只能拒绝注册。
协议参考:根据3GPP TS 29.531 第5.3.2.3节,当NSSF无法为UE找到任何可用的切片策略时,将返回200 OK但包含空的AuthorizedNetworkSliceInfo。AMF收到此响应后应拒绝UE的注册请求。
将两篇放在一起,可以全面理解NSSF在注册流程中的切片匹配机制:
完整决策对比矩阵:
| 对比维度 | 第9篇(有Requested NSSAI) | 第10篇(无Requested NSSAI) |
|---|---|---|
| UE输入 | Requested NSSAI = (1,X) | 无 |
| AMF判断依据 | Requested AND Subscribed交集 | Default Subscribed S-NSSAI |
| NSSF查询参数 | 包含requested-snssais | 不包含,使用defaultConfiguredSnssaiInd |
| NSSF匹配依据 | Requested NSSAI(1,X) | Default NSSAI(1,X) |
| 匹配结果 | 查找支持(1,X)的AMF | 查找支持Default(1,X)的AMF |
| 可能的最终结果 | 重定向或拒绝 | 重定向或拒绝 |
AMF完整的判断决策树(综合第9篇和第10篇):
flowchart TD
A["AMF收到Registration Request"] --> B["UE是否携带Requested NSSAI"]
B -->|"携带"| C["计算交集: Requested AND Subscribed"]
B -->|"未携带"| D["确定Default Subscribed S-NSSAI"]
C --> E["交集是否在AMF支持范围"]
D --> F["Default NSSAI是否在AMF支持范围"]
E -->|"全部支持"| G["AMF直接处理, 无需NSSF"]
E -->|"部分或全部不支持"| H["查询NSSF(with requested-snssais)"]
F -->|"全部支持"| G
F -->|"不支持"| I["查询NSSF(with defaultConfiguredSnssaiInd)"]
H --> J["NSSF返回结果"]
I --> J
J -->|"有目标AMF"| K["重定向到目标AMF"]
J -->|"空结果"| L["Registration Reject"]
style G fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style K fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style L fill:#ffcdd2,stroke:#c62828,stroke-width:2px
Default S-NSSAI的重要性:
Default S-NSSAI是UE在未明确请求切片时的"保底切片"。运营商在UDM中为用户配置Default S-NSSAI时,需要特别注意:
| 配置建议 | 说明 |
|---|---|
| Default切片应为通用切片 | 如eMBB(SST=1),确保大多数AMF都支持 |
| Default切片应有广泛覆盖 | 确保在网络大部分区域都有AMF支持 |
| 避免将特殊切片设为Default | 如URLLC或mMTC切片,可能导致大面积注册失败 |
| 配置冗余AMF Set | 为Default切片配置多个AMF Set,提高可靠性 |
Default S-NSSAI的来源:
| 来源 | 说明 |
|---|---|
| UDM签约数据 | Subscribed S-NSSAI中defaultIndication=true的条目 |
| AMF本地配置 | 运营商配置的默认切片策略(当UDM无Default标记时使用) |
| NSSF推荐 | NSSF在切片选择响应中推荐的Default切片 |
协议参考:根据3GPP TS 23.501 第5.15.2节,每个UE的Subscribed S-NSSAI列表中至少有一个S-NSSAI应被标记为Default。当UE未提供Requested NSSAI时,网络使用Default S-NSSAI作为UE的切片选择。
| 验证项 | 结果 | 说明 |
|---|---|---|
| UE未携带Requested NSSAI注册 | OK | UE在Registration Request中不携带Requested NSSAI |
| AMF获取签约数据 | OK | UDM返回Subscribed S-NSSAI: (1,X)Default, (2,X) |
| AMF判断Default NSSAI不可用 | OK | Default切片(1,X)不在AMF SET1支持范围(2,3) |
| AMF向NSSF发送切片查询 | OK | Nnssf_NSSelection_Get携带subscribed-snssais和defaultConfiguredSnssaiInd |
| NSSF基于Default NSSAI匹配 | OK | NSSF使用Default切片(1,X)进行匹配 |
| 最终结果 | 拒绝 | NSSF返回空AuthorizedNetworkSliceInfo,AMF拒绝注册 |
本测试用例验证了UE注册未携带Requested NSSAI时NSSF基于Default S-NSSAI的切片匹配机制。与第9篇(携带Requested NSSAI)的核心区别在于:
AMF的判断依据:从"Requested AND Subscribed交集"变为"Default Subscribed S-NSSAI";
NSSF的查询参数:从包含requested-snssais变为使用defaultConfiguredSnssaiInd;
NSSF的匹配逻辑:从基于UE显式请求变为基于Default标记。
在本测试的具体配置下,由于网络中没有AMF Set支持切片1(UE的Default切片),最终结果是注册拒绝。这提醒运维人员:确保Default切片在网络中有充足的AMF覆盖,是保障UE基本接入能力的关键。
关于作者:爱卫生,从事通信教学18年,出版过《5G核心网原理与实践》等4本专业书籍。学5G核心网、IMS,来51学通信就对了!知识星球:200+小时视频、3000+精华文章、1年答疑群。公众号/知识星球:51学通信,微信:gprshome201101