本文技术原理深度参考了3GPP TS 23.501 V18.9.0 (2025-03) Release 18规范中,关于“6.2.11 UDR”、“6.2.12 UDSF”、“6.2.13 SMSF”和“6.2.14 NSSF”的核心章节,旨在为读者提供一个5G核心网“信息中枢”——UDR, UDSF, SMSF, NSSF——如何协同工作,实现用户数据统一管理、网络功能无状态化、传统业务继承与网络切片智能选择的全景视图。本文是解读“6 Network Functions”系列的第四部分。
深度解析 3GPP TS 23.501:5GC的信息中枢 (UDR, UDSF, SMSF, NSSF)
欢迎来到“解构5G核心网”的NF深度解析系列。在前面的文章中,我们已经详细解构了5G核心网的“前台”——AMF、SMF和PCF,它们直接面向用户,处理着接入、会话和策略。今天,我们将深入到网络的“后台”,揭秘那些支撑着整个5G服务化架构高效、灵活运转的“无名英雄”,它们是5GC的信息中枢和智能调度中心。
我们将一次性解读四个在功能上紧密关联,共同构成了5GC数据管理与选择核心的网络功能(NF):
-
UDR (Unified Data Repository): 5GC的“国家档案馆”,负责所有结构化用户数据的统一存储和管理。
-
UDSF (Unstructured Data Storage Function): 5GC的“临时文件柜”,负责非结构化动态上下文数据的存储,是实现网络功能无状态化的关键。
-
SMSF (Short Message Service Function): 5GC中现代化的“数字邮局”,负责处理SMS over NAS这一看似传统但依然重要的业务。
-
NSSF (Network Slice Selection Function): 5GC的“切片总调度”,是网络切片选择的智能决策中心。
为了将这四个功能有机地串联起来,让我们继续**“未来城市”的场景。我们的主角小晴**,决定将她的手机套餐升级为全新的**“5G Geek”套餐**。这个套餐不仅包含了基础的通信服务,还额外提供了一个专为云游戏设计的低延迟网络切片。在套餐升级、生效、使用的整个过程中,我们将看到UDR, UDSF, SMSF, 和 NSSF是如何在幕后默契配合,共同完成这次看似简单的业务变更的。
1. “国家档案馆”:UDR - 统一数据存储库 (6.2.11 UDR)
在5G服务化架构中,为了实现真正的功能解耦和无状态化,数据与逻辑必须分离。UDR就是这一理念的终极体现,它扮演了所有结构化、持久化数据的“中央数据库”角色。
The Unified Data Repository (UDR) supports the following functionality:
- Storage and retrieval of subscription data by the UDM.
- Storage and retrieval of policy data by the PCF.
- Storage and retrieval of structured data for exposure.
- Application data (including Packet Flow Descriptions (PFDs) for application detection, AF request information for multiple UEs, 5G-VN group information for 5G-VN management).
1.1 UDR的核心职责:数据的统一存储
UDR本身不产生业务逻辑,它的唯一职责就是安全、可靠地存储和检索结构化数据。它服务的“客户”包括:
-
UDM: 将所有用户的签约数据(Subscription Data),如漫游权限、签约的S-NSSAI、默认QoS等,全部存放在UDR中。
-
PCF: 将所有与策略相关的数据(Policy Data),如URSP规则、AF请求的动态策略等,也存放在UDR中。
-
NEF: 将从外部AF获取的应用信息(Application Data),如用于DPI识别的PFD(包流描述),存放在UDR中。
通过将数据集中到UDR,UDM、PCF等NF可以被设计为无状态的,它们在处理请求时,只需从UDR中读写数据即可。这极大地增强了网络的可扩展性和可靠性。
1.2 场景代入:小晴的套餐升级记录
当小晴在运营商APP上点击“确认升级”到“5G Geek”套餐时,运营商的业务支撑系统(OSS/BSS)会触发一系列后台操作:
-
数据写入: 运营商的系统会向UDM发起一个签约数据更新请求。
-
UDM执行: UDM不会在本地存储这些数据,而是将请求转化为一个对UDR的
Nudr_DataManagement_Update服务调用。 -
UDR归档: UDR在数据库中,找到小晴的记录,并为她增加了新的签约信息:
-
Subscribed S-NSSAIs: 新增
{SST=..., SD=GAME} -
UE Policy Data: 新增一条与云游戏APP相关的URSP规则。
-
从此,小晴的“数字档案”就在UDR这个“国家档案馆”中被永久更新了,任何后续需要这些信息的NF(如AMF, SMF, PCF)都将从这里获取到最新的版本。
2. “临时文件柜”:UDSF - 非结构化数据存储 (6.2.12 UDSF)
如果说UDR是存放永久档案的档案馆,那么UDSF就是存放临时工作文件、动态上下文的“文件柜”。
The UDSF is an optional function that supports the following functionality:
- Storage and retrieval of information as unstructured data by any NF. Notify a NF consumer if information validity has expired.
2.1 UDSF的核心职责:支持NF的无状态化
UDSF的核心价值在于支撑NF的无状态化(Stateless),特别是对于像AMF这样需要维护大量动态UE上下文的NF。
-
Unstructured Data: UDSF存储的是“非结构化”数据,通常是指一个NF内部的、动态变化的、格式只有该NF自己理解的“数据块”(blob),最典型的就是UE上下文(UE Context)。
-
实现AMF planned removal: 当一个AMF实例需要计划性下线(如软件升级)时,它可以将自己当前服务的所有UE的完整上下文(包括安全信息、移动性状态、PDU会话列表等)“打包”并存储到UDSF中。当一个新的AMF实例接替它工作时,可以直接从UDSF中“下载”这些UE的上下文,从而实现对用户的无感知切换。
2.2 场景代入:无感知的AMF升级
在小晴升级套餐后的某个深夜,运营商需要对她所在的AMF-1进行软件升级。
-
上下文备份: 在下线前,AMF-1将包括小晴在内的所有在线用户的上下文,作为一个个加密的“数据块”,全部存储到了UDSF中。
-
AMF-1下线: AMF-1从NRF去注册,并安全下线。
-
AMF-2接管: 新的AMF-2上线,并向NRF注册。
-
上下文恢复: 第二天早上,小晴拿起手机,手机发起了一次
Periodic Registration Update。请求被RAN路由到了新的AMF-2。AMF-2通过小晴的GUTI,在UDSF中查询到了她前一天晚上被保存的完整上下文,并将其恢复到自己的内存中。 -
无缝体验: 对于小晴来说,她完全没有感觉到后台的AMF已经“换人”了,她的网络服务无缝地延续了下来。这就是UDSF带来的“云原生”弹性。
3. 现代化的“数字邮局”:SMSF (6.2.13 SMSF)
尽管即时通讯APP已经普及,但SMS(短信)在企业应用(A2P)、验证码(2FA)等领域依然不可或缺。SMSF就是5GC中负责处理SMS over NAS业务的现代化“邮局”。
The SMSF supports the following functionality to support SMS over NAS:
- SMS management subscription data checking and conducting SMS delivery accordingly.
- Relay the SM from UE toward SMS-GMSC/IWMSC/SMS-Router.
核心职责: SMSF是5G时代SMS业务的信令处理中心。
-
MO-SMS (上行): 当UE发送短信时,AMF会扮演“邮差”,将封装在NAS消息中的短信内容透明地转发给SMSF。SMSF再将其递交给更上层的短信中心(SMS-GMSC)。
-
MT-SMS (下行): 当有短信需要下发给UE时,SMS-GMSC会先将短信发给SMSF。SMSF会向UDM查询UE的当前状态和服务的AMF地址,然后将短信通过AMF下发给UE。
-
与CHF交互: SMSF会为每次短信收发生成计费事件,并上报给CHF。
场景代入: 小晴升级套餐成功后,运营商给她发送了一条确认短信。
-
短信到达: 运营商的短信中心(SMS-GMSC)将确认短信发送给SMSF。
-
查询路由: SMSF向UDM发起查询:“用户小晴现在在哪里?” UDM返回了当前为她服务的AMF-2的地址。
-
下发短信: SMSF将短信内容通过
Nsmsf_SMService_Delivery服务,发送给AMF-2。 -
AMF寻呼并投递: AMF-2发现小晴处于IDLE状态,于是发起寻呼。小晴的手机响应后,AMF通过NAS信令,将短信内容成功投递到她的手机上。
4. “切片总调度”:NSSF (6.2.14 Network Slice Selection Function)
NSSF是5G网络切片功能的大脑。当网络需要为UE选择一个合适的网络切片实例以及服务于该切片的AMF时,NSSF就是最终的决策者。
The Network Slice Selection Function (NSSF) supports the following functionality:
- Selecting the set of Network Slice instances serving the UE;
- Determining the Allowed NSSAI and, if needed, the mapping to the Subscribed S-NSSAIs;
- Determining the AMF Set to be used to serve the UE…
4.1 NSSF的核心决策流程
当AMF在处理UE的注册请求,并且需要进行切片选择时,它会向NSSF发起Nnssf_NSSelection_Get服务调用。
-
输入参数: AMF会向NSSF提供一系列决策输入,包括:
-
Requested NSSAI: UE希望使用的切片列表。
-
UE签约的S-NSSAIs: 从UDM获取的、UE有权使用的切片列表。
-
UE当前位置 (TAI): 不同的切片可能只在特定地理区域可用。
-
漫游信息等。
-
-
NSSF的决策逻辑: NSSF内部包含了运营商的全局切片部署策略。它会根据上述输入,进行复杂的决策:
-
权限校验: 检查UE请求的切片是否在其签约范围内。
-
可用性检查: 检查这些切片在UE当前的位置是否可用。
-
AMF选择: 根据切片与AMF Set的映射关系,选择一个最合适的AMF Set来为UE提供服务。
-
负载均衡: 可能会参考来自NWDAF的切片负载信息,进行动态的AMF选择。
-
-
输出结果: NSSF向AMF返回决策结果,包括:
-
Allowed NSSAI: 最终批准UE在该区域可以使用的切片列表。
-
Target AMF Set: 推荐的、用于服务该UE的AMF Set。
-
NSSAI映射关系等。
-
4.2 场景代入:小晴的“云游戏”切片初体验
小晴升级套餐后,第一次打开了“星际战甲”云游戏。
-
UE发起请求: 手机根据新的URSP规则,在
Registration Request中携带了Requested NSSAI = [{SST=1, SD=GAME}]。 -
AMF发起查询: 当前为小晴服务的AMF-2(一个通用AMF),收到了这个请求。它发现自己可能不是服务游戏切片的最佳选择,于是向NSSF发起了查询,并附上了小晴的请求、签约信息和当前位置。
-
NSSF的智能调度: NSSF分析请求:
-
“用户签约了游戏切片,合法!”
-
“该切片在当前TAI可用!”
-
“根据我的策略,游戏切片由‘Gaming-AMF-Set’提供服务,这个Set里的AMF都经过了低时延优化。”
-
NSSF向AMF-2返回结果:“
Allowed NSSAI = [{SST=1, SD=GAME}],Target AMF Set = Gaming-AMF-Set”。
-
-
AMF重定向: AMF-2收到结果后,执行AMF re-allocation(AMF重分配)。它向RAN发送指令,将小晴的注册流程重定向到了“Gaming-AMF-Set”中的一个新AMF(AMF-3)。
-
最终注册: 小晴的手机在AMF-3上完成了最终的注册,并成功接入了为她量身定制的云游戏网络切片。
5. FAQ
Q1: UDM和UDR听起来很像,它们可以合并成一个NF吗?
A:
在逻辑上,它们是分离的,但在物理部署上,它们可以被合并。
-
逻辑分离(规范定义): UDM负责的是业务逻辑(如鉴权向量生成、SUCI解密、订阅管理),而UDR负责的是纯粹的数据存储(CURD - 创建、读取、更新、删除)。这种分离是“存算分离”思想的体现,使得UDM可以无状态地水平扩展,而UDR可以采用专业的分布式数据库技术来保证数据的高可靠和高性能。
-
物理合并(部署选择): 对于小型网络或者特定的部署场景,运营商完全可以选择将UDM和UDR的功能实现在同一个软硬件实体上,甚至与HSS合并部署。规范定义的是逻辑功能,而非物理形态。
Q2: 为什么需要一个独立的UDSF来存储非结构化数据?不能也存在UDR里吗?
A:
将UDSF独立出来,主要是为了应对不同数据的生命周期、格式和访问模式的差异。
-
数据格式: UDR存储的是结构化数据,其数据模型(Schema)是3GPP标准定义的,所有NF都必须理解和遵守。而UDSF存储的非结构化数据,是NF内部的“私有数据”,其格式只有该NF自己需要理解,这给了NF实现内部上下文管理的极大灵活性。
-
生命周期和性能: UDR中的签约数据是持久化的,不经常变动。而UDSF中的UE上下文数据是高度动态的,随着UE的移动和状态变迁频繁读写。将两者分开,可以用不同的数据库技术来优化。例如,UDR可以使用关系型数据库保证数据一致性,而UDSF可以使用高速的内存数据库(In-memory DB)或键值存储(Key-Value Store)来满足高吞吐的实时读写需求。
Q3: 既然有了微信,5G为什么还要费力去支持SMS?
A:
虽然个人之间的通信(P2P)越来越多地使用OTT应用,但SMS在以下领域仍然具有不可替代的价值,这也是5GC必须支持它的原因:
-
应用到个人(A2P): 这是SMS目前最大的市场。银行通知、快递提醒、登录验证码、营销推广等,都高度依赖SMS的普遍、可靠送达能力。
-
普适性与可靠性: 几乎所有手机都原生支持SMS,无需安装任何APP。在数据网络信号不好或不可用的情况下,SMS可能依然可以通过信令通道送达。
-
紧急通信: 紧急警报(如通过PWS)的下发,SMS也是重要的载体之一。
-
物联网应用: 对于一些超低功耗的物联网设备,通过SMS(或基于SMS的信令)进行唤醒和下发少量指令,是一种非常高效的方式。
Q4: NSSF是网络切片选择的唯一决策点吗?AMF自己能做决定吗?
A:
AMF可以做初步的、简单的决策,但最终的、复杂的决策权在NSSF。
-
AMF的本地决策: 如果一个网络部署非常简单(例如,只有一个eMBB切片),或者对于某些非常明确的本地策略,AMF可以被配置为直接选择切片和自身,而无需查询NSSF。
-
NSSF的全局决策: 在绝大多数情况下,尤其是在一个包含多个切片、多个AMF Set、涉及漫游和复杂策略的真实网络中,AMF必须求助于NSSF。因为只有NSSF才拥有全局的、实时的网络切片拓扑、负载和策略视图。让NSSF作为集中决策点,可以避免各个AMF基于片面信息做出不一致或次优的决策。
Q5: 如果一个UE在注册时不请求任何特定的S-NSSAI,NSSF还会被调用吗?
A:
会的。即使UE不请求任何特定切片,AMF在选择AMF时依然可能需要NSSF的帮助。
-
选择默认AMF: 在这种情况下,AMF会从UDM获取用户的默认S-NSSAI。
-
查询NSSF: AMF会使用这个默认S-NSSAI去查询NSSF。NSSF会根据这个默认S-NSSAI,返回一个最合适的AMF Set(例如,一个通用的eMBB AMF Set)。
-
为什么需要? 这样做的好处是,即使是默认业务,也可以实现基于切片的负载均衡和资源隔离。例如,运营商可以为默认的eMBB业务部署多个AMF Set,NSSF可以根据不同区域的负载情况,智能地将用户引导到不同的AMF Set上,避免单点过载。