51学通信技术论坛

 找回密码
 立即注册
搜索
楼主: readhere
打印 上一主题 下一主题

微信的信令风暴解决途径   [复制链接]

Rank: 9Rank: 9

9#
发表于 2013-4-17 22:05:37 |只看该作者
readhere 发表于 2013-4-17 20:40
to wenliu:
   MSISDN寻址是移动网络原生的方式,如果微信等互联网应用能采用,无疑是多赢的结果,运营商 ...

Tom老师,首先我更正下,手机里确实是有MSISDN的,只不过附着的时候是用IMSI通常。感谢指出问题。另外,针对MSISDN寻址感觉技术上应该还是可行的,最大的阻力应该还是产业链从business的角度。因为这个需要终端厂家的支持。不是移动运营商说了算的。比如中国移动绞尽脑汁都无法说动几家终端厂商生产支持TD-SCDMA的手机,而要说服这些厂家做一个目前没有规范支撑的使用MSISDN寻址的手机出来,无疑难度更大。

你提到的5分钟超时时间,这个应该不是指无线空口资源释放的时间,因为肯定没那么长,不会是分钟级的。那就只有可能是pdp上下文的idle timer了。这个设置一般在GGSN中设置,默认值都是30分钟或以上。如果超时后,GGSN将发起PDP上下文去激活流程,手机的IP地址就会被回收了。所以应该不是用心跳解决IP地址回收的问题。后面有一个QQ登陆的流程供参考。(微信实际上是QQ的升级版,心跳原理和QQ差不多,只不过是多了个通讯录添加好友的功能。但这个是最要运营商命的功能。所以这是为什么QQ其实也有视频还有语音通话功能,但运营商只说向微信收费,而没听说向QQ收费的原因之一)

另外,我找了一些资料,这里做一个汇总吧,不过找的资料比较多,这里只好粘贴一些重要的文字,等抽空我再发全文帖出来。

1 摘自《小流量长在线业务对Ev-DO网络的影响及优化》中国电信股份有限公司广东研究院,何晓明、贾曼、刘志华:

小流量长在线业务大体分为两类:人与人通信及机器与机器通信(M2M)。目前国内人与人通信的小流量长在线应用软件主要以QQ、微信、微博为代表。根据统计,校园学生中手机QQ和微信的渗透率达到70%以上,而普通用户中参与QQ应用的用户占比也达到30%左右。特点是:

1)在线时间长

对于M2M应用,因不同业务的应用场景不同,业务在线时间也不尽相同,但总体在线时间较长。如在电力抄表
应用中,电力公司为了实时了解电力抄表系统的工作状态,要求抄表终端24h在线,环境监测系统也要求全天候上报监测点的温度和湿度情况,公交或出租车的车载终端GPS定位业务每天在线时长至少为10h。在手机IM应用中虽然不同个体间存在使用习惯的差异性,但运营商普遍采用的按流量计费方式使得大多数用户的平均在线时间超过8h。

2)流量小

不同于上网下载这类大流量突发业务,大多数小流量长在线业务具有小流量突发特点,即每次连接传输的数据量都很小。根据现场测试数据,车载终端GPS定位业务每次连接的前、反向数据量为800~860 byte,前、反向速率均小于4.8kbps,手机QQ每次连接的前、反向数据量为500~600字节,前、反向速率大部分接近3kbps。

3)连接次数高

对于车载终端GPS定位业务,需要实时了解车辆的轨迹和行踪,可根据车速情况调整GPRS数据发送频度,若按平均每分钟上报一次数据计算,每小时建立的空口连接数约为60次;对于手机QQ业务,消息的发送频次取决于应用场景,根据华为公司智能终端实验室得到的长期测试数据可以得出,QQ用户每小时建立的空口连接数平均约为80次。在主流的IM软件中,由于国内使用QQ应用的用户渗透率最高,如此频繁的空口连接和释放对无线网络是一个挑战。

4)心跳周期短

为保持业务长时在线,大多数客户端软件都具有心跳机制,如较早版本的QQ客户端心跳周期为30s。

5)前、反向链路的占空比低

由于小流量长在线业务具有较强的间隙性传输数据的特点,一个小的突发数据过后,要经过一个较长的时间间隔才传送下一个突发数据。因此,根据现场测试数据可以得出,车载终端及手机IM应用大部分连接的占空比都低于20%。也就是说,终端在提供小流量在线业务的时候,大部分时间处在休眠状态,只有小部分时间在发送或接收数据。

