发信人: Sinbad <anonymous@anonymous.com> 标 题: 防火墙面临结构升级 发信站: 辛巴达 (Mon Feb 17 16:06:05 2003)
工控机、ASIC到网络处理器 从软到硬
经过若干年的讨论后,对于防火墙的存在形式,人们已经有了统一认识——还是硬件防火墙性价比高。
基于ASIC的防火墙依靠其优异性能成为目前公认的最好的防火墙。
但是,由于种种原因,这种技术并不适合于国内厂商发展。
那么,国产的防火墙该靠什么来崛起呢?有人提出,要靠最新的网络处理器(NP)技术。
目前,国内外各种品牌的防火墙在功能上大同小异,而且随着Intel X86CPU性能的快速提高,基于Intel X86架构的防火墙在100Mbps带宽下的性能也可以满足用户的需求。但是,随着千兆网络的建设或升级,新的问题又摆在防火墙厂商和用户的面前,带宽提高了9倍,可是系统总线、接口没变,CPU的处理能力却不可能提高9倍,对于要完成包括包过滤、代理、NAT、防攻击等多项任务的防火墙来说,原有的硬件和结构不可能满足千兆环境的性能要求。这就决定了在下一阶段,性能将成为防火墙产品的竞争焦点,也是国内外厂商、用户关注的热点。
软硬结合一直是防火墙设计和实现的主要方法,对于提高性能来说,硬件技术是关键。高速网络环境下千兆防火墙产品的数据处理包括过滤、内容检查、高速交换、加解密等诸多方面,没有高性能的硬件就不能保证千兆以上的线速处理,而缺乏灵活性就不能满足千兆防火墙产品对网络协议进行二到七层处理的需求。这就需要使用具有高性能、高灵活性以及高可靠性的专用网络设备。网络处理器以其杰出的包处理性能及可编程性成为构筑网络转发引擎不可替代的核心,它已经成为新一代网络设备的核心处理器,是未来网络设备的发展趋势。
网络处理器比工控机、ASIC更适于千兆
网络处理器顾名思义即专为网络数据处理而设计的芯片或芯片组,能够直接完成网络数据处理的一般性任务,如TCP/IP数据的校验和计算、包分类、路由查找等,同时,硬件体系结构的设计也弥补了传统IA体系的不足,它们大多采用高速的接口技术和总线规范,具有较高的I/O能力,这样,基于网络处理器的网络设备的包处理能力得到了很大提升,很多需要高性能的领域,如千兆交换机、防火墙、路由器的设计都可以采用网络处理器来实现。
千兆防火墙的硬件实现技术主要有三种:Intel X86架构工控机、ASIC硬件加速技术和网络处理器加速技术。Intel X86架构的硬件以其高灵活性和扩展性一直受到防火墙厂商的青睐。在百兆防火墙比较容易地获得成功后,很多开发商对千兆防火墙产品的开发也很乐观,认为通过提高CPU主频,扩大内存、用最好的千兆服务器网卡等手段就能直接满足千兆环境的需求,但实际情况却并非如此,其中最主要的问题就表现在性能上。
由于采用PCI总线接口,Intel X86架构的硬件虽然理论上能达到接近2Gbps的吞吐量,但实际应用中,尤其是在小包情况下,远远达不到标称性能,通用CPU的处理能力也很有限。而且,由于X86 CPU的广泛应用,很多网络攻击,尤其是溢出攻击很容易实现,设备自身的安全性较低。而网络处理器不但处理性能高,由于采用了ARM、PowerPC或 MIPS CPU,能防范大多数的溢出攻击,提高了自身的安全性。不过,对于性能和安全要求不太高的用户来说,基于Intel X86架构的防火墙基本可以满足需求。
国外有部分厂商的防火墙产品采用了ASIC专用硬件加速,如NetScreen的高端防火墙。这样做可以明显提升防火墙的吞吐性能,但对于升级维护的灵活性和扩展性不够,而且开发费用高,开发周期长,一般需要两年以上的时间,不利于公司快速推出满足用户不断变化需求的防火墙产品。网络处理器是一种非基于ASIC的IC或IC芯片组,利用软件编程,网络处理器可以像ASIC那样快速地处理数据包。同时可以通过升级芯片上的固件增加新的功能。其固件既可以由网络设备厂商编写,也可由第三方加载到处理器中。一般而言,网络处理器比基于ASIC的设计解决方案能缩短上市时间,并能节约几百万美元的资金。同时,由于知识产权包含在软件而不是硬件中,因此,网络设备制造商可以很方便地重复应用他们的秘密,从而使下一代产品的设计成本进一步减少,使上市时间更短。
两种可用的网络处理器结构
在开发基于网络处理器的防火墙之前,最重要的工作莫过于选择何种网络处理器,因为这在功能、性能以及软件支持方面具有较大的差异,不但会影响防火墙的功能和性能,对上市时间也有很大影响,用户在选择千兆防火墙之前也应该考虑这一点。目前,网络处理器都是由国外厂商设计制造的,从体系结构上主要分为两大类:一类是以Intel 的IXP系列产品为代表,分为控制和处理(或称数据)两个平面,如Intel公司的IXP1200,控制平面是一个ARM CORE,负责维护系统信息和协调处理部分工作,处理平面由多个微引擎(Micro Engine)和其他专用硬件组成,负责利用控制平面下发的微代码和命令,直接处理网络数据。这类产品在对数据包进行简单过滤时性能较好,但是由于体系结构限制,尤其是微代码的开发相对复杂,导致灵活性较差,难以满足复杂多变的市场需求,一般适合3层(IP层)及以下网络数据的处理。另一类产品以SiByte 的Mercurian系列产品为代表,它基于MIPS CPU设计,如SB1250。它一方面保持了基于通用CPU设计的灵活性,另一方面通过SOC(System On Chip)的方式消除了传统CPU、总线、设备之间带宽的瓶颈问题。这类产品灵活性较强,易于开发、升级和维护,适于构建速度可与专用ASIC相媲美的、完全可编程的网络处理平台。一般来说,单用吞吐量来评价防火墙性能是很不够的,更应考虑到它能够支持哪些应用以及支持新应用的可扩展性,有人曾说过:“网络处理器应用于实际的商用产品开发的一个必要条件是,网络处理器需要有完美的可塑性。”从这个角度来看,后一类网络处理器产品是值得考虑的。
目前,网络处理器的发展速度非常快,Intel公司的IXP系列最新型号的产品IXP2800,已经能够处理10Gbps的网络数据,IBM公司的NP4GS3能够处理2.5Gbps的网络数据,这两款产品可以用于开发QoS服务器、高端交换机、骨干路由器等产品。不过由于供货时间的关系,目前大规模应用的Intel网络处理器还是以IXP1200为主,高端产品可能要今年晚些时候才能供货。采用IXP网络处理器的开发费用不是很高,但是由于IXP1200单片的处理性能较低,一般需要多片并行工作才能满足千兆需求,还需要其他协处理芯片配合,对硬件设计能力要求较高,也导致其最终产品价格不可能太低。SiByte公司的SB1250作为宽带网络处理器现在已经非常成熟,它内部集成了多个MAC控制器,能直接计算TCP/IP数据包的校验和,可处理2.5Gbps全双工的网络数据,而且开发费用相对小得多,是开发高端千兆防火墙的较好选择。
国内厂商寄厚望于网络处理器
现在国内外有很多防火墙厂商已经意识到了,利用网络处理器作为下一代千兆防火墙是大势所趋,部分厂商也已经开始了这方面的探索和努力,如美国的ServerGate防火墙,它采用多片IXP1200结合高速包分类芯片设计,在进行多路测试情况下,其吞吐量可达到800Mbps左右(64bytes包)。另外,据“赛迪网”报道(http://www.ccidnet.com/news/enterpriseperson/2002/08/22/95_72651.html),国内的华堂公司正在利用网络处理器进行千兆防火墙的开发,它采用的是IXP1200。采用SiByte公司的SB1250进行千兆防火墙开发的公司在国内也开始出现。据预测,大多数国内外厂商会在2003年三四季度发布基于网络处理器的防火墙产品。
我们认为,在传统Intel X86架构上开发高端网络安全产品灵活性强,可扩充能力好,但性能无法满足千兆需求。同时,开发专用于网络处理的ASIC芯片费用高、时间长而且灵活性较差。在这种情况下,利用网络处理器开发下一代高速网络安全产品是一个必然趋势,特别是对国内防火墙厂商而言,采用网络处理器可以快速缩短和国外厂商的差距,填补国内产品在高端市场上的空白,提高我国网络安全防护的整体水平。不过我们需要注意的是,在千兆防火墙的设计中,只有根据用户需求选择合适的网络处理器,才可能在下阶段竞争中取得主动。
-- ※ 来源: http://sinbad.zhoubin.com ※ 链接: http://sinbad.zhoubin.com/read.html?board=Firewall&num=28
|