博威---云架构决胜云计算

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1965|回复: 1

下一代安全设备硬件平台

[复制链接]
发表于 2007-4-21 13:42:02 | 显示全部楼层 |阅读模式
下一代安全设备硬件平台

安全威胁的复杂化,对下一代网络安全设备也提出了更高的要求:从集成更多、更灵活的功能、更快的处理速度,到面向应用更细粒度的检测,都给安全设备的硬件平台定出了新的标准。未来安全设备的硬件平台会有怎样的发展趋势呢?
  安全威胁的复杂化,对下一代网络安全设备也提出了更高的要求:从集成更多、更灵活的功能、更快的处理速度,到面向应用更细粒度的检测,都给安全设备的硬件平台定出了新的标准。未来安全设备的硬件平台会有怎样的发展趋势呢?我们特地编辑了两篇相关文章,从角度进行分析,以飨读者。

x86架构仍是UTM的理想选择

  作为集成化产品的代表,UTM在越来越多的用户中得到了认可,由于加入了更多的功能应用,其硬件架构的选择也需要注入更多的灵活性。

  传统的三驾马车

  从目前市场上的硬件架构来看,防火墙和UTM产品大概分为三大类:

  第一类是基于x86平台的,这种平台通常使用一颗或多颗主CPU来处理业务数据,网卡芯片和CPU通过PCI总线来传输数据。由于传统的32位PCI总线频率为33MHZ,所以,理论通讯速率为:132 MB/s即:1056 Mb/s。

  从总线速度来看基于32位PCI总线的x86平台,做为百兆防火墙的方案是没有任何问题的。但x86平台的防火墙方案,数据从网卡到CPU之间的传输机制是靠"中断"来实现的,中断机制导致在有大量数据包的需要处理的情况下(如:64 Bytes的小包,以下简称小包),x86平台的防火墙吞吐速率不高,大概在30%左右,并且CPU占用率很高。这是所有基于x86平台的防火墙所共同存在的问题。

  第二类,基于ASIC架构的防火墙、UTM产品。从上面对x86架构防火墙的分析中,我们了解到x86平台的防火墙其最大的缺点就是小包通过速率低,只有30%~40%,造成这个问题的主要原因是因为x86平台的中断机制以及x86平台的防火墙所有数据都要经过主CPU处理。基于ASIC架构的防火墙从架构上改进了中断机制,数据从网卡收到以后,不经过主CPU处理,而是经过集成在系统中的一些芯片直接处理,由这些芯片来完成传统防火墙的功能,如:路由、NAT、防火墙规则匹配等。这样数据不经过主CPU处理,不使用中断机制,理所当然,ASIC是功能相对单一的防火墙的最佳选择。

  但随之而来的问题是,ASIC架构的防火墙是芯片一级的,所有的防火墙动作由芯片来处理。这些芯片的功能比较单一,要升级维护的开发周期比较长。尤其是作为多功能集成的UTM网关来说,无法在芯片一级完成杀毒、垃圾邮件过滤、网络监控等比较复杂的功能,所以说,ASIC架构用来做功能简单的防火墙,是完全适用的,64 Bytes的小包都可以达到线速。但ASIC架构做为UTM就不是理想的选择,因为ASIC架构不可能把像网关杀毒、垃圾邮件过滤、网络监控等这些功能做到芯片一级去。

  第三类,基于NP架构的防火墙。NP架构实现的原理和ASIC类似,但升级、维护远远好于ASIC 架构。NP架构在每个网口上都有一个网络处理器,即:NPE,用来处理来自网口的数据。每个网络处理器上所运行的程序使用微码编程,其软件实现的难度比较大,开发周期比ASIC短,但比x86长。作为UTM,由于NP架构每个网口上的网络处理器性能不高,所以同样无法完成像网关杀毒、垃圾邮件、过滤、访问监控等复杂功能。

  可能有人会问?ASIC 和 NP为什么不可以把网关杀毒、垃圾邮件过滤、访问监控等这些功能放在主CPU上来实现?这样不就可以做为UTM方案使用了吗?实际上,目前有很多基于NP和ASIC的UTM正是这样做的,但问题是ASIC和NP架构的防火墙,其主CPU性能通常很低,如:Intel基于IXP2400的千兆高端NP方案,主CPU只有1.0G,处理能力还比不上Celeron 1.0G,大家可以对照一下与其主频相当的x86平台的处理能力。所以如果以ASIC和NP架构来实现UTM网关,只能是做为低端的方案来使用,如桌面型的UTM,而并不能做为中、高端的UTM来使用。

  谁是合适的"芯"

  言归正传,那什么才是UTM网关合适的硬件方案呢?如果要在上述三种方案中选择一种的话,现阶段的技术条件下非x86架构莫属,当然,随着技术的进步,还有可能出现第四种解决方案,可以做为实现UTM网关的完美平台,但这还有待技术的进一步发展。x86平台的主要缺陷在于64Bytes的小包不能达到线速。但在实际用户中,除非是DoS、DDoS攻击才会产生大量的小包,用户正常的应用不可能产生大量的小包。如果在基于x86平台的UTM产品中,解决好DoS和DDoS攻击的问题,那么,x86平台就是UTM网关理所当然的解决方案。对于这个问题,已经有产品开发了防DoS、DDoS攻击的功能,不但可以防御来自外网的DoS攻击,而且能够防御来自企业内部网络的DoS、DDoS攻击,这样我们的UTM产品就解决了这个问题,使网关的稳定性和可靠性大大加强,在UTM整体性能方面优越于NP、ASIC。在遇到大规模的DoS、DDoS攻击时,也不会占用太多的CPU资源。

  既然选择了x86做为UTM网关的硬件平台,那么,还会存在一个问题:"如果UTM网关处理的业务比较多,是否会影响网络速度?",比较简单的答复是这样的:在CPU占用低于90%的时候,是不会影响网络速度的。因为UTM网关虽然集成了众多的功能,并且要求主CPU来处理这所有的业务。但从业务的方面来看,是独立的,如:收发邮件的数据就不会被做为通过HTTP上网的数据来处理,通过HTTP上网的数据也不会被做为邮件的数据来处理,所以当一个数据包通过UTM时,是分业务分流程处理的,在CPU占用90%以下时,CPU完全可以实时的处理这些业务。但如果CPU占用超过了90%,那怎么办?x86的平台是不是不能解决了?答案是否定的,对于这个问题,x86的平台的方案有两种解决方法:

  方法一:支持多颗CPU。部分高端设备都配备了2颗以上CPU,更高端的设备甚至配备4颗CPU,这样CPU的处理能力也就不会成为瓶颈。

  方法二:使用加速卡。比如把邮件过滤做成一个加速卡安装在系统中,在主CPU发现某个数据包为邮件数据时,把该数据包交给加速卡来完成,不占用主CPU资源。

  综上所述可以得出一个结论,x86架构是UTM网关理想的硬件平台,目前来看,没有其他平台可以代替。

