本文技术原理深度参考了3GPP TS 23.501 V18.9.0 (2025-03) Release 18规范中,附录A“业务化接口与参考点关系”,附录B“临时身份映射”及附录C“计算存储分离指南”的核心章节,旨在为读者提供一个关于5G核心网架构设计哲学——从接口模型、身份管理到云原生部署——的全景视图。本文是解读“6 Network Functions”系列的第六部分。

深度解析 3GPP TS 23.501:附录A, B, C - 架构基石 (接口、身份与无状态设计)

欢迎来到“解构5G核心网”的NF深度解析系列。在之前的文章中,我们已经逐一探索了5G核心网中各个网络功能(NF)的具体职责。然而,要真正理解这些NF为何能如此高效、灵活地协同工作,我们必须深入其背后,探究支撑整个服务化架构(SBA)的设计哲学基本准则

今天,我们将暂离主线章节,深入到规范的附录A, B, C中。这三个附录虽然篇幅不长,却揭示了5G架构设计的“三大基石”,它们回答了三个根本性问题:

  • 我们如何描述NF之间的交互?(附录A) —— 接口模型的演进:从点对点的“参考点”到灵活的“服务化接口”。

  • 当我们在不同代际网络间穿梭时,我们如何维持身份的连续性?(附录B) —— 临时身份的映射:5G与4G(EPC)之间无缝移动的“护照翻译”。

  • 我们如何构建一个真正有弹性、高可靠的核心网?(附录C) —— 计算与存储的分离:实现NF无状态化的云原生设计精髓。

为了将这三个高度浓缩的架构原则串联起来,让我们引入今天的场景。李工程师,一位“未来城市电信”的初级网络架构师,正在他的导师王总的指导下,参与一项极具挑战性的任务:为“未来城市”规划下一阶段的5G核心网演进。他们的讨论将围绕以下三个核心议题展开:

  1. 解读架构图: 王总拿出两份不同的5G核心网架构图,一份布满了N7, N11等“Nxx”标记,另一份则充满了Nsmf_PDUSession, Namf_Communication等服务名称。他要求李工程师解释这两者的区别与联系。

  2. 规划4G/5G协同: “未来城市”周边的一些卫星城,短期内仍将以4G网络为主。王总要求李工程师制定一个技术方案,确保用户在“未来城市”(5G)和卫星城(4G)之间移动时,通话和数据业务不会中断。

  3. 设计弹性AMF集群: 为了应对未来城市人口的快速增长和大型活动带来的瞬时话务冲击,王总要求李工程师设计一个能够实现秒级扩容、且单个节点故障不影响用户业务的AMF集群方案。

我们将跟随李工程师的学习和思考过程,从这三个具体任务入手,来深度解构5G架构的三大设计基石。


1. “连线”还是“对话”:接口模型的演进 (附录A)

王总向李工程师展示了两幅架构图,抛出了第一个问题:“为什么有的图用带编号的线连接NF,有的图却像是NF之间在互相‘调用服务’?它们是什么关系?”

Service-Based Interfaces and Reference Points are two different ways to model interactions between architectural entities. A Reference Point is a conceptual point at the conjunction of two non-overlapping functional groups… A reference point can be replaced by one or more service-based interfaces which provide equivalent functionality.

附录A清晰地解释了这两种模型的并存与演进关系。

1.1 参考点模型 (Reference Point)

概念: 这是传统的电信网络架构描述方式,如4G EPC中的S1, S11等接口。它定义了两个特定类型的网络功能之间的一个逻辑连接点

  • 特点: 点对点、功能固定、耦合度高。

  • 比喻: 就像一张老式的电话交换机接线图,N11参考点就如同是一根明确标记的、专门用于连接“AMF-7号插口”和“SMF-3号插口”的跳线。它只能用于连接AMF和SMF,不能用于连接其他设备。

规范原文中的Figure A-1就形象地展示了一个参考点RP1连接着NFA和NFB。

1.2 服务化接口模型 (Service-Based Interface, SBI)

