防火墙架构选择
从百兆到千兆,最初只是量变。千兆防火墙在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架构的防火墙相比,性能得到了很大的提高。
NP通过专门的指令集和配套的软件开发系统,提供强大的编程能力,因而便于开发应用,支持可扩展的服务,而且研制周期短,成本较低。但是,相比于X86架构,由于应用开发、功能扩展受到NP的配套软件的限制,基于NP技术的防火墙的灵活性要差一些。由于依赖软件环境,所以在性能方面NP不如ASIC。NP开发的难度和灵活性都介于ASIC和x86构架之间,应该说,NP是X86架构和ASIC之间的一个折衷。目前NP的主要提供商是Intel和Motorola,国内基于NP技术开发千兆防火墙的厂商最多,联想、紫光比威等都有相关产品推出。
从上面可以看出,X86架构、NP和ASIC各有优缺点。X86架构灵活性最高,新功能、新模块扩展容易,但性能肯定满足不了千兆需要。ASIC性能最高,千兆、万兆吞吐速率均可实现,但灵活性最低,定型后再扩展十分困难。NP则介于两者之间,性能可满足千兆需要,同时也具有一定的灵活性。
页:
[1]