在5G核心网(5GC)的所有移动性管理流程中,有一条信令路径常常被忽略,却决定了切片能否真正落地——它就是注册流程中的AMF重选(AMF Re-allocation)。当(R)AN依据5G-GUTI或默认路由把一个注册请求投递给一个"初始AMF",而该AMF发现自己并不支持UE请求的切片(S-NSSAI)时,整个注册请求必须被重新路由到一个真正能服务的目标AMF。这条"二次投递"链路,由TS 23.502第4.2.2.2.2条、TS 23.501第6.3.5/6.2.4条以及TS 38.413(NGAP)中的Reroute NAS Request消息共同定义,是理解5G"切片感知"网络功能选择的关键拼图。本文聚焦这一具体机制,逐步拆解其触发条件、信令时序、关键IE与设计意图。
在4G EPC中,MME以Pool形式部署,Pool内的MME能力基本等价,(R)AN依据S-TMSI或负载均衡策略选择MME即可,几乎不存在"选错MME"的概念。5GC引入网络切片(Network Slicing)后,这一假设被打破:并非所有AMF都支持所有S-NSSAI。一个AMF Set可能只为eMBB切片服务,另一个AMF Set专门承载URLLC或运营商专网切片。
因此,5GC将AMF组织为AMF Set(TS 23.501 §6.2.4):
这意味着:UE的注册请求可能被(R)AN投递到一个AMF Set A的实例,但UE订阅并请求的切片只由AMF Set B服务——此时必须发生AMF重选,把请求转交给Set B中的某个目标AMF。
AMF重选并不只在"切片不匹配"时发生。综合TS 23.501 §6.3.5与TS 23.502 §4.2.2.2,触发条件包括:
| 触发场景 | 说明 | 典型依据来源 |
|---|---|---|
| 切片不匹配 | 初始AMF所在Set不支持Allowed NSSAI中的全部S-NSSAI | TS 23.501 §6.3.5 |
| 5G-GUTI失效/路由漂移 | UE使用旧5G-GUTI注册,该GUAMI指向的AMF在当前网络拓扑已不可达或非最优 | TS 23.502 §4.2.2.2 step 0 |
| 运营策略/负载 | 运营商策略要求特定用户群体路由至专用AMF Set(如政企专网) | TS 23.501 §6.3.5 注 |
理解了背景,下面进入最核心的信令拆解。
下图给出经(R)AN重路由(Reroute via RAN)这一最经典路径的完整时序,这也是TS 38.413中Reroute NAS Request消息的标准用法:
sequenceDiagram
participant UE
participant RAN as (R)AN/gNB
participant IAMF as 初始AMF<br/>(AMF Set A)
participant UDM
participant NRF
participant TAMF as 目标AMF<br/>(AMF Set B)
participant SMF
UE->>RAN: Registration Request<br/>(Requested NSSAI, 5G-GUTI/SUCI)
Note over RAN: 依据5G-GUTI的GUAMI<br/>或NSSAI选初始AMF
RAN->>IAMF: N2 Initial UE Message<br/>+ NAS Registration Request
Note over IAMF: 识别UE(5G-GUTI),<br/>可能向old AMF取上下文
IAMF->>UDM: Nudm_UECM_Registration<br/>+ Nudm_SDM_Get(订阅数据)
UDM-->>IAMF: 订阅S-NSSAI / AMF Set指示
Note over IAMF: 计算Allowed NSSAI<br/>发现自己Set无法全部服务
IAMF->>NRF: Nnrf_NFDiscovery_Request<br/>(目标AMF Set, S-NSSAI)
NRF-->>IAMF: 目标AMF Set B / 候选AMF列表
IAMF->>RAN: NGAP Reroute NAS Request<br/>(NAS-PDU, AMF Set ID, Initial AMF Name)
Note over RAN: 在Set B内选目标AMF
RAN->>TAMF: N2 Initial UE Message<br/>+ NAS-PDU + Initial AMF Name
TAMF->>IAMF: Namf_Communication_UEContextTransfer<br/>(取SUPI/MM上下文/安全上下文)
IAMF-->>TAMF: UE上下文(SUPI, 安全上下文, SMF data)
Note over TAMF: 续接注册流程<br/>(鉴权/SMC可跳过)
TAMF->>SMF: 会话相关处理(如需)
TAMF-->>RAN: Registration Accept<br/>(新5G-GUTI=Set B的GUAMI)
RAN-->>UE: Registration Accept
TAMF->>IAMF: Namf_Communication_<br/>RegistrationCompleteStatus
Note over IAMF: 释放临时UE上下文
第1步 · UE → (R)AN:Registration Request(NAS)
| 关键IE | 含义 | 重选相关作用 |
|---|---|---|
5GS Registration type |
注册类型(初始/移动性/周期) | — |
5G-GUTI 或 SUCI |
UE临时/永久身份 | 5G-GUTI中的GUAMI是(R)AN选初始AMF的依据 |
Requested NSSAI |
UE请求的切片 | 若(R)AN能解析,可作为初始路由依据 |
UE security capability |
UE支持的安全算法 | 目标AMF需据此建立SMC |
(R)AN收到后,若5G-GUTI有效,依据其GUAMI(含AMF Region/Set/Pointer)选初始AMF;若无GUTI或GUAMI不可解析,则依据Requested NSSAI或本地默认AMF选择。
第2步 · (R)AN → 初始AMF:N2 Initial UE Message
这是NGAP消息(TS 38.413 §8.2.2),将NAS-PDU透传给初始AMF。此时(R)AN已与该AMF建立N2信令连接。
第7步 · 初始AMF → UDM:Nudm_UECM_Registration + Nudm_SDM_Get
初始AMF向UDM注册自己,并拉取订阅数据(TS 29.503):
Access and Mobility Subscription Data(含订阅S-NSSAI、RFSP、地区限制等);UE context in SMF data(已建立的PDU会话锚点SMF信息);关键决策点(TS 23.501 §6.3.5):初始AMF综合Requested NSSAI、Configured NSSAI、订阅S-NSSAI,计算出在当前TA有效的Allowed NSSAI。若初始AMF所属Set不能全部支持Allowed NSSAI中的S-NSSAI,则触发重选。
第8步 · 初始AMF → NRF:Nnrf_NFDiscovery_Request
初始AMF向NRF发起网络功能发现(TS 29.510),关键查询参数:
target-nf-type = AMFamf-region-id、amf-set-id(目标AMF Set标识)slice-info(S-NSSAI列表,限定切片支持能力)plmn-infoNRF返回目标AMF Set B的候选实例列表。注意:此时初始AMF可以直接选定一个目标AMF实例,也可以只选定AMF Set、把最终的实例选择交给(R)AN(后者即"经(R)AN重路由"路径,发挥(R)AN的本地负载均衡能力)。
第9步 · 初始AMF → (R)AN:NGAP Reroute NAS Request(核心!)
这是本机制的灵魂消息(TS 38.413)。其方向为AMF→NG-RAN,关键IE见下表:
| IE | M/O | 作用 |
|---|---|---|
NAS-PDU |
M | 原始的Registration Request(原封不动回传) |
RAN UE NGAP ID |
M | 维持(R)AN侧UE关联 |
AMF UE NGAP ID |
M | 维持AMF侧UE关联 |
AMF Set ID |
O | 指示目标AMF Set,由(R)AN在Set内选实例 |
Selected AMF Name |
O | 直接指定目标AMF实例(与AMF Set ID二选一) |
Initial AMF Name |
O | 本初始AMF的标识,供目标AMF回拉上下文 |
Allowed NSSAI |
O | 已计算的Allowed NSSAI,传递给目标AMF复用 |
设计巧妙之处:原始NAS消息不被初始AMF改写,只是"贴一张地址便签"(AMF Set ID / Initial AMF Name)重新投递,保证NAS层的完整性与可追溯性。
第10步 · (R)AN → 目标AMF:N2 Initial UE Message + Initial AMF Name
(R)AN在AMF Set B内依据负载选定目标AMF,发送一条新的Initial UE Message。其中携带Initial AMF Name这一IE——它是目标AMF"找回"初始AMF的钥匙。
第11步 · 目标AMF → 初始AMF:Namf_Communication_UEContextTransfer
目标AMF识别到Initial AMF Name后,经N14/Namf接口(TS 29.518)向初始AMF回拉UE上下文,避免重复执行识别与鉴权:
flowchart LR
A[NAS Registration Request] --> B[Reroute NAS Request<br/>附加: AMF Set ID + Initial AMF Name]
B --> C{路由方式}
C -->|经RAN重路由| D[(R)AN在Set B内选实例]
C -->|AMF间直接转发| E[N14: 目标AMF直收]
D --> F[Initial UE Message<br/>+ Initial AMF Name]
E --> F
F --> G[UEContextTransfer<br/>回拉安全上下文]
G --> H[续接注册: SMC/注册接受]
第12步以后 · 续接注册
目标AMF拿到安全上下文后,可跳过5G-AKA与Security Mode Command(若初始AMF已完成),直接续接注册流程,下发:
收尾 · Namf_Communication_RegistrationCompleteStatus
目标AMF向初始AMF回报重选成功,初始AMF随后释放为本次注册临时创建的UE上下文,完成资源回收(TS 29.518)。
TS 23.502 §4.2.2.2.2允许两种实现路径,工程上各有取舍:
| 维度 | 经(R)AN重路由(Reroute NAS Request) | AMF间直接转发(N14/Namf) |
|---|---|---|
| 标准依据 | TS 38.413 NGAP + TS 23.502 §4.2.2.2.2 | TS 23.502 §4.2.2.2.2 注、TS 29.518 |
| 目标AMF实例选择 | 由(R)AN在目标Set内本地选择(发挥负载均衡) | 由初始AMF/NRF选定后直接转发 |
| N2连接 | (R)AN与目标AMF建立新N2连接,链路清晰 | 初始AMF需维持中间态,拓扑更复杂 |
| 上下文获取 | 经Initial AMF Name触发UEContextTransfer |
转发时可直接内联携带上下文 |
| 典型应用 | 主流商用部署、3GPP一致性测试首选 | 部分厂商私有优化或云原生简化部署 |
| 防环机制 | (R)AN统计重路由次数,超限拒绝 | 需AMF自身维护reroute计数 |
主流厂商(华为、爱立信、中兴)在5GC SA商用网中普遍采用"经(R)AN重路由"方式,因为它复用了(R)AN既有的AMF选择与负载均衡能力,且N2连接的建立/迁移语义更清晰,便于网管与排错。
要真正理解重选,必须吃透GUAMI的结构(TS 23.003 §28.2.4、TS 38.413 §9.3):
graph LR
G[GUAMI<br/>24bit AMF ID] --> R[AMF Region ID<br/>8 bit]
G --> S[AMF Set ID<br/>10 bit]
G --> P[AMF Pointer<br/>6 bit]
M[MCC+MNC] --> G
R --> R1["标识一个AMF区域<br/>(地理/逻辑)"]
S --> S1["标识区域内一个AMF Set<br/>最多1024个Set/Region"]
P --> P1["标识Set内一个AMF实例<br/>最多64个AMF/Set"]
| 字段 | 位宽 | 含义 | 重选中的角色 |
|---|---|---|---|
| MCC+MNC | — | PLMN标识 | 全局归属 |
| AMF Region ID | 8 bit | AMF区域 | 重选的目标区域范围 |
| AMF Set ID | 10 bit | AMF集合(共享切片支持与UDSF) | 重选的核心目标单位 |
| AMF Pointer | 6 bit | Set内具体AMF实例 | (R)AN在Set内做负载选择 |
设计精髓:重选的粒度是AMF Set而非具体AMF实例。这样(R)AN在目标Set内仍有选择空间,且Set内AMF通过UDSF共享上下文,即使具体实例不同,UE上下文也能无缝迁移——这就是5GC"无状态"架构在重选场景的体现。
注意区分:TS 23.003中SUPI(IMSI)的Routing Indicator用于归属网将信令路由至正确的UDM/AUSF,属于"用户面/数据库侧路由",与本节讨论的"AMF重选路由"是两个层面,切勿混淆。
切片与控制面解耦。若要求(R)AN在注册第一步就精确选出支持所有切片的AMF,将迫使(R)AN维护全网的AMF-切片映射表,这与"RAN尽量简单"的原则相悖。重选机制把切片匹配的复杂性收敛在核心网内部(AMF/NSSF/NRF),(R)AN只需做"尽力而为"的初选,匹配失败时由AMF发起二次路由——复杂逻辑上移,简单动作下沉。
AMF Set无状态化支撑弹性扩缩容。重选以Set为粒度,配合UDSF共享上下文,使得AMF实例可自由增删而不影响在网用户。云原生5GC(如基于容器的大区集中部署)正是依赖此机制实现滚动升级与故障切换。
防环与可追溯。Initial AMF Name的引入使目标AMF能精确回拉上下文而非盲目重跑鉴权;NGAP层面的重路由计数防止AMF间互相"踢皮球"形成死循环;原始NAS-PDU不改写保证NAS层消息完整性可审计。三者共同构成鲁棒性保障。
在Wireshark/TShark中,AMF重选(经RAN路径)有非常鲜明的指纹:
Reroute NAS Request(由AMF发出,方向AMF→gNB),其后紧跟针对同一UE的第二条Initial UE Message(gNB→另一个AMF实例,通常落在不同的SCTP关联或不同目的IP);Nnrf_NFDiscovery_Request,target-nf-type=AMF且携带slice-info/amf-set-id;随后出现两个AMF IP之间的POST /namf-comm/v1/ue-contexts/{...}/transfer(即UEContextTransfer);抓包判据:"一进一出两条Initial UE Message + 中间一条Reroute NAS Request" 即可确认发生了AMF重选。
| 故障现象 | 可能根因 | 排错思路 |
|---|---|---|
| 注册反复失败、UE长时间无响应 | AMF Set切片能力配置错误,初始/目标AMF均不满足Allowed NSSAI,触发重选超限 | 检查AMF Set的S-NSSAI订阅与UDM订阅S-NSSAI一致性 |
| 重选后重复鉴权,时延显著增大 | 目标AMF未执行UEContextTransfer(如Initial AMF Name未携带),被迫重跑5G-AKA | 核查NGAP Reroute NAS Request是否包含Initial AMF Name |
| 切换/重选后PDU会话丢失 | UE context in SMF data未正确迁移,目标AMF未感知已有SMF | 排查UEContextTransfer响应中SMF data完整性 |
| 重选循环(乒乓) | 防环计数失效或两个AMF Set切片配置互斥 | 检查(R)AN的reroute计数器与AMF Set切片映射 |
| ## 七、状态转换视角 |
整个重选对UE而言仍是注册流程,状态机变化与普通注册一致,但在网络侧AMF间有独特的上下文移交:
stateDiagram-v2
[*] --> RM_DEREGISTERED: UE开机
RM_DEREGISTERED --> RM_REGISTERING: 发起Registration Request
RM_REGISTERING --> IAMF_HANDLING: (R)AN选初始AMF
IAMF_HANDLING --> IAMF_HANDLING: 切片不匹配→判定重选
IAMF_HANDLING --> TAMF_HANDLING: Reroute NAS Request
TAMF_HANDLING --> TAMF_HANDLING: UEContextTransfer回拉
TAMF_HANDLING --> RM_REGISTERED: Registration Accept(新GUTI)
RM_REGISTERED --> [*]: 去注册/关机
note right of IAMF_HANDLING
初始AMF为临时角色
重选完成后释放上下文
end note
Q1:AMF重选和NSSF切片选择是什么关系?
A:NSSF负责切片决策(计算Allowed NSSAI、确定目标AMF Set、NSI-ID),AMF重选是切片决策的执行动作。初始AMF可调用Nnssf_NSSelection_Get(TS 29.531)获得目标AMF Set后发起重选;也可不经NSSF、依据本地配置与UDM数据自行判定。NSSF是"军师",AMF重选是"执行者"。
Q2:重选过程中UE会被要求重新鉴权吗?
A:不一定。若初始AMF在重选前已完成5G-AKA并建立安全上下文,目标AMF通过Namf_Communication_UEContextTransfer回拉安全上下文(含KAMF),即可直接续接Security Mode Command甚至跳过,无需重跑鉴权。这正是Initial AMF NameIE存在的核心价值。
Q3:(R)AN如何防止重选死循环?
A:(R)AN对同一UE的Reroute NAS Request/Initial UE Message维护计数,超过最大重路由次数后拒绝继续转发,向UE返回注册拒绝(如原因值#22拥塞或合适的服务拒绝)。同时AMF Set切片配置的正确性是避免循环的根本——一个Allowed NSSAI在全网至少应存在一个可服务的AMF Set。
Q4:AMF重选对UE透明吗?影响哪些KPI? A:对UE完全透明,UE只感知一次注册往返。但它影响两个网络KPI:注册时延(增加一次N2投递与可能的上下文回拉,通常增加几十至百毫秒)和首信令连接成功率(重选失败会直接导致注册失败)。因此网优中"重选次数"是衡量切片规划合理性的重要指标。
Q5:为什么不在注册一开始就选对AMF? A:因为(R)AN无法在注册第一步就掌握UE的订阅切片全集(这需查UDM),而GUAMI来自上次的5G-GUTI,可能已陈旧。"先尽力投递、再核心网精确修正"是工程上成本最低的折中——它把"知道全部信息才能做的精确决策"推迟到拥有UDM数据之后,避免了(R)AN承担超出其能力的复杂查询。
本文由「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 等场景全覆盖。
