NP技术在安全产品中的具体应用
发布时间:2006-10-14 8:05:48   收集提供:gaoqian
作者:为亿阳信通安全事业部技术人员 林福生


  近一两年从国内的安全厂商开始进军高端网络安全市场,NP这个名词开始变得流行起来,不过虽然同是NP,但在技术细节上却存在着很多不同的区分,这也直接影响到产品的性能和安全性,下面就让我们NP以及NP的应用,进行一番剖析。

  NP即网络处理器,即专门用于做网络数据处理的芯片。网络处理器在处理器家族中属于专用处理器,即专门为了特殊应用而设计的处理器,它有别于X86系列通用处理器。

  目前提供NP芯片的厂家也很多,基本上都符合NPF指定的规范,就目前国内市场上应用最为广泛的是INTEL公司的IXPXXX系列芯片,包括IXP4XX、 IXP12XX、 IXP24XX 、IXP28XX等;

  IXP系列NP处理器从体系结构上看基本上都一样,都是由一个RISC处理器加一个微引擎构成,RISC处理器主要用于控制微引擎的运行,所以又称为控制层面,微引擎完成对网络数据包的处理,以实现高性能,所以又称为数据层面;不同IXP系列处理器主要是RISC的型号和主频,以及微引擎的个数有所不同;具体的性能参考表一。IXP系列的体系架构虽然相同,但是在性能上却有天壤之别,NP系统是一个更先进的系统,但是一些低端的NP系统却就像最原始的汽车,可能连X86架构下的马车都不如。

  下面就每一种NP芯片的具体特点及应用作一下详细论述。

  - IXP4xx

  IXP4xx的市场定位主要在中低端市场,因此使用基于IXP4xx芯片做出的网络安全产品也主要定位在中低端市场中,特别需要注意的是,IXP425内嵌了一个加密引擎,支持一些公开的密码算法,如:3DES、AES、MD5、SHA1;因此大量安全产商使用基于这种芯片的板卡做出低端的VPN/FW;不过4xx系列芯片产品存在一个致命缺陷,由于不能进行微码编程,而Intel预置的微码又没有完成FW/VPN的处理,因此产商在开发FW/VPN功能的时候,实际上对IP报文的处理是通过533Mhz的Xscale来处理的,因而在性能上比基于X86架构的安全产品性能上不会有太大变化,这可能也是一些国内厂商采取变产品不变价格的策略的原因。




  另外需要特别注意的是,使用这种芯片开发出来的网络安全设备,不是每个网络接口都是快速的。IXP4XX通过ME实现的Ethernet MAC只有两个NPE A 和NPE B,一般板卡设计产商都会通过PCI Bridge扩展多个以太网口。从性能上考量,只有通过NPEA/NEPB的接口是比较快的,而通过PCIBridge扩展出来的网络接口性能相对来说就比较低了;由于IXP4XX的结构设计约束,在任何两个网络接口之间通信都必须通过Xscale进行交换(包括TCP/IP处理),,正是由于了这个限制,基于IXP4XX开发网络安全设备本质上不会比基于X86开发的网络安全设备在性能上有所提高,有的时候反而会更低;

  - IXP12XX

  IXP从12XX系列开始已经可以让软件开发人员根据不同的应用定制微引擎上的微码,以实现不同的功能,不过由于IXP12XX其微引擎只有6个,每个微引擎上可以存储条2k*32位的指令,12XX 系列NP只能用来做简单的包转发处理和QOS处理,至于用作较为复杂的防火墙处理,就显得力不从心了,因此在国内使用12XX系列做出的防火墙性能都不高,要不就是功能十分简单;

  -IXP24XX

  从2003年开始,Intel公司推出了IXP24XX系列的网络处理器,这款网络处理器比12XX系列的网络处理器在性能上有了质的变化;同时基于IXP24XX系列的板卡设计上也复杂了很多;

  目前国内很多安全产商开始使用基于这款芯片的板卡来设计网络安全设备,如防火墙,IDS;但是使用一个IXP2400是否可以做到千兆线速的防火墙呢?让我们看一下下面这张表

  参考自Intel? Internet Exchange Architecture Software Building Blocks Applications

  
Line rate for 4 Gig ports
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50