概念: 这是5G SBA的核心。它将网络功能之间的交互,从“物理连线”抽象为“服务调用”。

  • 特点: 多对多、功能解耦、灵活性高。

  • 比喻: 在SBI模型中,不再有固定的跳线。NFA不再关心它需要连接到哪个具体的NFB实例。它只需要向“服务市场”(由NRF和SCP构建)喊话:“我需要一个Nnfb_Service1服务!” 市场就会为它找到一个当前可用的、合适的NFB实例来提供服务。

规范原文中的Figure A-2展示了RP1这个参考点,可以被一个名为Nnfb_的服务化接口所替代。这意味着,过去需要通过RP1完成的所有交互,现在都可以通过调用Nnfb_服务来完成。

1.3 两者为何并存?

王总进一步提问:“既然SBI这么先进,为什么在5G规范里,我们还能看到N1, N2, N3, N4, N6这些参考点的存在?”

李工程师经过思考,总结出原因:

  1. 边界定义: 对于定义系统宏观边界的接口,参考点模型依然简洁明了。

    • N1 (UE-AMF): 定义了终端与核心网控制面的边界。

    • N2 (RAN-AMF), N3 (RAN-UPF): 定义了无线接入网与核心网的边界。

    • N6 (UPF-DN): 定义了核心网与外部数据网络的边界。

  2. 特定协议: 对于一些非SBI的、点对点的特定协议接口,参考点模型描述更直观。

    • N4 (SMF-UPF): 使用PFCP协议,是控制面与用户面分离的核心接口,其交互模式更像是一种“配置下发”,而非通用的“服务调用”。
  3. 演进兼容: 在架构图中同时保留两者,有助于理解从4G到5G的演进关系。

结论: 参考点模型定义了**“哪里”有连接,而服务化接口模型定义了“如何”**进行连接。在5GC内部,控制面NF之间的交互,已经全面转向了SBI模型。


2. “护照翻译官”:5G与4G之间的身份映射 (附录B)

接下来,王总提出了第二个挑战:如何确保用户在“未来城市”的5G网络和邻市的4G网络之间无缝移动?

When interworking procedures with N26 are used and the UE performs idle mode mobility from 5GC to EPC the following mapping from 5G GUTI to EPS GUTI applies:

  • 5G maps to EPS
  • 5G maps to EPS
  • 5G and 5G maps to EPS and part of EPS
  • 5G map to part of EPS
  • 5G <5G-TMSI> maps to EPS

2.1 问题的核心:GUTI的“语言不通”

当一个UE从一个网络移动到另一个网络时,为了实现会话的无缝切换(即不需要重新鉴权和建立PDU会话),它必须向目标网络出示它在源网络中的临时身份——GUTI(Globally Unique Temporary Identity)。目标网络需要通过这个GUTI,找到源网络中的网元(如AMF或MME),并从中获取该UE的完整上下文。

问题在于,5G的GUTI和4G的GUTI(EPS GUTI)的结构和编码方式不同。就像一本5G的“护照”拿到4G的“海关”,海关官员看不懂。附录B的使命,就是提供一个标准的“护照翻译规则”。

2.2 GUTI的映射规则

附录B定义了当UE从5GC移动到EPC时,其携带的5G-GUTI如何被映射(或“伪装”)成一个EPS GUTI。

| 5G GUTI 组件 | 映射到 | 4G (EPS) GUTI 组件 | 解释 |

| :--- | :--- | :--- | :--- |

| MCC | | MCC | 移动国家码,保持不变。 |

| MNC | | MNC | 移动网络码,保持不变。 |

| AMF Region ID | \multirow{2}{}{} | \multirow{2}{}{MMEGI (MME Group ID)} | 5G中用于标识AMF区域和集合的ID,被共同映射到4G的MMEGI中。 |

| AMF Set ID | | | 这使得MME能够定位到源AMF所在的AMF Set。 |

| AMF Pointer | | MMEC (MME Code) | 5G中用于在AMF Set内指向具体AMF的指针,被映射到4G的MMEC中。 |

