网络安全领域,产品硬件体系构架主要有两个发展方向——NP以及ASIC。他们分别以NP或者ASIC专用芯片来做安全处理的主芯片。由于这种体系构架的防火墙各有优势,但也各有缺点,所以至今没有谁真正成为主流。
防火墙最传统的构架是X86体系构架,属于入门级的构架,这里入门既是对厂家的,也是对用户的。对于厂家来说,X86体系构架的防火墙是开发门槛比较低,所以国内大多数防火墙厂家都会有X86的防火墙产品。但是,由于X86本质上是一个通用CPU,没有对网络或者安全进行特殊处理,所以对用户来说,其性能不足,做到百兆线速还可以,千兆的时候就会有点吃力。当然,这个构架的产品出现的比较早,在很多安全厂商手里经过多年的锤炼,其稳定性已经非常出色,因此如果对性能不是要求的太苛刻的情况下,还是比较不错的选择。
随着IP网络的快速发展,路由器交换机逐渐从百兆走到了千兆甚至是万兆,对防火墙的转发性能和延迟有了更高要求。这种情况下,NP和ASIC技术加入到安全领域,成为高性能防火墙技术的象征。但是这两者都有着各自的优缺点。
NP网络加速能力非常好,这是它的专长。但是NP弱点也非常明显, NP这个技术从初始设计目的上,是针对路由器进行加速的,它拥有非常好的3层转发加速能力,但是在4-7层的数据处理上,对安全处理上,没有过多考虑。所以现在的多数NP构架的防火墙,主要还要外挂一个高性能CPU进行4-7层处理,这一方面增大了系统成本,另一方面,在实际网络环境下,在比较强的攻击情况下,这种体系构架的NP性能会明显下降。尽管如此,NP构架的防火墙开发难度和先期投入相对较小,我们国内的很多安全厂家都选择了NP构架防火墙路线。在安全策略不太复杂的情况下,NP防火墙做到千兆线速是不成问题,在一些不太复杂的网络中,NP防火墙是个很好的选择。
相比NP,ASIC性能无疑更有吸引力。ASIC是专用加速芯片,这就如同一张白纸,完全按照设计者的目的去设计硬件电路,优化相应的功能模块,然后固化完成ASIC。这种功能专一和完全硬件电路处理,ASIC不会出现NP这种非通用加速芯片的性能问题,特别是在安全策略复杂,网络攻击频繁的情况下,性能不会下降。但是ASIC也有其弱点,不可编程灵活性非常低。特别是研发一款ASIC的前期投入费用非常的大,开发周期,技术实力都远远超过NP。这也是为什么全世界防火墙厂家,也就几个大公司才有自己的专用ASIC,其他的小防火墙公司更多是直接购买别人的ASIC芯片和知识产权。这种情况下,一旦ASIC发现设计缺陷,或者用户有了新需求而必须修改的话,但这种前期的NRE就等于打了水漂了。这点来说,NP对于设备制造商来说,开发风险和难度会小的多。
正式因为这两个体系构架的有着不同优缺点,所以它们之间竞争和论战就一直没有停息过。有一些厂家采取了中庸的策略,ASIC、NP、X86全都做,提供多种选择,用户要求不高,并且对价格比较敏感,就提供X86;如果对性能要求比较高,通常就提供NP构架,如果用户网络攻击太过复杂,一般就使用ASIC构架的产品。
这一定程度上解决了如何选择构架的问题,但是对于厂家来说,确也勉为其难,毕竟多维持一个体系构架,投入的人力就要多一块。而且对于NP技术来说,其成本比流片化的ASIC要高的多,但是因为性能不足,产品定位却要低于ASIC。这使得NP构架防火墙位置有点尴尬,但是其中和的灵活和性能,似乎又必不可少。
今年来,随着芯片技术的不断发展,出现了可编程ASIC。它本质上是ASIC,拥有和ASIC几乎相同的特性,但是它又不是完全固化的,它只是固化了设计者认为不需要修改的处理单元——如内存控制器、MAC单元、交换单元等,内部预留了很多的可编程模块,可以根据实际情况按需改进。这点上来说,它实际拥有了NP的最重要特性——灵活可变。虽然可编程ASIC芯片依旧对开发者要求很高,需要大投入长周期。但是一旦完成开发后,成本都可以得到比较好的控制,价格几乎和ASIC没有太多差别。
随着可编程ASIC在交换路由设备中的成熟应用,部分安全防火墙厂家也开始逐渐向这种技术上转型了,国内外的实力派的安全厂家如Juniper、Fortinet以及天融信都推出了相应的产品。从技术角度,可编程ASIC成为ASIC和NP两大技术流派的一个交汇点,继承了两者的优点,从而将两种争的不可开交的技术最终融合在了一起,很可能成为未来安全芯片领域的一个里程碑。