中关村在线

网络安全

安全有芯 主流防火墙CPU技术深入解读

近年来,随着网络的发展,越来越多的用户信息储存在各种网络服务中,以及更多的商业机密、用户财产置身网络中或者通过网络传播,使得网络成为众多不法之徒眼中肥肉。与之相悖的是,企业和用户淡薄的安全意识,更是给了罪犯以可乘之机。

即便是有安全意识,购买安全设备防护的企业,采购人员对防火墙等设备也没有及其深入的了解,认为有了防火墙就一切万事大吉。须知,防火墙与防火墙也有许多的差别,不同的品牌之间、型号之间等等。更有许多的安全厂商,拿着不入流的产品忽悠用户,这时候用户就要搽亮双眼、全面透视防火墙,抓住要点,才能找到真正安全的防火墙。

万丈高楼平地起,对防火墙影响最大的还是防火墙架构方案,更深入的说是防火墙处理器架构方案。一般来说,迄今为止防火墙芯片解决方案有X86、ASCI、NP和多核四种架构,它们之间到底有哪些本质区别的呢,今天我们就来揭开它们的真面目。

基于通用CPU的X86架构的安全网关,一般采用Intel或AMD公司的芯片,X86在架构系统时还需要北桥和南桥芯片,采用该种硬件架构,软硬件配套资源比较多,便于快速推出产品,企业投资少,最初的防火墙大都是基于X86架构。X86架构采用通用CPU和PCI总线接口,具有很高的灵活性和可扩展性,过去一直是防火墙开发的主要平台。其产品功能主要由软件实现,可以根据用户的实际需要而做相应调整,增加或减少功能模块,产品比较灵活,功能十分丰富。

但其性能发展却受到体系结构的制约,作为通用的计算平台,x86的结构层次较多,不易优化,且往往会受到PCI总线的带宽限制。虽然PCI总线接口理论上能达到接近2Gbps的吞吐量,但是通用CPU的处理能力有限,尽管防火墙软件部分可以尽可能地优化,很难达到千兆速率。同时很多X86架构的防火墙是基于定制的通用操作系统,安全性很大程度上取决于通用操作系统自身的安全性,可能会存在安全漏洞。

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

X86平台的防火墙其最大的缺点就是小包通速率低,只有30%-40%,造成这个问题的主要原因是因为X86平台的中断机制以及X86平台的防火墙所有数据都要经过主CPU处理。早期的千兆防火墙仅仅是将百兆接口替换为千兆接口而已。这种基于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的防火墙,其最高性能只能达到2Gbps!同时CPU和外围芯片组发热比较大,产品寿命和稳定性难以保证。

相比之下,ASIC防火墙通过专门设计的ASIC芯片逻辑进行硬件加速处理。ASIC通过把指令或计算逻辑固化到芯片中,获得了很高的处理能力,因而明显提升了防火墙的性能。新一代的高可编程ASIC采用了更灵活的设计,能够通过软件改变应用逻辑,具有更广泛的适应能力。但是,ASIC的缺点也同样明显,它的灵活性和扩展性不够,开发费用高,开发周期太长,一般耗时接近2年。

虽然研发成本较高,灵活性受限制、无法支持太多的功能,但其性能具有先天的优势,非常适合应用于模式简单、对吞吐量和时延指标要求较高的电信级大流量的处理。ASIC芯片集网络包处理和内容处理为一身,芯片首先完成流重组,然后直接在网络层匹配规则,并执行动作处理安全事件,需要进一步分析的才送CPU。网络中90%以上的数据在ASIC芯片中直接完成处理。

基于ASIC架构的防火墙从架构上改进了中断机制,数据从网卡收到以后,不经过主CPU处理,而是经过集成在系统中的一些芯片直接处理,由这些芯片来完成传统防火墙的功能,如:路由、NAT、防火墙规则匹配等。这样数据不经过主CPU处理,不使用中断机制。但随之而来的问题是,ASIC架构的防火墙是芯片一级的,所有的防火墙动作由芯片来处理。这些芯片的功能比较单一,要升级维护的开发周期比较长。

几年前,以Intel为代表的国际芯片厂商推出了具有革命性意义的网络处理器(NP),业界观察家也曾十分看好并极力称颂,NP将引发不可预期的网络革命。然而,NP并没有如观察家所期待的那样结出硕果,各NP厂商的NP业务基本都处于亏损状态。 从2002年开始NP开始在网络安全领域应用,2003年IBM就把NP业务卖给了Hifn,2006年6月27日,Intel正式宣布把NP业务卖给Marvell。

网络处理器比较典型的产品有Marvell(Intel)公司的IXP1200系列、IXP2400系列和IXP2800系列和Freescale(motorola)公司的C-5、Cisco公司的Toaster 2、Hifn(IBM)的NP3G4S等。

NP架构实现的原理和ASIC类似,但升级、维护远远好于ASIC 架构。NP架构在的每一个网口上都有一个网络处理器,即:NPE,用来处理来自网口的数据。每个网络处理器上所运行的程序使用微码编程,其软件实现的难度比较大,开发周期比ASIC短,但比X86长。

最早提出网络处理器开发的时间是1997年,正式的商用芯片于2000年面世。Intel、IBM、Motorola、MMC Networks、Ezchip、Lucent、Vitesse(Sitera)等厂商参与了网络处理器的早期研究。这一阶段仅仅是研究阶段,而真正将网络处理器投入商业应用的厂商是中国的华为,2000年华为开始开发基于网络处理器的核心路由器,并率先推出了基于NP的NE80/NE40系列核心路由器产品。

市面上除了传统的x86、NP和ASIC架构的防火墙外,又出现了一个新的防火墙设计——多核防火墙。多核是在同一个硅晶片上集成了多个独立物理核心,每个核心都具有独立的逻辑结构,包括缓存、执行单元、指令级单元和总线接口等逻辑单元,通过高速总线、内存共享进行通信。在实际工作中,每个核心都可以达到1Ghz的主频。因此,多核技术无论在性能、灵活性还是在开发的成本和难度方面,都是其他架构不能比拟的。

目前各种芯片厂商推出的多核芯片共分三种: 一种是Intel、AMD推出的2核、4核的通用处理器,适用于桌面笔记本电脑等通用领域; 一种是IBM、SUN分别推出的cell和SPARC架构的多核处理器,主要用于图形处理和运算; 第三种是RMI和Cavium推出的基于MIPS架构的嵌入式多核处理器,主要应用于数据通信领域,它最适合用于信息安全产品的开发。

嵌入式CPU在系统架构上针对数据包处理进行了专门优化设计,在数据包转发性能上较通用CPU要高很多。另外,嵌入式CPU可以完成L3-L4层应用业务类型的处理,也可以完成对L4-L7层业务的处理。MIPS64架构是MIPS技术公司的基于64位的处理CPU。RMI采取MIPS64 R2核。

RMI采取MIPS64 R2核,已经有8核(XLR732)处理器,但是每个核上最多可以有4个硬线程,因此最多可以有32个线程。每个核最高频率为1.5Ghz。硬线程之间通过一个高速的RING(称之为FMN,Fast Message NetWork)通信,RING是一种交叉式的,不是共享式的,因此可扩展性会很好。同样的RMI也提供了很多硬件单元来处理Packet。产品分为XLR和XLS两个家族,主要是支持内核数量和适用产品的差别。

展开全文
人赞过该文
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具