信令:手机开机后,先从USIM中读取之前运营商分配的临时身份信息GUTI/TMSI,发送携带该身份信息的信令给基站,请求接入运营商网络。

如果每个设备的每条消息都需要单独认证,则网络侧安全信令的验证需要消耗大量资源。在传统4G网络认证机制中没有考虑到这种海量认证信令的问题,一旦网络收到终端信令请求超过了网络各项信令资源的处理能力,则会触发信令风暴,导致网络服务出现问题,使整个移动通信系统出现故障,进而崩溃。

from:http://news.idcquan.com/tx/144770.shtml

针对大规模物联网场景方面,预计到2020年联网设备达500亿台。终端包括物联网终端、RFID标签、近距离无线通信终端、移动通信终端、摄像头以及传感器网络网关等。由于大部分物联网终端具有资源受限、拓扑动态变化、网络环境复杂、以数据为中心以及与应用密切相关等特点,与传统的无线网络相比,更容易受到威胁和攻击。在此情况下,为了确保信息的准确有效性,需要在机器通信中引入安全机制。(见https://www.cnblogs.com/bonelee/p/9284499.html)如果每个设备的每条消息都需要单独认证,则网络侧安全信令的验证需要消耗大量资源。在传统4G网络认证机制中没有考虑到这种海量认证信令的问题,一旦网络收到终端信令请求超过了网络各项信令资源的处理能力,则会触发信令风暴,导致网络服务出现问题,使整个移动通信系统出现故障,进而崩溃。

wiki上解释

信令风暴是指网络收到的终端信令请求超过了网络各项信令资源的处理能力而导致网络服务出现问题。一些手机应用程序会频繁地和服务器交换少量的数据以确保用户保持在线状态,这样会占用大量网络资源,当信令流量超出网络的信令处理能力后,网络便会失控并导致服务不可用。

知乎上的回答比较好:

微信的大规模使用真的会过多占用信令,影响通讯稳定吗?

from:https://www.zhihu.com/question/20849677

以上回复的答案被赞同,我十分不同意。显然很多人不了解其中的原理,我的答案是:微信会占用过多的信令,从而可能产生「信令风暴」,导致网络不稳定。

1.「信令风暴」是什么?
由于网络收到的终端信令请求超过了网络各项信令资源的处理能力,引发网络拥塞以至于产生雪崩效应,导致网络不可用,我们称之为「信令风暴」。

2.为什么会产生「信令风暴」?
1)智能终端比例大幅增长,2013年预计超过50%(自中国互联网中心),见下图:

2)数据业务年均增长155%(Mobile Network Offloading,ABI),见下图:
3)业务需求越来越多样化,带来时延短、速度快、流量大等特点,见下图:
基于以上3点,我再展开阐述。

首先,智能手机为省电,引入休眠特性,6-10s没有数据传送则释放连接。由于现在智能手机用户使用时间长、屏幕大、所以耗电量很大,厂家为了节电使用了快速休眠功能,即一段时间没有数据传送,手机会不经网络侧准许而释放链接。

其次,像手机QQ、手机微博、微信等应用的使用,会带来大规模小数据量的频繁交互,该类业务流量的建立和释放一般是通过信令信道承载的。如下图所示:

那么,频繁的小流量数据交互大量消耗信令信道资源,导致信令量的增幅远大于业务流量的增幅。简单来说,这些应用会周期性地向应用服务器发送报文保证用户永远在线的状态,引起已释放的连接重建。为了保持永远在线的状态,各种应用客户端会向服务器不断发送“心跳”,保持其“永远在线”状态。

根据统计,智能终端上这类软件所引发的无线信令流量是传统非智能终端的10倍以上,这进一步增加了智能手机产生的信令。同时,必然会影响终端与网络之间的空中接口的信令处理能力,那么一旦信令信道发生拥塞,就会导致空口资源的调度失控。这时,即便空口资源是空闲的,终端也无法使用。

这种情况很容易引发雪崩效应,当终端申请不到空口资源或链接不上网络,就会不断重试,导致信令信道更加拥塞,直到瘫痪。

3.「信令风暴」导致过什么样的后果?
近年来,信令风暴对运营商网络的影响层出不穷,归根结底均是由于永远在线类业务周期性频繁大量的心跳数据包对网络资源造成了极大的消耗所致。

