聚焦 3GPP TS 23.502 §4.2.2.2.3 与 TS 38.413 §8.6.5,剖析 Initial AMF 如何通过 NGAP Reroute NAS Request 将 UE 的 NAS 信令重新路由到 Target AMF,从触发判定、信息单元逐层拆解到抓包实战。
在 5G 核心网中,UE 发起初始注册时,无线接入网(NG-RAN)首先要做的并不是"路由 IP 包",而是"选择一个 AMF"来承载这条 NAS 信令。这条选择路径在 TS 23.501 §6.3.6(AMF Selection) 与 TS 38.413 §8.2(NG Setup 过程中下发的 AMF 信息) 中定义:gNB 在 NG Setup Response 里获得每个 AMF 实例支持的 PLMN 列表、S-NSSAI(切片)列表、GUAMI、AMF Set ID、AMF Region ID、Capacity 等信息,并据此为 Initial UE Message 选路。
问题随之而来:RAN 在收到 Registration Request 时只能看到 UE 表层信息(Selected PLMN、Requested NSSAI、可能的 5G-GUTI),却看不到订阅数据。这意味着:
这就是 Registration with AMF Re-allocation(注册过程中的 AMF 重分配),定义于 TS 23.502 §4.2.2.2.3。它是网络切片(Network Slicing)真正落地到接入网边缘的第一道关口,也是 R16 之前最容易在跨厂商对接中出问题的流程之一。
| 角色 | 含义 | 出处 |
|---|---|---|
| Initial AMF | RAN 凭 NG Setup 信息首次选中的 AMF,承担"判定者"角色 | TS 23.502 §4.2.2.2.3 |
| Target AMF | 重分配后真正服务 UE 的 AMF,负责完成认证、安全、5G-GUTI 分配 | TS 23.502 §4.2.2.2.3 |
| Old AMF | UE 携带的 5G-GUTI 所指向的上一次注册的 AMF(可能与 Initial AMF 不同) | TS 23.502 §4.2.2.2.2 step 4 |
| NSSF | 切片选择功能,决定 Allowed NSSAI 与候选 AMF Set | TS 23.501 §6.2.6 / TS 29.531 |
Target AMF 的归属由 GUAMI(Globally Unique AMF Identifier,TS 23.501 §5.9.7) 唯一标识:
flowchart LR
G["GUAMI<br/>全局唯一AMF标识"] --> PLMN["PLMN ID<br/>MCC + MNC"]
G --> R["AMF Region ID<br/>10 bits / 区域"]
G --> S["AMF Set ID<br/>10 bits / 一组对等AMF"]
G --> P["AMF Pointer<br/>6 bits / 集内具体实例"]
style G fill:#2d6a4f,color:#fff
style S fill:#52b788,color:#000
设计意图:AMF Set 是一组逻辑对等的 AMF 实例,它们共享 UE 上下文可恢复性(通过 UDSF)。重分配时,Target AMF 往往落在 NSSF 指定的候选 AMF Set 内;同一 Set 内的切换(如 AMF 故障迁移)无需重建全部上下文,这是 5G 相对 4G MME Pool 的一大增强。
Initial AMF 在收到 Registration Request 后,按 TS 23.502 §4.2.2.2.3 的判定顺序执行:
一句话总结:RAN 选 AMF 靠"看得见的信息",AMF 选自己靠"查得到的信息"。信息不对称是重分配存在的根本原因。
下图基于 TS 23.502 Figure 4.2.2.2.3-1(R16+ 版本,采用 NGAP Reroute NAS Request 方案)绘制,是当前主流厂商实现的标准形态:
sequenceDiagram
autonumber
participant UE
participant RAN as NG-RAN (gNB)
participant IAMF as Initial AMF
participant UDM
participant NSSF
participant TAMF as Target AMF
UE->>RAN: NAS Registration Request<br/>(Requested NSSAI, 5G-GUTI/SUCI)
RAN->>IAMF: NGAP Initial UE Message<br/>(NAS-PDU, UserLocation, SelectedPLMN)
Note over IAMF: 5G-GUTI? → 向 Old AMF 取上下文
IAMF->>UDM: Nudm_UECM_Registration + Nudm_SDM_Get<br/>(取切片签约)
UDM-->>IAMF: Subscribed S-NSSAIs, TraceData
IAMF->>NSSF: Nnssf_NSSelection_Get<br/>(Requested NSSAI, TA, ROAM)
NSSF-->>IAMF: Allowed NSSAI + 候选 AMF Set ID
Note over IAMF: 判定:自身不支持 Allowed NSSAI<br/>→ 触发重分配
IAMF->>RAN: NGAP Reroute NAS Request<br/>(NAS-PDU, Allowed NSSAI, AMF Set 提示)
Note over RAN: 基于 Allowed NSSAI 重新选 AMF
RAN->>TAMF: NGAP Initial UE Message<br/>(同一 NAS-PDU)
Note over TAMF: 接管流程:认证(5G-AKA)+ SMC<br/>+ UDM 注册 + 分配新 5G-GUTI
TAMF->>UE: NAS Registration Accept<br/>(新 5G-GUTI, Allowed NSSAI)
UE->>TAMF: NAS Registration Complete
TAMF->>IAMF: Namf_Communication_RegistrationStatusNotify<br/>(status=success, 分配的5G-GUTI)
Note over IAMF: 清理临时上下文/取消UDM订阅
需要特别强调第 9 步:Reroute NAS Request 携带的 NAS-PDU 就是 UE 最初发出的那条原始 Registration Request,原封不动地被回送。这意味着 RAN 实际上"转交"了一条完整的 NAS 报文,只是换了一条 AMF 落地路径。Target AMF 因此能拿到与 Initial AMF 完全一致的输入。
这是 RAN 首次把 NAS 信令投递给 AMF 的消息,也是判定重分配的"原料来源"。
classDiagram
class InitialUEMessage {
+RAN_UE_NGAP_ID : 必选
+NAS_PDU : 必选(含Registration Request)
+UserLocationInformation : 必选(TAI+NCI)
+RRCEstablishmentCause : 必选
+SelectedPLMN : 必选
+AllowedNSSAI : 条件必选
+5G_S_TMSI : 可选
+AMFSetID : 可选(R16+)
}
class RerouteNASRequest {
+RAN_UE_NGAP_ID : 必选
+AMF_UE_NGAP_ID : 条件必选
+NAS_PDU : 必选(原始报文)
+AllowedNSSAI : 可选
+MaskedIMEISV : 可选
}
InitialUEMessage --> RerouteNASRequest : "Initial AMF回送后,RAN用InitialUEMessage复用"
| IE | 方向 | 作用 | 在重分配中的意义 |
|---|---|---|---|
| NAS-PDU | UE→AMF | 封装 Registration Request | 重分配时被原样回传,保证输入一致 |
| Allowed NSSAI | RAN→AMF | RAN 根据广播切片筛选 | 若为空或 AMF 不支持,触发判定 |
| User Location Information | RAN→AMF | TAI + NCI | NSSF 切片选择的关键输入 |
| 5G-S-TMSI | RAN→AMF | 携带 AMF Set ID + AMF Pointer | RAN 据此做首次 AMF 选择 |
| AMF Set ID | R16+ 新增 | 显式指引 AMF 选择 | 允许 AMF 之间通过 RAN 协同重新选路 |
Initial AMF 通过两条服务化接口拉取签约:
AccessAndMobilitySubscriptionData,其中含 Subscribed S-NSSAIs(签约切片)。这里隐藏着一个实战陷阱:如果 Initial AMF 已经调用了 Nudm_UECM_Registration,它就在 UDM 里"占位"了。一旦触发重分配,Initial AMF 必须在 Target AMF 通知注册成功后,调用 Nudm_UECM_Registration 的去注册(deregistration)来释放该占位,否则 UDM 会出现"双 AMF 注册"的脏数据,导致后续短信、IMS、策略下发等流程路由到错误的 AMF。
Initial AMF 调用 Nnssf_NSSelection_Get,输入参数包括:
NSSF 返回:
正是 Candidate AMF Set 让 Initial AMF 明确"我应该把 UE 交给谁"。
这是整个机制的核心控制消息,由 Initial AMF 发往 RAN,明确指示"换路"。其 IE 结构如下表:
| IE | 是否必选 | 内容 | 作用 |
|---|---|---|---|
| RAN UE NGAP ID | 必选 | RAN 侧 UE 标识 | 关联原有 NGAP 信令连接 |
| AMF UE NGAP ID | 条件必选 | AMF 侧 UE 标识 | 若已分配则回带 |
| NAS-PDU | 必选 | 原始 Registration Request | 供 RAN 转交 Target AMF |
| Allowed NSSAI | 可选 | 经授权的切片 | RAN 据此选 Target AMF |
| Masked IMEISV | 可选 | 屏蔽的终端型号 | 紧急注册等场景 |
| UE Aggregate Maximum Bit Rate | 可选 | UE 聚合速率 | Target AMF 复用 |
设计精髓:Reroute NAS Request 本质上是一个"AMF 发给 RAN 的反向选路指令"。它把 SBI 域(AMF-AMF)的复杂性,下沉到 N2 接口(AMF-RAN),让 RAN 充当"中立的路由仲裁"。这避免了 R15 早期"AMF 之间通过 Namf 接口互相转发 NAS 消息"带来的跨厂商 SBI 互通难题。
Target AMF 完成注册后,通过该服务化操作回告 Initial AMF:
flowchart LR
subgraph Target AMF 完成后
A["RegistrationStatusNotify<br/>{status, 5G-GUTI}"] --> B["Initial AMF"]
end
B --> C{"status = success?"}
C -- 是 --> D["取消自身UDM占位<br/>删除临时上下文"]
C -- 否 --> E["触发回退/异常清理"]
该操作的入参包含 registrationStatus(成功/失败)与 Target AMF 新分配的 5G-GUTI。Initial AMF 据此决定清理策略——这是保证"双 AMF 占位"问题不发生的最后一道闸门。
理解 AMF 重分配,绕不开 R15→R16 的方案演进:
| 维度 | R15 早期方案(AMF 间直接转发) | R16+ 方案(NGAP Reroute NAS Request) |
|---|---|---|
| 路由主体 | Initial AMF 通过 Namf 直接把消息转给 Target AMF | Initial AMF 退回 RAN,由 RAN 重新选 AMF |
| 接口 | SBI(Namf_Communication) | N2(NGAP) |
| RAN 参与 | 不参与,仅做透传 | 深度参与,重新执行 AMF Selection |
| 跨厂商互通 | 难(SBI 实现差异大) | 易(N2 接口标准化程度高) |
| NGAP 连接 | RAN 只对 Initial AMF 建链 | RAN 需对 Target AMF 建新链 |
| 典型场景 | Target AMF 与 Initial AMF 同厂商 | 现网主流,切片密集部署 |
R16 引入 Reroute NAS Request 的根本动因是 网络切片规模化部署:当一台 gNB 下挂多个 AMF Set、分别服务不同行业切片时,必须让 RAN 而非某个 AMF 来"裁定"最终归属,才能避免 AMF 间的策略耦合。
从 UE 上下文角度,重分配涉及 AMF 侧的状态迁移:
stateDiagram-v2
[*] --> RM_DEREGISTERED : UE未注册
RM_DEREGISTERED --> RM_COMMON : Initial AMF收RegistrationRequest
RM_COMMON --> RM_COMMON : 判定重分配/发RerouteNASRequest
RM_COMMON --> RM_REGISTERED : Target AMF完成注册<br/>分配5G-GUTI
RM_COMMON --> RM_DEREGISTERED : Initial AMF清理临时上下文
RM_REGISTERED --> RM_DEREGISTERED : 显式去注册
note right of RM_COMMON
Initial AMF: 临时态
Target AMF: 正式接管
end note
注意 RM_COMMON(TS 23.501 §5.5.1) 是 5G 相对 4G 的状态增强:允许 UE 在 CM-IDLE 与 CM-CONNECTED 之间快速切换而无需重新认证,而重分配过程恰好横跨这一中间态的"交接"。
打开 NGAP/NAS 复合抓包,按以下特征定位:
Allowed NSSAI 与 RAN 选中的 AMF(通过 SCTP 端口或 AMF_UE_NGAP_ID 前缀);RerouteNASRequest,Procedure Code 在 TS 38.413 §9.1.x)。若存在,说明发生了重分配;RegistrationStatusNotify(HTTP POST 到 .../namf-comm/v1/.../registrations/.../status-notify)。| 故障现象 | 根因 | 排查方向 |
|---|---|---|
| 注册反复失败、UE 反复重试 | Initial AMF 触发重分配但 RAN 选错 Target,循环 | 检查 gNB NG Setup 中的 S-NSSAI 与 AMF 绑定是否与核心网一致 |
| UDM 双 AMF 占位 | Initial AMF 未在重分配后去注册 | 检查 RegistrationStatusNotify 是否到达、Initial AMF 是否清理 |
| Target AMF 收到 NAS 但认证失败 | 上下文未随 Reroute 携带,Target AMF 从 Old AMF 取不到 | 检查 5G-GUTI 是否有效、Old AMF 是否在线 |
| IMS/短信路由异常 | UDM 里 AMF 选路记录指向已清理的 Initial AMF | 复核 UDM 的 Serving AMF 记录是否更新为 Target AMF |
| 跨 PLMN 漫游重分配失败 | NSSF 未配置拜访地候选 AMF Set | 检查 NSSF 的 roaming 配置与 NSSAI 映射 |
| ## 八、设计意图的再思考 |
回到协议设计哲学,AMF 重分配解决的是一个 "分布式选路中的信息不对称" 问题:
这种"先试选、再校验、按需换路"的模式,与 TCP 的三次握手、BGP 的路由收敛有异曲同工之妙——都是在不可预知的环境中用最小的状态代价逼近正确路由。理解这一点,比死记信令步骤重要得多:它是 5G SBA 架构"服务化但去中心化"理念的缩影。
Q1:AMF 重分配和 4G 的 Tracking Area Update 中 MME 改变(MME Change)是一回事吗? A:理念相似(都是接入控制节点变更),但机制不同。4G MME Change 依赖 GTP-C 的 S10 接口在 MME 间直接迁移上下文;5G AMF 重分配则把 NAS 消息退回 RAN 由其重新选路,更强调 RAN 的参与和切片感知,体现了 5G 控制面下沉与切片化的整体演进。
Q2:Reroute NAS Request 会把认证上下文一起带给 Target AMF 吗? A:不会。Reroute NAS Request 只携带原始 NAS-PDU 和选路辅助信息(如 Allowed NSSAI)。认证(5G-AKA / EAP-AKA')由 Target AMF 接管后重新执行,或由 Target AMF 通过 5G-GUTI 向 Old AMF 调用 UEContextTransfer 获取已有上下文来复用认证结果。
Q3:如果 NSSF 故障,重分配还能进行吗?
A:可以回退。Initial AMF 可基于本地配置(Configured NSSAI for default configured S-NSSAI)与 UDM 签约做最小切片判定,但此时 Allowed NSSAI 可能不全。生产环境强烈建议 NSSF 高可用部署,否则会显著影响切片体验。
Q4:一台 UE 在一次注册中会被重分配多次吗? A:理论上 TS 23.502 不排除级联重分配,但工程上强烈不建议。每多一次重分配,延迟与失败概率都会上升,因此 RAN 侧的 AMF Selection 通常一次到位。若抓包发现连续多次 Reroute,基本可判定为配置错误。
Q5:重分配过程中 UE 会感知到吗? A:完全不会。整个过程发生在 RAN 与核心网之间,UE 始终只看到一条 Registration Request 发出、一条 Registration Accept 返回。这是控制面对用户面透明性的典型体现。
本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。
[!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 等场景全覆盖。
