作者:启明星辰
解决UTM中性能与功能的矛盾,一般有两种途径:选择合适的高性能硬件平台或对软件进行体系架构的优化。选择合适的硬件平台是比较直接、快捷的方式。安全产品的硬件承载平台一般有X86、NP、ASIC、多核SOC等几种。
1 x86架构
x86架构,也称为CPU架构,采用通用的x86 CPU作为整个系统的转发核心,具有很高的灵活性和可扩展性,一直是安全网关开发的主要平台。其产品功能主要由软件实现,还可以根据用户的实际需要做相应调整,增加或减少功能模块,产品比较灵活,功能十分丰富。例如,现在安全网关的趋势就是向UTM方向发展,在一个产品中集成防火墙、入侵防御、防病毒及内容过滤等特性,x86架构的安全网关可以很方便地集成上述功能。
但该架构的性能发展受到CPU体系结构的制约,作为通用的计算平台,x86的结构层次较多,不易优化,特别是在小包处理中,x86的进程调度、中断处理等都会大幅降低整机吞吐量。同时,x86作为通用CPU,没有为网络转发及安全计算进行优化,因此基于x86的硬件平台仍很难达到千兆速率。
x86架构安全网关的特点:
·优点:灵活,功能丰富,开放性好,是百兆和千兆中低端防火墙的主要架构;
·缺点:性能提升困难,特别是小包处理时性能下降严重。
NP(Network Processor:网络处理器)是专门为网络设备处理网络流量而设计的处理器,在其体系结构和指令集中对网络设备常用的包过滤、转发等算法和操作都进行了专门的优化,可以高效地完成TCP/IP协议栈的常用操作,并对网络流量进行快速的并发处理。NP通过专门的指令集和配套的软件开发系统,提供强大的面向网络报文处理的编程能力,因而便于开发应用,支持可扩展的服务,而且研制周期相对较短,成本比开发ASIC低。
但是,相比于x86架构,由于应用开发、功能扩展受到NP的配套软件的限制,故基于NP技术的防火墙的灵活性要差一些,而且还依赖软件环境,所以在性能方面NP不如 ASIC。特别是在防火墙的关键性指标——“多策略复杂环境下的吞吐量”上,NP架构的劣势更加明显。NP芯片的基本结构如图2-2所示,核心是xScale CPU,该CPU是一款低端ARM内核的CPU,其处理能力仅相当于Intel P3 CPU,而NP架构防火墙的查表(安全策略表)操作只能由该xScale CPU处理,因此在大流量、多安全策略环境下,NP架构防火墙的吞吐量会出现明显下降。(注:在高端NP路由器中,由外置TCAM芯片实现查找路由表的操作,但该技术无法应用到NP网关中)
同时,NP芯片主要的设计方向是路由器类的网络设备,几乎没有任何针对安全设备的加速功能,所以NP复杂且相对固话的报文处理流程决定了这类架构的安全网关几乎不可能提供高级安全特性,如入侵防御、病毒过滤等,而只能作为纯粹的防火墙使用。
NP架构安全网关特点。
·优点:灵活性优于ASIC,性能优于x86,开发流程要比ASIC短。
·缺点:性能低于ASIC,灵活性低于x86;多安全策略环境下性能下降;不能升级到UTM设备,无法提供高级安全特性。
ASIC(Application Specific Intergrated Circuits)架构安全网关通过专门设计的ASIC芯片逻辑进行硬件加速处理,这种ASIC完全按照设计者的目的去设计硬件电路,优化相应的功能模块,然后固化完成ASIC。ASIC架构的优势是性能高,转发性能与安全策略数量无关。
ASIC架构的主要缺点表现在以下两个方面。
一是灵活性不够,开发费用高,开发周期太长。由于ASIC架构的固定性与安全网关需要面对的复杂威胁相互矛盾,因此ASIC架构从开发周期上无法应对层出不穷的安全威胁,只适合于功能固化的防火墙、***类产品。
二是新建连接的速率不高,实际上这类架构产品的基础模型是ASIC+x86 CPU,由x86 CPU负责系统管理、策略配置及连接建立,然后将相关的安全策略和连接信息同步到ASIC芯片中,由ASIC芯片实现基于状态的策略控制和报文过滤;ASIC芯片与CPU的状态信息需要不断同步,因此ASIC架构的性能“短板”是新建连接的速率低。
总结ASIC架构安全网关的优缺点:
·优点:转发性能比NP、X86高;
·缺点:功能固化,新建连接的速率低,无法支持高级安全特性。
多核(Multicore)架构是目前最新的高性能
安全网关解决方案。所谓多核架构,是指以多核处理器为转发核心的安全网关设备。多核处理器大多基于MIPS64体系,在一个多核处理器中同时支持2~16个独立构架的
CPU。同时,多核处理器在开发时即考虑到了用户的应用要求,主流多核处理器均集成了硬件加密、正则匹配等硬件协处理器和
网络应用加速器,非常适合安全网关类产品如防火墙、***、防病毒、入侵防御等设备采用。多核架构的安全网关从技术角度来说是相当完美的:高吞吐量、会话建立速度高、硬件支持多种高级安全功能等。
多核架构现有的不足就是开发难度大。
总结多核架构安全网关的优缺点: