随着网络的发展,网络威胁日益严峻,目前各大安全厂商都推出了多核心防火墙,采用多核芯片,终结了x86、NP和ASIC一统天下的时代,终结了高功耗、低稳定性的时代,并且提供了全面的应用安全解决方案。
多核心技术真正实现了千兆的小包吞吐量,相对于以往的X86、ASIC、NP技术,有了革命性的进步。先从以往的这些架构的优缺点讲起:
国内多数安全厂商的产品基于传统的X86架构防火墙,从总线速度来看基于32位PCI总线的X86平台,做为百兆防火墙的方案是没有任何问题的。但X86平台的防火墙方案,数据从网卡到CPU之间的传输机制是靠“中断”来实现的,中断机制导致在有大量数据包的需要处理的情况下(如:64
Bytes的小包,以下简称小包),X86平台的防火墙吞吐速率不高,大概在30%左右,并且CPU占用会很高。这是所有基于X86平台的防火墙所共同存在的问题。
因此,基于32位PCI总线的X86平台是不能做为千兆防火墙使用的问题,Intel提出了解决方案,可以把32位的PCI总线升级到了PCI-E
,即:PCI-Express,这样,PCI-E 4X的总线的速度就可以达到 2000MB
Bytes/S,即:16Gbits/S,并且PCI-E各个PCI设备之间互相独立不共享总线带宽,每个基于PCI-E的网口可以使用的带宽为:2000MB
Bytes/S,即:16Gbits/S,所以基于PCI-E
4X的X86从系统带宽上来说,做为千兆防火墙是没有任何问题的。但是,基于PCI-E的防火墙数据从网卡到CPU之间传输同样使用“中断”机制来传输数据,所以小包(64
Bytes)的通过率仍然为:30-40%.
X86平台的防火墙其最大的缺点就是小包通速率低,只有30%-40%,造成这个问题的主要原因是因为X86平台的中断机制以及X86平台的防火墙所有数据都要经过主CPU处理。基于ASIC架构的防火墙从架构上改进了中断机制,数据从网卡收到以后,不经过主CPU处理,而是经过集成在系统中的一些芯片直接处理,由这些芯片来完成传统防火墙的功能,如:路由、NAT、防火墙规则匹配等。这样数据不经过主CPU处理,不使用中断机制。
但随之而来的问题是,ASIC架构的防火墙是芯片一级的,所有的防火墙动作由芯片来处理。这些芯片的功能比较单一,要升级维护的开发周期比较长。无法在芯片一级完成垃圾邮件过滤、网络监控、病毒防护等比较复杂的功能,所以说,ASIC架构用来做功能简单的防火墙,是完全适用的,64
Bytes的小包都可以达到线速。但是在扩展上通用CPU也是无法和专门的嵌入式CPU比较,并且在总线带宽上也无法承载太多的内部处理数据传输(Multi-core多核处理器内部是通过高速总线或者交叉矩阵式连接的)。
NP架构实现的原理和ASIC类似,但升级、维护远远好于ASIC 架构。NP架构在的每一个网口上都有一个网络处理器,即:NPE,用来处理来自网口的数据。每个网络处理器上所运行的程序使用微码编程,其软件实现的难度比较大,开发周期比ASIC短,但比X86长。
采用多核处理器,是在同一个硅晶片上集成了多个独立物理核心,每个核心都具有独立的逻辑结构,包括缓存、执行单元、指令级单元和总线接口等逻辑单元,通过高速总线、内存共享进行通信。在实际工作中,每个核心都可以达到1Ghz的主频,而且可以在非常节能的方式下运行。
有的多核产品支持500万并发会话64Byte吞吐量达到3G,256Byte以上吞吐达到8G,VPN吞吐达到8G,支持3万VPN通道,支持5万Policy。每秒新建TCP会话超过20万,每秒处理UDP会话超过50万。在每秒创建5000TCP会话作为背景流量,可以检测并防御80万包/每秒以上的SYN-FLOOD攻击,更是达到了万兆线速。一系列的性能测试结果足以傲视众多安全平台。