欢迎来到天天文库
浏览记录
ID:6546586
大小:136.00 KB
页数:7页
时间:2018-01-17
《安全产品架构分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、安全产品架构分析 “安全”的网络,离不开安全产品,而高端的安全产品则更是焦点。万兆性能和深度报文处理已成为高端产品的基本需求。能否从设计上就既保证强大的性能和丰富的功能,同时又最大限度的降低和保护用户投资,构建一个“弹性”的产品平台,成为高端安全产品架构设计的精髓。 安全产品的基本架构安全产品如同其他数据通信产品一样,其系统架构设计也有着基本原则和定式。即使是面临新的挑战,这些基本的设计框架依然得到了延续,但在具体的方案和实现上,却有着不同的优化和改进。最基本的一个设计框架就是安全产品基本上都基于“快速路径+慢速路径”的设计原则(图
2、1),这是由安全产品的技术特点决定的。快速路径用来完成基本的数据转发和交换(尤其是数据流的后续报文,特点是流量大),而慢速路径进行深度的协议处理(不但包括数据流的首包处理,还包括对payload的复杂处理,特点是处理复杂)。从具体实现上看,业界主流厂商安全产品大致可以分为如下几类:1.ASSP+通用处理器平台(X86Server/嵌入式系统)2.FPGA/ASIC+多核处理器/通用X86处理器3.多核处理器+通用X86处理器4.NP+多核处理器5.FPGA/ASIC+NP+多核处理器/通用X86处理器从架构上看,1是一种架构,所有功能都依赖
3、于通用的CPU处理平台(图2),而2、3、4、5的产品架构比较类似,可以统一归纳为一种架构(图3)。这两种架构最大的区别就在于其是否有专门的部件或模块,来独立完成快速路径的处理。这里,我们把第一种架构,即完全基于通用处理器来完成所有报文处理的架构称为“纯软件的设计架构”(架构A),而把有专门部件或模块进行快速路径处理的架构称为“基于硬件加速的架构”(架构B)。需要注意的是,对于纯软件的架构设计,处理器平台其实也有不同的选择,比如可以是X86架构的通用处理器,也可以是单核的嵌入式处理器如PowerPC,还可以是最新的多核处理器。相对于X86处
4、理器和嵌入式处理器,多核处理器由于其在单颗芯片内集成了更多的CPU处理单元,因此其在处理能力上比前两者更高,辅助于优秀的软件系统设计,是目前通用处理器上较好的选择。当然,考虑到其也是靠软件编程来实现各种功能的,在下文中针对通用处理器平台就不再分开讨论了。纯软件的架构设计,是最常见的一种安全产品设计方案,也是一种通用的安全产品架构设计,可以称之为“万能”设计。对于安全领域的各种产品形态,都完全可以采用架构A的方案进行设计。在这种架构上面,产品的所有特性和功能都是通过编写软件代码来实现的,可以最大限度的实现灵活性、复杂性和扩展性。另外,从技术难
5、度和成本来讲,架构A也是很有优势的。但是,架构A的缺点也显而易见——性能比较差。即使是使用目前业界最高端的CPU来实现,在复杂业务处理的情况下也很难达到2G以上的吞吐性能。这不仅仅因为在架构A中所有的功能都用软件完成,本身对处理器而言就是很沉重的负载,而且,通用处理器(包括多核处理器)在外围接口上,往往因为其考虑了更多的通用性而造成不能够达到很高的带宽。所以,在业界的安全厂家中,架构A在中低端安全产品中采用的比较多,设计的产品往往都具有较好的性价比。对于高端的安全产品,为了达到更高的性能目标,则必须采用基于硬件加速的产品架构设计,即架构B。
6、架构B有什么优势呢?首先,把处理相对比较简单、但是流量很大的“快速路径”从处理器上“卸载(Offload)”下来,把“宝贵”的处理器资源留给复杂的协议处理和报文的深度检测。另一方面,因为专用芯片如FPGA/ASIC、NPU等本身又具有很高带宽的外部接口(如多个DDRRAM、SRAM、TCAM接口等),具有很强的报文处理能力,让这些芯片去承担大吞吐量的快速路径处理,恰恰充分发挥了它的特点。这样的系统设计就达到了很好的平衡——“物尽其用”,让每颗芯片都去完成其最擅长的功能,充分发挥其硬件加速的特点。高端安全产品的架构设计“基于硬件加速的架构”(
7、图3),其慢速路径的通用处理器单元可以基于多核处理器来实现,这种选择相对于基于X86的处理器和嵌入式处理器在处理能力上更有优势,灵活性也很强,是目前主流的实现方式。在快速路径的设计上,根据前面的描述,也有各种各样的实现方案(如实现方式2、3、4、5),这些不同的实现方案采用了不同的芯片如FPGA/ASIC、NPU及多核处理器等。面对这些组合,该如何看待其方案的差异性呢?在分析这个问题之前,先来看看高端安全产品的一个设计理念——从处理器上卸载更多的业务。安全产品因为其业务处理的复杂性和多变性,导致不可能完全采用ASIC来完成所有的业务处理,这
8、一点在本文前面已经有所讨论。所以,通用处理器在安全产品中是必不可少的一个部件。但是,通用处理器的性能差也是无法避免的。因此,要想达到更高的性能,就必须尽可能的让更多的流量不通过通
此文档下载收益归作者所有