不支持Flash

从X86说起:千兆防火墙架构发展之路

http://www.sina.com.cn 2007年05月14日 06:43  中关村在线
作者:中关村在线 王允
第1页:从X86开始说起

    CNET中国.ZOL 5月14日报道 服务器、大型交换机、防火墙……英特尔的X86架构在这些领域获得了难以置信的成功,但是正当防火墙的应用范围以惊人速度扩大的时候,X86却感到了力不从心。因为随着企业网络应用的增加,对网络带宽提出了更高的要求。这意味着防火墙要能够以非常高的速率处理数据,基于X86架构的百兆防火墙已经不再满足需要。于是,应运而生的千兆防火墙开始占领更大的市场。
   
    但是量变并没有给防火墙处理能力带来质的提高。由于百兆网络接口与千兆网络接口的成本相差不大,早期的千兆防火墙仅仅是将百兆接口替换为千兆接口。这种基于X86体系结构的千兆防火墙主体仍然是软件,其性能受到很大制约,当然也就无法达到千兆的处理速度。更换了千兆接口的防火墙只是具备了千兆接入的条件,还没有达到千兆处理能力。尽管如此,换汤不换药的“千兆接口防火墙”仍然在百兆之后忽悠了不少企业,而在随后的几年里,千兆防火墙悄然开始了质变:由软件性能逐渐过渡到硬件加速。
   
    质变的开始是人们将目光越来越多地投向了专用集成电路(ASIC)和网络处理器(NP)上。相对于X86架构,基于这些架构的千兆防火墙才是真正的硬件解决方案,能够实现千兆处理速度。也许我们应该从三种架构入手,才能找到ASIC和NP将要取代X86的真正原因。
   
    X86架构
   
    X86是一个intel通用计算机系列的标准编号缩写,也标识一套通用的计算机指令集合,X86平台通常是指使用一颗或多颗主CPU来处理业务数据,而网卡芯片和CPU则通过PCI总线来传输数据。因其极高的灵活性和可扩展性一直被作为主要的防火墙开发平台。依赖于X 86架构的防火墙功能主要由软件实现,可以根据用户的实际需要而做相应调整,增加或减少功能模块,产品比较灵活,功能也十分丰富。 
    
    X86平台的防火墙数据从网卡到CPU之间的传输机制依靠“中断”来实现,中断机制导致在有大量数据包的需要处理的情况下,X86平台的防火墙吞吐速率不高,大概只有30%左右,CPU占用率也很高。

    作为通用的计算平台,X86的结构层次较多,不易优化,且往往会受到PCI总线的带宽限制,在防火墙的不断发展中这成为了其性能发展的制约。从技术上讲,尽管PCI总线接口理论上能达到接近2Gbps的吞吐量,但是通用CPU的处理能力有限。同时,虽然防火墙软件部分可以实现优化的最大化,但依然很难达到千兆速率。另外,很多X86架构的防火墙是基于定制的通用

操作系统,安全性很大程度上取决于通用操作系统自身的安全性,按照所谓“黑客”们的习惯,越是大众的操作系统越容易成为他们攻击的目标。因此基于X86架构的千兆防火墙在安全性上其实已经输了一筹。


第2页:算得上第二代的ASIC架构

ASIC架构
   
    ASIC的英文全称是Application Specific Intergrated Circuits,即专用集成电路,ASIC芯片是指能被对

半导体物理和半导体工艺不是很了解的工程师所设计的一种芯片。ASIC销售商已经创建了元件和功能库,设计者可以在不需准确知道这些功能如何在硅上实现而使用这些库。

    相比较X86架构,ASIC防火墙通过上文提到的ASIC芯片逻辑进行硬件加速处理。基于ASIC架构的防火墙从架构上改进了中断机制,数据从网卡收到以后,不经过主CPU处理,而是经过集成在系统中的一些芯片直接处理,由这些芯片来完成传统防火墙的功能,如:路由、NAT、防火墙规则匹配等。这样数据不经过主CPU处理,不使用中断机制,从而提高了防火墙的处理速率。新一代的高可编程ASIC采用了更灵活的设计,能够通过软件改变应用逻辑,具有更广泛的适应能力。
   
    但是,ASIC的缺点也同样明显,它的灵活性和扩展性不够,开发费用高,开发周期太长,一般耗时接近2年。

    虽然研发成本较高,灵活性受限制、无法支持太多的功能,但其性能具有先天的优势,非常适合应用于模式简单、对吞吐量和时延指标要求较高的电信级大流量的处理。在基于ASIC架构的防火墙领域,NetScreen占有很大优势,不过国内厂商目前也在ASCI防火墙上下了很大功夫。


第3页:介于上述两者之间的NP架构

NP架构
   
    NP的英文全称是Network Processor,翻译成中文就是“网络处理器”,是专门为网络设备处理网络流量而设计的处理器,其体系结构和指令集对于防火墙常用的包过滤、转发等算法和操作都进行了专门的优化,可以高效地完成TCP/IP栈的常用操作,并对网络流量进行快速的并发处理。
   
    其硬件结构设计也大多采用高速的接口技术和总线规范,具有较高的I/O能力。它可以构建一种硬件加速的完全可编程的架构,这种架构的软硬件都易于升级,软件可以支持新的标准和协议,硬件设计支持更高网络速度,从而使产品的生命周期更长。由于防火墙处理的就是网络数据包,所以基于NP架构的防火墙与X 86架构的防火墙相比,性能得到了很大的提高。

    NP最大的优点在于它是通过专门的指令集和配套的软件开发系统,提供强大的编程能力,因而便于开发应用,支持可扩展的服务,而且研制周期短,成本较低。但是,相比于X86架构,由于应用开发、功能扩展受到NP的配套软件的限制,基于NP技术的防火墙的灵活性要差一些。由于依赖软件环境,所以在性能方面NP不如ASIC。NP开发的难度和灵活性都介于ASIC和x 86构架之间,准确地说,NP是X86架构和ASIC之间的一个折衷方案。


从X86说起:千兆防火墙架构发展之路
三种架构的防火墙对比(图片来源于网络)

    即使X86千兆防火墙已经逐渐淡出人们的视线,也总有它适合的企业,随着技术的发展将会有更多新的架构加入到防火墙阵营中,但是无论出现多好的技术,企业在选购时都要“按需购买”。
   

爱问(iAsk.com)
不支持Flash