首页 › core-network › 5G AMF选择五重决策与GUAMI博弈

5G AMF选择五重决策与GUAMI博弈:从注册路由到切片重定向的全链路解析

一、为什么AMF选择如此关键?

5G核心网中,AMF(Access and Mobility Management Function)是UE接入的第一个控制面锚点。一个错误的AMF选择,意味着整个注册流程必须"推倒重来"——触发AMF重选(AMF Reselection),增加100ms以上的额外时延,消耗NSSF/NRF额外的查询资源。根据TS 23.501 Section 6.3.5的定义,5G系统设计了一套五重决策机制来确保"一次选对"。

与4G EPC中MME选择仅基于GUMMEI和TAI的简单路由不同,5G引入了切片感知(S-NSSAI)和AMF Set层级架构两个全新维度,使AMF选择从二维路由升级为五维决策空间。

二、GUAMI三层结构体解析

2.1 GUAMI字段结构

GUAMI(Globally Unique AMF Identifier)是5G系统中标识AMF实例的核心标识符,定义于TS 23.501 Section 5.21.6和TS 29.571。其结构如下:

┌─────────────────────────────────────────────────┐
│                    GUAMI (10 bytes)              │
├──────────┬─────────────┬──────────┬─────────────┤
│  PLMN ID │ AMF Region  │ AMF Set  │ AMF Pointer │
│ (5 bytes)│  ID (8 bits)│ID(10 bits)│ (6 bits)   │
├──────────┼─────────────┼──────────┼─────────────┤
│ MCC+MNC  │  标识AMF    │ 同Set内   │ Set内具体   │
│          │  区域       │ AMF组     │ AMF实例     │
└──────────┴─────────────┴──────────┴─────────────┘
字段 比特数 取值范围 功能说明
PLMN ID (MCC+MNC) 24 bits — 运营商网络标识,含在5G-GUTI前缀中
AMF Region ID 8 bits 0-255 标识AMF Region,最大256个Region
AMF Set ID 10 bits 0-1023 Region内最多1024个AMF Set
AMF Pointer 6 bits 0-63 每Set内最多64个AMF实例

2.2 三层层级关系

graph TD
    A[AMF Region 0-255] --> B[AMF Set 0 - 1023]
    A --> C[AMF Set 1 - 1023]
    A --> D[AMF Set N - 1023]
    B --> E[AMF Ptr 0 - 63]
    B --> F[AMF Ptr 1 - 63]
    B --> G[AMF Ptr N - 63]
    C --> H[AMF Ptr 0 - 63]
    C --> I[AMF Ptr 1 - 63]

    style A fill:#e74c3c,color:#fff
    style B fill:#3498db,color:#fff
    style C fill:#3498db,color:#fff
    style D fill:#3498db,color:#fff
    style E fill:#2ecc71,color:#fff
    style F fill:#2ecc71,color:#fff
    style G fill:#2ecc71,color:#fff
    style H fill:#2ecc71,color:#fff
    style I fill:#2ecc71,color:#fff

设计意图:AMF Region对应大区(如华北、华东),AMF Set对应省/市级别,AMF Pointer对应具体服务器实例。这种层级设计有两个核心目的:

  1. 容灾冗余:同一AMF Set内的AMF共享UE上下文(通过UDSF或内部同步),一个AMF故障时,Set内其他AMF可无缝接管
  2. 负载均衡:AMF Pointer 6 bit意味着每个Set最多64个AMF实例,通过修改GUAMI中的Pointer值实现UE粒度的负载调度

2.3 5G-GUTI与GUAMI的关系

5G-GUTI在TS 23.501 Section 5.21.6中定义,其完整结构为:

5G-GUTI = <GUAMI> + <5G-TMSI>
         = <PLMN ID><AMF Region ID><AMF Set ID><AMF Pointer><5G-TMSI>

5G-S-TMSI = <AMF Set ID><AMF Pointer><5G-TMSI>  (用于寻呼)

