本文技术原理深度参考了3GPP TS 2
3.501 V18.9.0 (2025-03) Release 18规范中,关于“6.2.5 NEF (Network Exposure Function)”、“6.2.6 NRF (Network Repository Function)”和“6.2.7 UDM (Unified Data Management)”的核心章节,旨在为读者提供一个5G核心网“中后台铁三角”——NEF、NRF、UDM——如何协同工作,实现网络能力开放、服务发现与注册、以及用户数据统一管理的全景视图。本文是解读“6 Network Functions”系列的第四部分。
深度解析 3GPP TS 23.501:5GC的“中后台铁三角” - NEF, NRF, UDM
欢迎来到“解构5G核心网”的NF深度解析系列。在前面的文章中,我们已经详细剖析了站在台前的三大主角:AMF(接入与移动性)、SMF(会话管理)和PCF(策略控制)。它们直接与UE的连接、会话和策略相关,构成了5G服务的“前台”。然而,一个高效运转的现代化系统,离不开强大而稳健的“中后台”支持。
今天,我们将深入5G核心网的后台,揭秘构成其服务化架构基石的“铁三角”——NEF、NRF和UDM。这三个网络功能(NF)虽然不直接处理用户的数据包,但它们是整个5GC能够灵活、智能、开放地运转的根本保障。
-
NEF (Network Exposure Function): 5GC与外部世界沟通的“外交部”与“安全网关”。
-
NRF (Network Repository Function): 5GC内部所有服务的“注册中心”与“黄页目录”。
-
UDM (Unified Data Management): 5GC的用户数据“中央银行”,掌管着所有用户的“数字身份”和“签约档案”。
为了将这三者的复杂关系具象化,让我们回到**“未来城市(Future City)”**的场景。
-
一家名为**“SwiftLogistics”**的第三方物流公司,希望调用“未来城市”5G网络的能力,实时追踪其无人配送车的位置,并为其规划最优路径。
-
城市网络内部,新上线了一个**NWDAF(网络数据分析功能)**实例,它需要向全网“宣告”自己的存在,并说明自己能提供哪些数据分析服务。
-
我们的老朋友小晴,刚刚办理了一项新的“云游戏加速”业务包,她的签约信息需要被安全、准确地更新。
我们将通过这三个看似独立的事件,来串联起NEF、NRF和UDM是如何在幕后协同工作,支撑起整个5G服务的生态体系的。
1. “外交部”与“安全网关”:NEF (6.2.5 Network Exposure Function)
NEF是5G能力开放的核心,它使得5G网络不再是一个封闭的“黑盒”,而是能够将其强大的通信、定位、计算能力,安全地开放给第三方应用(AF)使用。
The Network Exposure Function (NEF) supports the following independent functionality:
- Exposure of capabilities and events.
- Secure provision of information from external application to 3GPP network.
- Translation of internal-external information.
1.1 NEF的三大核心职责
-
向外暴露 (Exposure): NEF将内部网络功能(如AMF、SMF、PCF)的能力,抽象并封装成一组标准化的、安全的API接口,供外部的AF调用。AF无需了解5GC内部复杂的信令流程,只需调用NEF提供的简单API即可。
-
安全接入 (Secure Provision): NEF是外部应用进入5GC的唯一安全入口。它负责对AF进行认证和授权,确保只有合法的、经过授权的应用才能访问网络能力。同时,它还能对AF的请求进行节流(Throttling),防止恶意或过量的API调用冲击核心网。
-
信息翻译 (Translation): NEF扮演了“翻译官”的角色。它将外部AF使用的标识符(如应用特定的用户ID),翻译成5GC内部能理解的标识符(如SUPI或GPSI);反之亦然。同时,它还会屏蔽网络内部的拓扑和用户的敏感信息,保护网络安全和用户隐私。
1.2 场景代入:“SwiftLogistics”的物流追踪请求
-
API调用: “SwiftLogistics”的后台应用(AF),向“未来城市”5G网络的NEF发起了一个API调用(例如,一个HTTPS请求):
POST /api/v1/location/request,请求内容是:“请告诉我车辆ID为‘SL-V007’的实时位置”。 -
NEF的安全检查与翻译:
-
NEF首先检查API请求头中的认证令牌,确认“SwiftLogistics”是合法应用,并有权调用位置服务。
-
NEF将外部的“车辆ID ‘SL-V007’”翻译成5GC内部的UE标识符(例如,通过查询UDM,找到对应的GPSI或SUPI)。
-
-
NEF与内部NF交互: NEF向AMF发起一个
Namf_Location_ProvideLocation服务请求,获取该UE的精确位置信息。 -
返回结果: AMF返回位置信息后,NEF将其封装成API响应的格式,返回给“SwiftLogistics”的AF。
整个过程中,“SwiftLogistics”完全不知道AMF的存在,它的请求被NEF安全、透明地处理了。
2. “注册中心”与“黄页”:NRF (6.2.6 Network Repository Function)
在服务化架构下,网络功能实例是动态创建、扩展和消亡的。一个NF如何知道去哪里找到另一个NF来调用其服务?这就是NRF要解决的问题。
The Network Repository Function (NRF) supports the following functionality:
- Supports service discovery function. Receive NF Discovery Request from NF instance or SCP and provides the information of the discovered NF instances…
- Maintains the NF profile of available NF instances and their supported services.
2.1 NRF的核心职责
-
NF注册 (NF Register): 任何一个NF实例在上线时,都必须向NRF进行注册。它需要提交一份详细的**“NF Profile”**,这份Profile就像是它的“名片”,包含了:
-
我是谁: NF实例ID, NF类型(AMF, SMF…)。
-
我在哪: FQDN或IP地址。
-
我能做什么: 支持的服务列表(如
nssf-nsselection,namf-comm)。 -
我的服务范围: 支持的S-NSSAI、DNN、TAI列表等。
-
-
NF发现 (NF Discovery): 当一个NF(消费者)需要调用另一个NF(生产者)的服务时,它会向NRF发起一个发现请求。请求中包含它想找的NF的条件,例如:“请帮我找一个能够服务于S-NSSAI={SST=1, SD=1}和DNN=“internet”的SMF”。
-
返回结果: NRF会查询自己的“注册表”,将所有满足条件的NF实例的Profile返回给请求者。请求者再根据返回的列表(可能包含多个实例),根据负载均衡等策略,选择一个进行调用。
-
状态维护与通知: NRF还负责维护NF实例的“健康状态”(心跳机制),并在一个NF实例下线或更新时,通知所有订阅了该状态变化的NF。
2.2 场景代入:新上线的NWDAF“广而告之”
-
注册: 张工在“未来城市”网络中新部署了一个NWDAF实例,用于网络拥塞分析。该实例启动后,立即向NRF发起注册,提交的NF Profile中声明:“我是NWDAF-03,我能提供的分析服务是‘网络切片负载分析’(Analytics ID=5),我服务的S-NSSAI是{SST=1}”。
-
发现: 一段时间后,一个NSSF(网络切片选择功能)在为UE选择切片时,需要考虑网络负载。它向NRF发起发现请求:“请帮我找一个能提供‘网络切片负载分析’服务的NWDAF”。
-
调用: NRF将NWDAF-03的Profile返回给了NSSF。NSSF随即向NWDAF-03发起订阅,请求获取实时的切片负载信息。
通过NRF这个动态的“注册与发现”中心,5GC实现了真正的即插即用和灵活扩展。任何一个新的NF实例,只要向NRF注册,就能立刻被全网发现和使用。
3. “中央银行”:UDM (6.2.7 Unified Data Management)
UDM是5G核心网中用户数据的权威来源。它整合了4G时代HSS的大部分功能,并以服务化的方式对外提供。
The Unified Data Management (UDM) includes support for the following functionality:
- Generation of 3GPP AKA Authentication Credentials.
- User Identification Handling (e.g. storage and management of SUPI for each subscriber in the 5G system).
- Support of de-concealment of privacy-protected subscription identifier (SUCI).
- Access authorization based on subscription data (e.g. roaming restrictions).
- UE’s Serving NF Registration Management…
3.1 UDM的核心职责
-
鉴权凭证生成 (Authentication Credential Generation): UDM是安全体系的根源。它存储着每个用户的永久密钥(K),并负责生成用于AKA鉴权的鉴权向量(AV)。
-
身份管理 (User Identification Handling): UDM是SUPI(永久身份)和SUCI(加密身份)之间转换的唯一场所。它存储了SUPI与SUCI解密密钥的对应关系,负责对AMF上报的SUCI进行“解密”,还原出用户的真实身份SUPI。
-
签约数据管理 (Subscription Management): 这是UDM最庞大的功能。它存储了用户的所有签约数据,并以服务化的形式(如
Nudm_SDM服务)提供给其他NF查询和订阅。这些数据包括:-
接入与移动性数据 (AM Data): 漫游权限、接入限制等,供AMF使用。
-
会话管理数据 (SM Data): 签约的S-NSSAI列表、DNN列表、默认QoS、Session-AMBR等,供SMF使用。
-
策略数据 (UE Policy Data): URSP规则等,供PCF使用。
-
-
服务NF注册管理 (Serving NF Registration): UDM记录了当前为某个UE服务的核心NF实例的地址,主要是AMF和SMF的地址。这使得核心网能够在需要时(如MT来电)找到正确的服务节点。
3.2 场景代入:小晴的“云游戏加速”业务开通
-
业务办理: 小晴通过运营商的APP,购买了“云游戏加速”包月服务。
-
后台操作(BSS/OSS → UDM): 运营商的业务支撑系统,通过网管接口,在UDM中更新了小晴的签约档案:
-
在
Subscribed S-NSSAIs列表中,增加了一个新的S-NSSAI:{SST=1, SD=GAME}。 -
为这个新的S-NSSAI关联了一个专用的DNN:
"cloud-gaming.operator.com"。 -
更新了她的URSP规则,增加一条:“如果应用是‘星际战甲’ → 路由到{S-NSSAI={SST=1, SD=GAME}, DNN=“cloud-gaming.operator.com”}”。
-
-
UDM通知AMF/PCF: 由于AMF和PCF都订阅了小晴签约数据的变更,UDM立即向当前为小晴服务的AMF和PCF推送了更新通知。
-
PCF更新UE策略: PCF收到通知后,生成了新的URSP规则,并通过AMF,使用“UE Configuration Update”流程,将新的规则推送给了小晴的手机。
-
业务生效: 小晴下次打开“星际战甲”游戏时,她的手机会根据新的URSP规则,自动请求建立一个使用
{SST=1, SD=GAME}切片和cloud-gaming.operator.comDNN的PDU会话,从而享受到由SMF和UPF提供的低时延、高优先级的游戏加速服务。
5. FAQ
Q1: NEF和AF(应用功能)是什么关系?AF是核心网的一部分吗?
A:
AF不是5G核心网的一部分,它是位于核心网外部的、属于第三方或运营商自己的应用服务器。NEF是连接AF和5GC的桥梁。
-
AF (Application Function): 任何需要与5G网络能力进行交互的应用后端,都可以被称为AF。例如,“SwiftLogistics”的物流调度服务器、“City Brain”的AI平台、云游戏的服务端。
-
NEF (Network Exposure Function): 它是5GC的一个标准网络功能,其职责就是为这些外部的AF提供一个标准、安全、可控的API网关。
AF通过公共互联网或专用网络连接到NEF,而NEF再通过5GC内部的服务化接口与其他NF(AMF, SMF, PCF等)通信。
Q2: NRF在服务化架构中如此重要,如果NRF故障了会怎么样?
A:
NRF的故障会对网络的动态性和灵活性造成严重影响,因此NRF自身必须被设计为高可用的。
-
影响: 如果NRF故障,新的NF实例将无法注册,NF消费者也无法发现新的服务实例。这会导致网络无法进行扩容、升级或故障切换。对于正在运行的服务,如果NF消费者本地缓存了生产者的地址,那么通信可以暂时维持;但如果缓存过期或需要寻找新的实例,服务就会中断。
-
高可用性方案:
-
集群化部署: NRF通常会以一个高可用的集群形式部署,包含多个实例,互为备份。
-
分级部署: 在大规模网络中,可以部署分级的NRF(如Slice-specific NRF, PLMN-level NRF),分散风险。
-
本地缓存: NF消费者在从NRF发现服务后,会在本地缓存一段时间。这可以在NRF短暂故障时,维持现有服务的运行。
-
Q3: UDM和4G的HSS有什么区别?为什么还需要一个UDR?
A:
UDM可以看作是HSS在5G服务化架构下的演进,主要区别在于架构和接口。
-
功能分离: UDM主要负责数据管理的逻辑,而将实际的数据存储功能进一步解耦到了UDR(Unified Data Repository)。UDM本身可以是一个无状态的功能,它从UDR中读取数据,并执行用户管理、鉴权生成等逻辑。
-
服务化接口: UDM通过SBI(如Nudm_SDM, Nudm_UECM, Nudm_UEAU)对外提供服务,而HSS主要使用Diameter协议。
-
UDR (Unified Data Repository): 它是真正的“数据库”层面。它提供了一个统一的数据存储服务(
Nudr_DM),不仅UDM可以从中读写签约数据,PCF也可以从中读写策略数据,NEF也可以从中读写应用数据。这种“存算分离”的架构,使得5G的用户数据管理更加灵活、可扩展和可靠。
Q4: 当我从A市移动到B市,我的签约数据会从A市的UDM复制到B市的UDM吗?
A:
不会。UDM是一个中心化的逻辑功能,它存储的是用户的永久签约数据。无论您漫游到世界何处,为您的签约数据负责的,始终是您归属运营商(HPLMN)的UDM。
当您漫游到B市(VPLMN)时:
-
B市的AMF会通过漫游接口,联系您HPLMN的NRF,找到您归属的UDM。
-
B市的AMF会向您归属的UDM发起请求,获取您的漫游权限等签约信息。
-
同样,B市的V-SMF也会向您归属的H-UDM请求会话相关的签约数据。
用户的签约数据始终集中存储在HPLMN的UDM/UDR中,实现了“数据不动,服务随行”。
Q5: NEF, NRF, UDM这三者之间是如何交互的?
A:
它们之间存在着紧密的协同关系。
-
NEF → UDM: 当NEF需要将外部的AF请求与具体用户关联时,它需要向UDM查询,将AF提供的外部标识符(如GPSI)解析为内部的SUPI。
-
NRF → UDR: 在某些高级发现场景下,例如,当一个NF需要寻找一个服务于特定用户群组(由Group ID标识)的UDM时,NRF可能需要向UDR查询,以解析这个Group ID,找到对应的UDM实例。
-
其他NF → NRF → [NEF, UDM]: 当一个AMF或SMF需要寻找NEF或UDM时,它们都会向NRF发起发现请求。NRF会告诉它们去哪里找到对应的NEF或UDM实例。
这个“铁三角”共同构成了5GC的“大脑中枢”和“对外窗口”,是整个服务化架构得以运转的根基。