x86架构网络防火墙和ASIC架构和NP架构的区别
在众多的安全产品中,防火墙产品无疑是保障网络安全的第一道防线,很多企业为了保障自身服务器或数据安全都采用了防火墙。
不同构架各具特色
从百兆到千兆,最初只是量变。千兆防火墙在2000年前后就进入了我国市场。由于百兆网络接口与千兆网络接口的成本相差不大,早期的千兆防火墙仅仅是将百兆接口替换为千兆接口而已。这种基于X86体系结构的千兆防火墙主体仍然是软件,其性能受到很大制约,无法达到千兆的处理速度。因此,这些防火墙只是具有千兆接入能力的防火墙,而不是真正具有千兆处理能力的防火墙因此可以说是一种“换汤不换药”的形式改变。随后几年,随着千兆网络在企业和行业用户中的不断普及,以及用户对性能需求的不断增加,千兆防火墙也逐发生了质变。
这种质的变化首先是人们把目光转移到了专用集成电路(ASIC)和网络处理器(NP)上。相对于X86架构,基于这些架构的千兆防火墙才是真正的硬件解决方案,能够实现千兆处理速度。在这里,我们不妨将X86架构、NP和ASIC放在一起进行技术比较,看看不同技术的优缺点。
X86架构
最初的千兆x86架构网络防火墙。X86架构采用通用CPU和PCI总线接口,具有很高的灵活性和可扩展性,过去一直是防火墙开发的主要平台。其产品功能主要由软件实现,可以根据用户的实际需要而做相应调整,增加或减少功能模块,产品比较灵活,功能十分丰富。
但其性能发展却受到体系结构的制约,作为通用的计算平台,x86的结构层次较多,不易优化,且往往会受到PCI总线的带宽限制。虽然PCI总线接口理论上能达到接近2Gbps的吞吐量,但是通用CPU的处理能力有限,尽管防火墙软件部分可以尽可能地优化,很难达到千兆速率。同时很多X86架构的防火墙是基于定制的通用操作系统,安全性很大程度上取决于通用操作系统自身的安全性,可能会存在安全漏洞。
ASIC架构
相比之下,ASIC防火墙通过专门设计的ASIC芯片逻辑进行硬件加速处理。ASIC通过把指令或计算逻辑固化到芯片中,获得了很高的处理能力,因而明显提升了防火墙的性能。新一代的高可编程ASIC采用了更灵活的设计,能够通过软件改变应用逻辑,具有更广泛的适应能力。但是,ASIC的缺点也同样明显,它的灵活性和扩展性不够,开发费用高,开发周期太长,一般耗时接近2年。
虽然研发成本较高,灵活性受限制、无法支持太多的功能,但其性能具有先天的优势,非常适合应用于模式简单、对吞吐量和时延指标要求较高的电信级大流量的处理。目前,NetScreen在ASIC防火墙领域占有优势地位,而我国的首信也推出了我国基于自主技术的ASIC千兆防火墙产品。
NP架构
NP可以说是介于两者之间的技术,NP是专门为网络设备处理网络流量而设计的处理器,其体系结构和指令集对于防火墙常用的包过滤、转发等算法和操作都进行了专门的优化,可以高效地完成TCP/IP栈的常用操作,并对网络流量进行快速的并发处理。硬件结构设计也大多采用高速的接口技术和总线规范,具有较高的I/O能力。它可以构建一种硬件加速的完全可编程的架构,这种架构的软硬件都易于升级,软件可以支持新的标准和协议,硬件设计支持更高网络速度,从而使产品的生命周期更长。由于防火墙处理的就是网络数据包,所以基于NP架构的防火墙与X86架构的防火墙相比,性能得到了很大的提高。
从上面可以看出,X86架构、NP和ASIC各有优缺点。X86架构灵活性最高,新功能、新模块扩展容易,但性能肯定满足不了千兆需要。ASIC性能最高,千兆、万兆吞吐速率均可实现,但灵活性最低,定型后再扩展十分困难。NP则介于两者之间,性能可满足千兆需要,同时也具有一定的灵活性。