5G-S-TMSI是5G-GUTI的缩短形式,省略了PLMN ID和AMF Region ID,用于寻呼场景减少空口开销。gNB通过5G-S-TMSI中的AMF Set ID和AMF Pointer即可将寻呼路由到正确的AMF。

三、AMF选择五重决策机制

TS 23.501 Section 6.3.5定义了AMF选择功能,适用于3GPP接入和非3GPP接入。决策依据按优先级排列如下:

flowchart TD
    START[UE发起Registration Request] --> Q1{UE是否携带5G-GUTI?}
    Q1 -->|是| A1[RAN从5G-GUTI提取GUAMI]
    Q1 -->|否| Q2{UE是否携带SUCI/SUPI?}

    A1 --> Q3{GUAMI对应的AMF可用?}
    Q3 -->|是| SELECT1[选择GUAMI对应的AMF]
    Q3 -->|否| Q4{同AMF Set内其他AMF可用?}
    Q4 -->|是| SELECT2[选择同Set内其他AMF]
    Q4 -->|否| Q5{本地配置的默认AMF?}

    Q2 -->|SUCI| Q6{RAN能否从SUCI推导AMF?}
    Q2 -->|无标识| Q5

    Q6 -->|是| SELECT3[基于SUCI路由到AMF]
    Q6 -->|否| Q5

    Q5 -->|是| SELECT4[选择默认AMF]
    Q5 -->|否| SELECT5[通过NRF发现AMF]

    SELECT1 --> CHECK{初始AMF是否支持<br>UE请求的S-NSSAI?}
    SELECT2 --> CHECK
    SELECT3 --> CHECK
    SELECT4 --> CHECK
    SELECT5 --> CHECK

    CHECK -->|是| REG[继续注册流程]
    CHECK -->|否| RESEL[触发AMF重选]

    RESEL --> NSSF[查询NSSF获取目标AMF Set]
    NSSF --> TARGET[转发注册到目标AMF]

    style START fill:#e74c3c,color:#fff
    style REG fill:#2ecc71,color:#fff
    style RESEL fill:#f39c12,color:#fff
    style NSSF fill:#9b59b6,color:#fff

3.1 第一重:5G-GUTI路由(最高优先级)

当UE携带5G-GUTI发起注册时,RAN(gNB)从5G-GUTI中提取GUAMI,直接将NAS Registration Request路由到GUAMI标识的AMF。

关键NGAP参数(TS 38.413 Section 8.3.1): - RAN UE NGAP ID:RAN侧UE标识 - UserLocationInformation:UE位置(TAI+Cell Identity) - RAN Node Name:gNB标识 - FiveG-S-TMSI(如可用):用于关联已有UE上下文

路由失败处理:如果GUAMI指向的AMF不可用,RAN执行AMF Set内降级选择——使用AMF Set ID查找同Set内其他可用AMF。这依赖于gNB本地维护的AMF Set成员列表(通过NG Setup或AMF Configuration Update获取)。

3.2 第二重:S-NSSAI切片感知路由

当UE未携带有效5G-GUTI(初始注册或GUTI无效),但携带了Requested NSSAI时,RAN需要基于S-NSSAI选择支持对应切片的AMF。

TS 23.501 Section 6.3.5明确规定了RAN的选择逻辑:

  1. RAN检查UE的Requested NSSAI中的S-NSSAI
  2. 查找本地配置中支持该S-NSSAI的AMF(或AMF Set)
  3. 如果找到,将注册请求路由到该AMF
  4. 如果未找到,回退到默认AMF选择

3.3 第三重:PLMN选网路由

在漫游或共享RAN场景下,RAN需要根据UE选择的PLMN将注册路由到对应运营商的AMF。

触发条件: - UE发送的Registration Request中包含PLMN ID - RAN广播多个PLMN(MOCN/MORAN共享) - gNB根据UE选择的PLMN查找该PLMN下的AMF池

3.4 第四重:负载均衡路由

