深度解析 3GPP TS 23.122:3.1 PLMN selection and roaming (PLMN选择与漫游)

本文技术原理深度参考了3GPP TS 23.122 V18.10.0 (2025-03) Release 18规范中,关于“3.1 PLMN selection and roaming”的核心章节,旨在为读者提供一个关于手机终端(MS/UE)开机后如何选择并驻留在移动网络的全景视图。

欢迎来到我们的3GPP规范深度解析系列。作为一名通信工程师或相关专业的学生,你一定对手机开机后那一瞬间发生的“奇迹”感到好奇:它是如何在茫茫信号海洋中,精准地找到并连接上我们签约的运营商网络的?当我们出国旅行时,它又是如何智能地选择当地的漫游网络?

这一切行为的背后,都遵循着一套由3GPP精心设计的、严谨而复杂的规则,其核心就是我们今天要探讨的主题——PLMN选择与漫游。这不仅仅是终端的一个简单功能,它直接关系到用户的网络体验、运营商的漫游成本以及网络的负载均衡。

为了让这些抽象的规范条款变得生动具体,让我们引入今天的主角——通信爱好者“小明”。小明刚刚结束了一段长途飞行,降落在一个全新的国家。他迫不及待地关闭了飞行模式,期待着手机能立刻连接上网络,向家人报个平安。从他关闭飞行模式的那一刻起,一场由手机NAS(非接入层)精心策划的“网络寻觅之旅”便正式拉开序幕。

我们将跟随小明的手机,一步步揭开PLMN选择与漫游的神秘面纱,看看规范是如何定义这场“旅行”的每一个细节的。

1. 核心原则:家(HPLMN)与客(VPLMN)

在深入了解选择过程之前,我们必须先明确两个基本概念:HPLMN和VPLMN。

The MS normally operates on its home PLMN (HPLMN) or equivalent home PLMN (EHPLMN). However, a visited PLMN (VPLMN) may be selected, e.g., if the MS loses coverage.

深度解析:

  • HPLMN (Home PLMN): 指的是用户签约的运营商网络,也就是我们的“归属网络”。例如,如果小明用的是中国移动的SIM卡,那么中国移动的网络就是他的HPLMN。PLMN(Public Land Mobile Network,公共陆地移动网络)由MCC(移动国家码)和MNC(移动网络码)唯一标识。HPLMN的标识信息就存储在小明手机的SIM/USIM卡中。

  • VPLMN (Visited PLMN): 指的是用户漫游时所在的非归属运营商网络。当小明抵达国外,他手机连接上的当地运营商网络(比如AT&T、Vodafone等)就是VPLMN。

  • EHPLMN (Equivalent HPLMN): 等效归属PLMN。这是一个为了应对运营商之间复杂的合作关系(如并购、虚拟运营等)而引入的概念。SIM卡里可以存储一个EHPLMN列表,列表里的所有PLMN都被终端视为“家”,享有同等优先级的接入权。

场景再现:

小明在飞机上关闭飞行模式。他的手机首先会尝试寻找它的“家”——HPLMN。但在国外,这显然是徒劳的。于是,手机的NAS层便会启动漫游机制,开始在当前位置搜索所有可用的VPLMN,准备“客居”他乡。

2. 两种模式:自动选择 vs 手动干预

手机如何从众多VPLMN中选择一个呢?规范定义了两种截然不同的模式。

There are two modes for PLMN selection:

i) Automatic mode - This mode utilizes a list of PLMN/access technology combinations in priority order. The highest priority PLMN/access technology combination which is available and allowable is selected.

ii) Manual mode - Here the MS indicates to the user which PLMNs are available. Only when the user makes a manual selection does the MS try to obtain normal service on the VPLMN.