| 5G-TMSI | | M-TMSI | UE在AMF内的临时标识,被直接映射到UE在MME内的临时标识。 |

场景代入:

  1. 小晴在“未来城市”的5G网络注册,AMF-1为她分配了一个5G-GUTI

  2. 她乘坐城际列车前往邻市。列车驶出5G覆盖区,进入了邻市的4G覆盖区。

  3. 手机检测到网络变化,需要发起**TAU(Tracking Area Update)**流程。

  4. 此时,手机不会直接使用5G-GUTI。它会根据附录B定义的规则,将这个5G-GUTI在本地“翻译”成一个EPS GUTI的格式。

  5. 手机向4G的MME发起TAU请求,并携带这个“翻译”过的EPS GUTI。

  6. MME看到这个GUTI,解析出其中的MMEGI和MMEC,通过这些信息(经过DNS查询等),最终定位到了源端“未来城市”的AMF-1。

  7. MME向AMF-1请求小晴的上下文,AMF-1将上下文(包括PDU会话信息等)传递给MME。

  8. MME为小晴在4G网络中重建了无线承载,并与SGW/PGW建立了隧道。小晴的视频通话无缝地从5G切换到了4G,全程无中断。

这个巧妙的身份映射机制,是实现4G/5G无缝移动互操作的核心技术之一。


3. “云原生之魂”:计算与存储分离 (附录C)

最后,王总提出了最具挑战性的任务:设计一个具有高弹性和高可靠性的AMF集群。

5G System Architecture allows any NF/NF Service to store and retrieve its unstructured data (e.g. UE contexts) into/from a Storage entity (e.g. UDSF)… This clause highlights some assumptions, principles regarding NF/NF services that use this Storage entity…

附录C为李工程师提供了解决这个问题的核心设计思想——计算与存储分离(Compute-Storage Separation),这是云原生架构的精髓。

3.1 传统“状态化”NF的困境

  • 状态与处理绑定: 在传统架构中,一个NF实例(如MME)既负责处理信令(计算),又负责在自己的内存或本地磁盘中存储该信令相关的上下文(状态)。

  • 带来的问题:

    • 可靠性差: 如果这个MME实例宕机,它所服务的所有用户的上下文全部丢失,导致业务中断。

    • 弹性差: 无法实现快速的扩缩容。当负载增加时,启动一个新的MME实例很简单,但将现有用户平滑地迁移过去(状态迁移)却非常困难。

    • 升级困难: 软件升级意味着需要中断服务。

3.2 5G的“无状态”设计

5GC通过引入UDSF(非结构化数据存储功能),完美地解决了这个问题。

  1. It is up to the Network Function implementation to determine whether the Storage entity is used as a Primary Storage… or a Secondary Storage…
  • 计算与存储分离:

    • AMF(计算): 变成了一个无状态轻状态的处理引擎。它只负责处理当前的信令请求,而不负责长期存储UE的完整上下文。

    • UDSF(存储): 作为一个独立的、高可靠的分布式数据库,负责集中存储所有UE的动态上下文。

  • 工作模式:

    1. 当AMF处理完一个改变UE状态的请求后(如注册成功),它会将最新的、完整的UE上下文写入到UDSF中(作为Primary Storage,写入后可从本地内存删除)。

    2. 当下一个属于该UE的请求到达时(可能被路由到了另一个AMF实例),这个新的AMF实例会根据UE的GUTI,从UDSF中读取该UE的最新上下文,然后再进行处理。

场景代入:

  1. 无状态AMF集群: 李工程师设计了一个由10个AMF实例组成的集群,它们共享同一个UDSF集群。

  2. AMF-1故障: 在马拉松比赛期间,由于瞬时负载过高,服务于小晴的AMF-1突然宕机。

  3. 无缝接管: 小晴在赛道旁移动,进入一个新的TA。她的手机发起了Mobility Registration Update

  4. RAN将这个请求路由到了集群中一个健康的实例AMF-5

  5. AMF-5收到请求后,根据小晴的GUTI,向UDSF发起了上下文查询。

  6. UDSF返回了AMF-1宕机前一刻为小晴保存的完整上下文。AMF-5将其加载到内存,并在此基础上成功处理了这次注册更新,然后将更新后的上下文再次写回UDSF。