即使确定了AMF Set,RAN仍需在Set内选择具体的AMF Pointer。这通过负载均衡机制实现:

TS 23.501 Section 6.3.5规定:当RAN需要在AMF Set内选择AMF时,应使用权重因子(Weight Factor)进行选择,该因子通过NGAP AMF Configuration Update消息中的RelativeAMFCapacity IE传递。

NGAP IE 位置 说明
RelativeAMFCapacity AMF Configuration Update / NG Setup AMF相对容量权重(0-255)
AMFSetID AMF Configuration Update AMF所属Set标识
GUAMIList AMF Configuration Update AMF负责的GUAMI范围
SliceSupportList NG Setup Response AMF支持的切片列表

负载均衡算法(运营商可选): - 加权轮询:按RelativeAMFCapacity比例分配 - 最小连接数:选择当前注册数最少的AMF - 哈希分配:对5G-S-TMSI做哈希映射到AMF Pointer

3.5 第五重:NRF服务发现(兜底机制)

当上述所有本地选择机制都失败时,RAN或初始AMF可通过NRF进行服务发现。

Nnrf_NFDiscovery请求(TS 29.510):

GET /nnrf-disc/v1/nf-instances?
    target-nf-type=AMF&
    requester-nf-type=AMF&
    amf-region-id=0x0A&
    amf-set-id=0x1F3&
    s-nssai=SST:1,SD:010203&
    tai=46000:FDD0

四、AMF重选完整信令流分析

当初始AMF发现无法服务UE请求的S-NSSAI时,触发AMF重选。这是5G注册中最复杂的路径,定义于TS 23.502 Section 4.2.2.2.3。

sequenceDiagram
    participant UE
    participant RAN as gNB (RAN)
    participant AMF_old as 初始AMF
    participant NSSF
    participant NRF
    participant AMF_new as 目标AMF
    participant UDM

    UE->>RAN: RRC Setup + NAS Registration Request<br/>(5G-GUTI / Requested NSSAI)
    RAN->>AMF_old: NGAP Initial UE Message<br/>+ NAS Registration Request

    Note over AMF_old: Step 1: 检查是否支持UE请求的S-NSSAI

    AMF_old->>NSSF: Nnssf_NetworkSliceSelection_Get<br/>(Requested NSSAI, TAI, SUPI)

    NSSF->>NSSF: 查询切片配置<br/>确定Allowed NSSAI
    NSSF-->>AMF_old: 返回 Target AMF Set +<br/>Allowed NSSAI + NSI ID

    Note over AMF_old: Step 2: 初始AMF不在目标AMF Set中<br/>触发AMF重选

    AMF_old->>NRF: Nnrf_NFDiscovery<br/>(target-nf-type=AMF,<br/>amf-set-id=Target Set)
    NRF-->>AMF_old: 返回目标AMF实例列表

    AMF_old->>AMF_new: Namf_Communication_<br/>RegistrationForwardingRequest<br/>(完整NAS消息+UE上下文)

    Note over AMF_new: Step 3: 目标AMF接管注册流程

    AMF_new->>UDM: Nudm_UECM_Registration<br/>(注册为服务AMF)
    UDM-->>AMF_new: 确认

    AMF_new->>AMF_old: Namf_Communication_<br/>RegistrationForwardingResponse

    AMF_new-->>RAN: NGAP Initial Context Setup /<br/>Downlink NAS Transport
    RAN-->>UE: NAS Registration Accept<br/>(新5G-GUTI + Allowed NSSAI)

    Note over UE: 5G-GUTI中包含新的GUAMI<br/>后续消息路由到目标AMF

4.1 Step 1:切片适配检查

初始AMF收到Registration Request后,执行以下检查序列:

  1. 从NAS消息中提取Requested NSSAI
  2. 对照自身支持的S-NSSAI列表(AMF本地配置或从NRF获取的profile)
  3. 如果Requested NSSAI中有至少一个S-NSSAI不在AMF支持列表中,则触发NSSF查询

