百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

硬核科普!携号转网的技术原理分析!

haoteby 2025-03-03 18:41 7 浏览

11月11日,工信部发布《携号转网服务管理规定》,标志着国内三大运营商的“携号转网”业务正式进入试运行阶段。

根据规划,从12月1日开始,“携号转网”业务将在全国范围内正式推出。

这几天,关于“携号转网”的新闻反复刷屏,相信大家都看到了。

小编今天也来凑个热闹,和大家聊聊“携号转网”。

不过,我要说的不是“携号转网”的业务办理,而是更深层次的内容——“携号转网的技术原理

我想通过这篇文章,帮助大家了解这项特殊业务背后的具体实现方式。更重要的是,趁机介绍一下关于移动通信用户号码呼叫流程方面的知识。

好啦,废话不多说,我们赶紧开始!

首先,我先解释一下,到底什么是“携号转网”。

“携号转网”,顾名思义,就是带着号码换网络。

举个例子:你现在是139开头的中国移动号码,办理“携号转网”之后,号码保持不变,但运营商归属关系变了——变成了电信或联通的了。你使用的网络和套餐,也变成电信或联通的。这种电信业务,就是“携号转网”。

行业术语里,“携号转网”的真正名字应该叫做“号码携带”,或者“号码可携带”

这个业务从表面上看并不复杂,就是换个运营商,然后号码带着走。

但是实际上,对于移动通信系统来说,实现起来并不容易。

我们的手机号,实际上有两个,分别是IMSIMDN

IMSI的全名是International Mobile Subscriber Identity,国际移动用户识别码。它是一种“永久用户标识”,每一个手机SIM卡,对应一个IMSI号码。

IMSI号码由三部分组成,分别是:

  • MCC (Mobile Country Code) 移动国家码

  • MNC (Mobile Network Code) 移动网络码

  • MSIN (Mobile Subscriber Identity) 移动用户识别码

MCC是3位数字(中国是460),MNC是2-3位数字,MSIN是10-11位数字。加起来的IMSI,一般不超过15位,通常就是15位(例如我们国家)。

大家在手机拨号界面,输入 *#*#4636#*#* ,就可以看到自己的IMSI号码。

大家注意,除了IMSI号码之外,还有一个IMEI号码,两者不要搞混了。

IMEI是International Mobile Equipment Identity,国际移动设备识别码(大约15-17位数字)。也就是常说的手机序列号(手机串号),是每个手机硬件的“身份证”(2个卡槽就有2个IMEI号码)。

那我们平时使用的139153189开头的号码,又是什么呢?

这些号码,真正的学名叫MDN,Mobile Directory Number(移动用户号码簿号码)

MDN由国家码(CC)、移动接入号(MAC)、HLR识别码、移动用户号共同组成。

介绍了这个码那个码,大家没有晕掉吧?

没晕的话,我们继续!

说到这里,大家其实应该也明白了。所谓“号码携带”,不变的是MDN号码,变化的是IMSI号码。而IMSI,才是你的“真正”号码。

说完了号码,我们再来说说网络侧这边的处理。

目前我们使用的移动通信业务,其实主要就是通话、短信、上网。

大家都知道,上网是单个用户的事情。某用户手机发起数据业务请求,获得IP等资源,然后连入运营商网络,访问互联网。

只要你的IMSI合法,业务正常开通,没有欠费,就可以上网。

但是通话和短信就不一样了,这是两个用户之间的业务,存在“主叫”和“被叫”。

主叫用户没什么大问题,反正自己的号码就是一个编号而已。但是被叫那边,麻烦就来了——号码就像门牌,别人通过门牌找你,你搬家把门牌都带走了,这咋整?

我们先看看,以前没有号码携带业务的时候,一次正常通话的过程是怎样的:

(注:为了便于理解,呼叫流程描述有所简略。)

假设主叫用户A是中国移动139开头的号码。

当他拨打被叫号码的时候,它所在的本地局核心网设备(MSC,移动交换中心),会根据设计好的规则,对被叫号码进行“号码分析”

号码分析是电话接续的重要依据,不同的分析结果,意味着不同的处理流程:

按照之前的设计,如果拨打的是138开头的号码,那MSC就会分析为中国移动的号码,按运营商内部呼叫的流程处理。(具体来说,MSC会去中国移动自己的HLR,问被叫的位置,然后一路找过去。HLR是归属位置寄存器,存储着中国移动用户的数据和信息。)

如果被叫是“自家人”

如果拨打的是185开头的联通号码,本地局设备则会分析为“它网号码”,会路由到运营商之间的关口局,然后送到联通那边,查找被叫,一路最终完成电话接续。

如果被叫是“别人家的”

现在,要搞号码携带了,麻烦来了。

还是举例,139开头的A,拨打138开头的B。B是办理了号码携带的用户,号码虽然是138开头,但不能按中国移动内部呼叫的流程处理,否则就会送错了目的地。

中国移动的MSC,必须把B号码当作特例,单独处理。

如果只有一个特例,那还好说,问题是,这个业务面向全国用户开放,会有成千上万个特例。这样的话,号码分析就会变得非常庞大,对系统容量造成负担。

所以,在我们国家现在的网络里,采取的方案是这样的:

如果某个被叫号码办理了号码携带业务(例如,从移动跳到了联通)。

那么,移动的HLR会对已携出的号码加一个特殊前缀数字,返回给主叫MSC,告诉它这个号码已经不是我们的了。

