当前位置: 华文问答 > 数码

华为有什么黑科技?

2015-09-21数码

看了群里大部分的回答,文不对题。

本来是一个技术贴,变成了黑粉和挺粉的水贴了。在2012年之前,虽然华为已经从事了接近10年的终端手机业务,但是如果就华为公司本身的知名度还是没有跳出通信的圈子。终端的异军突起,不仅仅带来了大量的现金流(做运营商或者大行业客户的童鞋都知道,原来通信行业客户的应收账款确实是一个头疼的问题:金额大,周期长,回款慢,而且往往在签订合同的时候还有很多苛刻的条件,因此终端业务的崛起对华为的现金流管理是一个非常大的改善),同时确实也大大提高了华为在社会上的品牌度和美誉度,让华为从一个专业的通信设备制造商转变为了一个大众公司,从以前的幕后走到了前台。

在华为从事研发超过了5年的时间,由于主要从事数通产品的研发,因此我就从自己开发的产品说一下我了解的华为在数通上的黑科技。由于离开华为已经超过了5年的时间了,同时这些技术在华为的宣传资料上也是可以查阅,因此也不算是有泄密的嫌疑。

在大家不太熟悉的核心骨干网数通设备上,大家了解的情况一直都是Cisco是名副其实的老大哥,它基本制定了整个数通行业的标准或者是事实标准,包括从协议、设备形态,用户接口界面、文档标准、测试标准等。目前国内从事数通行业的公司,往往接近80%的公司的命令行形式都是抄袭Cisco的命令行格式,而如果要开发一个协议,基本的开发流程也是:研读Cisco的产品或者用户手册,根据Cisco的技术白皮书梳理业务逻辑,然后结合自己产品的架构特点,再编码完成的功能。在数通领域还有一个以技术见长的公司叫Juniper,国内公司叫瞻博网络,研发中心设立在北京,以前在网络上和瞻博网络的中国负责人还有过一些交流。Juniper的创始人也是来自于Cisco,至少在运营商的核心网路由设备和交换机设备上,Juniper与Cisco有的一拼。不过后来Juniper收购了Netscreen,在防火墙上的技术实力得到了加强。Netscreen的创业史也是一个神话,几个华人成立的公司,短短几年时间做到在美国上市,最终以40亿美元的价格,被Juniper收购,一时被传为佳话。以前Juniper的创始人邓锋成立了北极光创投,顺利从码农转型为投资人,实现了屌丝的逆袭。

交代这些行业背景,其实只是让读者了解一下在数通这个江湖上的故事。华为作为在数通行业的追赶者,其实早在1998年的时候,就开始了核心路由器的研发工作。当然采用的模式就是大家熟悉的逆向工程。华为在数通领域知名度的提升还要感谢Cisco的钱伯斯,在2003年的时候,Cisco一纸诉状,以产品专利侵权之名将华为告上了美国的联邦法庭,让当时名不见经转的华为一时间登上了美国的各个报纸的头版头条。当时号称的世纪大战,最终以戏剧性的结尾收场。如果做过数通产品研发的童鞋应该都知道,Cisco作为数通产品事实标准的制定者,后来者对其产品技术是否侵权这点本身就是非常难于界定的事情。当然这场战争的一个结果,就是华为和3COM的合作,成立了现在在国内数通企业市场非常知名的华三。记得以前刚刚进入公司的时候参加大队培训,我们当时还将华三的兄弟看作一家人,大家一起培训,一起吃饭,一起参加「洗脑」,最后大家离开的时候在抱头痛哭,分道扬镳。

华为和Cisco的战争的另外一个结果,就是华为按照当时和解的要求,全面修改了华为数通产品的用户界面,包括了路由器,交换机一些列的产品,做运维的兄弟对这些差别应该很清楚,比如大家都熟悉的Cisco的Show命令,华为就全面修改为了Display命令。后来在工作中又遇到过几次国外的公司告华为侵权的事情,每次贴心的华为知识产权的MM们(从发文的语气猜想的)都会大张旗鼓的群发邮件,要求大家把开发的相关的资料进行整理,便于后续如果要应对官司的时候,能够提供更多的证据。不过基本每次都是雷声大雨点小,这个漏斗还没有机会传递到后端的研发部门。