下面以QQ业务流程为例,说明消息在QQ客户端和QQ应用服务器之间的交互过程。QQ业务流程包括:客户端登陆/退出、心跳消息的周期性发送、聊天消息和系统消息传递,如图1所示。QQ业务客户端在QQ服务器成功登陆后,才能进行聊天消息和系统消息的传递。聊天消息由客户端发送到服务器,再由QQ服务器下发到目标客户端;系统消息包括好友的上/下线通知和系统推送通知如广告等,由QQ服务器端发起,发送到QQ客户端。

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册
51学通信(www.51xuetongxin.com):致力打造最好的通信技术在线学习平台 。

使用道具 举报

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

版主 特殊贡献奖

8#
发表于 2013-4-17 21:14:16 |只看该作者
本帖最后由 wenliu 于 2013-4-17 21:17 编辑
readhere 发表于 2013-4-17 20:40
to wenliu:
   MSISDN寻址是移动网络原生的方式,如果微信等互联网应用能采用,无疑是多赢的结果,运营商 ...

不过目前并没有达到多赢的结果。毕竟微信的出现,对于运营商语音和短信的冲击太大。原本这两块是旱涝保收的业务收费,现在却被微信抢走,运营商只在当中收取当业务出现时候才占用的流量费。心跳这点流量收不到太多的费用。
运营商为互联网铺好了路,只能收高速公路的费用,上层应用已经和运营商们无关。

这对于从依靠语音和短信转变从数据流量的收费,运营商肯定不乐意。毕竟它只能充当了高速公路的收费站,而用户被互联网应用培养出来的数据需求,逼迫运营商们花费巨资去提升网络的质量,却找不回以前语音和SMS时候那种唯我独尊的地位。

并且对于运营商来讲,手中掌握的MSISDN资源其实应该比QQ号码这种更为值钱,因为一个活跃的MSISDN号码,必定标示一个活跃的用户,必然会带来稳定的收益。但是微信或者QQ号码不行,微信和QQ还是基于免费的模式。 运营商当然不愿意将这块号码资源无偿的分享给互联网应用,让互联网再去挖掘它们的价值。。。(要弄,它也想能自己来挖掘这块资源。虽然事实证明,运营商没这个能力来丰富电信网中的应用。。)

点评

admin  支持。顶一个。运营商的核心资源就是MSISDN啊,微信如果不绑定通信录运营商不会那么着急的。  发表于 2013-4-17 23:41:34
人刚我柔谓之走,我顺人背谓之粘。动急则急应,动缓则缓随。虽变化万端, 而理为一贯。

使用道具 举报

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

7#
发表于 2013-4-17 20:40:43 |只看该作者
  to wenliu:
   MSISDN寻址是移动网络原生的方式,如果微信等互联网应用能采用,无疑是多赢的结果,运营商不应该反对,难道他们希望自己的网络拥塞?

  to NMW:
    心跳是为了能及时push消息,取消心跳后,微信服务器无法push消息。新浪微博等也是这样设计的。
    据称目前心跳为5分钟一次,如果延长,终端进入idle后,反复激活可能开销更大。

使用道具 举报

Rank: 1

6#
发表于 2013-4-17 17:07:06 |只看该作者
我觉得关键点还是要先弄清楚以下问题:

1. 微信为何要发心跳信息?能否取消心跳?
2. 如果必须发的话,间隔是多少?能否延长?

如果发心跳信息只是告知微信服务器UE的地址,问题还是好解决的。

使用道具 举报

Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7Rank: 7

版主 特殊贡献奖

5#
发表于 2013-4-17 17:00:33 |只看该作者
手机终端上的微信版本还暂时未引入即时状态的表述。
但是也并不认为微信心跳包目的是为了告诉腾讯自己的IP地址。虽然UE 的IP地址在心跳过程中,可以被腾讯服务器获知,但是对于腾讯来讲,这个目的是主要借此向腾讯服务器通知了当前UE 对于微信的可接受状态。