全面对比FPGA和ASIC架构

  由于性能上的优势,FPGA和ASIC一直是安全设备厂商青睐的硬件架构,那么它们之间的区别和应用特点是什么呢?

  FPGA和ASIC的比较

  ASIC是专用集成电路的简称,一般情况下用于性能很高,用量很大的场合。FPGA(Field Programmable Gate Array,现场可编程门阵列)作为现场可编程器件,在最近几年发展非常迅速,其可升级的特性为最大特点。

  FPGA因为具有高度的灵活性,占据了很多ASIC的领域。

  资源利用率和功耗。从FPGA资源利用的角度看,FPGA作为通用器件,在架构设计中是从统计的角度出发进行内部资源的比例分配(比如查找表的输入数量、存储器和逻辑的比例等等)。但是,针对一个安全产品的个案来讲,统计的资源利用情况不一定适合自己的应用。比如存储器资源,特定的体系架构中,作为数据缓冲的内部存储器往往需要很大,但是控制逻辑却不是那么多,这时存储器的资源和逻辑资源的分配出现了失调,不能找到一个合适的FPGA以低成本的方式直接实现。变通的方法只能是修改体系架构,使用外部的存储器,这样就不可避免地增加了成本,降低了可靠性。

  在ASIC的设计中,完全不用考虑资源比例的限制,可以根据实际的需要优化体系架构。

  同样地,因为FPGA的资源利用率比较低,有同样功能的FPGA芯片的功耗会远远大于ASIC芯片,这样就增加了系统的散热负荷,不可避免地增加了成本,降低了可靠性。

  设计难度。对于FPGA的设计难度的估计往往过于乐观。对于前端设计,FPGA和ASIC相差不多。对于后端设计,ASIC往往被认为有着非常长的时间和复杂度,也容易出问题。而对于FPGA来说,后端的实现不是很困难的事情。

  但是,事实上,后端的复杂度是由设计的复杂度和成本约束共同决定的。也就是说,如果同样的设计在ASIC的后端实现中很困难,那么在FPGA中情况只能更加恶化。因为在FPGA中,同样功能的逻辑电路经过映射后的逻辑级数会比ASIC映射后的逻辑级数增加很多,导致时序收敛更加困难。在大部分的FPGA设计中,是用芯片面积来换取性能的,其实质是牺牲了效率,当然带来的结果就是成本的提高。

  灵活性。关于ASIC的批评声音中,很重要的一点就是ASIC不能改变,不具备和FPGA同样的灵活性。这个说法在很大程度上是没有问题的,但是随着技术的发展,ASIC也在从架构角度增加灵活性,以提高ASIC芯片对未来业务的适应能力。经常用到的技术包括:ASIC内部内嵌可编程单元(NP技术类似)、结构化ASIC、增加对未知应用的预留接口等。

  FPGA的低成本方案。在FPGA的单件成本高的问题上,FPGA厂商提出了各自的方案。以领先的两家公司Xilinx和Altera为例,他们分别提出了EasyPath和HardCopy的成本降低方案。

  EasyPath是通过优化测试技术从而只测试用户用到的芯片部分来节约成本。如果一个设计的芯片资源利用率已经很大的话,EasyPath因为没有很大的操作空间,应该不会有很明显的成本降低。

  HardCopy实际上是一种结构化ASIC的方案,已经不能把它作为FPGA来对待。其原理是通过重新映射把原来的FPGA逻辑用结构化的ASIC方式实现。这种方案能够比FPGA明显地降低芯片的尺寸,还可以选择更合理的封装,从而降低成本。但是带来的后果是时序有变化和重新设计PCB板。这种方案也有NRE(None Recurring Engineering,一次性投入费用)的问题。