对于小晴来说,她对后台发生的这一切毫不知情,她的手机只是完成了一次普通的TAU。但对于网络而言,却完成了一次无感知的故障切换。这正是计算存储分离带来的强大弹性与可靠性。

5. FAQ

Q1: 服务化接口(SBI)听起来和HTTP API很像,它们是一回事吗?

A:

可以认为SBI是基于HTTP/2协议栈实现的一套专用于电信核心网的、标准化的RESTful API。它们在技术底层上与我们熟知的Web API非常相似(都使用请求/响应、订阅/通知模式,都使用JSON作为数据格式),但SBI在3GPP规范中有严格的定义,包括:

  • 标准化的服务和数据模型: 每个NF能提供什么服务,每个服务的数据结构是怎样的,都在TS 29.5xx系列规范中被严格定义。

  • 统一的服务发现机制: 必须通过NRF进行注册和发现。

  • 严格的安全框架: NF间的认证和授权遵循TS 33.501定义的严格安全机制。

Q2: 5G-GUTI到EPS GUTI的映射是在UE侧完成还是网络侧完成?

A:

这个映射是在UE侧完成的。当一个处于5G网络下的UE决定要移动到4G网络并发起TAU时,它的NAS层会负责将当前使用的5G-GUTI按照附录B的规则,“翻译”成一个EPS GUTI的格式,然后将这个“翻译”后的GUTI发送给目标MME。MME再利用这个格式化的GUTI来反向寻找源AMF。

Q3: UDSF和UDR都是数据库,它们的根本区别是什么?

A:

最根本的区别在于它们存储的数据类型服务对象

  • UDR (Unified Data Repository): 存储的是结构化的、持久化的、跨NF共享的数据。主要是用户的签约数据策略数据。它的数据模型是标准化的,UDM、PCF、NEF等多个NF都需要理解并使用这些数据。可以把它看作是网络的“配置数据库”或“主数据库”。

  • UDSF (Unstructured Data Storage Function): 存储的是非结构化的、动态的、通常是某个NF私有的数据。最典型的就是AMF的UE上下文。这个数据的格式只有AMF自己需要理解,对于UDSF来说它只是一个“二进制大对象”(blob)。可以把它看作是NF实现无状态化的“外部内存”或“会话缓存”。

Q4: 既然AMF可以设计为无状态的,那么SMF和PCF也可以吗?

A:

是的,SBA的设计理念就是鼓励所有的NF都尽可能地实现无状态化。

  • SMF也可以将其PDU会话的上下文存储在UDSF中。这使得在SMF发生故障或需要升级时,另一个SMF实例可以从UDSF中恢复会话上下文,并继续为UE服务。

  • PCF同样可以将其策略会话(Policy Association)的上下文存储起来。

通过将动态状态外部化存储,整个5G核心网变得像一个云原生的应用,可以随时对任何NF进行扩容、缩容、升级和故障切换,而对上层业务的影响降到最低。

Q5: 在间接通信模式下,SCP是如何知道每个NF的地址的?

A:

SCP本身也扮演了一个NF消费者的角色。它和普通的NF一样,也需要向NRF去发现其他NF的地址。

当SCP收到一个来自AMF的、需要路由给SMF的请求时,它会执行以下操作:

  1. 解析请求中由AMF附加的“发现参数”(如DNN, S-NSSAI等)。

  2. 使用这些参数,向NRF发起一次Nnrf_NFDiscovery_Request,请求寻找合适的SMF。

  3. 从NRF返回的SMF实例列表中,根据自己的负载均衡策略,选择一个SMF实例。

  4. 将AMF的原始请求转发给这个选定的SMF实例。

本质上,SCP是将原本由每个NF都要执行的“发现+选择”这个通用流程,集中起来统一处理了。