好的,我们继续进行系列的下一篇深度解读。
深度解析 3GPP TS 28.552:5.10 NRF & 5.11 NSSF Measurements (5G网络的“注册中心”与“切片导航员”)
本文技术原理深度参考了3GPP TS 28.552 V18.10.0 (2025-03) Release 18规范中,关于“5.10 Performance measurements for NRF”和“5.11 Performance measurements for NSSF”的核心章节,旨在为读者提供一个关于5G服务化架构(SBA)的“心脏”与“大脑”——网络功能注册与切片选择——的性能测量全景解析。
引言:微服务之城的“市政厅”与“地图导航”
“王哥,Cloud-RAN把基站拆成了CU和DU,我们学会了监控它们之间的F1接口。但我看5G核心网的架构图,比Cloud-RAN复杂多了,AMF、SMF、PCF……这么多NF(网络功能),它们之间是怎么找到彼此并进行通信的?”在一次关于5G核心网架构的培训后,小林提出了他的疑问。
老王指着一张描绘5G服务化架构(SBA)的图,上面布满了像微服务一样、相互连接的NF。“小林,你问到了5G核心网的灵魂所在。SBA架构,就像是把一个庞大的单体城市,改造成了一个由无数个功能独立的‘微服务区’(如‘鉴权区’AMF、‘会话管理区’SMF)组成的智慧城市。这种架构非常灵活,可以按需、独立地升级或扩展任何一个‘服务区’。”
“但问题也随之而来:在一个动态变化的城市里,一个刚上线的‘新服务’(比如一个新的SMF实例),如何让全城的居民(其他NF)知道它的存在和地址?一个居民想办理‘会话’业务,又如何找到离它最近、负载最轻的‘会话管理区’呢?这就需要我们城市里的两个核心基础设施。”
他将TS 28.552切换到5.10和5.11节。“NRF (Network Repository Function),就是这座城市的‘中央工商局’兼‘市政黄页’。所有NF上线营业前,都必须来这里注册;所有NF想找其他服务时,都必须来这里发现。5.10节的测量,就是评估这个‘注册中心’的办事效率。”
“而NSSF (Network Slice Selection Function),则是这座城市里,为不同身份的居民(如普通市民、VIP、急救车)提供专属路线规划的‘地图导航员’。当一个UE发起连接时,NSSF会根据UE的‘身份’(签约的切片信息),告诉AMF应该为它选择哪条‘专属通道’(网络切片)。5.11节的测量,就是评估这个‘切片导航’的准确性和可靠性。”
“这两个NF,是整个SBA架构得以运转的‘心脏’和‘大脑’。它们的性能,直接决定了5G核心网的稳定性和灵活性。”
1. SBA的“心脏”:NRF服务注册与发现测量 (5.10)
NRF是5G服务化架构的基石。没有它,NF之间将是一盘散沙,无法相互通信。它的核心功能有两个:服务注册和服务发现。
1.1 “开张营业”的登记:NF Service Registration (5.10.1)
当一个新的SMF实例被部署上线时,它要做的第一件事,就是向NRF“报到”,注册自己能提供的服务(如Nsmf_PDUSession服务)、自己的地址(IP地址/FQDN)、容量、支持的切片信息等。
5.10.1.1
Number of NF service registration requests(NFS.RegReq) c) Receipt by the NRF of an Nnrf_NFManagement_NFRegister Request message…
5.10.1.2
Number of successful NF service registrations(NFS.RegSucc) c) Transmission by the NRF of an Nnrf_NFManagement_NFRegister Response message… indicating a successful NF service registration.
5.10.1.3 & .4
Number of failed NF service registrations(NFS.RegFailEncodeErr / NFS.RegFailNrfErr) c) Transmission by the NRF of an Nnrf_NFManagement_NFRegister Response message… indicating a failed NF service registration due to encoding error of NF profile / due to NRF internal error.
-
深度解析: 这组测量
NFS.Reg...(NF Service) 监控了NF注册的全过程。Req(请求数): 统计NRF收到了多少次注册请求,反映了网络中NF实例动态变化的频繁程度。Succ(成功数): 统计NRF成功处理并确认的注册次数。注册成功率 = Succ / Req,是衡量NRF可用性的基础KPI。Fail(失败数): 将失败原因分为两类:EncodeErr(请求者发送的NF Profile格式错误)和NrfErr(NRF内部处理错误)。这种区分有助于快速定界问题。
-
场景化应用: 在一次核心网扩容中,运维团队新上线了10个SMF实例。通过监控NRF的
NFS.RegReq和NFS.RegSucc,他们可以实时确认这10个新实例是否都成功地在NRF“挂牌营业”。如果RegSucc计数只增加了9,而RegFailEncodeErr增加了1,则说明有一个SMF实例的配置文件可能存在错误。
1.2 “按图索骥”的查询:NF Service Discovery (5.10.3)
当AMF需要为一个UE建立PDU会话时,它不知道该找哪个SMF。于是,它会向NRF发起一次“服务发现”请求:“请给我推荐一个能够服务这个UE(根据UE的切片、位置、DNN等信息)的SMF。”
5.10.3.1
Number of NF service discovery requests(NFS.DiscReq) 5.10.3.2Number of successful NF service discoveries(NFS.DiscSucc) 5.10.3.3 / .4 / .5Number of failed NF service discoveries(NFS.DiscFailUnauth / NFS.DiscFailInputErr / NFS.DiscFailNrfErr)
-
深度解析: 这组测量
NFS.Disc...监控了NF发现的全过程。Req(请求数) /Succ(成功数): 统计发现请求的总量和成功量。发现成功率是衡量SBA架构能否正常运转的核心KPI。Fail(失败数): 对失败原因进行了更精细的划分:Unauth(Unauthorized): 请求方没有权限发现该服务。这是重要的安全审计指标。InputErr(Input Errors): 请求的查询参数有误。NrfErr(NRF internal error): NRF内部错误。
-
场景化应用: 如果
NFS.DiscSucc的成功率下降,整个核心网的业务流程都会中断。通过分析失败原因:- 如果是
DiscFailNrfErr大量出现,说明NRF本身可能过载或出现故障,需要紧急扩容或修复。 - 如果是
DiscFailUnauth大量出现,可能意味着网络中存在非法的NF实例,或是NF间的策略配置错误,这是一个严重的安全或配置问题。 DiscFailInputErr则通常指向了请求方NF的软件缺陷或配置错误。
- 如果是
2. 5G的“切片导航员”:NSSF测量 (5.11)
NSSF (Network Slice Selection Function) 是实现网络切片的“首席策略官”。当UE初次接入网络时,AMF会向NSSF查询,告知UE请求的S-NSSAI列表。NSSF会根据UE的签约数据、运营商的策略、漫游协议等,最终决定允许该UE使用哪些切片(Allowed NSSAI),以及为当前会话配置哪些切片(Configured NSSAI)。
2.1 “办证”指南:Network Slice Selection (5.11.1)
5.11.1.1
Number of network slice selection requests(NSS.NbrGetReq) c) Receipt by the NSSF of an Nnssf_NSSelection_Get request message from AMF…
5.11.1.2
Number of successful network slice selections(NSS.NbrGetSucc) c) Transmission by the NSSF of an Nnssf_NSSelection_Get response message indicating a successful network slice selection to AMF…
5.11.1.3
Number of failed network slice selections(NSS.NbrGetFail.cause) c) …each message increments the relevant subcounter per failure cause by 1.
- 深度解析:
这组测量
NSS.NbrGet...(Network Slice Selection) 监控了切片选择的核心流程。Req(请求数): AMF向NSSF发起了多少次切片选择咨询。Succ(成功数): NSSF成功地返回了切片决策(即使是拒绝UE使用某个切片,只要流程正常,也算成功)。Fail.cause(失败数): NSSF因为内部错误或无效请求而无法做出决策的次数。 切片选择成功率是保障切片用户能否正常接入网络的第一道关卡。
2.2 “余票”查询:S-NSSAI Availability (5.11.2)
NSSF不仅要做决策,还需要维护全网(或特定TA区域)可用的S-NSSAI列表。当某个切片因为维护、故障或资源耗尽而变得不可用时,AMF需要能及时获知这个信息。
5.11.2.1
S-NSSAI availability update(S-NSSAI可用性更新) (包含请求数、成功数、失败数)
5.11.2.2
S-NSSAI availability notification(S-NSSAI可用性通知) (包含订阅请求数、成功数、失败数,以及通知数)
-
深度解析: 这组测量监控了切片可用性信息的同步机制。AMF可以通过两种方式从NSSF获取可用切片信息:
- 更新 (Update): AMF主动向NSSF查询,或者在TA改变时,NSSF向新的AMF推送可用性信息。
NSS.NbrNSSAIAvailUpdate...监控的就是这个流程。 - 通知 (Notification): AMF可以向NSSF订阅某个TA区域的切片可用性变化。当NSSF发现该区域的切片状态(如新增或删除一个切片)发生改变时,会主动通知所有订阅的AMF。
NSS.NbrNSSAIAvailSubscribe...和NSS.NbrNSSAIAvailNotify监控的就是这个订阅-发布流程。
- 更新 (Update): AMF主动向NSSF查询,或者在TA改变时,NSSF向新的AMF推送可用性信息。
-
场景化应用: 某区域的“远程医疗”切片因为紧急扩容需要暂时下线。
- OAM系统通知了NSSF该切片暂时不可用。
- NSSF立刻向所有订阅了该区域可用性信息的AMF发送了
Notification消息。NSS.NbrNSSAIAvailNotify计数器增加。 - AMF收到通知后,就不会再尝试为新接入的医疗设备建立该切片的PDU会话,避免了大量的接入失败。
这个机制的可靠性,由
NSS.NbrNSSAIAvail...系列测量来保障,对于实现切片的动态、灵活管理至关重要。
结论:SBA架构的双重基石
通过对NRF和NSSF这两个核心网元的测量解读,我们深入到了5G服务化架构的“神经中枢”。
- NRF测量体系,保障了SBA架构的**“可发现性”与“连通性”**。它是所有NF间通信的“总开关”。NRF的注册与发现成功率,是衡量整个核心网健康状况的最基础、最根本的指标。没有一个健康的NRF,SBA就是一句空谈。
- NSSF测量体系,则保障了网络切片服务的**“可选择性”与“一致性”**。它是实现网络切片差异化接入的“总司令”。NSSF的切片选择成功率和可用性信息同步的可靠性,直接决定了用户能否正确地接入到为其签约的专属网络通道中。
NRF保证了“谁都能找到谁”,NSSF保证了“每个人都能走对路”。这两个看似“后台”的网元,其性能和可靠性,共同构成了5G核心网灵活、智能、可切片等一系列革命性特性的坚实基础。
FAQ 环节
Q1:如果NRF宕机了,整个5G核心网会怎么样?
A1:如果NRF宕机,且没有备份或容灾机制,对5G核心网将是灾难性的。1)新上线的NF实例无法注册,网络无法扩容。2)所有NF无法发现彼此,这意味着AMF找不到SMF,SMF找不到PCF,所有需要跨NF交互的业务流程(如PDU会话建立、策略控制)都将中断。唯一的例外是,NF可以在本地缓存一部分常用服务的地址信息,但这只能维持短时间的、有限的服务。因此,NRF在部署时,通常会采用集群、异地容灾等最高级别的可靠性保障措施。NFS.DiscFailNrfErr计数器的异常飙升,就是NRF健康状况恶化的最直接告警。
Q2:一个UE接入网络时,AMF是什么时候去查询NSSF的?
A2:AMF查询NSSF,主要发生在UE的注册(Registration)流程中。当UE发起初始注册或移动性注册更新时,它会在请求消息中携带它希望使用的S-NSSAI列表(Requested NSSAI)。AMF收到这个列表后,就会向NSSF发起一次NSSelection_Get请求,将这个列表以及UE的位置、签约信息等一并交给NSSF。NSSF根据这些信息做出决策后,再将结果(Allowed NSSAI, Configured NSSAI等)返回给AMF,AMF再继续后续的注册流程。
Q3:NSSF S-NSSAI availability update和notification有什么区别?
A3:Update(更新) 是一个一次性或状态驱动的交互。例如,一个新的AMF上线,它需要向NSSF查询并获取其所服务区域的可用切片列表,这是一次Update。而Notification(通知) 是一个订阅-发布模型,是事件驱动的。AMF可以先向NSSF“订阅”某个区域的可用性变化事件。之后,只要该区域的切片可用性发生任何风吹草动(如运维人员手动上线/下线一个切片),NSSF就会主动向所有订阅者“发布”这个变更通知。Notification机制比周期性的Update更高效,能保证AMF近乎实时地掌握切片状态的变化。
Q4:这些NRF和NSSF的测量项,可以按S-NSSAI细分吗?
A4:这是一个很好的问题。对于NSSF的测量,S-NSSAI是其核心处理对象,因此虽然规范原文的测量项名称中没有明确标注.SNSSAI,但在实际的厂商实现中,通常都会提供按S-NSSAI细分的统计,例如“某个特定切片的选择请求数/成功数”。对于NRF,情况则有所不同。NRF处理的是NF的注册和发现,其交互信息的核心是NF Profile,其中包含了该NF支持的S-NSSAI列表。因此,NRF的测量更适合按NF类型(如AMF, SMF)或服务名称进行细分,而不是直接按S-NSSAI。
Q5:学习NRF和NSSF的测量,对我一个RAN侧的工程师有什么帮助?
A5:非常有帮助,它能极大地扩展你的故障诊断视野。当你排查一个UE接入失败的问题时,如果空口和gNB侧的所有指标都正常,问题很可能就出在核心网。此时,如果你懂得去查看NRF和NSSF的性能数据:1)如果NSSF的NSS.NbrGetFail很高,可能意味着UE请求的切片不合法或NSSF配置错误。2)如果NRF的NFS.DiscFail很高,可能意味着AMF在为UE寻找SMF的过程中就失败了。掌握这些知识,能让你在与核心网同事进行联合排障时,不再“一问三不知”,而是能够提出具体、有数据支撑的分析方向,大大提高你的专业性和解决问题的效率。