UTM中的技术路线

  关于UTM技术路线的讨论越来越热烈,下面重点讲一下FGPA和ASIC在这类产品中的作用。

  作为一种集成的安全网关产品,UTM目前最受舆论攻击的弱点就是打开所有的内容安全选项后,设备的性能急剧下降。UTM作为各种安全技术的统一整合体,需要根据各种应用的实际情况来选择合适的架构。通常来讲,作为防垃圾邮件和防病毒,x86的高性能计算能力受到的关注较多。而配合x86的平台,FPGA大多设计为协处理器,以便利用其可灵活编程的能力来用同样的硬件支持不同应用的要求。

  作为VPN功能部分,利用成熟的ASIC来实现IPSec或者SSL VPN可以获得非常高的性能价格比。

  然而,作为UTM的核心控制单元部分,只有ASIC才能够胜任UTM的高性能要求。核心单元需要处理10G左右的会话管理、防DDoS攻击、TCP组流、二层交换、三层路由和交换网处理。这样的性能和功能只有用ASIC才能实现。
 楼主| 发表于 2007-5-10 09:43:59 | 显示全部楼层
安全优化芯片 (SEC)

i-Security通过研究防火墙及其它安全设备,发现对于一般的计算机结构, 需要CPU处理IP数据包的封装、解封,令防火墙不能全面使用CPU的检测及处理能力。 因此,i-Security设计了硬件芯片-安全优化芯片,直接处理部分的网络数据,提高安全系统性能。

安全优化芯片的功能是多重的,其中最重要的就是代替CPU处理P数据包的封装、解封,降低CPU耗用率, 并立即响应到网卡端口。对于一些高层的应用则被分解成多个小的任务由安全优化芯片来处理,这样CPU资源就可以更多应用高层检测上。

CPU已经承担了高层应用检测,如果与防火墙的状态检测相匹配的状态表也由CPU来处理,会出现网络瓶颈现象,安全优化芯片的另一个重要功能就是替代CPU进行状态表检测。

此外,安全优化芯片还会存储、管理硬件及系统的一些硬件参数,并发送给操作系统。这部分信息用于系统状态分析。

基于上述的SEC的功能及特性,i-Security相信,我们可以提供高性能的、可信赖的、便于管理的安全专用平台。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|boway Inc. ( 冀ICP备10011147号 )

GMT+8, 2024-11-1 07:16 , Processed in 0.087190 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表