故障年年有,今年特别早。
前几天,我在写《2022年通信行业十大看点》的时候,就提到了网络安全稳定的重要性。没想到,这还不到一个礼拜,国内第一个断网事件就诞生了。
根据媒体报道,1月12日凌晨,有大量用户反映某运营商服务断网。基于网友反馈的坐标来看,包括北京、广州、杭州、长春、乌鲁木齐等地,均出现了断网问题。
据悉,此次大规模断网事件,导致47%的该运营商用户无法访问网络,骨干网受到影响,具体表现为路由追踪无信息。
本次断网发生在深夜,且很快得到了恢复(不到半小时),客观来说,影响不大。
但是,断网的原因却迟迟未能公布(估计不会公布了)。
这次断网,不禁让人深思——都2022年了,运营商和设备商每天都把技术吹得天花乱坠,为什么我们的网络还是会断?
今天,小枣君就简单和大家聊聊这个话题。
█ 断网的原因分析
前段时间,西安一码通宕机的时候,几乎所有人都把关注目光放在“单一来源采购”和“项目转包”上。
这个很好理解,中国改革开放发展到现在,虽然一直在加强法制化建设,但始终未能彻底根绝腐败现象和灰色交易。
我们在日常工作中,也经常见到甚至参与过类似的项目——高价中标,然后层层转包,最后一个千万级的项目,很可能是一个大学生团队完成的。
软件行业这种现象略见不鲜,于是人们就会觉得,通信行业出现问题,是不是也和项目转包或者低价中标有关?
其实,通信行业的情况,和IT行业还是有些区别的。
通信项目,尤其是面向三大运营商的公共通信网络项目,对安全性和可靠性的要求极高。
公共通信网络(手机网络、宽带网络)承载着海量的用户,支撑国民经济各个领域(金融、制造、交通)的发展,对于社会稳定意义重大。各个运营商身负非常严格的网络安全运行考核指标,一旦出现问题,不是扣工资那么简单,而是领导下课,甚至渎职入狱。
所以,对于通信网络主设备和核心服务的采购,运营商非常严谨和认真。能够中标的,都是华为、中兴、爱立信、诺基亚这样的大型企业。
运营商那么重视,设备商就更不用说了。在目前激烈的市场竞争下,设备商们再抠门,也不敢在安全上松懈。一旦出事,大领导就要屁颠屁颠去道歉。一旦出大事,这个省的份额基本上就是完蛋,卷铺盖走人。
所以,通信网络设备的采购,尤其是集团层面的集采,猫腻空间有限。目前,猫腻较多的,或者说存在低价竞争、灰色交易的,是一些中小型的采购。大家可以去运营商的采购网站看,每天都有几十个采购项目挂出来,什么办公楼装修啊,显示屏采购啊,信息系统运维啊,之类的。
通信圈里很多人抱怨运营商压价,其实运营商压价的项目,主要是运维、代运维、站点勘察之类的体力劳动项目。甲方会通过施工标准来卡供应商。
既要低价,又要符合标准,就看乙方供应商的本事。硬件和物料是明的,不好偷工减料,于是,就把目光放在员工身上,大幅克扣合作方员工的工资和奖金,以此达到压低成本的目的。
说起来大家可能不信,有设备商在招外包合作的时候,明确要求了给外包员工的薪资比例。例如设备商给分包商1万,那么,分包商必须承诺,至少要给员工7000,以此保证底层员工的积极性和态度。
为了保证分包商员工不瞎搞,设备商和运营商还专门制定了大量的流程制度和行为规范,文档也是不断地checklist,对操作步骤严格管控,防止出事。
前几年广西那个故障,就是外包员工误操作,导致某设备商赔了几个亿。所以,设备商不会为了省那么几个钱,在核心环节抠成本。
说来说去,我想表达的意思就是——通信网络因为层层转包、偷工减料导致出现重大网络的可能性,极低极低。运营商、设备商、分包商,都不敢拿网络安全当儿戏。
█ 真正的原因
那么问题来了,通信网络出现重大故障的主要原因,究竟是什么呢?
其实还是技术原因。
我们搞技术的通信人都知道,现在的通信网络是极为健壮的,即使你想故意搞瘫它,都很难。
通信网络在设计之初,就有无数的专家进行架构设计和评审,考虑各种冗余和容灾方案。为了避免瘫局,所有的单板都是主备两块。再往上,网元也是容灾的,要么pool池,要么1+1或1:1备份。传输设备就更不用说,各种环型组网,各种主备保护,就是为了应对设备故障或意外情况(地震、水灾、恐袭等)。
电子设备是不稳定的,CPU、内存、主板、硬盘、强弱电,都有可能故障。公共通信网络要实现99.9999%以上的可靠性,必须做容灾备份。说白了,就是砸钱。看上去是一套设备,其实后面是一堆设备。
但是,越复杂的网络,其中的隐患就越难以察觉。目前,我们经历2/3/4/5G的发展,网络变得太过臃肿和复杂。网络的开放化,也导致了厂商的鱼龙混杂。
旧设备舍不得淘汰,新设备(新技术)刚刚上线,是混乱的高发期。
运维人员对设备和网络的缺乏了解,信息的不对称,导致了应对突发局面的慌乱和仓促。
说句实在话,目前运营商的一些员工,在技术上无法做到及时的技能更新,对设备商依赖越来越大,正在丧失对技术的控制和主导权。
少部分的运营商基层技术牛人,因为职业发展的原因,要么升职去做管理了,要么躺平或离职了,青黄不接,没办法和设备商工程师进行对等沟通,影响了故障的紧急恢复。没有造成二次伤害,就已经不错了。
全网级的重大故障,要么是核心网的锅,要么是传输网的锅。现在出故障,想都不用想,要么是骨干网路由挂了,要么是光纤断了,要么就是DNS、鉴权这样的基础服务挂了。连FACEBOOK和GOOGLE这样的顶级技术巨头,都会在BGP这样的基础路由协议上栽跟头,你说还有什么不可能发生?
我们总吹牛,说自己控制了网络。其实,一线技术人员都知道,很多技术上的事情,都是玄学。你根本不知道它为什么会好,也根本不知道它为什么会坏。
网络出现故障的可能性太多了,蝴蝶效应也非常明显。我们国内的工程质量把关很严格,还好一些。很多海外项目,简直让人抓狂。
举个例子,曾经在印度的一个项目,本地员工中继线接错了,主用对的,备用错了。结果,传输网络一个闪断,主用切备用,瘫了。线瘫了就瘫了呗,结果数据溢出,把传输设备冲瘫了。传输设备瘫了,导致整网信令拥塞,又把MGW媒体网关(兼做信令网关)冲瘫了,一路瘫下去,一个邦(相当于国内一个省)就这么断网了。你说神不神奇?
我们作为技术人,要对技术有敬畏之心。我们对技术的掌握,远远没有到炉火纯青的地步。所以,完全杜绝网络故障,是不可能的。常在河边走,哪有不湿鞋。出来混,还是要看点运气。
从技术的长远发展来看,现在都讲网络的自动驾驶(和开车没关系,是网络自己管理网络的意思),讲AI的智能化运维。其实我觉得,AI辅助运维应该可行,但是全面接管的话,还是蛮遥远的。
目前,我们的通信网络过于复杂,人员水平层次不齐,在没有外部主动攻击的情况下,我们都无法保证网络的100%安全。一旦发生了敌对势力对网络的超限战,会发生什么,谁也不知道。
客观发生的情况我们控制不住,但是,主观的预防行为我们还是可以做的。
一方面,加强对技术人员的尊重,给予合适的待遇,规划技术线的跑道,有利于稳定技术人员队伍。
另一方面,及时对员工进行技术培训和实践训练,弥补技术差异,有利于故障的快速恢复。
第三,容灾演练要落到实处,少搞猫腻,想方设法多设计一些极限的紧急情况,完善容灾预案,会有很大帮助。
第四,简化网络架构设计,加速旧设备的淘汰,实现网络极简,有利于减小故障发生的风险。
好了,以上就是小枣君关于网络故障的一些想法,欢迎大家补充、拍砖。
2022没有开个好头,希望后面大家平平安安,该拜还是多拜拜。
谢谢!