Cisco、Juniper和华为在核心的数通设备领域的竞争一直都很激烈。

Cisco的CRS系列核心路由器

Juniper的Tx系列的核心路由器

华为的Quideway NE系列核心路由器

在IP Core领域,一直以来,各个厂家的升级竞争方式无外乎如下几种:

1、不断增强机框硬件平台的背板带宽能力。

由于核心网设备一般比较昂贵,同时它位于核心网的核心节点上,一旦部署后,出于保护用户投资或者扩容升级对现网业务影响最小化的考虑,机框硬件平台的转发性能往往都会超过当前实际的转发需要一个量级。其中的核心技术是背板的高速总线技术,就是如何通过有限的背板面积,部署更密集的总线,同时克服总线间的时钟同步,以及高密总线间的信号影响,从而实现更高的传输带宽。从最高的240G平台,到后来的680G,1T,2T,5T甚至10T平台。硬件平台的背板转发能力是一个公司硬件硬能力之争,代表了这个公司在硬件层面上对数字信号处理,电气传输特性,布线功力等方面影能力的综合体现。一般机框硬件平台的更新周期几本都是以5年甚至更长的时间周期来计算,在我做研发的时候,华为的机框硬件平台能力也就升级过一次。从原来的NE平台升级为了NE-X平台。

从目前华为官网的产品目录来看,目前主流采用的还是NE-X平台,比如NE40E-8X,16X等。

2、不断提升业务线卡的转发能力;

往往核心路由器产品都是框式产品。机框的硬件平台的背板带宽只是确定了整个硬件平台转发能力的上限。但是往往当前产品具备的转发能力则是由线卡的转发能力确定的。线卡一般分为三部分:接口卡单元、业务处理单元和交换单元。

接口卡单元主要是为了提供更加丰富和多样的接口能力,在下一个部分我们会介绍。业务处理单元则出要负责进行tcp/ip协议栈报文处理。不过为了保证足够的处理能力,目前普遍在IP Core都是使用的硬件处理的方式。硬件处理方式也往往采用两种反式:一种是纯硬件处理的方式,比如Cisco的QFP,以及Juniper采用的ASIC芯片。另外一种是伪硬件处理的方式,比如采用早期Intel的IXP系列的可编程处理器或通过可编程逻辑的方式。不过随着业务处理性能的战争的升级,采用伪硬件处理的产品基本已经被更高处理性能的硬件方式完全取代了。交换单元通过背板的接插件,与其他业务单板实现了跨板通信;这个单元往往负责了报文传输中的切片,流量工程,和转发调度的功能。当然在IP Core设备中,往往采用的交换架构都是采用了CLOS结构,实现每个转发链路的全联接。

交换套片(为什么称为套片,是由于往往交换芯片分为两个部分,一部分是部署在业务处理板的交换单元,一部分则部署在交换板上,两部分协同工作以实现高性能的数据交换)是整个交换单元的核心,目前在世界上能够做出高性能的交换套片的公司还真没几家,早起华为在最高端的核心产品上,采用的也是第三方的商业套片,还记得每次开发新产品,和供应商一起测试新的交换套片,踩过多少坑,流过多少血!不过随着后续华为的芯片能力的提升,后续的产品逐步采用了自研套片后,华为的IP Core产品才算走上了康庄大道。华为在这场战争中能够紧紧跟随这些数通领域的先驱者,而没有掉队,海思的崛起功不可没;当然海思的崛起,也是由于早期华为采用产品线反哺芯片的战略密不可分。

华为2拖8集群系统的交换原理

集群系统中使用的交换板:

这些技术,其实哪一项拿出来,都可以算作是真正的黑科技,比起某米总是宣传的黑科技有技术含量的多。

