好的,我们继续接续上一篇文章,对 3GPP TS 31.102 规范进行深度拆解。


深度解析 3GPP TS 31.102:4.2.6 EFHPPLMN (更高优先级PLMN搜索周期)

本文技术原理深度参考了3GPP TS 31.102 V18.8.0 (2025-03) Release 18规范中,关于“4.2.6 EFHPPLMN (Higher Priority PLMN search period)”的核心章节,旨在为读者深入剖析在漫游场景下,手机如何智能地、周期性地“回头”寻找更优网络,以及USIM如何通过EFHPPLMN文件来精细调控这一“回头看”行为的频率。

在上一篇文章中,我们探讨了EFPLMNwAcT,了解了我们的主角“李想”如何主动设置偏好的漫游网络。现在,让我们想象一个新的场景:李想到达法国后,由于他偏好的A运营商信号不佳,手机自动选择并成功驻留在了信号更好的B运营商网络上。虽然B网络可用,但其漫游资费可能远高于A网络。

李想当然不希望一直“将就”着用昂贵的B网络。他希望手机能“知趣”地、时不时地再回头找找,看看A运营商的信号是不是恢复了。如果找到了,就自动切换回去。这种“身在曹营心在汉”的智能行为,正是移动通信网络选择机制中一个至关重要的功能——更高优先级PLMN(Higher Priority PLMN, HPPLMN)搜索

而控制这个“回头看”动作有多频繁的“闹钟”,就设置在USIM的EFHPPLMN文件里。这个文件的名字直截了当:Higher Priority PLMN search period。今天,我们就来解密这个小小的文件是如何在省电和网络体验之间找到精妙平衡的。


1. “常回家看看”:HPPLMN搜索机制的核心价值

当手机漫游在一个非最优的网络上时(即VPLMN,Visited PLMN),它并不会就此“认命”。它会在后台启动一个定时器,周期性地唤醒射频模块,去扫描并尝试连接那些比当前网络优先级更高的PLMN。这些更高优先级的网络(HPPLMN)通常包括:

  • 用户的归属网络(HPLMN)。

  • 用户的等效归属网络(EF_EHPLMN列表)。

  • 用户在EFPLMNwAcT中设置的、优先级高于当前驻留网络的PLMN。

  • 运营商在EF_OPLMNwAcT中设置的、优先级高于当前驻留网络的PLMN。

这个机制的核心价值在于:

  1. 优化用户体验与成本:确保用户在漫游时,能尽可能快地回到资费更低、服务更好的首选网络上,避免“被困”在次优网络。

  2. 网络资源调配:帮助运营商引导其用户优先使用合作紧密、结算成本低的漫游伙伴网络。

然而,频繁的搜网是一个非常耗电的操作。如果这个“闹钟”响得太频繁(比如每分钟一次),李想手机的电池会迅速耗尽。但如果响得太慢(比如一天一次),他又可能错过了切换回优惠网络的好时机。因此,如何设定这个搜索周期,就成了一个需要在网络体验终端功耗之间进行权衡的艺术。EFHPPLMN文件正是实现这种权衡的“调节阀”。

This EF contains the interval of time between searches for a higher priority PLMN (see 3GPP TS 23.122).

这段原文明确指出了该文件的唯一使命:定义HPPLMN搜索的时间间隔。


2. 精打细算的“闹钟”:EFHPPLMN文件结构与编码剖析

现在,让我们深入文件内部,看看这个控制搜网周期的“闹钟”是如何被设定的。

表 4.2.6-1: EFHPPLMN 文件结构

| 属性 | 值 |

| :--- | :--- |

| Identifier | ‘6F31’ |

| SFI | ‘12’ |

| Structure | Transparent |

| File size | 1 byte |

| Update activity | Low |

| Access Conditions | READ: PIN, UPDATE/DEACTIVATE/ACTIVATE: ADM |

字节内容

| 字节 | 描述 | M/O | 长度 |

| :--- | :--- | :--- | :--- |

| 1 | Time interval (时间间隔) | M | 1 byte |

逐项解读:

  • Identifier & SFI: ‘6F31’是它的固定地址,‘12’是快捷方式。

  • File size: 仅仅1个字节!3GPP用这区区8个比特,设计了一套能够覆盖从几分钟到数十小时的灵活时间间隔表示法。

  • Update activity: Low (低)。这个值通常由运营商在发卡时设定,很少需要变动。

  • Access Conditions: 读取(READ)需要PIN权限,意味着手机必须在用户解锁后才能获知这个周期值。而修改(UPDATE)等操作则由运营商通过ADM权限控制,用户不能随意更改搜网频率。

2.1 编码的智慧:1字节背后的两种时间尺度

