本文技术原理深度参考了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核心网演进。他们的讨论将围绕以下三个核心议题展开:
-
解读架构图: 王总拿出两份不同的5G核心网架构图,一份布满了
N7,N11等“Nxx”标记,另一份则充满了Nsmf_PDUSession,Namf_Communication等服务名称。他要求李工程师解释这两者的区别与联系。 -
规划4G/5G协同: “未来城市”周边的一些卫星城,短期内仍将以4G网络为主。王总要求李工程师制定一个技术方案,确保用户在“未来城市”(5G)和卫星城(4G)之间移动时,通话和数据业务不会中断。
-
设计弹性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这些参考点的存在?”
李工程师经过思考,总结出原因:
-
边界定义: 对于定义系统宏观边界的接口,参考点模型依然简洁明了。
-
N1 (UE-AMF): 定义了终端与核心网控制面的边界。
-
N2 (RAN-AMF), N3 (RAN-UPF): 定义了无线接入网与核心网的边界。
-
N6 (UPF-DN): 定义了核心网与外部数据网络的边界。
-
-
特定协议: 对于一些非SBI的、点对点的特定协议接口,参考点模型描述更直观。
- N4 (SMF-UPF): 使用PFCP协议,是控制面与用户面分离的核心接口,其交互模式更像是一种“配置下发”,而非通用的“服务调用”。
-
演进兼容: 在架构图中同时保留两者,有助于理解从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内的临时标识。 |
场景代入:
-
小晴在“未来城市”的5G网络注册,AMF-1为她分配了一个5G-GUTI。
-
她乘坐城际列车前往邻市。列车驶出5G覆盖区,进入了邻市的4G覆盖区。
-
手机检测到网络变化,需要发起**TAU(Tracking Area Update)**流程。
-
此时,手机不会直接使用5G-GUTI。它会根据附录B定义的规则,将这个5G-GUTI在本地“翻译”成一个EPS GUTI的格式。
-
手机向4G的MME发起TAU请求,并携带这个“翻译”过的EPS GUTI。
-
MME看到这个GUTI,解析出其中的MMEGI和MMEC,通过这些信息(经过DNS查询等),最终定位到了源端“未来城市”的AMF-1。
-
MME向AMF-1请求小晴的上下文,AMF-1将上下文(包括PDU会话信息等)传递给MME。
-
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(非结构化数据存储功能),完美地解决了这个问题。
- 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的动态上下文。
-
-
工作模式:
-
当AMF处理完一个改变UE状态的请求后(如注册成功),它会将最新的、完整的UE上下文写入到UDSF中(作为Primary Storage,写入后可从本地内存删除)。
-
当下一个属于该UE的请求到达时(可能被路由到了另一个AMF实例),这个新的AMF实例会根据UE的GUTI,从UDSF中读取该UE的最新上下文,然后再进行处理。
-
场景代入:
-
无状态AMF集群: 李工程师设计了一个由10个AMF实例组成的集群,它们共享同一个UDSF集群。
-
AMF-1故障: 在马拉松比赛期间,由于瞬时负载过高,服务于小晴的AMF-1突然宕机。
-
无缝接管: 小晴在赛道旁移动,进入一个新的TA。她的手机发起了
Mobility Registration Update。 -
RAN将这个请求路由到了集群中一个健康的实例AMF-5。
-
AMF-5收到请求后,根据小晴的GUTI,向UDSF发起了上下文查询。
-
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的请求时,它会执行以下操作:
-
解析请求中由AMF附加的“发现参数”(如DNN, S-NSSAI等)。
-
使用这些参数,向NRF发起一次
Nnrf_NFDiscovery_Request,请求寻找合适的SMF。 -
从NRF返回的SMF实例列表中,根据自己的负载均衡策略,选择一个SMF实例。
-
将AMF的原始请求转发给这个选定的SMF实例。
本质上,SCP是将原本由每个NF都要执行的“发现+选择”这个通用流程,集中起来统一处理了。