深度解析 3GPP TS 23.122:4.9 SNPN selection process (Part 2 - 自动选择流程)
本文技术原理深度参考了3GPP TS 23.122 V18.10.0 (2025-03) Release 18规范中,关于“4.9.3.1 At switch-on or recovery from lack of coverage”及其子章节“4.9.3.1.1 Automatic SNPN selection mode procedure”的核心章节,旨在为读者拆解5G独立非公共网络(SNPN)的自动化网络选择全过程。
引言:AGV-007的开机“寻网”之旅
在“Part 1”中,我们认识了“未来工厂”的智能物流机器人AGV-007,并详细解读了它的“数字身份证”——存储在其通信模块中的“用户数据列表”(list of subscriber data)。这张身份证记录了它的工号(SUPI)、归属网络(SNPN Identity)、接入凭证(Credentials)以及一系列网络行为策略(URSP, NSSAI等)。
今天,我们将继续跟随AGV-007的脚步,聚焦于一个核心问题:当AGV-007在清晨被唤醒,或者从一个信号盲区被推到工作区后,它的通信模块是如何在一片复杂的无线环境中,遵循一套严格的“行为准则”,精准而高效地找到并连接上它所属的“Future-Fab-Net”网络的?
这就是SNPN的自动选择流程。它是一套定义在3GPP规范中的优先级算法,确保像AGV-007这样的设备能够自主、智能地接入正确的专用网络。现在,让我们启动AGV-007,开始它的“寻网”之旅。
1. 唤醒后的第一件事:检查“老地方” (4.9.3.1.0 General)
清晨6点,AGV-007的电池充电完成,系统自动唤醒。它的通信模块加电后,做的第一件事不是盲目地在空中搜索信号,而是先查看自己的“记忆”。
At switch on, following recovery from lack of coverage, or when the MS starts operating in the SNPN access operation mode over 3GPP access, the MS selects the registered SNPN or an equivalent SNPN (if it is available) using NG-RAN access technology and if necessary… attempts to perform an LR.
这段规范定义了开机后的首选行为——“路径依赖”。
- 注册SNPN (RSNPN):这是指AGV-007上次关机或休眠前成功注册的网络。
- 等效SNPN (Equivalent SNPN):这是由网络在上次注册成功后告知AGV-007的一组“兄弟网络”。这些网络被认为与RSNPN是等效的,可以无缝切换。
场景解析:AGV-007的“惯性”
AGV-007昨晚是在A-1充电桩上休眠的,当时它连接的网络正是“Future-Fab-Net”。今天早上它在原地醒来。
它的通信模块会优先在周围的无线信号中寻找“Future-Fab-Net”或其等效网络。一旦找到,并且信号质量良好,它就会毫不犹豫地选择这个网络,并立即发起位置注册(LR)请求。
这个机制的好处是显而易见的:高效、快速。它避免了每次开机都进行一次完整、复杂的网络扫描,大大缩短了入网时间。对于工业生产而言,设备启动后能以最快速度“就位”,是至关重要的。
但是,如果AGV-007在休眠期间被人工推到了一个新建的、网络尚未覆盖的厂房,或者“Future-Fab-Net”基站恰好在维护,那么这个“首选行为”就会失败。此时,AGV-007的“寻网”之旅就进入了第二阶段——全面的自动化搜索。
If there is no registered SNPN, or registration is not possible due to the SNPN and all equivalent SNPNs, if any, being unavailable or registration failure… the MS follows the procedure in clause 4.9.3.1.1 or clause 4.9.3.1.2 depending on its SNPN selection mode.
规范指明,当“路径依赖”失效时,终端必须根据其选择模式(自动或手动)启动相应的完整选择流程。由于AGV-007工作在自动模式,它将执行4.9.3.1.1中定义的自动化流程。
2. 自动化搜索:一部严谨的“寻网”行动纲领 (4.9.3.1.1)
AGV-007发现找不到“老地方”后,便开始严格按照其内部固化的“寻网行动纲领”进行搜索。这是一个有着严格优先级的列表,从最高优先级开始逐一尝试。
The MS selects an SNPN, if available and allowable, in the following order:
2.1 最高优先级:本地化服务的召唤 (a0)
a0) if the MS supports access to an SNPN providing access for localized services in SNPN and access for localized services in SNPN is enabled, then, using the SNPN selection parameters for access for localized services in SNPN…:
- the SNPN previously selected… if validity information of the entry is still met…
- each SNPN which broadcasts the indication that access using credentials from a credentials holder is supported and which is identified by an SNPN identity contained in an entry of the “credentials holder controlled prioritized list of preferred SNPNs for access for localized services in SNPN”… if the validity information of the entry is met;
- each SNPN which broadcasts … a GIN contained in an entry of the “credentials holder controlled prioritized list of preferred GINs for access for localized services in SNPN”… if the validity information of the entry is met.
这是整个选择流程中优先级最高的一项,专门用于“本地化服务”。
场景解析:AGV-007的特殊任务
假设今天AGV-007被分配了一个特殊任务:进入“高精密芯片贴装车间”进行物料运输。这个车间环境要求极高,拥有自己独立的、与主厂区物理隔离的SNPN,名为“Chip-Fab-Local-Net”。这个网络只在每天上午8点到下午5点的工作时间开放。
AGV-007的“数字身份证”里有一条本地化服务策略,明确指出:
- 目标网络:“Chip-Fab-Local-Net”
- 有效时间:08:00 - 17:00
- 有效区域:芯片贴装车间的地理围栏
当AGV-007进入这个车间,并且当前时间是上午9点时,“validity information is still met”(有效性信息匹配)条件成立。此时,本地化服务策略被激活。AGV-007会忽略所有其他网络,将连接“Chip-Fab-Local-Net”作为其唯一且最高的任务。这就是业务需求驱动网络选择的典型体现。
2.2 优先级 A:记忆中的网络 - 上次注册的SNPN (a)
a) the SNPN with which the UE was last registered or an equivalent SNPN, except if the registered SNPN was previously selected as result of an entry of a list of bullet a0)…
如果在当前环境下,没有任何本地化服务策略被激活,那么选择的优先级就回到了我们熟悉的“路径依赖”——寻找上次注册的网络。
这一条与4.9.3.1.0中的初始检查看似重复,但逻辑上是递进的。初始检查是在启动完整流程之前的“快速通道”,而这里是在完整流程内部的一个正式优先级步骤。如果初始检查失败,意味着上次注册的网络在“第一时间”没找到,但它仍然是AGV-007在后续全面搜索中的第二高优先级目标(仅次于本地化服务)。
2.3 优先级 B:我的“户口本” - 订阅的SNPN (b)
b) the SNPN identified by an SNPN identity of the subscribed SNPN in the selected entry of the “list of subscriber data” in the ME, if any;
如果连上次注册的网络也彻底失联,AGV-007就要拿出自己的“户口本”了。这个“户口本”就是在“Part 1”中提到的,“用户数据列表”中明确定义的“订阅SNPN”(subscribed SNPN)。
这是AGV-007的“根”。无论它之前漫游到哪个网络,这个订阅的SNPN始终是它的“家”。在其他高优先级选项都不可用时,回家总是最可靠的选择。对于AGV-007来说,它的订阅SNPN就是“Future-Fab-Net”。
2.4 优先级 C:IT部门的指令 - 基于列表的动态选择 (c)
c) if the MS supports access to an SNPN using credentials from a credentials holder, using the SNPN selection parameters…:
- each SNPN which … is identified by an SNPN identity contained in the user controlled prioritized list of preferred SNPNs…
- each SNPN which … is identified by an SNPN identity contained in the credentials holder controlled prioritized list of preferred SNPNs…
- each SNPN which … broadcast a GIN contained in the credentials holder controlled prioritized list of GINs…
这一步体现了SNPN管理的灵活性和中心化。当AGV-007的“家”(订阅SNPN)也联系不上时,它会开始查阅由工厂IT部门(即“凭证持有者”)下发的一系列“行动指令列表”。
场景解析:多网络协作
假设“未来工厂”与旁边的“智慧仓储中心”(其SNPN为Warehouse-Net)有紧密的业务往来。IT部门希望AGV-007在Future-Fab-Net不可用时,能够自动连接到Warehouse-Net继续工作。
- 用户控制列表 (c.1):现场工程师在调试AGV-007时,可能会临时在设备上配置一个优先级列表,如
[Network-A, Network-B]。 - 凭证持有者控制列表 (c.2):IT部门通过后台系统,可以向所有AGV推送一个更权威的优先级列表,如
[Future-Fab-Net, Warehouse-Net, Test-Net]。这个列表的优先级高于用户控制列表。 - GIN列表 (c.3):IT部门将
Future-Fab-Net和Warehouse-Net都配置为广播同一个组ID,例如GIN-Logistics。同时,为AGV-007配置“优先寻找广播GIN-Logistics的网络”。这样一来,无论AGV-007身处工厂还是仓库,它都会优先在这两个网络中选择信号更好的一个进行连接,实现了跨网络的智能调度。
这些列表为复杂的、多网络环境下的设备漫游和选择提供了强大的策略控制能力。
2.5 最后的尝试:开放的“访客”网络 (c.4)
- each SNPN identified by an SNPN identity which is included neither in the SNPN selection parameters… and which broadcasts an indication that the SNPN allows registration attempts from MSs that are not explicitly configured to select the SNPN.
这是AGV-007在山穷水尽时的最后选择。
场景解析:供应商的临时网络
一家设备供应商来到“未来工厂”进行设备联调,他们在现场部署了一个小型的临时SNPN,名为Supplier-Debug-Net。为了方便工厂的设备临时接入进行测试,他们将这个网络设置为“开放模式”,即允许未明确配置此网络信息的设备前来“敲门”(发起注册尝试)。
当AGV-007在上述所有优先级的网络都找不到的情况下,如果它扫描到了这个广播着“允许访客接入”标志的Supplier-Debug-Net,它会将其作为最后的希望,尝试进行注册。当然,能否注册成功,还要看Supplier-Debug-Net的后台是否配置了允许AGV-007接入的临时策略。
3. 尘埃落定:注册成功或进入“失联”状态
经过上述一系列的优先级搜索,AGV-007的“寻网”之旅将迎来两种结局。
If successful registration is achieved, the MS indicates the selected SNPN.
结局一:成功
AGV-007在某个优先级步骤上找到了一个可用的、允许其接入的SNPN,并成功完成了注册。此时,它的通信模块会向主控系统报告:“网络已连接,当前服务网络为 [Selected SNPN ID]”。AGV-007正式上线,等待任务指令。
If registration cannot be achieved because no SNPNs are available, allowable, and identified by an SNPN identity in an entry of the “list of subscriber data” in the ME, the MS indicates “no service” to the user, waits until a new SNPN is available… and then repeats the procedure.
结局二:失败 如果AGV-007遍历了从最高到最低的所有优先级,尝试了所有可能的网络,但都无法成功注册(或者根本就没扫描到任何可用的SNPN),它最终只能放弃。
此时,通信模块会向主控系统报告一个“无服务”(No Service)状态。AGV-007会进入一个“失联”的等待状态,默默地、周期性地重新扫描周围环境,期待着有可用的SNPN出现,然后重新启动整个自动选择流程。在工厂的监控大屏上,AGV-007的图标可能会变为红色,提示运维人员检查设备所在位置的网络覆盖。
4. FAQ环节
Q1:在自动选择流程中,为什么已注册的SNPN(RSNPN)的优先级这么高,仅次于本地化服务?
A1:这是为了保证服务的连续性和稳定性,即所谓的“网络粘性”(Network Stickiness)。频繁地在不同网络之间切换会带来额外的信令开销和潜在的业务中断。将RSNPN的优先级提得很高,可以确保终端在有可用信号的情况下,会尽可能地“停留”在当前服务网络上,而不是仅仅因为扫描到一个信号稍强一点的其他网络就轻易地发起重选,这对于维持稳定的工业生产连接至关重要。
Q2:AGV-007的“用户数据列表”可以包含多个订阅条目(entry)吗?如果可以,它在自动选择时如何决定使用哪个条目?
A2:是的,可以包含多个订阅条目。例如,一个大型跨国企业可能在全球的多个工厂都部署了SNPN,一个需要在全球工厂间流动的设备,其“用户数据列表”就可以包含多个工厂SNPN的订阅信息。规范中提到:“How the MS selects the entry in the “list of subscriber data” … is MS implementation specific.” 这意味着,在有多个订阅条目时,具体选择哪个条目来开始本次的自动选择流程,是由设备制造商(MS implementation)自己决定的,3GPP没有做强制规定。常见的实现可能是基于一个默认的或用户指定的优先级。
Q3:什么是“等效SNPN”(Equivalent SNPN),它是由谁来定义的?
A3:“等效SNPN”是由当前服务的SNPN网络告知终端的一组网络列表。这些网络在业务和服务上被认为是等同的。例如,“未来工厂”可能在物理上部署了两套完全独立的SNPN核心网(一套主用,一套灾备),它们使用不同的SNPN ID。主用网络可以告知AGV-007,灾备网络是它的等效SNPN。这样,当主用网络故障时,AGV-007可以无缝地、高优先级地切换到灾备网络,而不需要经过复杂的重选流程,从而保证了业务的高可用性。
Q4:在优先级(c)中,GIN(组ID)和具体的SNPN ID列表有什么区别和优势?
A4:SNPN ID列表是“白名单”模式,列表里有谁就找谁,精确但不够灵活。GIN是“标签”模式,终端寻找的是带有特定标签的网络,而不是具体的网络ID。其优势在于解耦和扩展性。假设一个大型港口有多个码头,每个码头都可能有一个独立的SNPN,但都服务于“集装箱自动化吊装”业务。管理员可以给所有这些SNPN都打上GIN-Container-Ops的标签。这样,新出厂的吊车设备只需配置“寻找GIN-Container-Ops”,就能在任何一个码头自动入网,而无需在每台设备里预置所有码头的SNPN ID。当新建码头时,也无需更新所有设备的配置。
Q5:如果AGV-007因为认证失败而被一个SNPN拒绝,它会怎么处理?
A5:当AGV-007被一个SNPN拒绝时,网络会返回一个带有拒绝原因的响应消息。根据原因不同,处理方式也不同。如果是永久性的拒绝(如“非法设备”),AGV-007会将这个SNPN加入“永久禁止SNPN列表”。如果是暂时性的拒绝(如“网络暂时拥塞”),它会将其加入“临时禁止SNPN列表”,并在一个定时器超时后再次尝试。这些禁止列表的管理机制我们将在后续的文章中进行深入探讨,它是保证网络选择鲁棒性的重要一环。