这是一个在实际网络中经常遇到的场景。例如,某企业用户的UE中预配置了eMBB(SST=1)和URLLC(SST=2)两种切片的Configured NSSAI。但由于运营商套餐变更或企业策略调整,该用户的签约数据中已不包含URLLC切片。当UE开机注册时,仍然会请求URLLC切片(因为终端保存的Configured NSSAI尚未更新)。AMF需要识别出URLLC不在签约列表中,将其从Allowed NSSAI中排除。
理解切片拒绝机制对于保障网络安全和资源隔离至关重要。如果网络不加区分地接受UE的所有切片请求,可能导致未授权的资源访问和切片间干扰。
2 协议规范与关键技术
2.1 相关协议规范
本篇涉及的协议规范重点在于NAS层面的切片拒绝机制:
-
TS 23.501 第5.15节:定义了Allowed NSSAI的生成规则,明确指出Allowed NSSAI必须是Requested NSSAI与Subscribed NSSAI的交集。不在交集中的S-NSSAI不得出现在Allowed NSSAI中。
-
TS 23.502 第4.2.2.2.2节:注册流程中切片选择的完整描述,包括AMF处理未签约S-NSSAI的步骤。
-
TS 24.501 第5.4.4.2节:Registration Request消息中Requested NSSAI信元的编码格式。特别关注以下内容:
-
当UE有有效安全上下文时,Requested NSSAI在Registration Request中加密传输;
-
当UE没有有效安全上下文时,Requested NSSAI在Security Mode Complete消息中传输。
-
TS 24.501 第5.4.4.3节:Registration Accept消息中Allowed NSSAI信元的编码格式。
-
TS 29.503:UDM服务接口,Nudm_SDM_Get获取签约NSSAI。
2.2 安全上下文与Requested NSSAI的传输
本场景涉及一个重要的安全细节:Requested NSSAI的传输时机取决于UE是否有有效的安全上下文。
场景A:UE有正确的安全上下文
当UE保存了有效的5G安全上下文(例如,此前成功注册过)时:
场景B:UE没有正确的安全上下文
当UE没有有效的5G安全上下文(例如,首次注册或安全上下文已过期)时:
-
UE在Registration Request消息中不携带Requested NSSAI;
-
UE在Security Mode Complete消息中携带Requested NSSAI(此时安全通道已建立);
-
AMF需要在安全模式完成后才能获取Requested NSSAI,再执行切片选择。
这个区别在实际信令跟踪中非常重要。如果在Registration Request中看不到Requested NSSAI,不要急于下结论说UE没有请求切片——可能它藏在Security Mode Complete中。
2.3 Allowed NSSAI的生成规则
根据TS 23.501第5.15节,Allowed NSSAI的严格生成规则为:
Allowed NSSAI = Requested NSSAI INTERSECT Subscribed NSSAI INTERSECT Network Supported NSSAI
三个集合的交集。任何不在Subscribed NSSAI中的S-NSSAI,无论UE是否请求、网络是否支持,都不能出现在Allowed NSSAI中。
未被纳入Allowed NSSAI的S-NSSAI,AMF可以通过Rejected NSSAI信元(如果实现)告知UE哪些请求被拒绝了以及拒绝原因。
3 消息流程与详细解读
3.1 整体流程概览
sequenceDiagram
participant UE
participant RAN as NG-RAN
participant AMF
participant UDM
UE->>RAN: RRC Setup + NAS Registration Request
Note over UE,RAN: UE携带Requested NSSAI<br/>包含未签约的S-NSSAI
RAN->>AMF: Initial UE Message(NAS Registration Request)
alt UE有安全上下文
Note over UE,AMF: Requested NSSAI在Registration Request中
else UE无安全上下文
AMF->>UE: Authentication Request/Security Mode Command
UE->>AMF: Security Mode Complete(with Requested NSSAI)
Note over UE,AMF: Requested NSSAI在Security Mode Complete中
end
AMF->>UDM: Nudm_SDM_Get(SUPI/NSSAI)
Note over AMF,UDM: 获取UE签约切片数据
UDM-->>AMF: Nudm_SDM_Get Response(Subscribed NSSAI)
Note over AMF: 比对Requested NSSAI与Subscribed NSSAI<br/>排除未签约的S-NSSAI<br/>生成Allowed NSSAI
AMF->>RAN: Initial Context Setup Request
Note over AMF,RAN: 携带Allowed NSSAI<br/>仅包含已签约的S-NSSAI
RAN->>UE: NAS Registration Accept(Allowed NSSAI)
Note over RAN,UE: Allowed NSSAI中不包含<br/>未签约的S-NSSAI
UE->>RAN: NAS Registration Complete
RAN->>AMF: Initial Context Setup Response
3.2 流程详细解读
步骤1:UE发起注册请求并携带Requested NSSAI
UE开机发起Registration流程。在RRC建立完成后,UE通过NAS Registration Request消息发送注册请求。消息中携带的Requested NSSAI包含以下S-NSSAI:
-
SST=1(eMBB)——已签约
-
SST=2(URLLC)——未签约
-
SST=3(MIoT)——已签约
其中SST=2(URLLC)是UE请求但未在UDM签约的切片。UE之所以请求这个切片,可能是因为:
步骤2:Requested NSSAI的传输(安全上下文依赖)
如果UE有正确的安全上下文,Requested NSSAI在Registration Request消息中加密携带,AMF在收到消息后立即可以解析。
如果UE没有正确的安全上下文,则执行以下流程:
-
AMF发起Authentication流程,完成UE与网络之间的双向鉴权;
-
AMF发起Security Mode Command流程,建立NAS安全通道;
-
UE在Security Mode Complete消息中携带Requested NSSAI;
-
AMF在安全模式完成后获取Requested NSSAI。
步骤3:AMF向UDM获取签约数据
AMF收到Registration Request后(或在Security Mode Complete后),检查本地是否有该UE的签约上下文。如果没有,AMF向UDM发起Nudm_SDM_Get请求,获取UE签约的NSSAI数据。
步骤4:AMF比对Requested NSSAI与Subscribed NSSAI
AMF获取签约数据后,执行以下比对:
| Requested NSSAI |
Subscribed NSSAI |
结果 |
| SST=1 (eMBB) |
SST=1 (eMBB) |
匹配:纳入Allowed NSSAI |
| SST=2 (URLLC) |
- |
不匹配:排除 |
| SST=3 (MIoT) |
SST=3 (MIoT) |
匹配:纳入Allowed NSSAI |
AMF将SST=2从Allowed NSSAI中排除,因为它不在UE的签约数据中。
步骤5:AMF生成并发送Registration Accept
AMF通过Registration Accept消息将Allowed NSSAI下发给UE:
Allowed NSSAI:
- S-NSSAI 1: SST=1 (eMBB)
- S-NSSAI 2: SST=3 (MIoT)
注意:SST=2(URLLC)不在Allowed NSSAI中。UE收到Registration Accept后,应理解SST=2的切片请求被网络拒绝了。
UE回复Registration Complete消息,注册流程完成。
3.3 AMF切片验证决策流程
flowchart TD
A[收到Requested NSSAI] --> B[向UDM获取签约数据]
B --> C[获取Subscribed NSSAI]
C --> D[逐个比对Requested NSSAI与Subscribed NSSAI]
D --> E[Requested S-NSSAI在签约列表中]
D --> F[Requested S-NSSAI不在签约列表中]
E --> G[纳入Allowed NSSAI]
F --> H[排除:不纳入Allowed NSSAI]
G --> I[生成最终Allowed NSSAI]
H --> I
I --> J[通过Registration Accept下发]
J --> K[注册完成]
4 关键信令参数分析
4.1 Registration Request中的Requested NSSAI
| S-NSSAI索引 |
SST |
SD |
是否签约 |
说明 |
| 1 |
1 |
N/A |
是 |
eMBB,已签约 |
| 2 |
2 |
N/A |
否 |
URLLC,未签约 |
| 3 |
3 |
N/A |
是 |
MIoT,已签约 |
4.2 Security Mode Complete中的Requested NSSAI(无安全上下文场景)
当UE没有正确的安全上下文时,Requested NSSAI在Security Mode Complete消息中携带:
| 参数 |
值 |
说明 |
| NAS Security Header |
Integrity Protected and Ciphered |
安全模式已完成 |
| Requested NSSAI |
[SST=1, SST=2, SST=3] |
包含未签约的SST=2 |
4.3 UDM返回的签约数据
Nudm_SDM_Get Response:
| 参数 |
示例值 |
说明 |
| Subscribed NSSAI |
[SST=1, SST=3, SST=1/SD=000001] |
UE签约的S-NSSAI列表 |
| Default NSSAI |
[SST=1, SST=3] |
默认S-NSSAI |
注意:签约列表中不包含SST=2,这是后续拒绝的原因。
4.4 Registration Accept中的Allowed NSSAI
| 参数名称 |
值 |
说明 |
| Allowed NSSAI |
[SST=1, SST=3] |
仅包含已签约的S-NSSAI |
| Rejected NSSAI |
[SST=2] (可选) |
被拒绝的S-NSSAI |
关键分析:
-
SST=1(eMBB):出现在Allowed NSSAI中,UE可以正常使用eMBB切片。
-
SST=2(URLLC):未出现在Allowed NSSAI中,UE不得使用URLLC切片。UE收到Registration Accept后,应清除对SST=2切片的任何待处理请求。
-
SST=3(MIoT):出现在Allowed NSSAI中,UE可以正常使用MIoT切片。
4.5 CLI验证数据
AMF UE上下文查询(脱敏):
# AMF UE Context Query
IMSI: 4608800000XXXXXX
GPSI: 86138000XXXXXX
RM State: RM-REGISTERED
CM State: CM-CONNECTED
Requested NSSAI from UE:
[1] SST=1 (eMBB) -- Subscribed
[2] SST=2 (URLLC) -- NOT Subscribed
[3] SST=3 (MIoT) -- Subscribed
Subscribed NSSAI from UDM:
[1] SST=1 (eMBB), SD=N/A
[2] SST=3 (MIoT), SD=N/A
[3] SST=1, SD=000001 (Custom-eMBB)
Allowed NSSAI (Sent to UE):
[1] SST=1 (eMBB)
[2] SST=3 (MIoT)
Rejected NSSAI:
[1] SST=2 (URLLC) - Reason: Not Subscribed
Slice Selection Result: AMF independently processed (no NSSF query required)
从上述输出可以看出,AMF成功识别了UE请求中未签约的SST=2(URLLC),并将其从Allowed NSSAI中排除。
5 测试验证与数据解读
5.1 验证要点
验证点1:UE携带包含未签约S-NSSAI的Requested NSSAI
在NAS消息跟踪中确认:
测试方法:在UE关机状态下,设置终端下次开机请求的NSSAI中包含未签约的S-NSSAI。这通常通过修改UE的Configured NSSAI或使用测试终端的强制切片配置功能实现。
验证点2:AMF正确获取签约数据
在Nudm_SDM_Get接口跟踪中确认:
验证点3:Allowed NSSAI不包含未签约的S-NSSAI
在Registration Accept消息中确认:
验证点4:UE注册仍然成功
确认即使部分请求的切片被拒绝,UE仍然能够完成注册流程。已签约的切片服务不受影响。
5.2 数据解读
通过分析测试数据,可以得出以下关键结论:
-
切片拒绝不影响注册成功:UE请求了3个S-NSSAI,其中1个未签约。AMF拒绝了SST=2但仍然接受了SST=1和SST=3,UE成功注册到网络。这体现了5G切片机制的"部分授权"特性——网络不是"全有或全无"的处理方式,而是逐个S-NSSAI进行授权判断。
-
安全上下文对Requested NSSAI传输的影响:测试中需要特别关注Requested NSSAI出现的消息位置。如果UE有安全上下文,Requested NSSAI在Registration Request中;如果没有,则在Security Mode Complete中。这影响AMF执行切片选择的时机。
-
UDM签约数据是最终判决依据:无论UE请求什么切片,最终的Allowed NSSAI完全取决于UDM中的签约数据。这确保了运营商对切片访问的完全控制。
5.3 与切片选择场景的区别
| 对比维度 |
第6-8篇(切片选择) |
本篇(切片拒绝) |
| UE请求的S-NSSAI |
全部已签约 |
部分未签约 |
| AMF核心动作 |
确定目标AMF/Allowed NSSAI |
过滤未签约S-NSSAI |
| 是否需要NSSF |
视情况而定 |
本场景不需要 |
| 结果 |
UE获得全部请求切片 |
UE获得部分请求切片 |
| 网络侧行为 |
路由/重定向 |
过滤/拒绝 |
6 小结与思考
6.1 本篇小结
本篇详细分析了5G切片拒绝的第一个场景:AMF在注册过程中拒绝UE请求的未签约S-NSSAI。关键流程包括:
-
UE在Registration Request或Security Mode Complete中携带Requested NSSAI,其中包含未签约的S-NSSAI;
-
AMF从UDM获取签约数据,将Requested NSSAI与Subscribed NSSAI逐一比对;
-
AMF将未签约的S-NSSAI从Allowed NSSAI中排除;
-
AMF通过Registration Accept消息下发仅包含已签约切片的Allowed NSSAI;
-
UE成功注册,但无法使用未签约的切片。
本场景体现了5G切片机制中"签约数据即策略"的核心原则。
6.2 延伸思考
思考1:UE如何知道自己的切片请求被拒绝了?
UE通过对比自己发送的Requested NSSAI和收到的Allowed NSSAI,可以推断出哪些切片被拒绝了。此外,如果网络实现了Rejected NSSAI信元(3GPP Release-16增强),UE可以更明确地获知被拒绝的S-NSSAI列表及原因。
思考2:被拒绝后UE会怎样?
UE收到不包含SST=2的Allowed NSSAI后,不得在当前注册周期内为SST=2发起任何PDU会话请求。如果UE确实需要URLLC服务,用户需要联系运营商开通相关套餐,运营商在UDM中更新签约数据后,UE重新注册即可获得URLLC切片服务。
思考3:与第10篇的对比预告
第10篇将讨论另一个切片拒绝场景:UE已经成功注册并获得了Allowed NSSAI,但随后在PDU会话建立请求中携带了未签约的S-NSSAI。AMF在PDU会话层面拒绝该请求,返回PDU Session Establishment Reject消息,携带5GSM cause值91(DNN not supported or not subscribed in the slice)。与本文在注册过程中的"静默过滤"不同,第10篇中AMF会发送明确的拒绝消息。