虽然本篇的场景是"AMF可以服务"的情况(未触发AMF重选),但我们将详细分析AMF做出这一决策的完整判断逻辑,并延伸讨论无法服务时的AMF重选机制,为后续深入分析奠定基础。
1.1 本篇与前文的衔接
本篇承接第1篇的基本框架(UE携带5G-GUTI和Requested NSSAI),但将分析重点从"注册流程本身"转向"AMF如何确定自己就是正确的Serving AMF"。读者可以将本篇理解为第1篇的"深度加强版",重点解析AMF内部决策逻辑。
2 协议规范与关键技术
2.1 核心协议参考
| 协议 |
关键内容 |
| TS 23.501 第6.3.5节 |
AMF发现与选择机制,包括基于切片的AMF选择 |
| TS 29.531 |
Nssf_NSSelection服务接口,NSSF协助AMF切片选择的流程 |
| TS 29.509 |
Nssf_NSSAIAvailability服务,AMF向NSSF报告支持的切片 |
| TS 38.413 |
NGAP中AMF重选相关的错误处理和重定向信令 |
| TS 24.501 |
NAS层Registration Request/Accept中NSSAI相关参数 |
2.2 AMF切片选择架构
5G网络中的AMF切片选择涉及多个网元的协作:
UE → RAN → (Initial AMF) → NSSF → (Target AMF)
↓
UDM (签约数据)
| 网元 |
角色 |
| RAN |
根据RRC中的NSSAI/GUTI进行初始AMF选择 |
| Initial AMF |
收到注册请求后判断是否需要重定向 |
| NSSF |
提供切片选择辅助信息,推荐目标AMF |
| Target AMF |
支持UE请求切片的最终服务AMF |
| UDM |
提供UE签约切片数据 |
2.3 AMF切片支持的配置方式
AMF通过以下方式声明自己支持的切片:
-
AMF配置:AMF启动时配置支持的S-NSSAI列表
-
GUAMI关联:AMF将支持的S-NSSAI与GUAMI(AMF标识)关联
-
NSSF注册:AMF向NSSF报告自己支持的切片和GUAMI对应关系
-
NG Setup交互:AMF通过NG Setup流程将切片支持信息告知RAN
AMF支持信息示例:
GUAMI: 460-88-01-01-00
Supported NSSAI:
S-NSSAI 1: SST=1, SD=010203
S-NSSAI 2: SST=1, SD=040506
GUAMI: 460-88-01-02-00
Supported NSSAI:
S-NSSAI 1: SST=2
S-NSSAI 2: SST=3
2.4 AMF决策的三种结果
当AMF收到携带Requested NSSAI的注册请求后,可能产生三种决策结果:
| 结果 |
条件 |
处理方式 |
| 当前AMF继续服务 |
所有请求的S-NSSAI都在签约中且AMF支持 |
直接确定Allowed NSSAI |
| 部分服务 |
部分请求的S-NSSAI在签约中且AMF支持 |
确定Allowed NSSAI(仅允许的部分) |
| 需要AMF重选 |
请求的S-NSSAI在签约中但AMF不支持 |
查询NSSF获取目标AMF |
本篇聚焦第一种结果(当前AMF继续服务),第三种结果将在后续文章中详细分析。
3 消息流程与详细解读
3.1 整体流程图(AMF确定自身为Serving AMF)
sequenceDiagram
participant UE as UE终端
participant RAN as gNB(RAN)
participant AMF as AMF(Serving)
participant UDM as UDM
UE->>RAN: RRC Setup<br/>携带5G-GUTI + Requested NSSAI
RAN->>AMF: NGAP: Initial UE Message<br/>携带5G-GUTI + Requested NSSAI
AMF->>AMF: 通过GUTI查找UE上下文
AMF->>AMF: 解析Requested NSSAI
AMF->>UDM: Nudm_SDM_Get<br/>获取签约切片数据
UDM-->>AMF: 返回Subscribed NSSAI
AMF->>AMF: 校验1-Requested NSSAI是否在签约数据中
AMF->>AMF: 校验2-本AMF是否支持这些切片
AMF->>AMF: 决策-当前AMF可作为Serving AMF继续服务
AMF->>AMF: 计算Allowed NSSAI和Configured NSSAI
AMF-->>UE: Registration Accept<br/>携带GUTI + Allowed NSSAI + Configured NSSAI
UE->>AMF: Registration Complete<br/>UE保存新的NSSAI信息
3.2 流程详细解读
步骤1:UE发起注册请求
UE携带5G-GUTI和Requested NSSAI发起初始注册。RRC层和NAS层均携带切片信息,RAN据此选择初始AMF。如果RAN能够根据NSSAI精确路由到支持对应切片的AMF,则初始AMF就是最终的Serving AMF(本篇场景)。
步骤2:AMF解析请求并获取签约数据
AMF收到注册请求后:
-
通过5G-GUTI查找UE上下文(如果UE此前在同一AMF注册过)
-
解析出Requested NSSAI中的每个S-NSSAI
-
向UDM获取最新的签约数据,确认每个请求的S-NSSAI是否在签约列表中
步骤3:AMF执行切片服务能力校验
这是本篇的核心步骤。AMF按以下逻辑判断自己是否可以继续为UE服务:
对于Requested NSSAI中的每个S-NSSAI:
1. 该S-NSSAI是否在UE的Subscribed NSSAI中?
- 否 → 标记为Rejected,跳过
- 是 → 继续下一步
2. 当前AMF是否支持该S-NSSAI?
- 否 → 该S-NSSAI需要通过其他AMF服务
- 是 → 纳入Allowed NSSAI候选
最终判断:
如果所有有效的S-NSSAI(在签约中的)都能被当前AMF支持
→ 当前AMF继续作为Serving AMF
如果存在有效的S-NSSAI无法被当前AMF支持
→ 需要评估是否触发AMF重选
本篇场景中,所有请求的S-NSSAI都通过了两个校验,因此当前AMF确定自己就是Serving AMF。
步骤4:确定Allowed NSSAI
Allowed NSSAI的计算与前几篇相同:
Allowed NSSAI = {s ∈ Requested NSSAI | s ∈ Subscribed NSSAI ∧ s ∈ AMF Supported NSSAI}
同时计算Configured NSSAI:
Configured NSSAI = AMF Configured NSSAI ∩ Subscribed NSSAI
步骤5:下发注册接受
AMF发送Registration Accept,携带:
步骤6:UE保存并确认
UE收到Registration Accept后:
-
比较新下发的NSSAI与本地保存的旧NSSAI的差异
-
保存更新后的Allowed NSSAI和Configured NSSAI
-
保存新的5G-GUTI
-
发送Registration Complete确认
UE识别差异并保存的过程很重要——如果Allowed NSSAI发生变化(例如某些之前允许的切片不再允许),UE需要释放与这些切片关联的PDU Session。
3.3 AMF切片决策完整逻辑
flowchart TD
A[AMF收到Registration Request<br/>携带GUTI和Requested NSSAI] --> B[向UDM获取Subscribed NSSAI]
B --> C[遍历Requested NSSAI中的每个S-NSSAI]
C --> D{S-NSSAI在Subscribed NSSAI中}
D -->|否| E[标记为Rejected NSSAI]
D -->|是| F{当前AMF支持该S-NSSAI}
F -->|是| G[纳入Allowed NSSAI候选]
F -->|否| H[纳入需要重定向的S-NSSAI列表]
E --> I{还有下一个S-NSSAI需要检查}
G --> I
H --> I
I -->|是| C
I -->|否| J{需要重定向的S-NSSAI列表是否为空}
J -->|是| K[当前AMF作为Serving AMF继续服务]
J -->|否| L{Allowed NSSAI候选是否为空}
L -->|非空| M[当前AMF部分服务<br/>需评估是否查询NSSF]
L -->|空| N[当前AMF无法服务<br/>必须查询NSSF确定目标AMF]
K --> O[计算Allowed NSSAI和Configured NSSAI]
M --> O
N --> P[向NSSF查询目标AMF]
P --> Q[触发AMF重选流程]
O --> R[发送Registration Accept]
3.4 与AMF重选场景的对比
为帮助读者理解本篇场景在整个AMF选择架构中的位置,以下是三种典型场景的对比:
场景A(本篇):AMF可以完全服务
Requested NSSAI: SST=1/SD=010203
Subscribed NSSAI: SST=1/SD=010203, SST=1/SD=040506, SST=2
AMF Supported: SST=1/SD=010203, SST=1/SD=040506
结果: Allowed={SST=1/SD=010203}, 当前AMF继续服务
场景B:AMF可以部分服务
Requested NSSAI: SST=1/SD=010203, SST=2
Subscribed NSSAI: SST=1/SD=010203, SST=1/SD=040506, SST=2
AMF Supported: SST=1/SD=010203, SST=1/SD=040506
结果: Allowed={SST=1/SD=010203}, SST=2需要AMF重选
AMF可选择部分服务或触发完整重选
场景C:AMF完全无法服务
Requested NSSAI: SST=2, SST=3
Subscribed NSSAI: SST=1/SD=010203, SST=1/SD=040506, SST=2, SST=3
AMF Supported: SST=1/SD=010203, SST=1/SD=040506
结果: Allowed=空, 必须查询NSSF获取目标AMF
触发AMF重选流程
4 关键信令参数分析
4.1 NGAP Initial UE Message中的切片信息
| IE |
取值示例 |
说明 |
| FiveG-S-TMSI |
从5G-GUTI中提取 |
用于AMF查找UE上下文 |
| NSSAI |
SST=1, SD=010203 |
RRC层携带的切片信息 |
| Selected PLMN ID |
MCC=460, MNC=88 |
UE选择的PLMN |
| RAN UE NGAP ID |
0x0001 |
RAN侧UE标识 |
| User Location Information |
TAI+Cell ID |
UE位置信息 |
4.2 UDM签约数据(Nudm_SDM_Get响应)
{
"nssai": {
"defaultSingleNssais": [
{"sst": 1, "sd": "010203"},
{"sst": 1, "sd": "040506"}
],
"singleNssais": [
{"sst": 1, "sd": "010203"},
{"sst": 1, "sd": "040506"},
{"sst": 2},
{"sst": 3}
]
}
}
4.3 AMF切片支持信息
AMF本地配置的切片支持信息(示例):
AMF Instance: AMF-Region01-Set01
GUAMI List:
GUAMI 1: 460-88-01-01-00
Supported NSSAI:
S-NSSAI: SST=1, SD=010203
S-NSSAI: SST=1, SD=040506
GUAMI 2: 460-88-01-01-01
Supported NSSAI:
S-NSSAI: SST=1, SD=010203
S-NSSAI: SST=1, SD=040506
4.4 AMF决策过程中的关键参数
| 参数 |
本篇取值 |
说明 |
| Requested NSSAI |
SST=1/SD=010203 |
UE请求的切片 |
| Subscribed NSSAI |
SST=1/SD=010203, SST=1/SD=040506, SST=2, SST=3 |
签约切片 |
| AMF Supported NSSAI |
SST=1/SD=010203, SST=1/SD=040506 |
AMF支持的切片 |
| 校验结果 |
SST=1/SD=010203: 通过 |
在签约中且AMF支持 |
| Allowed NSSAI |
SST=1/SD=010203 |
最终允许的切片 |
| Configured NSSAI |
SST=1/SD=010203, SST=1/SD=040506 |
AMF配置与签约的交集 |
| 决策 |
当前AMF作为Serving AMF |
所有请求切片可服务 |
4.5 Registration Accept消息参数
| 参数 |
取值示例 |
说明 |
| 5G-GUTI |
460-88-01-01-00-0x11223344 |
新分配的GUTI |
| Allowed NSSAI |
SST=1, SD=010203 |
允许的切片 |
| Configured NSSAI |
SST=1/SD=010203, SST=1/SD=040506 |
配置的切片 |
| TAI List |
46088-0001, 46088-0002 |
注册区域 |
5 测试验证与数据解读
5.1 AMF决策日志分析(脱敏后)
以下是AMF在处理本场景时的内部决策日志(脱敏后):
AMF-Version# show slice-selection log supi 4608800000XXXXXX
[2026-04-17 15:00:01.100] Registration Request received
GUTI: 460-88-01-01-00-0xOldTMSI001
Requested NSSAI: [SST=1, SD=010203]
[2026-04-17 15:00:01.150] UDM subscription data retrieved
Subscribed NSSAI:
SST=1, SD=010203 (default)
SST=1, SD=040506 (default)
SST=2
SST=3
[2026-04-17 15:00:01.200] Slice validation started
Checking S-NSSAI: SST=1, SD=010203
In Subscribed NSSAI: YES
In AMF Supported NSSAI: YES
Result: ALLOWED
[2026-04-17 15:00:01.250] AMF decision
Total Requested: 1 S-NSSAI
Total Allowed: 1 S-NSSAI
Total Rejected: 0 S-NSSAI
Need AMF Reallocation: NO
Decision: Current AMF continues as Serving AMF
[2026-04-17 15:00:01.300] NSSAI calculation
Allowed NSSAI: [SST=1, SD=010203]
Configured NSSAI: [SST=1, SD=010203, SST=1, SD=040506]
Rejected NSSAI: [none]
[2026-04-17 15:00:01.500] Registration Accept sent
New GUTI: 460-88-01-01-00-0x11223344
Allowed NSSAI: [SST=1, SD=010203]
Configured NSSAI: [SST=1, SD=010203, SST=1, SD=040506]
5.2 关键分析点
-
决策日志清晰记录了三步校验:首先从UDM获取签约数据,然后逐一校验Requested NSSAI中的S-NSSAI,最后做出AMF服务决策。这种结构化的决策过程便于排障和审计。
-
Need AMF Reallocation: NO:这是本篇场景的核心结论。当前AMF支持UE请求的所有有效S-NSSAI,无需触发AMF重选。
-
Configured NSSAI范围大于Allowed NSSAI:Configured NSSAI包含SST=1/SD=040506,而Allowed NSSAI中没有。这是因为UE没有请求SST=1/SD=040506,但网络告知UE该切片也可用(签约中且AMF支持),供UE后续使用。
5.3 UE上下文验证
在AMF上查看UE完整上下文(脱敏后):
AMF-Version# show ue context imsi 4608800000XXXXXX
UE Context Information:
SUPI : 4608800000XXXXXX
GPSI : 86138000XXXXXX
5G-GUTI : 460-88-01-01-00-0x11223344
RM State : RM-REGISTERED
CM State : CM-IDLE
Serving AMF : AMF-Region01-Set01 (self)
AMF Reallocation: Not triggered
NSSAI Information:
Requested NSSAI:
S-NSSAI 1: SST=1, SD=010203
Allowed NSSAI:
S-NSSAI 1: SST=1, SD=010203
Configured NSSAI:
S-NSSAI 1: SST=1, SD=010203
S-NSSAI 2: SST=1, SD=040506
Subscribed NSSAI:
S-NSSAI 1: SST=1, SD=010203 (default)
S-NSSAI 2: SST=1, SD=040506 (default)
S-NSSAI 3: SST=2
S-NSSAI 4: SST=3
Rejected NSSAI: [none]
AMF Slice Capability:
Supported NSSAI:
SST=1, SD=010203
SST=1, SD=040506
GUAMI-NSSAI Mapping:
460-88-01-01-00 -> SST=1/SD=010203, SST=1/SD=040506
Registration History:
Type: Initial Registration
Time: 2026-04-17 15:00:01
Previous GUTI: 460-88-01-01-00-0xOldTMSI001
NSSAI Change: YES (new Allowed NSSAI received)
5.4 AMF重选场景的NSSF交互(延伸参考)
虽然本篇场景不需要AMF重选,但为完整性,这里给出AMF重选时AMF与NSSF的交互示例:
[如果触发AMF重选,AMF将执行以下交互]
AMF -> NSSF: Nnssf_NSSelection_Get
Request:
{
"targetNssai": [{"sst": 2}],
"homePlmn": {"mcc": "460", "mnc": "88"},
"taai": {"plmn": {"mcc": "460", "mnc": "88"}, "tac": "0001"},
"subscriptionInfo": {
"subscribedNssai": [...]
}
}
NSSF -> AMF: 200 OK
Response:
{
"targetAmfSet": "460-88-01-02",
"targetAmfService": "amf-service-02",
"allowedNssai": [{"sst": 2}],
"candidateAmfList": [
{"amfInstance": "amf-02-region01-set02", "guami": "460-88-01-02-00"}
]
}
AMF: 根据NSSF响应,触发NGAP Reroute到目标AMF
6 小结与思考
6.1 本篇小结
本篇详细分析了AMF收到携带Requested NSSAI的注册请求后,如何确定自身为Serving AMF并计算Allowed NSSAI。核心要点如下:
-
双重校验机制:AMF首先校验Requested NSSAI中的S-NSSAI是否在UE签约数据中,然后校验本AMF是否支持这些切片。只有同时满足两个条件的S-NSSAI才能进入Allowed NSSAI。
-
AMF自身能力的核心角色:AMF的切片支持配置是决策的关键输入。AMF通过本地配置知道自己支持哪些切片,并将此信息与签约数据交叉验证。
-
当前AMF继续服务的条件:所有请求的S-NSSAI(且在签约数据中的)都能被当前AMF支持时,当前AMF作为Serving AMF继续服务,流程最简洁。
-
UE的NSSAI差异处理:UE需要识别新下发的NSSAI与旧NSSAI的差异,并保存更新。如果某些切片不再被允许,UE需要释放相关的PDU Session。
6.2 延伸思考
问题1:为什么不在RAN阶段就确保UE路由到正确的AMF?
RAN确实会根据RRC中的NSSAI信息进行初始AMF选择(通过NG Setup时AMF告知RAN的切片支持信息)。但RAN的选择是"尽力而为"的,可能因为以下原因失败:RAN配置不完整、UE的切片需求变化、网络切片配置更新等。因此AMF级别的二次校验是必要的安全网。
问题2:AMF Set和AMF Region在切片选择中如何发挥作用?
AMF Region和AMF Set是AMF分层架构的体现。同一个AMF Set中的AMF支持相同的切片集合。当需要AMF重选时,NSSF可以推荐同一AMF Set中的另一个AMF实例(负载均衡),或不同AMF Set中的AMF(切片不兼容时)。GUAMI中的Region ID和Set ID标识了这种层级关系。
问题3:AMF重选对UE有什么影响?
从UE角度看,AMF重选是透明的。UE不知道发生了AMF重定向,只知道最终收到了Registration Accept。但从网络角度看,AMF重选增加了延迟和信令开销(需要NSSF查询和NGAP重定向)。因此,合理的RAN配置和AMF部署规划对于减少不必要的AMF重选至关重要。
6.3 切片篇系列总结
通过五篇文章,我们从UE初始注册的三个不同场景出发,逐步深入到URSP策略机制和AMF切片选择决策,构建了一个完整的5G核心网切片实践知识体系:
| 篇章 |
主题 |
核心内容 |
| 第1篇 |
携带GUTI+NSSAI注册 |
基本切片注册流程,三重校验机制 |
| 第2篇 |
携带SUCI+NSSAI注册 |
SUCI安全机制,安全模式后的NSSAI传递 |
| 第3篇 |
无NSSAI无GUTI注册 |
Default NSSAI机制,Configured NSSAI的重要性 |
| 第4篇 |
URSP策略交互 |
应用到切片的映射,PCF策略下发流程 |
| 第5篇 |
AMF切片决策 |
AMF自校验机制,Serving AMF确定逻辑 |
后续文章将进一步分析AMF重选、NSSF查询、切片间切换等更复杂的场景,帮助读者全面掌握5G切片技术。