本文技术原理深度参考了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)会触发一系列后台操作:

  1. 数据写入: 运营商的系统会向UDM发起一个签约数据更新请求。

  2. UDM执行: UDM不会在本地存储这些数据,而是将请求转化为一个对UDRNudr_DataManagement_Update服务调用。

  3. 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进行软件升级。

  1. 上下文备份: 在下线前,AMF-1将包括小晴在内的所有在线用户的上下文,作为一个个加密的“数据块”,全部存储到了UDSF中。

  2. AMF-1下线: AMF-1从NRF去注册,并安全下线。

  3. AMF-2接管: 新的AMF-2上线,并向NRF注册。

  4. 上下文恢复: 第二天早上,小晴拿起手机,手机发起了一次Periodic Registration Update。请求被RAN路由到了新的AMF-2。AMF-2通过小晴的GUTI,在UDSF中查询到了她前一天晚上被保存的完整上下文,并将其恢复到自己的内存中。

  5. 无缝体验: 对于小晴来说,她完全没有感觉到后台的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。

场景代入: 小晴升级套餐成功后,运营商给她发送了一条确认短信。

  1. 短信到达: 运营商的短信中心(SMS-GMSC)将确认短信发送给SMSF

  2. 查询路由: SMSF向UDM发起查询:“用户小晴现在在哪里?” UDM返回了当前为她服务的AMF-2的地址。

  3. 下发短信: SMSF将短信内容通过Nsmsf_SMService_Delivery服务,发送给AMF-2。

  4. 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服务调用。

  1. 输入参数: AMF会向NSSF提供一系列决策输入,包括:

    • Requested NSSAI: UE希望使用的切片列表。

    • UE签约的S-NSSAIs: 从UDM获取的、UE有权使用的切片列表。

    • UE当前位置 (TAI): 不同的切片可能只在特定地理区域可用。

    • 漫游信息等。

  2. NSSF的决策逻辑: NSSF内部包含了运营商的全局切片部署策略。它会根据上述输入,进行复杂的决策:

    • 权限校验: 检查UE请求的切片是否在其签约范围内。

    • 可用性检查: 检查这些切片在UE当前的位置是否可用。

    • AMF选择: 根据切片与AMF Set的映射关系,选择一个最合适的AMF Set来为UE提供服务。

    • 负载均衡: 可能会参考来自NWDAF的切片负载信息,进行动态的AMF选择。

  3. 输出结果: NSSF向AMF返回决策结果,包括:

    • Allowed NSSAI: 最终批准UE在该区域可以使用的切片列表。

    • Target AMF Set: 推荐的、用于服务该UE的AMF Set。

    • NSSAI映射关系等。

4.2 场景代入:小晴的“云游戏”切片初体验

小晴升级套餐后,第一次打开了“星际战甲”云游戏。

  1. UE发起请求: 手机根据新的URSP规则,在Registration Request中携带了Requested NSSAI = [{SST=1, SD=GAME}]

  2. AMF发起查询: 当前为小晴服务的AMF-2(一个通用AMF),收到了这个请求。它发现自己可能不是服务游戏切片的最佳选择,于是向NSSF发起了查询,并附上了小晴的请求、签约信息和当前位置。

  3. NSSF的智能调度: NSSF分析请求:

    • “用户签约了游戏切片,合法!”

    • “该切片在当前TAI可用!”

    • “根据我的策略,游戏切片由‘Gaming-AMF-Set’提供服务,这个Set里的AMF都经过了低时延优化。”

    • NSSF向AMF-2返回结果:“Allowed NSSAI = [{SST=1, SD=GAME}]Target AMF Set = Gaming-AMF-Set”。

  4. AMF重定向: AMF-2收到结果后,执行AMF re-allocation(AMF重分配)。它向RAN发送指令,将小晴的注册流程重定向到了“Gaming-AMF-Set”中的一个新AMF(AMF-3)。

  5. 最终注册: 小晴的手机在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必须支持它的原因:

  1. 应用到个人(A2P): 这是SMS目前最大的市场。银行通知、快递提醒、登录验证码、营销推广等,都高度依赖SMS的普遍、可靠送达能力。

  2. 普适性与可靠性: 几乎所有手机都原生支持SMS,无需安装任何APP。在数据网络信号不好或不可用的情况下,SMS可能依然可以通过信令通道送达。

  3. 紧急通信: 紧急警报(如通过PWS)的下发,SMS也是重要的载体之一。

  4. 物联网应用: 对于一些超低功耗的物联网设备,通过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上,避免单点过载。