3、更加丰富和多样的接口能力;

IP Core设备需要和各种个样的汇聚层设备对接,同时多种业务均会汇聚到核心设备上,因此核心路由器产品的业务能力就体现在了接口能力的数量、种类的丰富程度和多样程度上。目前接口卡的技术正在网更高密度的接口卡,以及更大容量的单端口演进的趋势。

然而无论如何单台设备的能力是有上限的,因此在除了提高单台设备的性能外,另外一种技术方向则是考虑对多台设备的集群。通过在在逻辑上将多台物理设备集群为逻辑上单一的设备,从而实现对接口、业务处理和报文转发的统一管理,以及性能上的提升,随着核心网络组网的扁平化,运营商更高,更强的单一设备的需求越来越强,而如果这是通过单台设备性能的提升,周期太长了。

最早在集群上进行研究的还是Cisco,最早Cisco在CRS实现了1拖4;Juniper则开发了Tx Matrix,支持1拖2的集群。华为在核心路由器集群技术的研究上,其实也并不晚于Cisco和Juniper,很早就实现了1+1的背靠背系统,1+1的背靠背系统虽然实现了控制层面的统一,以及跨框的数据交换,但是其实这种方式还并非是真正的系统集群。为了满足更高的集群能力的要求,华为启动了支持背靠背,1拖4,2拖8的核心路由器集群项目,并且最终在2008年的山西太原,实现了2+8集群系统的第一次正式商用。

华为NE5000E的背靠背和1拖4集群系统

华为NE5000E的2拖8集群系统

如果你有机会看到在一个房间里,摆放的整齐的集群系统,插满了业务单板,LED灯随机闪烁,你一定会觉得热血沸腾,而如果你听到目录报价(满配的2拖8系统目录报价接近1个亿),你肯定也会瞠目结舌,当然实际售价是没有这么高的。通过核心路由器的集群,也使得单台设备的转发性能迈入了10T级别(2009年的水平,现在肯定是更高了)。

到这里也应该说一下我会提到的华为核心路由器集群技术的黑科技了。

==========================我是黑科技的分界线=====================

大家可能听说过单机设备的ISSU功能,然而在集群系统上,如何做到带业务的平滑扩容和升级?这个技术面对四个非常困难的事实:

1、核心路由器位于核心节点,对于带业务平滑扩容的稳定性和可靠性的要求非常之高;

2、华为的集群系统形态非常多,背靠背、1拖4,2拖8,如果实现各个系统间的平滑升级,尤其是当从单框到背靠背,从背靠背到1拖4或者2拖8,连线方式变化了(单框只需框内数据转发,而集群系统需要实现跨框数据转发),交换结构也发生变化了(原来的两级的转发架构需要升级为三级的转发架构)等等。

3、如果升级失败,如何做到系统回滚,以尽快恢复运营商业务?

4、还需要考虑原有的不支持NE5000E单框系统的平滑扩容问题。

单框扩容为背靠背系统:

这些问题,就我有限知识的了解,不论时Cisco或者Juniper都是没有设计和解决的。

华为独创的ISHE(In-service Hardware Expansion)技术,实现了在网的硬件平滑升级。

背靠背扩容为2拖2:

控制层面的连接:

转发层面的连接:

不过虽然这个技术够黑,但是由于在真正的在网环境中,升级成功或者失败直接与某些人的乌纱帽挂钩,因此这个技术是否会在真实场景中是否使用,还真是一个未知数,但是想大家为了我那些为了这个技术熬夜通宵加班的兄弟们付出的汗水,希望能够点个赞。

其实经历了很多的项目,真正的技术黑科技都是大家用脑浆和体力砸出来的。以前我记得自己最喜欢说的一句话就是产品的核心竞争力其实并不是大的架构设计或者某某高明的技术,反而就是大家看似不经意解决的bug,只有踩过了多少坑才晓得一个稳定和优秀的产品的来之不易,所以不论产品如何,希望大家都能对认真做产品的人或者团队以更多的宽容。