以下是由信令风暴产生的部分故障案例:

1)日本最大的移动运营商NTT DOCOMO(2012.1.25):
在东京地区的网络发生故障,在持续四个多小时的故障期间,有252万用户受到了影响。NTT DOCOMO事后调查发现,激增的数据流量是导致网络故障的主因,而产生大量数据流量的来源是一款可以免费语音通信的Android应用,会每隔3至5分钟发送控制信令。
日本运营商要求谷歌改进Android减小网络压力

2)北美-AT&T(2009.09.04):
iPhone 在纽约地区掉话率高达30%,收发一条Twitter消息延迟15分钟。

3)欧洲-英国O2(2009.12.30):
数据流量增长18倍,信令激增;8%的智能终端用户产生55%的信令流量,伦敦一些用户周期性无法拨打/接听电话。

4)澳洲-新西兰电信(2010.03.02):
过载的原因推测来自WCDMA/HSDPA用户信令激增,三个月时间里,3G网络四度瘫痪,CTO被辞退。

4.微信会不会产生「信令风暴」?
1)单次传输的数据量较小;
2)接入和释放频次较高;
3)在线时间长但传送数据的时间很短;
4)上下行传输的数据量较为对称。
这些特点,微信具有产生「信令风暴」的条件。

5.会不会影响通信网络正常运行?
基于以上理由,肯定会对网络运营造成一定影响。

6.现阶段运营商现在采取何种手段预防「信令风暴」?
1)提升网络建设和覆盖;
2)优化无线参数和提高网络资源利用率;
3)均衡上下行资源,增强上行容量;
4)建立多维度的流量分析和监控体系;
5)提高设备冗余度,完善系统过载保护机制;
6)定期对信令面运行状态进行评估和容量预测;
7)通过采用「网络控制的快速休眠」功能,将快速休眠的控制权交还网络,可以大大降低网络节点的信令负荷;
8)提高流量精细化经营能力。

7.总结
我不是很同意不经分析的言论,大家对运营商有太多的误解。就事论事,在移动互联网时代,运营商自己也不断认识到自己逐渐沦为管道的尴尬局面,最后往往还是出力不讨好。现在运营商做了很多工作,保障网络的KPI和用户体验。

同时,也建议需要规范智能应用程序开发,应用程序需要考虑降低在线心跳的频率,减少对网络资源的浪费。

总之,运营商还是要通过与移动互联网产业链上各方(设备商、手机厂商、应用开发商)一起合作,开放心态,共同应对挑战,而不是一味的「酸葡萄心理」想去阻止OTT不可逆转的潮流。只有这样,才能避免由于「信令风暴」的出现导致网络瘫痪。

