当国内厂商纷纷推出基于NP或ASIC架构的千兆防火墙系统时,用户面对“线速千兆”、“自主研发”、“纯硬件”、“NP”、“ASIC”等大量字眼极其困惑。是否国内大部分厂商都拥有自主研发基于NP或设计ASIC芯片的能力?是否采用了NP或ASIC架构就一定带来高性能?什么样的可以被叫做线速千兆防火墙系统,衡量标准是什么?
陷阱一:千兆线速
性能对于千兆防火墙而言是很重要的一个指标,但是大量厂商均号称自己的千兆防火墙为“千兆线速”,因此对于用户而言很难从本质上了解千兆防火墙的性能指标,而仅仅通过并发连接数等指标考察产品性能,其实这是一个很大的误区。
吞吐量测试数据、丢包率测试数据和延迟测试数据才是衡量一个千兆防火墙性能的指标参数。以太网吞吐量最大理论值称为线速,即指网络设备有足够的能力以全速处理最小的数据封包转发。因此一个千兆防火墙系统要达到千兆线速,必须在全速处理最小的数据封包(64字节)转发时可达到100%吞吐率。
然而目前还没有一款千兆防火墙在64字节帧长时可以达到100%的吞吐率(最好的测试数据仅为72%)。因此号称“千兆线速”的防火墙也仅仅是在帧长为128字节时可能达到100%,然而根据RFC定义,这样的设备并不能称为“线速”。
因此用户在选购千兆防火墙设备时,不要被厂商的市场宣传字眼迷惑,考虑性能时必须从吞吐量、延迟、丢包率等数据确定产品的性能。
陷阱二:“基于NP或ASIC结构”
一些网络安全厂商在市场宣传上大幅度强调采用了NP或ASIC架构,然而对于用户而言,采用何种结构并不是要害点,假如采用NP架构设计的千兆防火墙在性能上同Intel X86架构的千兆防火墙一样,那么对于用户而言就没有任何的价值可取。
无论采用哪种结构(Intel X86、NP、ASIC),只是在数据处理方式方面有所不同,并不能确定采用了NP或者ASIC设计的千兆防火墙在性能上就一定优越于通用CPU结构的千兆防火墙。就拿NP架构的千兆防火墙而言,必须在微码的优化、中间判定环节的减少、策略决策模块同执行模块的分离上面进行技术优化,这样设计出来的千兆防火墙在性能上才能很大程度地优于通用CPU架构的防火墙系统。例如国内的清华紫光比威自主研发的双NP架构千兆防火墙系统,通过两片网络处理器协同工作,使性能在64字节时吞吐率可达80%左右。
背景资料:千兆防火墙的硬件实现技术主要有三种:Intel X86架构工控机、ASIC硬件加速技术和NP加速技术。
Intel X86架构 曾经以其高灵活性和扩展性在百兆防火墙上获得过巨大的成功,然而对于千兆网来说,X86架构的CPU由于考虑了各种应用的需要,具有一般化的通用体系结构和指令集,以求支持复杂的运算并轻易开发新的功能,所以其处理速度相对较慢,很难满足千兆网络对于高线速的需求。
ASIC架构 通过把指令或计算逻辑固化到硬件中,可以获得很高的处理能力。但是ASIC将指令或计算逻辑固化到了硬件中,缺乏灵活性,也不便于修改和升级;深层次包分析(L4+)增加ASIC的复杂度;ASIC的开发周期长,典型设计周期18个月;ASIC设计费用昂贵且风险较大。
NP(网络处理器)采用微码编程,是专门为进行网络分组处理而开发的,具有优化的体系结构和指令集,所以比X86 CPU具备更高的处理性能;而且NP有专门的指令集和配套的软件开发系统,具有很强的编程能力,能够方便地开发各种应用,支持可扩展的服务,因而比ASIC更具灵活性。