Chinaunix首页 | 论坛 | 博客
  • 博客访问: 809128
  • 博文数量: 198
  • 博客积分: 4036
  • 博客等级: 上校
  • 技术积分: 2173
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-19 22:31
文章分类

全部博文(198)

文章存档

2010年(4)

2008年(8)

2007年(143)

2006年(42)

2005年(1)

我的朋友

分类: 网络与安全

2007-08-23 13:32:32

————选购防火墙不能只看吞吐量——透视基于ASIC芯片的防火墙    联想网御  王宇 
 
随着防火墙产品的广泛应用,用户对防火墙产品的性能提出了更高的要求。于是,开发基于ASIC芯片架构的防火墙产品,成为某些防火墙厂商的发展热点。从ASIC防火墙的实现原理来看,它通过专门设计的ASIC芯片逻辑进行硬件加速处理,通过把指令或计算逻辑固化到芯片中,获得很高的处理能力;另外,基于ASIC芯片架构的防火墙将包括状态表项、路由表项以及VLAN表项等存储在芯片中,以提高防火墙的处理速度。那么,基于ASIC芯片架构的防火墙是否真的具备高性能的特征了呢?注:即使作为没有ASIC的厂家,也没法否认ASIC芯片的高速能力)

    我们知道,所谓防火墙的高性能,不是指防火墙性能中的某个指标,而需要综合考虑多个指标。一般来说,防火墙的性能包括吞吐量、延迟、背靠背、丢包率、最大并发连接数以及每秒新建连接数等六项指标。

    一般防火墙的延迟在几十毫秒到几百毫秒之间,而一般用户访问服务器需要经过十几甚至几十个设备,因此,在用户实际应用中,防火墙的延迟对于用户的影响几乎是感觉不到的注:第一、概念错误,现在一般防火墙是几十微秒到几百微秒,原文说的毫秒数量级大了点,当然不排除联想设备就这个数量级。第二。科学研究表明,人耳对10毫秒的声音延迟会有分辨能力,换句话说,如果IP电话延迟10ms以上,人耳会听见回声。每个设备500微秒延迟、30个网络设备下来就是15毫秒了。如果按照原文更可怕,延迟要几秒,IP电话真的成了对讲机了。结论:对于网络电话、QQ语音、会议等实时通信业务,延迟小的设备非常重要);背靠背是考察防火墙为保证连续不丢包所具备的缓冲能力,当网络流量突增而防火墙一时无法处理时,它可以把数据包先缓存起来再发送,可见,背靠背这一性能指标是有具体意义的,但是随着带宽的不断增长,防火墙内存能缓存的数据包也是非常有限的,有数据表明,在百兆环境中,10M内存只能缓存1秒钟的数据流量,因此,背靠背这一性能指标在实际评估防火墙性能时没有太大意义注:这个结论我同意,但是理由不同意。背靠背能力就像一个公司的货物仓库,进来货还没有发出去,就只能放在货舱里面,所以对于普通防火墙来说容量大了自然好。但是**ASIC完全不是这么回事,ASIC转发数据完全是硬件电路的信号的变化,速度太快了几乎用不到这个仓库,就像DELL零库存销售一样,不用仓库,数据随来随走,这就是ASIC高速的好处。背靠背这个指标在线速交换机、ASIC防火墙等高速设备上没有实际意义了);丢包率其实就是考察防火墙的吞吐能力,故丢包率这一性能指标也就显得不是那么重要了,仅供参考而已。因此,衡量防火墙性能高低,关键要看其吞吐量、最大并发连接数以及每秒新建连接数等性能指标。

    基于ASIC芯片架构防火墙在吞吐量性能方面的优点很突出,其吞吐量都能达到100%线速;但是其缺点同样也很突出,最大并发连接数低、每秒新建连接数低,无法满足一般企业的日常需要,更别提大型企事业单位,尤其是电信运营商的需要了。

ASIC防火墙吞吐量指标突出

    吞吐量是指防火墙在不丢包情况下能转发的最大网络数据包数量。随着Internet的日益普及,各企事业单位内部网用户访问Internet的需求在不断增加,某些企事业单位也需要对外提供诸如HTTPSMTP/POP3邮件以及FTP文件传输服务等,这些因素会导致网络流量的急剧增加。而防火墙作为内外网之间的唯一数据通道,吞吐量的大小将直接影响到网络的整体性能。如果吞吐量太小,就会成为网络瓶颈,给数据在网络中的传输效率带来负面影响。因此,考察防火墙的吞吐能力有助于我们更好的评价其性能表现,这也是测量防火墙性能的重要指标。

测试表明,某些厂家推出的基于ASIC芯片架构64M内存的防火墙在最理想情况下,最大并发连接数为5万,每秒新建连接数是400。如果以每秒新建连接数900来看,其最大并发连接数只有7190,也就是说,如果每秒新建900个连接,将导致绝大部分的连接建立失败注:**系列产品极限最大并发连接可以做到200万,出于市场销售,目前xx限制为 140万,xx限制为 180万;**每秒新建连接,边建边拆3/s,只建不拆5/s。事实摆在这里,研发测试部拿IXIA测试仪打出来的,剩下的咱啥都不说了)可见芯片本身对每秒新建连接数带来了负面影响。而且,在测试最大并发连接数与每秒新建连接数过程中,这种防火墙容易死机,在对CPU采取限制措施后,偶尔还会出现死机状况(注:这点好好说说,首先**产品并发连接处理是ASIC处理,和CPU一点关系都没有,自然没有导致CPU死机问题。其二、还要说说**的CPU系统,**内部除了ASIC芯片,还有一个管理CPU,是个很高端的Intel CPU,平时CPU什么活都不干,就是指挥指挥ASIC,喝着茶看着ASIC转发数据,一般累不死,CPU不死,设备可管理性就不会有问题)。

ASIC防火墙连接数表现差强人意

    并发连接数是指防火墙对其业务信息流的处理能力,是防火墙能同时维护的网络连接数量,它反映了防火墙设备对多个连接的访问控制能力和连接状态跟踪能力,这个参数的大小直接影响到防火墙所能支持的最大连接数。每秒新建连接数是指防火墙在单位时间内所能建立TCP/HTTP连接数量,这个参数的大小直接影响防火墙在单位时间内所能建立的最大连接数量,这也是考察防火墙性能的一个重要指标。

    那么,一般防火墙到底需要多少个连接呢?不同的服务所建立的连接数是不一样的。如HTTP服务,每个herf都将是一个连接,这就表示显示一个就要新建立一个连接,因此,浏览一个网页通常出现20个以上的连接,这种连接建立的快,拆除的也快;FTPTelnet就不一样了,使用FTP或者Telnet下载上百兆的文件,也只是一个连接,但如果使用多线程下载工具,如FlashGet,每个下载任务可同时开启10个线程进行下载,每个线程就是一个连接,且这种下载工具最多可支持8个任务同时下载。假设有100个员工组成的中小型企业网需要上网,其中同时浏览网页的有30人,有10人分别使用10线程下载文件,有20人在进行如FTP、数据库访问这样的连接,剩下40人不对外访问。很显然,每秒新建400个连接的防火墙根本无法满足该企业的日常需要,更无法满足大型企事业单位,尤其是电信运营商的需要(注:说的对,每秒400新建连接是不够的。而Juniper最高端电信级机架产品NS-5400则是每秒2.5万新建连接,**是3万,远远大于400,完全能满足网络运营的需求)

    但是,目前市场上流行的基于NP架构的防火墙,例如联想网御强五系列防火墙,其每秒新建连接数可达1800064Bytes小数据包处理能力可达7Gbps512Bytes以上数据包处理能力可达到万兆级,这样的防火墙产品就可以很好地满足上述企业的网络需求。

ASIC防火墙整体性能亟待改进

    另外,基于ASIC芯片架构的防火墙将包括状态表项、路由表项以及VLAN表项等存储在芯片中以提高处理速度。但是,这些表项的存储大小都有很大的限制,大部分依靠CPU来处理,如状态表,它的建立和生效需要依靠CPU。由于芯片本身存储项有限,与CPU处理的状态表项之间需要调度和交换,容易引起程序不稳定,从而影响防火墙的稳定性注:这没CPU什么事。包括状态表在内所有表项,就**而言,则完全是放在ASIC自带的二级缓存里面了——这个缓存比较大,可以放好多表,现在二级缓存还有很多空间空着。谁觉着哪个表不爽,要翻几番,我们几行代码就搞定,只是太大了没有意义)

    一些厂家的ASIC芯片本身可存储的规则数只有2000条,这个上限是很容易达到的,特别是下地址组时,在大型企事业单位或者电信运营商的具体应用环境中,这一上限显然更容易达到。而多余的规则将需要依靠CPU来处理,这样涉及到交换与调度的效率以及程序本身的稳定性。对于应用层上的内容过滤,目前有些厂家生产的ASIC芯片防火墙本身还无法处理。

    由此可以看出,某些厂家推出的基于ASIC芯片防火墙虽然有其自身的优势,但也有一些明显的不足。从每秒新建连接数这一性能指标来看,一些厂家推出的该架构防火墙严格来讲,并不能算作高性能防火墙;且从芯片规则数限制以及内容过滤功能来看,这些防火墙也不能很好满足用户对防火墙功能方面的需要。

结论:

这篇文章没有正面攻击ASIC慢,这点不可能有人相信,因为理论上ASIC的确比NP快。因此文章从侧面试图攻击几个技术点来说明ASIC不行,但是这些点很多和事实不符,所以整篇文章观点很难站住脚。

对于**防火墙,其主要技术优点就在于:高吞吐率、低延迟、大连接数,可以保证这个防火墙未来相当长的时期都可以满足用户网络性能需要。加上我们**的硬件体系构架的能力冗余特性——内存空间较大、二级缓存较大、ASIC可编程修改升级、高性能管理CPU,因此系统有很强的扩充能力,如果未来有什么新应用、新攻击、新协议,我们还是可以通过修改程序,用户现场直接升级芯片代码和软件包来进行支持。

阅读(3241) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~