扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
现在市场上的防火墙、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%。
第二类,基于ASIC架构的防火墙、UTM产品。
从上面对X86架构防火墙的分析中,我们了解到X86平台的防火墙其最大的缺点就是小包通速率低,只有30%-40%,造成这个问题的主要原因是因为X86平台的中断机制以及X86平台的防火墙所有数据都要经过主CPU处理。基于ASCI架构的防火墙从架构上改进了中断机制,数据从网卡收到以后,不经过主CPU处理,而是经过集成在系统中的一些芯片直接处理,由这些芯片来完成传统防火墙的功能,如:路由、NAT、防火墙规则匹配等。这样数据不经过主CPU处理,不使用中断机制,理所当然,ASIC是做为功能简单的防火墙的最佳选择。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。