但是通过MSISDN来实现IP的方式,这不大可能实现。
1. 毕竟MSISDN目前还是运营商和终端用户的资源,运营商已经开始反感微信在业务层面上抢夺用户,怎么可能在IP接入层再去配合腾讯。除非腾讯分钱。(不过即使这样,估计运营商也不干)
2. 另外也要考虑终端用户,可能部分人比较反感腾讯通过手机薄里的电话号码来搜寻好友,这对个人隐私是个泄露。
3. 通过MSISDN来压缩32比特,这个方式也需要终端的支持,除非腾讯出自己的自定机。


这个问题还是归结在移动网络中的用户移动管理状态如何传递给互联网侧的应用服务器。或者,也可以通过HLR or HSS or SGSN 通过接口消息来通知应用服务器,这样用户的接入情况直接和应用服务器进行了同步。。。这个移动性管理状态的更新应该比采用IP心跳方式更好吧。。不过按照目前的情况,运营商不会开放这块。

使用道具 举报

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

地板
发表于 2013-4-17 14:35:23 |只看该作者
  现在“微信”事件是热点,众说纷纭,正是发出技术人声音的时候。在核心网的领域,的确还是要向大伙多请教。

1. 关于MSISDN,在SIM卡里有,手机应该可以读到。

2. 我已经考虑了一种方法,将MSISDN压缩到32比特,这样就可以借用IPV4的地址了。

3. 我最近才用微信,还不是很熟。微信中能设状态是什么(比如在线、隐身、离开)吗?我认为微信中的心跳包主要是告诉腾讯自己的IP地址,这样一旦微信服务器有最新的信息,可以推送下来。http://tech.sina.com.cn/i/csj/2013-04-16/09368244003.shtml提到了5分钟的周期。

使用道具 举报

Rank: 2Rank: 2

板凳
发表于 2013-4-17 11:36:00 |只看该作者
微信引起的信令问题,我的理解主要是俩个,一个是MM状态切换造成的,一个是分配TBF造成的。
想请教一下版主
1.有没有办法知道这俩个切换造成的信令消耗的量?
2. 这俩个切换的信令是否都走的CCCH? 我的理解是CCCH拥堵才会影响CS域,才会引起运营商的不满。

使用道具 举报

Rank: 9Rank: 9

沙发
发表于 2013-4-16 21:03:15 |只看该作者

tom老师太谦虚了。很好的主意啊。我也结合个人理解,说下实施起来的难度吧。

1 修改IP包头为MSISDN地址,牵扯太大。毕竟IP包头中只有源IP和目的IP,分别是32bit,和MSISDN不兼容。如果要修改则需要修改IP规范,阻力太大。

2 手机中没有MSISDN地址,MSISDN是存放在HLR并下发到SGSN中的,手机上只有IMSI。

3 手机如果没有网络侧分配的IP地址,则网络侧(GGSN以及Gi网络后面的路由器)无法为手机提供路由。那手机都没有办法访问腾讯服务器了。

4 手机侧的IP地址,只要手机不发起PDP去激活流程,一般网络侧是不会主动发起PDP激活然后释放的(有超时时间,但timer很长,比如30分钟,远比心跳间隔要短)。所以,微信服务器发心跳包主要不是为了保持IP地址不变,主要的作用应该是让服务器了解到用户当前的状态是什么(比如在线、隐身、离开),从而决定是否要继续点亮你的头像,让其他用户也能知道你的状态。(因为如果手机如果不发任何消息,那微信服务器肯定不知道手机现在是什么情况的,所以要心跳)。

另外,从技术手段上来讲,为了减少微信的信令风暴问题,一方面运营商可能会和腾讯商谈,延长心跳的间隔时间。另外,在SGSN上将ready timer时间从默认44秒调大一些(很多地方都调大了),这样可以防止手机MM状态特别快地切换到Standby从而带来大量的寻呼。

另一方面,运营商如果要打压微信,技术上是完全可行的(根本用不着收费),只需要在分配无线信道资源的时候将微信这种业务监测出来少分配一点,将下行速率限制到1k以下,那肯定就没人愿意用微信了。技术上实现这一点完全没问题,但有社会问题,会引起公愤。运营商应该还不敢。

个人理解哈。


51学通信(www.51xuetongxin.com):致力打造最好的通信技术在线学习平台 。

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

站长邮箱|Archiver|51学通信 ( 粤ICP备11025688 )

GMT+8, 2024-7-1 02:13 , Processed in 0.036856 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部