深度解析:

  • 自动模式 (Automatic mode): 这是手机的默认工作模式。在这种模式下,手机会像一个有经验的“旅行家”,根据SIM卡中预设的“旅行攻略”(一个带优先级的PLMN列表),自动、依次地尝试连接可用的网络。这个列表的优先级通常由用户的归属运营商(HPLMN)根据漫游协议和成本来设定。手机会选择列表中优先级最高且当前可用、合法的网络进行驻留。

  • 手动模式 (Manual mode): 在这种模式下,手机会把决策权交还给用户。它会扫描并列出所有当前可用的网络,由用户亲自“翻牌子”决定连接哪一个。一旦用户做出选择,手机就会“死心塌地”地尝试连接该网络,即使连接失败,通常也不会自动尝试其他网络(除非用户重新选择或切换回自动模式)。

场景再现:

小明的手机默认处于自动模式。开机后,手机扫描到当地有A、B、C三个运营商的信号。它会查阅SIM卡中的“漫游优选列表”。假设列表的优先级是 B > A > C,那么手机会首先尝试连接B运营商。如果成功,任务完成。如果B运营商由于某种原因拒绝了小明的手机(我们稍后会详细探讨这些原因),它会接着尝试A,以此类推。

后来,小明发现自动模式选择的网络B网速不佳,他便进入手机的“设置 移动网络 网络运营商”菜单,关闭“自动选择”,启动了手动模式。很快,手机屏幕上列出了运营商A、B、C。小明看到A运营商后面标注着“5G”,于是手动选择了A,手机便开始尝试向A网络发起注册。

3. “黑名单”机制:防止终端的“无谓”尝试

在网络选择的过程中,终端可能会因为各种原因被网络拒绝。为了避免终端像个“没头苍蝇”一样,在同一个地方反复尝试连接一个不允许其接入的网络或区域,3GPP设计了精密的“黑名单”机制。这主要分为两大类:“位置区/跟踪区黑名单”和“PLMN黑名单”。

3.1 区域性“黑名单”:Forbidden Location/Tracking Areas for Roaming

To prevent repeated attempts to have roaming service on a not allowed area (i.e. LA or TA), when the MS is informed that an area is forbidden, the LA or TA is added to a list of “forbidden location areas for roaming” or “forbidden tracking areas for roaming” respectively which is stored in the MS. These lists, if existing, are deleted when the MS is switched off or when the SIM is removed, and periodically (with period in the range 12 to 24 hours).

深度解析:

  • LA (Location Area): 2G/3G网络中位置管理的区域单位。
  • TA (Tracking Area): 4G/5G网络中位置管理的区域单位。