5G信令(就是用户身份信息)风暴——就是客户端通过公钥加密的消息(携带手机IMSI号)发给服务端,服务器需用私钥解密,这个解密比较消耗资源,如果短时间大量请求到来就会触发信令风暴的更多相关文章

  1. Winform框架中窗体基类的用户身份信息的缓存和提取

    在Winform开发中,有时候为了方便,需要把窗体的一些常规性的数据和操作函数进行封装,通过自定义基类窗体的方式,可以实现这些封装管理,让我们的框架统一化.简单化的处理一些常规性的操作,如这里介绍的用 ...

  2. 基于SqlSugar的开发框架循序渐进介绍(6)-- 在基类接口中注入用户身份信息接口

    在基于SqlSugar的开发框架中,我们设计了一些系统服务层的基类,在基类中会有很多涉及到相关的数据处理操作的,如果需要跟踪具体是那个用户进行操作的,那么就需要获得当前用户的身份信息,包括在Web A ...

  3. 5G信令(就是用户身份信息)——手机开机后,先从USIM中读取之前运营商分配的临时身份信息GUTI/TMSI,发送携带该身份信息的信令给基站,请求接入运营商网络。

    5G时代,跟IMSI-CATCHER SAY GOODBYE from:https://unicorn.360.com/blog/2018/04/18/GoodBye_5G_IMSI-Catcher/ ...

  4. 使用shiro缓存用户身份信息的时候报:java.io.NotSerializableException: org.apache.shiro.util.SimpleByteSource

    最近在使用shiro缓存用户的身份信息的时候,报了simpleByteSource不能序列化,跟进源码一看,原来这个类没有实现序列化的接口,但是我在缓存身份信息的实现又要用到这个类,解决方法:重写一个 ...

  5. 利用Cookie保存用户身份信息实现免登录

    <%@page import="sun.misc.BASE64Encoder"%> <%@page import="java.util.Base64.E ...

  6. IdentityServer4(9)- 使用OpenID Connect添加用户身份验证(implicit)

    本文为 OpenID Connect 简化模式(implicit) 已更新至.NET Core 2.2 在本快速入门中,我们希望通过 OpenID Connect 协议向我们的 IdentitySer ...

  7. PHP中对用户身份认证实现两种方法

    用户在设计和维护站点的时候,经常需要限制对某些重要文件或信息的访问.通常,我们可以采用内置于WEB服务器的基于HTTP协议的用户身份验证机制.     当访问者浏览受保护页面时,客户端浏览器会弹出对话 ...

  8. SpringBoot Spring Security 核心组件 认证流程 用户权限信息获取详细讲解

    前言 Spring Security 是一个安全框架, 可以简单地认为 Spring Security 是放在用户和 Spring 应用之间的一个安全屏障, 每一个 web 请求都先要经过 Sprin ...

  9. Linux 用户身份与进程权限

    在学习 Linux 系统权限相关的主题时,我们首先关注的基本都是文件的 ugo 权限.ugo 权限信息是文件的属性,它指明了用户与文件之间的关系.但是真正操作文件的却是进程,也就是说用户所拥有的文件访 ...

随机推荐

  1. 斐迅面试记录—SSL和TLS的区别

    SSL 是洋文“Secure Sockets Layer”的缩写,中文叫做“安全套接层”.它是在上世纪90年代中期,由网景公司设计的.(顺便插一句,网景公司不光发明了 SSL,还发明了很多 Web 的 ...

  2. 2018秦皇岛ccpc-camp Steins;Gate (原根+FFT)

    因为给定的模数P保证是素数,所以P一定有原根. 根据原根的性质,若\(g\)是\(P\)的原根,则\(g^k\)能够生成\([1,P-1]\)中所有的数,这样的k一共有P-2个. 则\(a_i*a_j ...

  3. 关于文件中的0D、0A

    文件一般分为文本文件和二进制文件. 在windows文本文件中,分行即‘\n“,表示为0x0D 0x0A.分为两种情况: 如果你想一个文本文件中写入一个'\n',文本文件中会增加0x0D 0x0A两个 ...

  4. Python笔记 #03# Help!

    源:DataCamp datacamp 的 DAILY PRACTICE  + 日常收集. Functions Built-in functions Help! Multiple arguments ...

  5. 在Pycharm中配置Github

    Pycharm是当前进行python开发,尤其是Django开发最好的IDE.GitHub是程序员的圣地,几乎人人都在用. 本文假设你对pycharm和github都有一定的了解,并且希望在pycha ...

  6. Django---ModelForm详解

    示例: from django.db import models from django.forms import ModelForm TITLE_CHOICES = ( ('MR', 'Mr.'), ...

  7. 20145302张薇《Java程序设计》第十六周课程总结

    20145302 <Java程序设计>第十六周课程总结 实验报告链接汇总 实验一 Java开发环境的熟悉 实验二 Java面向对象程序设计 实验三 敏捷开发与XP实践 实验四 Andoid ...

  8. 求生之路 Hammer World Editor打开后闪退解决办法

    试过WinXp.Win7.Win10 都无法正常启动Hammer,搜索N多资料后发现如图修改 控制面板 -> 区域 -> 格式 -> 英语[美国] 即可正常启动了!!!

  9. php-fpm 信号

    使用信号之前,需要先确保php-fpm.conf 里面有配置pid,默认是被注释掉的. ;pid = run/php-fpm.pid 文件在 php安装目录/var/run/php-fpm.pid 信 ...

  10. DVWA安装

    DVWA安装: 启动xampp下的apache中间件和mysql 将dvwa放到xampp下的htdocs目录下 在浏览器输入http://127.0.0.1/dvwa 即可使用啦! 还有owasp的 ...