主叫这边的中国移动MSC会对前缀号码进行特殊处理,直接按其它运营商号码处理。

如果是这个号码是联通跳到移动的:

运营商会先新增一个NP-HLR,也就是号码携带HLR,把所有携入号码都放在这个HLR里。主叫MSC会针对“所有其它运营商号段的被叫号码”,都先查一遍NP-HLR。

如果是携入号码,则按自己的号码处理,去查自家的HLR。

如果是非携入号码(也就是别人正常的号码),则再去查一遍别人家的HLR。

总而言之,相当于查两遍HLR。

上面的解决方案,虽然流程复杂了一些,但是速度很快,用户感知不受任何影响。

这就是我们国家现在使用的号码携带实施方案。大家看懂了没?

哈哈,能坚持看下来的,都是猛士!!

最后再做个总结。

携号转网业务,对于普通用户来说,毫无疑问是件好事,毕竟增加了议价权,也增加了自主选择权。

但是,站在通信工程师的角度来说,这个业务增加了一些小困难和小麻烦——在处理故障时,无法再像之前一样,通过号段来迅速判断投诉者的用户属性。而不同的用户属性,意味着完全不同的故障处理流程和思路。

也就是说,号码携带业务的普及,将会“略微”增加通信工程师处理故障的难度,以及故障恢复的时间。

好啦,以上就是小编对携号转网业务的技术分析,欢迎大家在留言区拍砖讨论。

看到大家都发短信去尝试申请“号码携带”换运营商,小编也迫不及待地发了一条短信,结果——

来源:鲜枣课堂

编辑:Tim

相关推荐

手把手教你构建一个简单的Eclipse RCP应用

EclipseRCP应用,通常用来构建跨平台的图形化管理客户端,Eclipse从IBM开源以来,一直占据开源Java开发平台的头把交椅,现在仍然收到很多人的追捧。今天就带大家通过一个简单的例子:开发...

Eclipse配置maven 环境(maven的配置、以及eclipse中配置maven)

Eclipse配置maven环境的先决条件是,Windows系统已经配置好maven环境Eclipse配置maven环境步骤如下:一、给Eclipse添加本地maven...

如何在Eclipse中搭建Zabbix源码的调试和开发环境

Zabbix是一款非常优秀的企业级软件,被设计用于对数万台服务器、虚拟机和网络设备的数百万个监控项进行实时监控。Zabbix是开放源码和免费的,这就意味着当出现bug时,我们可以很方便地通过调试源码来...

Eclipse中将现有的maven项目 导入Git,并发布到

Eclipse中将现有的maven项目导入Git,并发布到github一、Eclipse中将现有的maven项目导入Git1.将本地的maven项目,添加他的子项目到git仓库,并发布到githu...

eclipse安装图解(eclipse安装教程2021)

下载eclipse之前请先安装jdk、查看自己电脑系统是多少位第一步:打开官网https://www.eclipse.org/downloads/第二步:点击DownloadPackages第三...

Eclipse IDE for C/C++ Developers 开发环境搭建详解

EclipseIDEforC/C++Developers开发环境搭建详解1.到官网下载eclipseforC/C++Developmer解压就行2.下载MinGW用来编译C/C+...

来来来!一文告诉你Eclipse的正确安装使用姿势,你都清楚吗?

前言本学习笔记是有关如何设置Eclipse的详细说明。即使你天天在使用它,但是,相信我,或许你并不足够了解它。安装Java运行时环境Eclipse是Java应用程序,因此设置Eclipse的第一步是安...

纯干货!Eclipse的安装与使用(eclipse 安装教程)

之前有人给小华君留言,说让小华君讲一讲Eclipse,那好,我们今天就简单地讲一下。讲得也是基础部分,如题,主要是Eclipse的安装与使用。废话不多说,开始讲。Eclipse是Java开发的集成开发...

2020 最新版jdk & eclipse下载安装 之JDK(一)

首次安装Eclipse,去官网下载资源找不对安装包,安装之后又报错,如果和我一样的话,那就来看我的分享吧安装eclipse前,需要先安装JDK软件首先,到oracle官网下载JDK安装包下载链接:...

Eclipse 安装教程(附安装包下载)(eclipse安装教程最新版)

Eclipse软件介绍是一个开放源代码、基于Java的可扩展开发平台。它本身只是一个框架和一组服务,通过插件组件构建开发环境。幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(Ja...

JDK安装、Eclipse安装及运行环境配置

1、eclipse下载打开地址:http://www.eclipse.org/downloads/;根据自己机器的操作系统,页面上显示适应机器操作系统的Eclipse下载列表,也可以点击下图所示位置切...

Ubuntu Linux 21.10官方壁纸现已提供下载 最高8192×4608分辨率

距离十月份的Ubuntu21.10Linux发行版的到来,已只有数周的时间。在今年4月介绍了与之有关的大量细节之后,Canonical现又放出了代号为“ImpishIndri”的这一大...

Linux 4.7系统内核发布:支持RX 480

经过一周休假之后,LinusTorvalds今天正式发布了新版LinuxKernel4.7,可在官网直接下载。Linux4.7版内核的开发启动于5月29日,经过了七个RC候选版,加入了不少新特...

开发企业官网就用这个基于SpringBoot的CMS系统,真香

前言推荐这个项目是因为使用手册部署手册非常...

非常详细的Linux系统安装教程!建议收藏

公众号:老油条IT记一、下载ISO镜像#官网:CentOS:http://mirror-status.centos.org/#cn#其他:网易:http://mirrors.163.com/cento...