千兆防火墙的两种方案选择
近年来随着千兆网络开始在国内大规模推广应用,用户对千兆防火墙的需求已逐渐升温。在很多网络环境下,传统的基于X86体系结构的防火墙已不能满足千兆防火墙高吞吐量、低时延的要求,因此,两种新的技术,即网络处理器(Network Processor)和专用集成电路(ASIC)技术成为众多国内厂家实现千兆防火墙的主要选择。可以说,防火墙的硬件体系结构正面临着一次变革。
百兆防火墙的不足
在百兆防火墙时代,国内防火墙厂商普遍采用的是通用CPU配合软件的技术方案。虽然很多厂家也把它称之为硬件防火墙,但实际上都是基于X86架构的服务器或工控机。这类防火墙一般运行在经过裁减的操作系统上(通常是Linux或BSD),所有的数据包解析和审查工作都由软件来完成。虽然这种技术方案在百兆防火墙市场取得了很大的成功,但由于CPU处理能力和PCI总线速度的制约,在实际应用中,尤其在小包情况下,这种结构的千兆防火墙远远达不到千兆的转发速度(64字节包长时,双向转发速率一般为百分之二十以下),难以满足千兆骨干网络的应用要求。
千兆防火墙的两种技术实现
要实现真正的千兆防火墙,目前的技术途径基本上有两条:一种是采用网络处理器,另一种是采用ASIC。下面我们来分析一下这两种技术架构各自的特点。
网络处理器是专门为处理数据包而设计的可编程处理器,它的特点是内含了多个数据处理引擎,这些引擎可以并发进行数据处理工作,在处理2到4层的分组数据上比通用处理器具有明显的优势。网络处理器对数据包处理的一般性任务进行了优化,如TCP/IP数据的校验和计算、包分类、路由查找等。同时硬件体系结构的设计也大多采用高速的接口技术和总线规范,具有较高的I/O能力。这样基于网络处理器的网络设备的包处理能力得到了很大的提升。它具有以下几个方面的特性:完全的可编程性、简单的编程模式、最大化系统灵活性、高处理能力、高度功能集成、开放的编程接口、第三方支持能力。基于网络处理器架构的防火墙与基于通用CPU架构的防火墙相比,在性能上可以得到很大的提高。网络处理器能弥补通用CPU架构性能的不足,同时又不需要具备开发基于ASIC技术的防火墙所需要的大量资金和技术积累,最近在国内信息安全厂商中备受关注,成为国内厂商实现高端千兆防火墙的热门选择。
第二种方案是采用基于ASIC技术的架构。Netscreen是采用该技术的代表厂家。采用ASIC技术可以为防火墙应用设计专门的数据包处理流水线,优化存储器等资源的利用,是公认的使防火墙达到线速千兆,满足千兆环境骨干级应用的技术方案。Netscreen公司也因此取得了令人瞩目的成功。但ASIC技术开发成本高、开发周期长且难度大,一般的防火墙厂商难以具备相应的技术和资金实力。
哪种方案更适合用户应用
网络处理器与ASIC方案哪种更适合千兆防火墙的应用是目前争论的一个热点。用户可以从性能、灵活性、功能完备性、成本、开发难度、技术成熟性等方面来进行比较。从性能上说,由于基于网络处理器的防火墙本质是基于软件的解决方案,它在很大的程度上依赖于软件设计的性能,而ASIC由于是将算法固化在硬件中,因而在性能上有比较明显的优势。
目前国内基于ASIC技术的首信防火墙已可达到4个千兆网口的全线速包转发速率,而一般基于网络处理器的防火墙在小包情况下还不能完全作到2网口的千兆线速转发。反过来说,网络处理器的软件色彩使它具有更好的灵活性,在升级维护方面有较大的优势。纯硬件的ASIC防火墙缺乏可编程性,这使得它缺乏灵活性从而跟不上防火墙功能的快速发展。
现代的ASIC技术通过增加ASIC芯片的可编程性,使其与软件更好地配合,从而同时满足来自灵活性和运行性能的要求。从实现功能方面看,ASIC技术可以比较容易地集成IDS、VPN等功能,也有产品已经实现了内容过滤和防病毒功能,而网络处理器受限于它的计算能力,这些功能一般只能靠协处理器来实现。从今后产品的成本上看,一片网络处理器的价格在三、四百美金左右,如果需要协处理器,还要加上协处理器的成本。ASIC技术前期如果使用FPGA(Field Programmable Gate Arrays,现场可编程门阵列)来实现,两者价格大致相当。不过如果量产投片以后,ASIC的价格可以降低一个量级,因而长远来看ASIC技术更有潜力。
在开发难度、开发成本和开发周期方面,网络处理器技术有比较明显的优势,毕竟网络处理器产生的一大原因就是降低这方面的门槛,这也是国内很多防火墙企业选中网络处理器的原因。不过从技术成熟度方面来看,相比ASIC这样已经为实践证明了的成熟技术,网络处理器用于防火墙其实是近一年多才出现的。在此之前网络处理器在市场上的表现并不理想,一般只被用于低端路由器、交换机等数据通信产品。究其原因,主要是网络处理器开发需要的编程技术比预期的复杂困难,而且在实际应用中的性能往往并不理想,远低于其厂家的标称性能。这种技术应用在防火墙这样的复杂网络设备上究竟能否在不影响功能的前提下达到预期的性能还有待检验。
目前防火墙的体系结构已经处于一个更新换代的门槛上,未来的发展趋势基本上是网络处理器与ASIC两条道路。从性能、功能、技术成熟度方面考虑,ASIC方案较好,从进入门槛、研发成本和灵活性考虑则网络处理器占优。
从目前的情况来看,国外的高端防火墙大部分采用的是ASIC技术,国内厂商则选用网路处理器的居多。今后高端防火墙的技术将是ASIC和网络处理器这两种主流技术并存,它们各自都会继续向前发展,在速度、功能方面都还有很大的发展空间。究竟谁将成为最后的赢家,只能有待时间的检验了。而用户在选择千兆防火墙产品时也要综合考虑厂商实力、实际应用需求、采购成本、防火墙技术与产品的成熟度等多种因素全盘考虑为宜。
相关资料:防火墙的三大发展趋势
未来防火墙的发展趋势是朝高速、多功能化、更安全的方向发展。
1、高速。目前防火墙一个很大的局限性是速度不够,真正达到线速的防火墙少之又少。防范DoS (拒绝服务)是防火墙一个很重要的任务,防火墙往往用在网络出口,如造成网络堵塞,再安全的防火墙也无法应用。应用ASIC、FPGA和网络处理器是实现高速防火墙的主要方法,但尤以采用网络处理器最优,因为网络处理器采用微码编程,可以根据需要随时升级,甚至可以支持IPv6,而采用其他方法就不那么灵活。实现高速防火墙,算法也是一个关键,因为网络处理器中集成了很多硬件协处理单元,因此比较容易实现高速。对于采用纯CPU的防火墙,就必须有算法支撑,例如ACL算法。
2、多功能化。多功能也是防火墙的发展方向之一,鉴于目前路由器和防火墙价格都比较高,组网环境也越来越复杂,一般用户总希望防火墙可以支持更多的功能,满足组网和节省投资的需要。例如,防火墙支持广域网口,并不影响安全性,但在某些情况下却可以为用户节省一台路由器,支持部分路由器协议,如路由、拨号等,可以更好地满足组网需要;支持IPSec VPN,可以利用因特网组建安全的专用通道,既安全又节省了专线投资。据IDC统计,国外90%的加密VPN都是通过防火墙实现的。
3、安全。未来防火墙的操作系统会更安全。随着算法和芯片技术的发展,防火墙会更多地参与应用层分析,为应用提供更安全的保障。在信息安全的发展与对抗过程中,防火墙的技术一定会不断更新、日新月异,在信息安全的防御体系中,起到堡垒的作用。