EFHPPLMN最精妙之处在于其编码设计。规范意识到,不同类型的终端和业务,对功耗和搜网实时性的要求截然不同。一个需要时刻保持连接的智能手机,和一个一天只上报一次数据的物联网水表,它们的HPPLMN搜索策略应该天差地别。因此,规范为这1个字节定义了两种截然不同的“时间尺度”解释。

For UEs not using any of the following at the time of starting the timer: NB-IoT, GERAN EC-GSM-IoT and Category M1 of E-UTRAN enhanced-MTC… the time interval is coded in integer multiples of n minutes.

For UEs using any of the following at the time of starting the timer: NB-IoT, GERAN EC-GSM-IoT and Category M1 of E-UTRAN enhanced-MTC… the time interval is coded as follows. The range is from n hours to a maximum value.

深度解析:

手机在读取EFHPPLMN这1字节的值后,并不能直接使用。它必须先判断自己当前处于哪种工作模式:

模式一:普通UE模式(如智能手机)

  • 时间单位: 分钟 (minutes)。

  • 编码规则: 字节的值 V 表示 V * n 分钟。n的具体值由另一份规范TS 23.122定义,通常是6分钟。

    • '00': 表示不进行HPPLMN搜索。

    • '01': 表示 1 * 6 = 6 分钟。

    • '02': 表示 2 * 6 = 12 分钟。

    • 'FF' (十进制255): 表示 255 * 6 = 1530 分钟,即25.5小时。

场景化举例(普通模式):

李想的5G手机在法国漫游到了B运营商网络。USIM中的EFHPPLMN文件值为'0A'(十进制10)。

  1. 手机驻留到B网络后,读取EFHPPLMN得到值10。

  2. 手机判断自己是普通智能手机,不属于物联网设备类型。

  3. 它采用“分钟”尺度进行解释,计算出搜索周期为 10 * 6 = 60 分钟。

  4. 手机启动一个60分钟的定时器。

  5. 60分钟后,“闹钟”响起,手机唤醒射频模块,短暂地搜索一下更高优先级的A运营商网络信号。

    • 如果搜到了,就发起切换。切换成功后,这个定时器就停止了。

    • 如果没搜到,就继续驻留在B网络,并重新启动一个60分钟的定时器,等待下一次“回家看看”的机会。

模式二:物联网(CIoT)UE模式

  • 时间单位: 小时 (hours)。

  • 编码规则: 采用分段非线性编码,以在有限的8比特内覆盖更长的时间范围,并为低频次场景提供更粗的粒度。

    • '00': 同样表示不搜索。

    • '01': 表示 n 小时(通常n=2小时)。

    • '02''28' (十六进制,即40): 表示 Value * 2 小时,覆盖4到80小时,步长2小时。

    • '29' (41) 到 '50' (80): 表示 (Value - 40) * 4 + 80 小时,覆盖84到240小时(10天),步长4小时。

场景化举例(物联网模式):

假设李想所在的公司有一个部署在法国的物联网环境监测设备,其USIM中的EFHPPLMN文件值同样是'0A'(十进制10)。

  1. 设备开机后,同样漫游到了B运营商网络。

  2. 设备读取EFHPPLMN得到值10。

  3. 设备判断自己当前工作在NB-IoT模式下。

  4. 它采用“小时”尺度进行解释。值10落在'02'-'28'区间内。

  5. 计算出搜索周期为 10 * 2 = 20 小时。

  6. 设备启动一个20小时的定时器。20小时后,它才会进行下一次HPPLMN搜索。

通过这套巧妙的“双标”编码,同一个EFHPPLMN值,对于李想的耗电大户——智能手机,意味着1小时的搜索周期,保证了体验;而对于公司的省电标兵——物联网设备,则意味着近一天的超长周期,最大限度地延长了电池寿命。

2.3 规范的演进:更高优先级搜索的乘法系数 EFMCHPPLMN

随着技术演进,特别是卫星通信的引入,3GPP意识到单一的EFHPPLMN可能不够灵活。因此,在后续版本中,引入了一个新的可选文件:EFMCHPPLMN (Multiplier Coefficient for Higher Priority PLMN search)。

这个文件的作用是在特定场景下(如通过卫星接入NG-RAN时),为EFHPPLMN计算出的基础周期提供一个“乘法系数”。

场景化举例(引入乘法系数):

假设一个通过卫星接入的终端,其EFHPPLMN值为'02'(基础周期12分钟),而EFMCHPPLMN值为10。那么它实际的HPPLMN搜索周期将是 12分钟 * 10 = 120分钟,即2小时。这为网络在特殊接入方式下,动态调整终端行为提供了更强的手段。

