防火墙、UTM产品硬件平台架构分析

2024-10-02

防火墙、UTM产品硬件平台架构分析

防火墙、UTM产品硬件平台架构分析 篇1

现在市场上的防火墙、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的总线的速度就可以达到 mb 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是做为功能简单的防火墙的最佳选择。

但随之而来的问题是,asic架构的防火墙是芯片一级的,所有的防火墙动作由芯片来处理。这些芯片的功能比较单一,要升级维护的开发周期比较长。尤其是作为多功能集成的utm网关来说,无法在芯片一级完成杀毒、垃圾邮件过滤、网络监控等比较复杂的功能,所以说,asic架构用来做功能简单的防火墙,是完全适用的,64 bytes的小包都可以达到线速。但asic架构做为utm就不是理想的选择,因为asic架构不可能把像网关杀毒、垃圾邮件过滤、网络监控等这些功能做到芯片一级去。

第三类,基于np架构的防火墙。

np架构实现的原理和asic类似,但升级、维护远远好于asic 架构。np架构在的每一个网口上都有一个网络处理器,即:npe,用来处理来自网口的数据。每个网络处理器上所运行的程序使用微码编程,其软件实现的难度比较大,开发周期比asic短,但比x86长。做为utm,由于np架构每个网口上的网络处理器性能不高,所以同样无法完成像网关杀毒、垃圾邮件、过滤、访问监控等复杂功能。

可能有人会问?asic 和 np为什么不可以把网关杀毒、和垃圾邮件过滤、访问监控等这些功能放在主cpu上来实现?这样不就可以做为utm方案使用了吗?这个问题问得很好,目前有很多基于np和asic的utm都是这样做的,但问题是asic和np架构的防火墙,其主cpu性能很低,如:intel基于ixp2400的千高端np方案,主cpu只有1.0g,处理能力还比不上celeron 1.0g,大家可以对照一下与其主频相当的x86平台的处理能力,

所以如果以asic和np架构来实现一个utm网关,只能是做为低端的方案来使用,如桌面型的utm,而并不能做为中、高端的utm来使用。

关 键 字:防火墙

上一篇:脑梗塞后遗症护理教学查房下一篇:从翻译美学看张培基英译散文《匆匆》中的审美再现