当终端在一个新的LA/TA发起位置更新或跟踪区更新请求时,如果网络因为漫游限制(例如,该区域不允许漫游用户接入)而拒绝了该请求,并返回相应的拒绝原因(如cause #13 "Roaming not allowed in this tracking area"),终端就会非常“知趣”地将这个LA/TA的标识(LAI/TAI)添加到一个临时的“区域黑名单”中。

这个黑名单存储在终端的内存里,其特点是:

  1. 临时性: 关机、拔卡或周期性(12-24小时)后会自动清空。
  2. 区域性: 它只禁止终端在该特定的LA/TA再次发起注册尝试,但如果终端移动到同一个PLMN下的其他LA/TA,仍然可以正常尝试注册。

场景再现:

小明的手机在自动模式下成功连接了B运营商。当他从机场乘坐地铁到达市中心的一个大型企业园区时,手机检测到信号切换,进入了一个新的TA。手机发起了跟踪区更新(TAU)请求,但该园区是B运营商为某企业客户定制的专区,不允许公共漫游用户接入。

网络拒绝了手机的请求。小明的手机收到拒绝消息后,便将这个TA的ID默默记在了“forbidden tracking areas for roaming”的小本本上。随后,手机会立即在该TA内寻找其他可用的小区,或者直接重新启动PLMN选择流程,但它会暂时“拉黑”这个TA,避免再次白费力气。

3.2 网络级“黑名单”:Forbidden PLMNs

相比区域性黑名单,PLMN黑名单则更为“严厉”。一旦某个运营商网络被加入这个名单,终端在下次自动选择时会直接忽略它。

In manual or automatic mode, a VPLMN is added to a list of “forbidden PLMNs” in the SIM if a message with cause value “PLMN not allowed” or “Requested service option not authorized in this PLMN” … is received by an MS in response to an LR request from that VPLMN…

深度解析:

当终端向某个VPLMN发起注册请求(LR, Location Registration)时,如果收到了诸如cause #11 "PLMN not allowed"(PLMN不允许)或cause #15 "No suitable cells in tracking area"(在EPS/5GS中,cause #15通常会触发更复杂的处理,但特定场景下也可能导致PLMN被禁止)等明确拒绝整个PLMN接入的信令,终端就会将该VPLMN的ID(MCC+MNC)添加到SIM卡上的一个特殊文件——EF_FPLMN(Forbidden PLMNs)中。

这个黑名单的特点是:

  1. 持久性: 该列表存储在SIM卡中,意味着即使用户关机、重启甚至更换手机,这个“黑名单”依然有效。
  2. 网络级: 禁止的是整个PLMN,无论终端在该运营商网络的哪个位置,都不会再自动尝试连接。

移除“黑名单”的条件:

当然,这个“黑名单”也并非永久性的。规范同样定义了将其移除的条件:

A PLMN is removed from the “forbidden PLMNs” list if:

  • after a subsequent manual selection of that PLMN, there is a successful LR…
  • the MS is configured to use timer T3245 and the timer T3245 expires…

主要有两种方式:

  1. 用户手动选择: 如果用户在手动模式下强制选择了一个被禁止的PLMN,并且这次注册成功了,那么终端就会将该PLMN从“黑名单”中移除。这赋予了用户“拨乱反正”的权力。
  2. 定时器超时: 终端内部会为被禁止的PLMN启动一个定时器(如T3245)。当这个定时器超时后,相关的PLMN条目也会从列表中移除,使得终端有机会在未来重新尝试该网络。

场景再现:

假设小明的手机第一次尝试连接B运营商时,B运营商的核心网由于系统故障或漫游协议问题,直接拒绝了小明的注册请求,并返回了“PLMN not allowed”的错误。

小明的手机收到这个“逐客令”后,会立即将B运营商的PLMN ID写入SIM卡的“小黑屋”(Forbidden PLMNs列表)。然后,它会继续自动选择流程,尝试连接列表中的下一个优先网络,比如A运营商。在后续的自动网络搜索中,即使B运营商的信号再强,小明的手机也会对它“视而不见”。

几天后,小明听朋友说B运营商的网络质量很好,他决定再试一次。他进入手动选网模式,强制选择了B运营商。此时,B运营商的系统已经恢复正常,注册成功。于是,小明的手机便将B运营商从SIM卡的“黑名单”中“赦免”了。

3.3 业务级“黑名单”:Forbidden PLMNs for GPRS service

除了通用的PLMN黑名单,规范还定义了一种针对数据业务(GPRS/EPS/5GS)的特定黑名单。

if a message with cause value “GPRS services not allowed in this PLMN” or “EPS services not allowed in this PLMN” is received by an MS… that VPLMN is added to a list of “forbidden PLMNs for GPRS service” which is stored in the MS.

深度解析:

这种情况通常发生在漫游场景下。运营商之间的漫游协议可能只涵盖了语音和短信业务,但并未包含数据业务。当终端在一个VPLMN上成功注册了电路域(CS,用于语音通话)服务,但尝试附着(Attach)到分组域(PS,用于数据上网)时,如果网络返回cause #14 "GPRS services not allowed in this PLMN",终端就会将该PLMN加入“GPRS业务禁止列表”。

这个列表与Forbidden PLMNs列表是独立的。被加入此列表的PLMN,意味着:

  • 终端仍然可以在该网络上驻留,并发起/接收语音通话和短信。
  • 但终端不会再尝试在该网络上激活数据连接。

场景再现:

小明漫游到了C运营商网络上。他发现手机信号满格,可以正常接打电话,但无论如何都无法打开网页,数据网络图标旁总有个“×”。他不知道的是,他的归属运营商与C运营商只签订了语音漫游协议。

他的手机在尝试数据附着时,被C运营商礼貌地拒绝了。手机的NAS层收到消息后,便将C运营商加入了“GPRS业务禁止列表”。这样,只要手机还驻留在C网络上,它就不会再徒劳地去请求数据服务,从而节省了信令开销和电量。但如果此时有电话打进来,手机依然可以正常响铃。

4. 特殊场景下的PLMN选择考量

除了上述基本规则,规范还针对一些特殊场景和技术演进,定义了更为复杂的处理逻辑。

4.1 卫星网络接入的地理位置限制

随着NTN(非地面网络)技术的发展,通过卫星接入移动网络成为可能。但卫星波束覆盖范围广,可能跨越国境或运营商不允许提供服务的区域,因此引入了基于地理位置的接入控制。

To prevent repeated attempts to obtain service on a PLMN through satellite NG-RAN or satellite E-UTRAN access technology, when the MS receives an integrity protected reject message with cause value #78 “PLMNs not allowed to operate at the present UE location” … the MS maintains a list of “PLMNs not allowed to operate at the present UE location”…

深度解析:

如果终端通过卫星网络接入,但其所在的地理位置(通过GNSS定位)是该PLMN不允许提供服务的区域,网络会返回一个带有完整性保护的拒绝消息,原因为#78。终端收到后,会将该PLMN和当前地理位置信息记录在一个“当前位置不允许操作的PLMN”列表中。

这个列表是带定时器和地理围栏效应的。只有当终端移动到距离被禁位置足够远的地方,或者定时器超时后,才能再次尝试在该PLMN上通过卫星接入。这是一种更动态、更精准的“黑名单”机制。

4.2 “话音为中心”与E-UTRA禁用策略

在VoLTE(Voice over LTE)普及的早期,或在某些漫游场景下,可能会出现终端虽然能注册上4G LTE网络,但该网络却无法提供IMS语音服务。对于一个以语音通话为主要需求的用户(Usage Setting为 “voice centric”),这显然是不可接受的。

If an MS that has disabled its E-UTRA capability re-enables it when PLMN selection is performed, then the MS of which usage setting is “voice centric”:

  • should, for duration of timer TD, memorize the PLMNs where E-UTRA capability was disabled as PLMNs where voice service was not possible in E-UTRAN.
  • in automatic PLMN selection, shall not consider PLMNs where voice service was not possible in E-UTRAN as PLMN selection candidates for E-UTRA access technology, unless no other PLMN is available.

深度解析:

当一个“话音为中心”的终端在某PLMN的E-UTRA(4G)网络上尝试注册IMS语音失败时,为了保证基础的通话功能,它可能会做出一个“壮士断腕”的决定:暂时禁用在该PLMN下的E-UTRA能力,主动回落(fall back)到能够提供CS语音的2G/3G网络。

同时,它会将这个“在4G上无法打电话”的PLMN记录在一个临时列表中,并启动定时器TD。在定时器TD到期前,即使该PLMN有4G信号,终端在自动选网时也会优先忽略其4G网络,除非没有其他更好的选择。这确保了用户的语音业务连续性。类似的机制也存在于5G(N1模式)和NB-IoT等场景中,例如因为不支持VoNR(Voice over NR)而禁用N1模式,或因为特定原因禁用NB-IoT。

5. 总结

PLMN选择与漫游是移动通信中最基础也最关键的NAS功能之一。它如同一位精密的“导航官”,引导着我们的手机在全球数以百计的运营商网络中,找到最合适的栖身之所。

通过今天对TS 23.122中3.1章节的深度解读,我们跟随小明的脚步,了解到:

  • 基本模式:手机可以在自动模式手动模式之间切换,以平衡智能化选择和用户自主权。
  • 核心逻辑:在自动模式下,手机遵循SIM卡中预设的优先级列表进行网络搜索。
  • “黑名单”机制:通过区域性(LA/TA)、**网络级(PLMN)业务级(GPRS/EPS)**三层“黑名单”,有效避免了无效的注册尝试,优化了信令交互和终端功耗。
  • 特殊考量:规范还与时俱进,为卫星接入VoLTE/VoNR话音承载等新场景设计了专门的处理逻辑,确保在各种复杂情况下的用户体验。

理解了这些规则,我们不仅能更好地诊断和解决日常遇到的网络连接问题,更能深刻体会到3GPP标准在设计上的前瞻性、严谨性和对细节的极致追求。下一次当你打开手机看到信号格出现时,你将知道,这背后是一场多么精彩的“遵章办事”的演出。


FAQ环节

Q1:自动选网模式和手动选网模式有什么根本区别?手机“偏爱”哪种? A1:根本区别在于决策主体不同。自动模式下,手机根据运营商预设在SIM卡里的优先级列表自主决策,目标是为用户找到性价比最高(对运营商而言)且可用的网络。手动模式下,决策权完全交给用户,用户可以根据自己的判断(如信号强度、是否支持5G等)选择网络。手机出厂默认都是自动模式,这也是运营商推荐的模式,因为它能确保网络选择符合漫游协议和成本策略。

Q2:“禁止漫游位置区列表”和“禁止PLMN列表”有什么不同?它们会保存多久? A2:主要有三点不同:

  1. 粒度不同:“禁止漫游位置区列表”是区域级别的,只禁止一个特定的LA或TA;而“禁止PLMN列表”是运营商级别的,禁止整个PLMN。
  2. 存储位置和持久性不同:“位置区列表”通常存储在手机内存中,是临时的,关机、拔卡或12-24小时后会清空;而“PLMN列表”存储在SIM卡中,是持久的,除非手动选择成功或特定定时器超时,否则不会清除。
  3. 触发原因不同:“位置区列表”通常由“漫游在该区域不被允许”(Roaming not allowed in this LA/TA)这类原因触发;“PLMN列表”则由更严重的“PLMN不被允许”(PLMN not allowed)等原因触发。

Q3:为什么我的手机在某个4G网络上信号很好,但有时会自动掉到2G/3G去打电话? A3:这很可能是因为该4G网络虽然提供了数据连接,但不支持VoLTE(IMS语音),或者你的手机与该网络的VoLTE不兼容。如果你的手机被设置为“话音为中心”(voice centric),为了保证最基本的通话功能,它会在发起或接收语音呼叫时,执行CSFB(电路域回落),主动从4G网络回落到能提供电路域(CS)语音的2G或3G网络。这正是规范中为了保障语音业务连续性而设计的机制。

Q4:如果一个运营商网络被加入了“禁止PLMN列表”,是不是就永远无法连接了? A4:不是的。有多种方式可以“解禁”:最直接的方式是用户进入手动选网模式,强制选择这个被禁止的运营商网络,如果这次注册成功,它就会被从禁止列表中移除。此外,终端内部也有定时器机制(如T3245),当定时器超时后,该条目也会被自动移除,使得手机在未来的自动选网中有机会再次尝试连接该网络。

Q5:规范中提到的T3245、T3247这些定时器是做什么用的?它们的值由谁决定? A5:这些定时器是3GPP为控制终端网络尝试行为而定义的。

  • T3245:主要用于控制被加入“禁止PLMN列表”的PLMN的“解禁”时间。当一个PLMN因为注册失败被禁止后,如果网络侧在拒绝消息中下发了T3245的值,终端就会启动该定时器。定时器超时后,对应的PLMN才能被从禁止列表中移除。这可以防止终端在网络侧问题未解决时频繁尝试,造成信令风暴。
  • T3247:与PLMN相关的尝试计数器配合使用,用于控制非完整性保护的拒绝消息下的重试间隔。 这些定时器的具体值通常由网络侧通过NAS信令下发给终端,体现了网络对终端行为的精细化控制。