TS 23.502 Section 4.2.2.2.3的条件判断:

场景 初始AMF行为
所有请求的S-NSSAI都支持 继续正常注册流程
部分支持,且AMF配置为非默认AMF 查询NSSF获取目标AMF
完全不支持 必须查询NSSF
UE未提供NSSAI 按默认AMF处理

4.2 Step 2:NSSF切片选择

初始AMF调用Nnssf_NetworkSliceSelection服务(TS 29.531),请求参数:

参数 类型 说明
sNssaiList array UE请求的S-NSSAI列表
homePlmnId PlmnId UE归属PLMN
tai Tai UE当前跟踪区
roamingIndication enum 漫游标识
supi Supi UE永久标识(如已认证)

NSSF返回的关键信息:

返回参数 说明
allowedNssai 允许的S-NSSAI列表
targetAmfSet 目标AMF Set标识
targetAmfServiceSet 目标AMF Service Set(可选)
nsiInformationList Network Slice Instance信息
rejectedNssaiInPlmn PLMN级拒绝的S-NSSAI
rejectedNssaiInTa TA级拒绝的S-NSSAI

4.3 Step 3:注册转发

初始AMF通过Namf_Communication_RegistrationForwardingRequest将整个NAS消息和部分UE上下文转发给目标AMF。

转发的内容包括(TS 29.518 Section 5.2.2.3.1):

{
  "jsonPayload": {
    "n1Message": "base64编码的NAS Registration Request",
    "n1MessageClass": "5GMM",
    "oldGuami": {"plmnId": {"mcc":"460","mnc":"00"}, 
                 "amfId":"A1B2C3"},
    "anN2ApInfo": {
      "globalRanNodeId": {"plmnId":{"mcc":"460","mnc":"00"},
                          "ranNodeId":12345},
      "anType": "3GPP_ACCESS"
    }
  }
}

4.4 GUAMI重分配

目标AMF完成注册后,在Registration Accept中分配新的5G-GUTI,其中包含新的GUAMI:

UE在后续所有NAS信令中使用新的5G-GUTI,RAN将正确路由到目标AMF。

五、AMF Set内故障切换机制

stateDiagram-v2
    [*] --> Normal: UE已注册<br/>GUAMI指向AMF_1

    Normal --> AMF_Failure: AMF_1故障/重启
    AMF_Failure --> Set_Reselection: RAN检测AMF_1不可达

    state Set_Reselection {
        [*] --> Check_Set: 提取AMF Set ID
        Check_Set --> Select_Alt: 选择Set内其他AMF
        Select_Alt --> Forward_NAS: 转发NAS消息
    }

    Set_Reselection --> Context_Recovery: 目标AMF_2收到NAS

    state Context_Recovery {
        [*] --> Check_UDSF: 查询UDSF
        Check_UDSF --> Found: 上下文存在
        Check_UDSF --> Not_Found: 上下文不存在
        Found --> Restore: 恢复UE上下文
        Not_Found --> Re_Register: 要求UE重新注册
    }

    Context_Recovery --> Normal: UE上下文恢复<br/>新GUAMI指向AMF_2

    Restore --> New_GUTI: 分配新5G-GUTI
    Re_Register --> Full_Auth: 触发完整注册+认证
    New_GUTI --> Normal
    Full_Auth --> Normal

5.1 RAN侧故障检测

gNB通过以下机制检测AMF不可用:

  1. SCTP关联断开:AMF的SCTP链路中断
  2. NGAP Reset:AMF发送AMF Status Indication(TS 38.413 Section 8.5)
  3. 流控通知:AMF发送AMF Overload Start指示
  4. 定时器超时:NGAP消息重传超时

当检测到AMF不可用时,gNB执行以下操作(TS 23.501 Section 6.3.5): 1. 从5G-GUTI中提取AMF Set ID 2. 查找本地配置的该Set内其他AMF 3. 按权重因子选择一个可用AMF 4. 将后续NAS消息路由到新AMF

