近期微信收费事件闹得全国沸腾,其折射出的“微信信令风暴”危机,更成为运营商与腾讯博弈是否收费的重要筹码。本人在加入腾讯前是一名通讯行业的老兵,从事多年无线通信技术及管理工作,借此事件给感兴趣的同事们聊聊相关的通信网络知识背景,无责任探讨一下双方可能采取的应对方案和影响。欢迎拍砖!


先看看双方针对微信信令的观点博弈:

运营商:类似微信这样“永远在线”的应用,会不断向运营商网络发出“心跳”,这些“心跳”本身没有任何流量,但是会占用运营商的信令通道,如果“心跳”过快过多,就会导致运营商的网络出现问题,甚至瘫痪。这样的问题被业内人士称之为“信令风暴”。在国内,虽然还没出现过这样严重的状况,但是运营商已经开始面临压力

腾讯:我们对信令的占用更多的是传统2G、2.5G网络上,像3G网络应该游刃有余了。但是我们也不会这样就滥用。微信团队表示:期待在不久的将来,通过我们的积极探索和努力,实现智能的2.5G动态降低信令频率的技术。信令负载有望大幅度优化解决


让我们先从2G网络聊起吧

遥远的2G时代(10来年以前),数据通信设备还未普及时,我们的移动网络(简化版)是这个样子的:


这个时期还没有针对数据通讯的分组交换设备,移动网络主要分为接入网和核心网。接入网就是2G时代的基站(大家随处可见的大铁架子)和基站控制中心,手机用户通过最近的基站,注册并可以使用短信和通话等服务。 核心网就是完成各种电路交换,帮助海量用户接通电话或者短信的核心设备(可以理解为云端核心的服务器)。通过电路交换域可以上网么?答案是可以的,可以通过附加模块使用数据服务,但是速率非常低,十几K。关于升级?接入网的设备众多,部署艰难,费用昂贵,相对而言设备制造商的利润也高,一卖就是以万台为单位,遍布全国。核心网设备智能化程度高,设备数量少,容易直接升级换代,反而容易成为购买基站后的赠品。以上的特征从2G到4G都适用,即:运营商升级核心网比较容易,升级接入网很艰难2.5G到底是什么:同学经常有疑问:同样的手机,同样的语音短信服务,为啥开通了上网服务的号码就是2.5G,其实手机,基站,电路域都没有硬件上的变化,只是增加了分组交换设备(分组域),把需要上网服务的手机用户引导到这边来实现。


分组交换域的主要设备就是GPRS服务节点(SGSN和GGSN),它让希望享受上网服务的2G用户可以直接接入互联网(通过BSS,SGSN,GGSN,再到WAP网关或3W网关)。所以作为我们通讯设备商来说,其实只有2G和3G的区别,2G接入网可以和3G核心网互通(比如上图),3G接入网也可以连通2G核心网。2.5G更多的是个形象比喻,可以GPRS上网的2G用户。大家观察上图,最明显的特征是:BSS(2G接入网)同时和电路域及分组域相连,公用空中信道。也就是说,上网所占用的信道过多,总信道容量是一定的,确实可能导致传统语音短信与上网服务难以共存。举个例子:空中信道的功率是可以由运营商随时设置的,以前腾讯大厦上网的同学很多,当打电话的同学一多,手机上网有时就不灵了,打电话给运营商进行特殊设置,就可以解决局部网络拥塞问题。这也折射出接入网容易成为业务性能瓶颈。 3G网络有什么好处,会不会发生信道拥塞?3G网络在上面2.5G网络上的进化在于:电路域进一步把语音和信令分离,引入多媒体网关,能力更强,且统统把底层协议改造成基于全IP。这个并不太重要(前面说了核心网升级容易),重要的是海量的2G接入网鸟枪换炮成3G接入网。所谓3G或4G的核心技术,都是在接入网上的寻址方式革命,理论上可以把信道总量,资源及连通效率提高数十倍以上(4G更高)。



3G时代是否会发生信令拥塞事故?

接入网的容量即能力大幅提升,基于IP的全网互通,目前的压力理应不再是瓶颈(不然白花几百亿升级了),但如果实时海量数据业务成十倍的提升,也有可能迎来新的拥塞故障。核心网的全IP升级和容量提升相对容易很多,通常不会成为业务瓶颈。 用户上网的信令流程是怎样的?很简单,通过信令来回握手建立协议上下文,然后数据包就可以飞来飞去了,除非一方断开数据链路



所谓APP的永远在线,我粗浅理解为上述的建立过程后,APP厂家自身不会发起释放请求。

下面我们看看,运营商和腾讯在此事件中面临的难题和可能的思路:

敏感问题一:APP永远在线对于厂家来说是否违规或者恶意

答案显然不是。笔者曾作为某通信厂家的互联互通负责人,参与国际厂家联盟(全球份额TOP7的设备商)的测试接口规范制定(尤其是图2的分组域和接入网的接口),无论从国际规范上看还是厂家国内规范上看,通信网络看重的都是网络功能可用性,和故障可恢复性。如核心设备出异常了能否及时重启,信道申请失败了应如何处理等等。对于正常数据链路建立,巴不得保持的越久越好,这样产生的流量才会最大化嘛.

