好的,遵照您的指令,我们继续进行 3GPP TS 31.102 规范的深度拆解。
深度解析 3GPP TS 31.102:4.2.5 EFPLMNwAcT (用户控制的网络选择器)
本文技术原理深度参考了3GPP TS 31.102 V18.8.0 (2025-03) Release 18规范中,关于“4.2.5 EFPLMNwAcT (User controlled PLMN selector with Access Technology)”的核心章节,旨在为读者详细剖析用户在漫游世界中如何“掌控”自己的网络选择权,以及USIM是如何通过这个精巧的文件来指导手机搜网行为的。
在之前的章节中,我们深入探讨了USIM如何通过EF_IMSI确立用户的唯一身份,并通过EF_Keys系列文件守护着通信的安全。现在,身份已定,安全已备,我们的主角“李想”的手机面临一个非常实际的问题:在开机后,或者从飞行模式恢复后,它应该连接哪个网络?
尤其当李想带着他的手机出国旅行,周围可能同时存在十几个不同运营商的网络信号时,手机是如何做出明智抉择的?是随机选择一个信号最强的?还是有什么更高级的策略?
答案就藏在USIM中的一系列网络选择列表文件中,其中,EFPLMNwAcT扮演了赋予用户“选择权”的关键角色。这个文件名初看有些复杂,但拆解开来就非常清晰:PLMN with Access Technology,即带有接入技术的PLMN列表。今天,我们就来一同揭秘这个文件是如何成为李想漫游世界中的“私人导航地图”的。
1. “我的地盘我做主”:EFPLMNwAcT的核心使命
当手机处于自动搜网模式时,它并不是盲目地尝试连接每一个能搜到的信号。它的行为受到一系列预设规则的指导,这些规则存储在USIM中,形成了网络选择的优先级策略。EFPLMNwAcT正是这些策略中,体现用户意志的最高体现。
If service n° 20 is “available”, this file shall be present.
This EF contains the coding for n PLMNs, where n is at least eight. This information is determined by the user and defines the preferred PLMNs of the user in priority order. The first record indicates the highest priority and the nth record indicates the lowest.
这段原文精确地阐述了该文件的核心功能和属性:
-
服务关联: 它的存在与否,取决于USIM服务表(
EF_UST)中第20号服务是否被激活。如果激活,这个文件就必须存在。 -
用户决定: 列表的内容 由用户决定 (determined by the user)。这是它与运营商控制列表(
EF_OPLMNwAcT)的根本区别。李想可以通过手机设置中的“网络选择”或“运营商”菜单来编辑这个列表。 -
优先级排序: 这是一个 有序列表 (in priority order)。排在最前面的网络拥有最高的选择优先级。
-
容量保证: 规范要求该文件至少能存储8个 PLMN条目,为用户提供了充足的选择空间。
场景化举例:
李想即将前往法国出差。出发前,他了解到法国的A运营商与他的归属运营商有优惠的漫游套餐。为了避免手机自动连接到其他资费昂贵的网络,他可以在手机的网络设置中,手动搜索并选择A运营商,或者将A运营商添加到“首选网络”列表。这个动作,背后就是手机在向USIM的EFPLMNwAcT文件中写入A运营商的标识(PLMN ID)。
当李想的飞机降落在巴黎,他关闭飞行模式的瞬间,他的手机会立即开始扫描周围的网络信号。在众多信号中,手机会优先读取EFPLMNwAcT文件,发现“A运营商”赫然在列且排名第一。于是,它会“目标明确”地首先尝试注册到A运营商的网络,而暂时忽略其他信号可能更强的运营商。这就是EFPLMNwAcT赋予李想的“掌控力”。
2. 精准导航:网络与技术的双重指定
现代通信是多模多频的,仅仅指定连接哪个运营商(PLMN)是不够的。李想到达法国后,可能A运营商同时提供5G、4G和2G网络。他当然希望优先使用速度最快的5G网络。EFPLMNwAcT的“wAcT”(with Access Technology)后缀,正体现了这种精准导航的能力。
The EF also contains the Access Technologies for each PLMN in this list. (see TS 23.122)
这意味着,在EFPLMNwAcT的每一个条目中,除了PLMN的标识,还附带了一个“接入技术标识符”,明确指定了针对这个PLMN,用户偏好使用哪种或哪些无线接入技术。
2.1 文件结构与编码剖析
现在,让我们深入到比特层面,看看这张“私人导航地图”是如何绘制的。
表 4.2.5-1: EFPLMNwAcT 文件结构
| 属性 | 值 |
| :--- | :--- |
| Identifier | ‘6F60’ |
| SFI | ‘0A’ |
| Structure | Transparent |
| File size | 5n bytes (where n ≥ 8) |
| Update activity | Low |
| Access Conditions | READ/UPDATE: PIN, DEACTIVATE/ACTIVATE: ADM |
字节内容
| 字节 | 描述 | M/O | 长度 |
| :--- | :--- | :--- | :--- |
| 1 to 3 | 第1个PLMN (最高优先级) | M | 3 bytes |
| 4 to 5 | 第1个PLMN的接入技术标识符 | M | 2 bytes |
| 6 to 8 | 第2个PLMN | M | 3 bytes |
| 9 to 10 | 第2个PLMN的接入技术标识符 | M | 2 bytes |
| … | … | … | … |
| (5n-4) to (5n-2) | 第n个PLMN (最低优先级) | O | 3 bytes |
| (5n-1) to 5n | 第n个PLMN的接入技术标识符 | O | 2 bytes |
逐项解读:
-
Identifier & SFI: ‘6F60’是其固定地址,‘0A’是快捷方式。
-
File size: 文件大小为5n,因为每个条目(PLMN + 接入技术)恰好占用5个字节。
-
Access Conditions: 读取和更新都需要PIN权限,这再次印证了这是用户可控的文件。李想在修改偏好网络时,手机需要他输入PIN码,防止他人随意更改他的设置。
-
条目结构: 每个条目由一个3字节的PLMN标识和一个2字节的接入技术标识符组成。
2.2 编码的艺术:解读5字节的奥秘
2.2.1 3字节的PLMN标识
Contents: - Mobile Country Code (MCC) followed by the Mobile Network Code (MNC).
Coding: - according to TS 24.008.
这3个字节存储了PLMN的MCC和MNC,编码方式与EF_IMSI中的类似,是一种打包BCD码。例如,法国(MCC=208)的A运营商(假设MNC=01),其PLMN ID 20801 会被编码为 02 F8 10 (十六进制)。
2.2.2 2字节的接入技术标识符
这是EFPLMNwAcT相比早期规范中同类文件(如EF_PLMNsel)最大的进步。这两个字节(16个比特)像一个多功能开关面板,每一位(或几位组合)都对应着一种特定的无线接入技术。
规范原文中的Byte5 n-1和Byte 5n图示,清晰地展示了这种位映射关系。 让我们以一个简化的方式来解读:
第一个字节 (Byte 4 of entry n):
b1: UTRAN (3G)
b2: E-UTRAN (4G LTE)
b3-b5: E-UTRAN模式 (WB-S1, NB-S1)
b6: NG-RAN (5G)
…等等
第二个字节 (Byte 5 of entry n):
b1: GSM
b2: GSM COMPACT
…等等
每一位的值为’1’代表“选中该技术”,‘0’代表“不选”。
场景化举例(续):
李想在手机上将法国A运营商设置为首选,并明确希望优先使用5G,其次是4G。手机后台会将这个偏好转化为一个5字节的条目写入EFPLMNwAcT的起始位置:
-
字节1-3:
02 F8 10(代表PLMN: 20801) -
字节4-5: 假设字节4中代表NG-RAN(5G)的b6位被设为1,代表E-UTRAN(4G)的b2位也被设为1;其他位根据具体情况设置。
当李想的手机在巴黎开机时:
-
读取
EFPLMNwAcT,找到第一条目,解码出PLMN20801和接入技术偏好(5G和4G)。 -
手机开始扫描频段,如果它搜到了A运营商的5G信号(NG-RAN),它会立即尝试注册。
-
如果没搜到5G信号,但搜到了A运营商的4G信号(E-UTRAN),它也会尝试注册。
-
如果5G和4G信号都搜不到,即使搜到了A运营商的2G信号(GSM),手机也可能因为接入技术偏好中没有选择GSM而暂时放弃,转而尝试列表中的下一个PLMN。
这种“PLMN + 接入技术”的双重指定,赋予了用户前所未有的精细化网络控制能力,尤其是在多模网络共存和网络切片即将普及的5G时代,其重要性不言而喻。
3. 在网络选择策略中的地位
需要强调的是,EFPLMNwAcT(用户偏好列表)只是3GPP定义的庞大网络选择逻辑中的一个环节。整个决策流程大致遵循以下优先级(详见TS 23.122):
-
HPLMN / EHPLMN: 归属网络及其等效网络永远是最高优先级。
-
EFPLMNwAcT(User Controlled PLMN): 用户的选择,优先级次之。 -
EF_OPLMNwAcT(Operator Controlled PLMN): 运营商的推荐,优先级再次之。 -
其他PLMN: 信号强度、网络能力等其他因素。
-
EF_FPLMN(Forbidden PLMN): 黑名单,手机会主动避开。
这意味着,即使李想将国外的B运营商设为EFPLMNwAcT的首位,只要他的手机能搜到自己的归属网络(或EHPLMN)信号,手机依然会优先选择归属网络。只有在无法接入归属网络时,EFPLMNwAcT才会真正发挥其“导航”作用。
总结:从被动接受到主动选择的飞跃
EFPLMNwAcT文件的引入,是移动通信从“用户只能被动接受网络分配”到“用户可以主动影响网络选择”的一个重要里程碑。它通过一个结构精巧、编码高效的5字节条目,将用户的偏好进行了数字化和标准化。
-
赋予用户控制权: 让用户在复杂的漫游环境中,能够根据资费、网络质量等因素,主动选择最适合自己的运营商和网络制式。
-
提升搜网效率: 为手机提供了明确的“寻路图”,避免了在众多网络信号中进行盲目和耗时的尝试,加快了网络注册速度,也节省了电量。
-
适应多模网络演进: “with Access Technology”的设计,使其能够灵活适应2G/3G/4G/5G/卫星等多种接入技术并存的复杂场景,展现了3GPP标准的前瞻性。
对于李想而言,他可能只是在手机屏幕上进行了几次简单的点击,但在背后,是EFPLMNwAcT文件忠实地记录下他的意图,并在关键时刻,为他的手机在异国他乡的网络丛林中,指明了最优的前进方向。
FAQ环节
Q1:EFPLMNwAcT 和 EF_OPLMNwAcT 有什么区别?如果两者冲突了听谁的?
A1:主要区别在于控制方不同。EFPLMNwAcT由用户通过手机菜单控制,体现用户意愿。EF_OPLMNwAcT由运营商在发卡时预置或通过OTA更新,体现运营商的商业策略(如与哪些漫游伙伴合作)。根据3GPP TS 23.122定义的网络选择优先级,用户控制的列表 (EFPLMNwAcT) 优先级高于运营商控制的列表 (EF_OPLMNwAcT)。这意味着,如果两个列表有冲突,手机会优先遵循用户的选择。
Q2:如果我把一个PLMN加入到EFPLMNwAcT,但没有指定任何接入技术(Access Technology的两个字节都是0),会发生什么?
A2:根据规范,“bit = 0: access technology not selected”。如果一个PLMN条目对应的接入技术标识符全为0,理论上意味着用户没有为这个PLMN选择任何偏好的接入技术。此时,手机的行为可能依赖于具体的实现。一种可能的行为是,手机在搜索到该PLMN后,会按照自己内部默认的技术优先级(如5G > 4G > 3G)去尝试注册。但这并不是规范强制的行为,因此结果可能因手机型号而异。
Q3:EFPLMNwAcT文件是强制存在的吗?
A3:不是。它的存在与否取决于USIM服务表(EF_UST)中服务n°20是否被标记为“available”。如果运营商希望提供用户自定义优选网络的功能,就会在USIM中激活这个服务,并创建EFPLMNwAcT文件。如果运营商不希望提供此功能,可以不激活该服务,那么这个文件就不会存在,用户在手机上也找不到相应的设置菜单。
Q4:为什么接入技术标识符需要2个字节(16位)这么多?
A4:这是为了未来的可扩展性。移动通信技术在不断演进,除了传统的GSM, UTRAN, E-UTRAN, NG-RAN,还出现了NB-IoT, eMTC, 卫星接入(Satellite NG-RAN)等多种技术。使用16位(甚至更多,因为规范中有些位是RFU - Reserved for Future Use)可以确保在未来出现新的无线接入技术时,有足够的比特位来对其进行标识,而无需改变文件的基本结构。这体现了3GPP标准设计的长远眼光。
Q5:手机是如何更新EFPLMNwAcT文件的?我可以用电脑修改吗?
A5:手机通过标准的APDU命令(UPDATE BINARY)来更新该文件。当用户在手机UI上进行操作时,手机操作系统会将其转化为这些底层命令发送给USIM。理论上,如果你有PC/SC读卡器和相应的软件,可以发送原始APDU命令来修改这个文件。但前提是你必须通过PIN码验证,因为该文件的UPDATE权限受PIN保护。不建议普通用户这样做,因为错误的修改可能导致手机搜网异常。最安全、最标准的方式还是通过手机自带的设置菜单进行操作。