在每个人的手机上,必然都显示着运营商的名称,用谁的 SIM 卡给谁交钱,就显示谁的名称,国内一般就是移动,电信和联通这三家。

 

如果漫游到海外的话,一般显示国外运营商的名称。那么问题来了,手机又怎么区分各个运营商的网络呢?这些网络的名称,又是怎样显示到手机上的呢?这一切都要从 PLMN 说起。

 

1. 什么是 PLMN?PLMN 的全称是 Public Land Mobile Network,也就是公共陆地移动网络,说人话就是由基站,核心网等设备组成的,能让手机打电话,上网的网络。我们经常说的 2G,3G,4G,5G 等,都属于公共陆地移动网络,并使用 PLMN 编号来标识这个网络到底属于哪个国家,哪个运营商。PLMN ID 由移动国家码(MCC,Mobile Country Code)和移动网络码(MNC,Mobile Network Code)这两部分组成。

 

 

一组 MCC+MNC 就唯一标识了一张网络。移动国家码由三位数字组成,中国的移动国家码是 460;移动网络码为两位数字,从 00 开始,不同运营商可能拥有多个网络码。

 

举例来说,中国移动的移动网络码有 00 和 02,中国联通是 01,中国电信是 03。如果我们看到 46001 这五位数字,就知道这表示中国联通的网络了。下图是中国各大运营商的移动网络码。

 

 

手机要识别哪家的网络,最关键的就是识别 PLMN。因此要提供服务,每个小区都必须不断地广播 PLMN 号,让手机接入正确的无线网络,再连接到对应的核心网和提供服务。

 

想象一下,如果联通用户试图接入电信的网络,如果没有漫游的话,唯一的结果就是鉴权不通过,被判定为非法用户,拒绝接入。

 

 

2. 有哪些 PLMN 类型?对于每个手机来说,遇到不同的 PLMN,到底应该怎样处理呢?这就要对不同来源的 PLMN 进行标记。手机根据自身的情况,又把 PLMN 分成了下面的几类。

 

HPLMN:归属 PLMN。为终端用户归属的 PLMN。也就是说,手机 SIM 卡上的 IMSI 号中包含的 MCC 和 MNC 与 HPLMN 上的 MCC 和 MNC 是一致的。对于某一用户来说,其归属的 PLMN 只有一个。EPLMN:等效 PLMN。为与手机当前所选择的 PLMN 处于同等地位的 PLMN。比如,移动有多个移动网络码,也就是多个 PLMN ID,但这些都是由移动提供服务的,因此它们是等效 PLMN。VPLMN:访问 PLMN。为用户访问的 PLMN。其 PLMN 和存在 SIM 卡中的 IMSI 的 MCC,MNC 是不完全相同的。比如,用户漫游到了其他国家,手机接入了国外的运营商,这个运营商的 PLMN 就叫做访问 VPLMN。

 

3. 运营商名称怎样显示?PLMN ID 是一串数字,虽然能标识运营商,但对用户来说却不太友好。假设手机上显示的是 46001,恐怕没几个人知道是什么意思。因此,手机上显示的都是中国移动,中国联通,中国电信这样的运营商的名称,不但简单明了,也是品牌宣传的手段:看我大移动,信号刚刚的!

 

但是,有时候运营商的名称,和实际网络提供商的名称并不一致。这种情况常见于虚拟运营商,它们通常只有核心网,接入网和承载网都是租用移动,联通,电信等三大运营商的。

 

或者,中国广电和中国移动共建共享,广电一开始并没有网络,通过漫游的方式来共享移动的 2G 和 4G,这就出现了提供服务的运营商是广电,但网络却是移动的问题。

 

由于移动的网络,当然只广播移动的 PLMN,广电用户接入之后,手机上到底该怎么显示?

 

这就有必要引入另外一个概念:SPN。它的全称是 Service Provider Name,也就是服务提供商名称。而 PLMN 标识的网络,则叫做PNN。它的全称是 PLMN Network Name,也就是 PLMN 网络名称。

 

对于传统的运营商来说,网络是他们自己的,服务也是自己提供的,因此 SPN 和 PNN 是相同的。但对于虚拟运营商来说,SPN 和 PNN 是不同的。不论网络是谁的,都只是管道而已,提供受欢迎的服务才是王道。一般来说,SPN,PNN 这些信息都储存在手机的 SIM 卡中,根据接入网络的 PLMN 及一些规则来决定手机上的运营商名称显示。

 

此外,手机在入网时,核心网也可能给手机下发网络的名称,但优先级比 SIM 卡中存放的 SPN 和 PNN 要低。默认规则是:手机在接入 HPLMN 时,显示 SPN;在接入 VPLMN 时,显示 PNN。但 SIM 卡内的一个文件中,有两个比特可以对上述的显示规则进行修正:比特 1:当手机接入的 PLMN 是 HPLMN 时,若该比特取值为 0,则不需要显示 PNN;若该比特取值为 1,则还需要显示 PNN。比特 2:当手机接入的 PLMN 是 VPLMN 时,若该比特取值为 0,则还需要显示 SPN;若该比特取值为 1,则不需要显示 SPN。

 

 

不管是实体运营商,还是虚拟运营商,或者在国内,国际漫游场景下,都可以通过上述的规则,显示正确的运营商名称。

 

好了,本期的内容就到这里,希望对大家有所帮助,同时欢迎转发传播。