防火墙、UTM产品硬件平台架构分析
2007-06-22 12:45:16 来源:WEB开发网现在市场上的防火墙、UTM产品从其架构上来说,大概分为三大类。
第一类是基于X86平台的,这种平台通常使用一颗或多颗主CPU来处理业务数据,网卡芯片和CPU通过PCI总线来传输数据。
由于传统的32位PCI总线频率为33MHZ,所以,理论通讯速率为:132 MB Bytes/S即:1056 MBits/S。单从PCI通讯的速率上来说是可以满足千兆防火墙的需要,但实际上PCI总线在X86系统中是共享的,也就是说,如果有两个网卡同时传输数据,那么每个网卡所能获得的速率就只有 66 MB Bytes/S,即:528 Mbits/S ,如果有四个网口同时传输数据,则每个网卡所能获得的速度只有16 MB Bytes/S,即128Mbit/S。
从总线速度来看基于32位PCI总线的X86平台,做为百兆防火墙的方案是没有任何问题的。但X86平台的防火墙方案,数据从网卡到CPU之间的传输机制是靠“中断”来实现的,中断机制导致在有大量数据包的需要处理的情况下(如:64 Bytes的小包,以下简称小包),X86平台的防火墙吞吐速率不高,大概在30%左右,并且CPU占用会很高。这是所有基于X86平台的防火墙所共同存在的问题。
因此,基于32位PCI总线的X86平台是不能做为千兆防火墙使用的,因为32位PCI总线的通讯速率不能达到千兆防火墙的要求。针对这个问题,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%。
赞助商链接