5.2 UE上下文恢复策略

场景 恢复策略 时延影响
UDSF已部署 新AMF从UDSF查询UE上下文 <50ms
AMF间直接同步 新AMF从旧AMF获取(如仍部分可用) 50-200ms
无上下文可用 新AMF触发Identity Request → 完整注册 500ms+

运营商成本博弈:部署UDSF意味着额外的基础设施投入,但能显著降低AMF故障时的切换时延。大型运营商(如中国移动)通常在每AMF Region部署UDSF;小型运营商可能依赖AMF间的直接同步或接受重新注册的开销。

六、GUAMI重分配与Configuration Update

AMF可以通过NGAP AMF Configuration Update消息(TS 38.413 Section 8.6)动态更新gNB中的GUAMI映射关系。

6.1 AMF Configuration Update信令

sequenceDiagram
    participant AMF
    participant gNB

    AMF->>gNB: AMF Configuration Update<br/>(GUAMI List, Slice Support,<br/>Relative Capacity)

    alt gNB接受更新
        gNB-->>AMF: AMF Configuration Update Acknowledge
    else gNB部分拒绝
        gNB-->>AMF: AMF Configuration Update Failure<br/>(GUAMI List中不接受的项)
    end

    Note over gNB: 更新本地AMF路由表<br/>新注册的UE使用新映射

关键IE说明(TS 38.413 Section 9.2.3):

IE名称 功能 运维意义
AMF TNLA Association AMF传输层地址列表 负载均衡、多活部署
GUAMI List AMF负责的GUAMI范围 扩容/缩容时动态调整
Slice Support List AMF支持的S-NSSAI 新切片上线时更新
Relative AMF Capacity AMF相对容量权重 实时负载均衡调整

6.2 GUAMI重分配(GUAMI Reallocation)

AMF在以下场景主动触发GUAMI重分配:

  1. 负载均衡:AMF过载时,将部分UE的GUAMI迁移到Set内其他AMF
  2. 运维操作:AMF计划维护前,将UE迁移到其他AMF
  3. 切片变更:UE订阅的切片发生变化,需要迁移到支持新切片的AMF

NAS层GUAMI更新信令:AMF通过Configuration Update Command(TS 24.501 Section 8.2.13)通知UE更新5G-GUTI:

IE 说明
Configuration Update Indication 指示是否需要ACK
5G-GUTI 新的5G-GUTI(含新GUAMI)
Allowed NSSAI 更新后的允许切片
TAI List 更新后的跟踪区列表

七、抓包识别与故障排查

7.1 抓包识别AMF选择流程

关键过滤条件:

# Wireshark NGAP过滤器 - 捕获初始UE消息
ngap.procedureCode == 15 && ngap.initiatingMessage

# 捕获AMF Configuration Update
ngap.procedureCode == 40

# 捕获NSSF交互(HTTP/2)
http2.headers.path contains "/nnssf-networkslice-selection"

关键判读点:

  1. Initial UE Message中是否携带5G-S-TMSI: - 携带 → RAN执行GUAMI路由(正常流程) - 未携带 → RAN执行默认AMF选择或S-NSSAI路由

  2. NAS Registration Request中的Registration Type: - Initial Registration(值0)→ 可能触发AMF选择 - Mobility Registration Updating(值1)→ 通常携带旧5G-GUTI

  3. 是否出现Nnssf_NetworkSliceSelection请求: - 出现 → 说明发生了AMF重选 - 未出现 → 初始AMF即可服务UE

7.2 常见故障场景

维度 4G MME选择 5G AMF选择
路由依据 GUMMEI + TAI GUAMI + S-NSSAI + TAI + PLMN
层级结构 MME Pool(扁平) AMF Region → AMF Set → AMF Pointer(三层)
切片感知 无 S-NSSAI驱动的切片路由
故障恢复 MME Pool内重选 AMF Set内无缝切换 + UDSF上下文恢复
服务发现 DNS(S1接口) NRF + 本地配置(NG接口)
重选机制 S1接口HO/TAU NSSF查询 + Namf转发
负载均衡 DNS权重/round-robin RelativeAMFCapacity + AMF Pointer