3. 重要提示:配置的复杂性与ME的责任

规范在NOTE中特别提醒:

NOTE 1: Care should be taken in the configuration of this EF, as the value stored can be interpreted in different ways depending on the type of device and radio technology used by the device.

这正是我们前面分析的“双标”编码带来的复杂性。运营商在配置这个1字节的值时,必须深思熟虑,因为它将对不同类型的终端产生截然不同的影响。

同时,这也对手机(ME)的实现提出了明确要求:ME必须能够准确判断自身当前的RAT(Radio Access Technology)类型,并选择正确的“时间尺度”来解读EFHPPLMN的值。如果一个NB-IoT设备错误地使用了“分钟”尺度,那么它的电池将会很快被耗尽,这无疑是一场灾难。

总结:“回头看”的智慧

EFHPPLMN虽然只是USIM中一个不起眼的1字节文件,但它完美诠释了3GPP标准在设计上的精妙与深思熟虑。

  • 平衡体验与功耗: 它通过一个简单的定时器机制,在“尽快切回好网络”的用户体验和“尽可能省电”的终端需求之间,建立了一个可配置的平衡点。

  • 编码的极致效率: 仅用8个比特,通过定义不同的解释上下文(普通UE vs. CIoT UE),实现了对从几分钟到十天的巨大时间跨度的覆盖,充分展现了在资源受限环境下的设计智慧。

  • 前瞻性的演进: 通过引入EFMCHPPLMN等补充文件,保持了对新技术(如卫星通信)场景下策略调整的灵活性。

对于李想来说,EFHPPLMN就是那个在他漫游异国他乡时,不知疲倦地提醒他的手机“常回家看看”的贴心管家。它在后台默默工作,确保李想在享受无缝连接的同时,既不会错失更优的网络服务,也不会为之付出不必要的电量代价。这正是标准化设计于细微之处见真章的完美体现。


FAQ环节

Q1:如果EFHPPLMN文件设置为’00’,是不是我的手机在漫游时就永远不会自动切回我的归属网络了?

A1:是的。如果EFHPPLMN的值为'00',根据规范,手机将不进行周期性的更高优先级PLMN(HPPLMN)搜索。这意味着,一旦手机驻留在一个漫游网络上,只要该网络的信号不丢失,它就不会主动去寻找更好的网络(如你的归属网络)。你仍然可以通过手机设置进行“手动搜网”并选择你的归属网络,但自动切换的行为将被禁止。

Q2:HPPLMN搜索只在国际漫游时发生吗?

A2:不完全是。HPPLMN搜索机制的核心是当UE驻留在一个非最高优先级的网络上时启动。这种情况最常见于国际漫游。但在国内也可能发生,例如:

  1. 你的手机信号弱,掉到了一个与你归属运营商有漫游协议的国内友商网络上。

  2. 在一些偏远地区,可能由多家运营商共建一个网络,你的手机也可能暂时驻留在非最优的PLMN上。

在这些情况下,只要存在更高优先级的网络(你的HPLMN),HPPLMN搜索机制同样会启动。

Q3:为什么物联网(CIoT)设备的HPPLMN搜索周期要设计得那么长?

A3:核心原因是功耗。大量的物联网设备(如水表、气表、环境传感器)被设计为使用电池供电,并需要工作数年之久。无线射频部分的开启和搜网是设备最耗电的操作之一。这些设备通常对数据传输的实时性要求不高(一天甚至几天才上报一次数据)。因此,将HPPLMN搜索周期拉长到数十小时甚至数天,可以最大限度地减少射频部分的唤醒次数,从而极大地延长电池寿命,降低运维成本。

Q4:用户自己能修改EFHPPLMN的值吗?

A4:通常不能。根据规范,EFHPPLMN的更新(UPDATE)权限被设置为ADM(行政管理),这意味着只有运营商才有权修改这个值。这是因为HPPLMN的搜索频率直接影响到网络的信令负荷和用户的终端行为,运营商需要对此进行统一的策略管控。用户可以通过设置EFPLMNwAcT来决定“想回哪个家”,但“多久回一次家看看”的频率则由运营商来设定。

Q5:EFHPPLMN定时器在手机处于“无服务”状态时会工作吗?

A5:不会。EFHPPLMN定时器是在手机成功驻留在一个VPLMN(Visited PLMN)上之后才会启动的。当手机处于“无服务”(out of service)状态时,它会执行另一套更频繁、更积极的全频段扫描和网络搜索流程,以尽快找到任何一个可用的网络(首先尝试最后一个注册上的PLMN,然后是HPLMN,等等)。EFHPPLMN的“回头看”机制,是建立在“已经有网可用,但想找个更好的”这一前提之上的。