7. 华为集成
经常可见“中国制造”(Made in China)在世界各地。这些商品通常是儿童玩具,成人衣物等等。或者说,中国的工业是一个加工为主体的结构。
追求“中国创造”是中国的战略目标。
目前离这个目标还很遥远。笔者认为非20到50年,中国没有这个实力。
冰冻三尺,非一日之寒。
众多原因之中,落后的高校教育和人才大量流失是一个根本的原因。
华为,作为目前中国通信领域的著名公司,科研开发的水平在什么层次?
笔者认为是一个:“华为集成”(Integrated by Huawei)的水平。
除了上节笔者关于Cisco买断Greenfield网络处理器来截断Huawei在以太网高端交换机(Switch)的发展外,我们不妨再来看一看华为在其他方面的情况。
下面这个链接是华为自己在其网站上发表的关于网络处理器的文章。
http://www.huawei.com/cn/publications/view.do?id=389&cid=127&pid=88
“最早提出网络处理器开发的时间是1997年,正式商用芯片于1999年年底面世。Intel、IBM、Motorola、MMC Networks、Ezchip、Lucent、Vitesse(Sitera)等厂商参与了网络处理器的早期研究。这一阶段仅仅是研究阶段,而真正将网络处理器投入商业应用的厂商是华为,1999年华为开始开发基于网络处理器的核心路由器,并率先推出了基于NP的NE80/NE40系列核心路由器产品,在技术和商业方面均获得了巨大成功。如果说以前的网络处理器技术还只是停留在专家实验室的话,那么华为所做的就是将这种技术平民化,让网络处理器技术走下神坛,成为主流转发技术。华为公司率先将网络处理器(NP)技术引入了核心路由器,首创第五代路由器的开发和设计理念,并实现全球规模商用。第五代路由器充分继承了第四代全分布式ASIC硬件处理架构,实现ASIC技术和网络处理器技术的有机结合,使核心路由器具备了软件的灵活性和硬件的高性能,既提供了线速转发性能,又具备良好的业务升级和扩展能力,可很好地保证用户投资,加速IP网络向宽带化、安全化、业务化、智能化方向发展。”
“华为2001年推出的NE80产品是一种面向电信级运营的高端网络产品,其业务和功能升级能力是同期同类产品无法比拟的,如最早销售的NE80产品可全面提供IPv4/IPv6功能,所有接口达到IPv4/IPv6线速转发,同时NE80也是最早提供真正商用的MPLS VPN等增值业务的核心路由器。在NE80系列产品的发展壮大过程中,华为公司也磨砺出了一批优秀的NP应用开发人才,形成了一个相对稳定的优秀的开发团队。华为在2004年又推出NE5000E核心路由器,可提供单槽位40G线速接口,支持多机框互连,容量可达80Tbps,是业界顶级核心路由器。该产品借鉴了NE80的成功经验,继承和发扬了第五代路由器的技术,采用业界领先的ASIC和网络处理器技术,使得NE5000E产品可以满足所有IP网络应用的要求。华为所一直倡导的第五代路由器理念在业界已经是主流的开发模式”
笔者将在本节中,与读者一起,逐步揭开华为核心路由器的面纱,论证笔者“华为集成”的观点。
关于华为的高端路由器的体系结构,可参阅下面的华为数据通信网站链接。
http://www.huawei.com/products/datacomm/catalog.do?id=25
技术上讲,华为的旗舰产品NS5000E的结构为:
SFU, MPU和LPU。
SFU:Switch Fabric Unit. MPU: Main Processing Unit LPU: Line Processing Unit
其中LPU为:
“Based on a distributed hardware forwarding architecture, the Quidway NetEngine 5000E corerouter (hereinafter referred to as “NE5000E”) has multiple types of Line Processing Units (LPUs) in addition to Main Processing Units (MPUs) and Switch Fabric Units (SFUs). The LPU board is composed of the LPU module, the Fabric Adaptor (FAD) module and the Physical Interface Card (PIC), which together complete fast service processing and forwarding, maintenance and management of link layer protocols and service forwarding tables, and other functions.
Types of LPUs
Currently, the NE5000E supports the following types of LPUs:
__ Gigabit Ethernet optical interface LPU __ 10G Ethernet optical interface LPU (LAN)
__ 10G Ethernet optical interface LPU (WAN) __ OC-48c/STM-16c POS LPU __ OC-192c/STM-64c POS LPU
( http://www.huawei.com/products/datacomm/pdf/view.do?f=167 )
下面链接是2007年2月华为最新的高端路由器NetEngine 5000E V200R002 (Based on VRP5.3)的发布:
http://www.huawei.com/products/datacomm/catalog.do?id=455
其一些重要的数据参数为:
OC-192c/STM-64c POS 10GE-WAN OC-48c/STM-16c POS 10GE-LAN OC-12/STM-4 POS GE/FE
OC-3/STM-1 POS NetStream Service Board Multi-case VPN Service Board
这里最重要的信息是:LPU目前不能支持40G(或者OC-768)的LPU。
笔者在这里不讨论MFU和SFU。通常而言,MFU就是所谓的管理控制板,比如所有的路由协议,配置管理等等都在这个版子上。对于MFU而言,硬件技术的要求比较低,绝大多数是比较经典的路由协议软件。值得注意的是,华为数通在其NE5000E的体系结构中提及了其MFU的HA(高可靠性)的状况是:Active/Passive。换句话说,还没有达 Active/Active。SFU是提供LPU之间,LPUs和MFU数据通道的硬件设备。NE5000E一共有22个插槽(slot) ,其中4个是留给SFU板(3+1 Active/Passive)的,2个给MFU板(Active/Passive)。
如果比较一些Cisco的CRS核心路由器,我们可以发现,CRS可以支持如下:CRS体系结构
Interface Module
The interface module provides the physical connections to the network, including Layer 1 and 2 functions. Interface modules for the Cisco CRS-1 include:
1-port OC-768c/STM- 256cPoS, 4-port OC- 192c/STM-64c PoS, 16-portOC-48c/STM-16c PoS, 8-port 10 Gigabit Ethernet, 1-port OC-768c/STM- 256c tunable WDMPOS, and 4-port 10 Gigabit Ethernet tunable WDMPHY.
也就是说,CRS对单个线卡40G的支持不仅包含了多个OC-192端口, 8个10G Ethernet端口,而且可以直接支持单个40G的OC-768的端口。如果将72个CRS的线卡槽互连配置起来,其性能最大可达到1152个40G的线卡:
CISCO CRS-1 SYSTEM CONFIGURATIONS
Single-Shelf System Configuration
Switching capacity: 320 Gbps, 640 Gbps, or 1.2 Tbps
Supports 4, 8, or 16 40-Gbps line cards
× 4, 8, or 16 OC-768c/STM-256 PoS ports
× 16, 32, or 64 OC-192c/STM-64c PoS/Dynamic Packet
Transport (DPT) ports
× 32, 64, or 128 10 Gigabit Ethernet ports
× 64, 128, or 256 OC-48c/STM-16c PoS/DPT ports
× 4, 8, or 16 OC-768c/STM-256 tunable WDMPOS ports
× 16, 32, or 64 10 Gigabit Ethernet tunable WDMPHY ports
Multishelf System Configuration
Switching capacity: Up to 92 TbpsSupport for up to 1152 40-Gbps line cards× 1152 OC-768c/STM-256 PoS ports× 4608 OC-192c/STM-64c PoS/DPT ports
× 9216 10 Gigabit Ethernet ports
× 18,432 OC-48c/STM-16c PoS/DPT ports
× 1152 OC-768c/STM-256 tunable WDMPOS ports
× 4608 10 Gigabit Ethernet tunable WDMPHY ports
那么,现在的问题是:是什么原因华为的最高端的路由器不能达到40G(OC-768)的线卡,而只能在10G(OC-192)的层面上?
显然的原因是:华为没有足够的ASIC和/或网络处理器的设计能力。而这一点其实是一个高端数据交换系统的核心技术。
我们来看一看Cisco线卡上的结构。
40 Gbps LINE CARDS
Each line card is separated by a midplane into two main components: the interface module and the MSC. Each Cisco CRS-1 line card maintains a distinct copy of the adjacency table and forwarding information databases, enabling maximum scalability and performance.
Modular Services Card
The Cisco CRS-1 Modular Services Card is ahigh-performance Layer 3 forwarding engine. Each Cisco CRS-1 MSC is equipped with two high-performance, flexible Cisco SPPs, one for ingress and one for egress packet processing. The card is responsible for all packet processing, including quality of service (QoS), classification, policing, and shaping, and it is equipped with three-level hierarchical
也就是说,之所以CRS的线卡能达到40G,是因为其线卡上的MSC卡上存在着两个cisco自己设计定座高端的网络处理器SPP。
这是Cisco对SPP的简单介绍:
CISCO SILICON PACKET PROCESSOR
The Cisco SPP-the most sophisticated ASIC available today, consists of 188 32-bit RISC processors (each of which can work independently to perform a discrete task) per chip, helping enable fully flexible, 40-Gbps processing power. The flexibility of the Cisco SPP facilitates the loading of different features for core, edge, and peer routing, based on software code, onto the same hardware, eliminating the need to have specific engines for core versus edge routing. The ease of introducing new code significantly accelerates time-to-market delivery of new features, services, and applications.
笔者其其他的一些文章中对Cisco公开的SPP的资料做过一些评述,现摘录如下:
“。。。。。。在HFR系统中,一个很重要的部件是一个新的ROUTING CHIP。这个芯片是非常重要的。一个有192个CPU CORE在一个芯片上。下面这个LINK也透露了一些技术细节。
http://www.eetimes.com/showArticle.jhtml?articleID=26806315
通过上述的一下信息,我们可以得出如下结果:
* NPU: From Tensilica Inc. www.tensilica.com
* Every 12 NPU being a Cluster.
* Every NPU with own L1 cache; A cluster shares L2.
* Total 16 Clusters /* 16*12 = 192 NPU */
* Packets are distributed into clusters.
* Two Extra Processor Core: One for Mgt; One for Debug
* Fabric: IBM .13
* Software Arch: Non pipeline based。
* Programming Approach: C/C++
从文章可知,这个芯片的名字叫SPP。2002年的岁末成功设计生产。。。
这就是瓶颈,这就是核心技术。
我们回头来看看华为的宣传的第五代核心路由器的结构。
读者不妨将如下关键字(“huawei core router intel ixp”)在google下做一个快速的查询。我们会比较了解Huawei的路有器(router)产品线的依赖性。为了方便读者,下面是笔者的查询结果:
http://www.google.com/search?q=huawei+core+router+intel+ixp&hl=en&start=10&sa=N
换句话说,华为的高端路由器是用了Intel IXP的网络处理器。更深一步讲,其NE5000E上的LPU是其实现10G(OC-192)的重要一环。
Intel IXP网络处理器是一个系列。用低,中,高档。华为用的是IXP哪款芯片?答案其实很容易。下面是一篇关于工业界10G网络处理器的文章。我们可以非常容易的知道,华为应该用的是IXP28xx系列。
http://www.lightreading.com/document.asp?site=lightreading&doc_id=37698&page_number=4
“Intel: Like the 2.5-Gbit/s IXP2400, the 10-Gbit/s IXP2800 is based on the existing Intel network processor architecture developed for the IXP1200. For the IXP2800 Intel has increased the number of processing units from six to 16 and increased the clock rate from 200MHz to 1.4GHz. For integrated security applications Intel has included two security engines on a variant, the IXP2850. The IXP28xx devices support SPI-4.2 interfaces with a CSIX protocol for communication with the switch fabric.”
让我们走进Intel, 来对IXP28xx做一个粗略的研究。
这是IXP28xx的链接:
http://www.intel.com/design/network/products/npfamily/ixp2855.htm
http://download.intel.com/design/network/ProdBrf/30943001.pdf
如果读者对Intel IXP系列熟悉的话,上面的pdf文件的体系结构图是非常清楚的。 Intel IXP通过一个xscale/arm的CPU core做管理,一堆ME(Micro Engine)做Fast Path或data plane的数据包处理。其数据流程大致为:10G的数据从Ingress进来,.然后转换和通过10G SPI 4.2接口,进入ME的处理。众多的ME可以是流水线的方式,也可以是并行处理的方式来处理数据包。IXP28xx一共有16个ME Engine(笔者注:请注意我们用Engine 这这里刻划ME,而不是用CPU或 网络处理器来描述,具体原因会有详细的叙述。)
读者可以非常清晰的了解到,华为的core router的性能基本上是被其使用的Intel IXP28xx系列所支撑的,换句话说,是被其控制或限制的。SFU的交换做的再快是没有意义的。LPU的速度上不去,是不可能达到40G或更高的,只能通过多个系统互连的方式,可竞争对手也同样会做Cluster而且做的更好,如Cisco CRS的互连,最多可支持1000+多个40G的线卡。非常之惊人。讨论到这里,我们可以非常清醒的认识到,不管是华为的高端以太数据交换机(Switch),还是最高端的核心路由器,其重要的核心部分网络处理器基本上华为没有任何博弈之能力
就这一点,华为就是非常的被动,如履薄冰。。。
如果对Intel IXP ME技术熟悉的读者,就会知道,一旦启用ME,留下的大量的基本上不可通用的微码,调试的困难等等使得一个高端系统非常难于把握。Intel确实提供了其自己开发的C层面的编译器来支持其ME的开发。但有经验的读者都道,要做一个高端系统,使用Intel的C编译器来写数据包的处理,如IPV6等等,基本上是开玩笑。
但华为由别的选择嘛?没有!华为只能在工业界的10G网络处理器中选一款,否则就连10G的路由器都是遥遥无期的,更别说40G的核心路由器了。
华为在其公司网页所吹嘘的所谓采用NP的第5代路由器结构,和公司拥有一批精通NP(其实就是Intel的IXP,一个非常简单的网络处理器。但华为是不可能有实力设计这样的NP的。)的人才,其实是非常的可笑和缺乏专业的评论。
华为应该清醒的认识到,之所以别的巨头公司在用自己内部开发的网络处理器并设计相应的通信产品的时候,华为不得不采用一款被业界非常不看好的Intel的IXP系列,其原始是华为根本不具有自己自主研发高端系统的技术能力。而不是所谓的自诩的“第五代路由器”。所谓的拥有一批精通IXP微码的人才更是非常的无奈。读者如果了解IXP系列产品,就非常了解,IXP系列之Intel的产品线上是非常薄弱的一环,从芯片设计,软件支持等等。基于微码的系统使得一个产品的维护基本上变成一个噩梦。系统毫无灵活性,可扩充性而言。
如果利用IXP系列做数据平面的数据路径(Data Path)是一个最佳的核心路由器的设计结构,放眼全球和美国,谁家采用?硅谷人才济济,无人能理解这个所谓的“第五代路由器”结构?而华为是傲视群雄的佼佼者?