5G引入AMF Set的核心理念是将"故障恢复"和"负载均衡"从网络层下沉到标识符层——GUAMI本身就包含了路由信息,无需额外的DNS查询或信令交互。这种设计哲学是将路由状态嵌入标识符(State in Identifier),是5G SBA架构中"自包含路由"思想的体现。

九、运营商成本博弈分析

9.1 AMF Set规模决策

运营商在规划AMF Set时面临容量与成本的trade-off:

方案A:大Set(32-64 AMF/Set) - 优势:故障恢复时选择更多,负载均衡更均匀 - 劣势:UE上下文同步开销大,UDSF存储成本高

方案B:小Set(2-4 AMF/Set) - 优势:上下文同步简单,运维成本低 - 劣势:故障恢复选择有限,负载不均风险高

方案C:混合模式(核心区域大Set,边缘小Set) - 优势:按业务密度灵活配置 - 劣势:运维复杂度增加

9.2 NSSF部署策略

策略 适用场景 成本
全国集中部署1个NSSF 小型运营商/虚拟运营商 低
每AMF Region部署NSSF 中型运营商 中
NSSF集群+负载均衡 大型运营商(如CMCC) 高

常见问题

Q1: AMF Set内所有AMF都不可用时,UE会怎样?

A: RAN回退到默认AMF选择机制。如果连默认AMF都无法找到,gNB会向UE返回RRC Release,UE进入空闲态后重试。若反复失败,UE触发PLMN重选。在TS 23.501中,这种情况归类为"AMF Set不可用",需要运维介入修复。

Q2: GUAMI中的AMF Pointer值改变是否意味着AMF重选?

A: 不一定。AMF Pointer在AMF Set内的变化可以通过Configuration Update Command完成,无需完整注册流程。但如果AMF Region ID或AMF Set ID变化,则必须通过完整注册(含AMF重选)流程完成。

Q3: 非3GPP接入(如Wi-Fi)的AMF选择有何不同?

A: N3IWF/TNGF代替gNB执行AMF选择。由于非3GPP接入不通过NGAP,AMF选择通过N2接口上的NWu/IKEv2信令中的IKE SA建立过程完成。N3IWF根据UE的5G-GUTI或S-NSSAI选择AMF,选择逻辑与gNB一致但传输机制不同。

Q4: AMF过载时如何影响AMF选择?

A: 过载AMF通过AMF Overload Start(NGAP)通知gNB。gNB收到后停止向该AMF路由新注册请求,转而选择Set内其他AMF。过载AMF同时可通过Namf_Communication_AMFStatusChangeNotify通知其他NF不再向其转发请求。这与TS 23.501 Section 5.19中定义的"AMF过载控制"机制联动。

Q5: 一个AMF可以属于多个AMF Set吗?

A: TS 23.501规定每个AMF实例在同一时刻只能属于一个AMF Set。但AMF可以通过AMF Configuration Update动态调整其所属Set(运维操作),这意味着AMF Set的成员关系是可变的,但不能重叠。

参考来源

  1. 3GPP TS 23.501 V18.10.0 — Section 5.21.6 (GUAMI), Section 6.3.5 (AMF Discovery and Selection)
  2. 3GPP TS 23.502 V18.10.0 — Section 4.2.2.2 (Registration with AMF Reselection)
  3. 3GPP TS 29.531 V18.6.0 — Nnssf_NetworkSliceSelection Service
  4. ShareTechnote — 5G GUAMI — GUAMI结构与AMF选择示例
  5. 3GLTEInfo — 5G AMF Selection Troubleshooting — 故障排查实战指南

    本文由「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 等场景全覆盖。

51学通信知识星球海报-扫码加入