通讯行业所有协议都不会涉及到应用层的具体内容,主要是对下层的实现。网络设备运营方应尽力保证各种用户的正常服务,及时排除故障,必要时升级,市场规则需要公平合理不越界。比如电脑商/OS商应该确保合法应用程序的运行可靠性,而不是指责它占用了太多内存。前天看到邮电报的文章,把微信在线比喻成霸占应急车道,这点有曲解,霸占应急车道是违规行为,应该制止,而微信等OTT通信是非常正常的数据业务行为。

敏感问题二:运营商能否随意断掉微信的服务(信道链接)

答案是当然可以。 只要核心网发中断指令,即可停掉任一通话或数据链接。技术上完全可以。不过传统语音的运营商主动掐断是防止有人免费通话,而上网服务的掐断往往是别的原因。智能化的控制数据服务可通过计费策略及控制模块(PCRF/PCEF)来实现的,这是在3GPP国际规范的第7版中就引入的概念。


为何运营商时隔两年后才重提微信冲击电信业务呢?市场充满着博弈,限制应用业务发展,可能带来运营商之间势力的此消彼长,丢失用户,谁也轻视不得。

敏感问题三:为了解决问题,运营商方面可能有什么办法

我简单的想几条可行的方法及风险,不一定成熟:

0.  智能化的掐掉微信服务,上面提过,伤人一千,自损八百。

1.      让2G用户投奔3G,这个符合长期利益,反正潮流势不可挡。但是用户不升级也强迫不了,而目前仍有海量的2G网络设备,也不舍得丢弃。

2.      GPRS升级成EDGE(所谓2.75G网络),这个理论上可行(可降信号空间拓展4倍),成本不高(无需硬件更换),但毕竟要追加投入,实际效果有待观察。

3.      增加MINI移动基站,这是华为在沙特抢单的经典做法,给信令繁忙区域追加移动小基站,往往有奇效。但是中国那么大,等你出现通信故障时,根本来不及临时调配,除非大幅部署,回到上一条,运营商会认为不值得。

4.      动态的调整繁忙小区的基站信道数及功率控制(前面提过例子),这个智能的实现难度不小,耗人耗力。

5.      限制3G用户在2G接入网注册使用。3G手机向下兼容,当没有3G网络或者用户主动设置时,是可以转换成2G登陆的。这种方式可能会引起3G用户投诉。

6.      如网络中所述,在2G网络地区增加尽量多一些WIFI免费热点。不过有的运营商未必乐意,WIFI给用户降低的移动资费更加惊人。

最敏感问题四:为了解决问题,微信可能有什么办法?

果从APP本身对此做逻辑优化,不太可能有完美的方法

1.  如果降低数据包内容大小,最终降低流量,运营商也会更不满意,抵销了流量贡献。

2.  如果不永久在线,而是立刻断线,可能会双输:数据信道有个冷热的状态,过一段时间不使用,重新建立信道会花费APP更多的握手时间,影响性能。另外断线后重连是否会带来安全和功能问题,难说。而且如果用户在频繁交互时,不断重新握手和拆除,产生大量的上下行交互消息,对资源和联通率的风险大于心跳包信令。

也许从动态运营的角度合作效果更好: 运营商也有云端管理,知道什么地区2G覆盖用户多,信道繁忙,而腾讯方也有运营的云端视图,能看到用户登陆及操作的负载情况,两者可以做一定的数据合作,微信用户登陆服务器尽量选择通信负载低的区域,而移动运营商针对微信用户密集地区采取敏感问题三的优化方法。

题外话:关于运营商的“去电信化”反省:

在运营商内部,除了对OTT业务的担忧和不满,近期也开始了自我反省,为什么运营商在如今的时代逐步丧失主动权,沦为管道?除了体制问题等等,有几个原因是很有意思的:1. 电信级企业十年如一日的坚持99.999%的运营质量标准,要求极端庞大复杂的网络能完美运作,耗费了海量的软硬件设计,研发,系统测试,技术支持等等资源。实际上我们真需要这么高的运营质量么?降到99%以下也不会有什么糟糕的事。同理,互联网企业如果按99.999%的发布质量,恐怕很多产品要delay一年以上。运营商可以借鉴互联网的有损服务概念,考虑救命的紧急服务或安全服务保持高标准,联网增值服务使用低一些的标准,上网慢一点也没什么大不了,弹性运营最好。电信历史的包袱太多太多,也需要彻底的淘汰一部分。2. 传统电信行业定义并开发了上百种电信业务,以便满足各国运营商需求,获取增值可能。但是经营下来发现用户常用的只有其中几种。俺当年花了好些年精通了数十种电信业务的复杂逻辑和场景交互,却最终只运作在实验室里。一个经典案例:我曾在印度的实验室里配置出一套国际规范的“用户自计费体系”,让用户可以出租手机,然后即时查看该收别人多少费用。这种业务几乎没有运营商去推广,无线时代谁会出租手机给别人使用啊?通信规范比市场早N年,好处是不怕东西做出来不兼容,坏处是脱离时代发展和用户变化。 前天刚上过一个培训“管理决策的误区”,有一个论点是“决策就是靠拍脑袋”,这种众说纷纭的复杂事件,最佳的解决思路可能就是拍脑袋,随着时间的推移, 2G用户越来越向WIFI和3G转移,危机本身可能就不存在了。未来的用户永远和当初想象的不一样。