“火眼金睛”挑选万兆防火墙
2014-03-18 IDCUN 编辑:陈霄
随着网络带宽的迅猛提升,万兆网络大规模普及的今天,万兆网络成为网络新应用的主力军,不仅是万兆网络基础设备(交换机、路由器),包括万兆网络安全设备(防火墙、IPS等)也迎来产品和技术的全面提升。由于防火墙恰好处于网络的末端,因此防火墙的网络性能将对最终网络用户得到的实际带宽有决定性的影响,特别是骨干网上使用的万兆防火墙,性能的高低直接影响着网络的正常应用。所以,目前防火墙的网络性能指标日益为人们所重视,地位也越来越重要。
作为网络互联设备,参考RFC1242/2544对其在二、三层的数据包转发性能进行测试评估,是大部分网络设备性能测试的基本方法,二、三层的转发性能也可以帮助评估设备下层的交换转发机制是否高效。但作为防火墙来说,最大的特点就是可以对4~7层的高层流量进行一定的控制。随着下一代防火墙概念的逐渐清晰,防火墙肯定需要基于用户应用以及行为进行控制管理。这就必然对性能造成一定的影响,而这种影响有多大,会不会成为整个网络的瓶颈,就成为人们所关心的问题。据此,我们认为完整的防火墙性能评估应该由网络层性能、传输层性能和应用层性能三部分组成。
当前市场万兆防火墙鱼龙混杂,性能宣传值动辄从10Gbps到几百Gbps,几乎绝大多数宣称的最大性能指标都是网络层性能,即是根据RFC2544中吞吐率定义得出,但更重要的实际环境中的应用性能到底怎样呢?面对作为用户,如何分辨真伪,选择最为合适的产品呢?下面我们就通过一系列测试数据给您一个答案。
笔者近期在实验室选取当前比较流行的X86架构INTEL Sandy Bridge平台进行测试。硬件平台为英特尔SNB+Cougar Point C200芯片组中最高端的型号C206,配置Core I7 2600 CPU+4G DDR3内存。I7 2600处理器具有256KB L2缓存(每核)和8MB共享L3缓存,主频为3.4GHz。搭配82599网卡芯片,提供4个万兆多模SFP Plus接口。被测设备配置为交换模式,使用设备缺省安全策略进行测试。
网络层测试
在网络层性能部分我们选用了最重要的指标吞吐量。IETF RFC1242中对吞吐量做了标准的定义:“The Maximum Rate at Which None of the Offered Frames are Dropped by the Device.”,明确提出了吞吐量是指在没有丢包时的最大数据帧转发速率。在RFC2544中给出了该项测试的步骤过程及测试方法。
在吞吐量测试中我们选用了IXIA公司的IxAutomate软件,IxAutomate是对RFC1242/2544指标测试的自动化测试软件。在对防火墙吞吐量的测试中,我们遵照RFC建议,采用64,128,256,512,1024,1280和1518字节等7种不同长度的数据帧来进行。
测试结果见下表:
在这7种数据帧中的性能结果最高的一般都是1518字节,目前市场上大多万兆防火墙宣称的转发吞吐量基本都是选取1518字节吞吐量测试结果。从上表可看出此款防火墙1518字节的吞吐高达26.9G。
传输层性能测试
传输层性能是针对防火墙状态相关的性能测试。它主要包括TCP并发连接数(Concurrent TCP Connection Capacity)和最大TCP连接建立速率(Maximum TCP Connection Establishment Rate)两项指标的测试。在RFC2647/RFC3511中对上述两个测试项做了明确定义与测试说明。在本测试中我们选择最能显示防火墙CPU处理能力的最大TCP连接建立速率来进行测试。
最大TCP连接建立速率通常也成为每秒新建连接速率,是测试防火墙维持的最大TCP连接建立速度,本指标用以体现防火墙更新状态表的能力,考察CPU的资源调度状况。这个指标主要体现了被测防火墙对于连接请求的实时反应能力。当被测防火墙每秒可以更快地处理连接请求,而且可以更快地传输数据的话,用户使用网络的实际感受也就越好,所以TCP连接建立速率的确是个很重要的指标。
本次测试使用了Ixia公司最新的BPS测试仪。通过测试,本次测试设备最大TCP连接建立速率可达15万/秒。下图是本次测试平台的TCP连接建立速率测试结果。
应用层性能测试
应用层性能指的是设备处理HTTP应用层流量的防火墙基准性能,主要包括HTTP传输速率(HTTP Transfer Rate)和最大HTTP事务处理速率(Maximum HTTP Transaction Rate)。
HTTP传输速率主要是测试防火墙在应用层的平均传输速率,是被请求的应用数据通过防火墙的平均传输速率。统计时只能计算协议的有效负载,不包括协议头部分。也必须将与连接建立、释放,以及维持连接所相关的数据排除在统计之外。该项指标也是我们常说的有效吞吐量(GOODPUT)。当我们提到吞吐量时,大多都是指二/三层的测试结果。但作为防火墙这类设备来说有效吞吐量显然是更重要的。由于我们的应用都是运行在四层以上。如果有效吞吐量性能不好,即使二/三层的转发性能很好,仍会导致应用运行缓慢。
最大HTTP事务处理速率是防火墙所能维持的最大事务处理速率,即表示用户在访问应用业务时所能达到的最大速率。HTTP传输速率和最大HTTP事务处理速率是最能贴近用户真实应用的性能指标。
应用层性能测试也是本次试验测试的重要部分,本次测试分别选取64K、32K、16K、1K字节页面作为测试页面,测试不同页面大小情况设备的HTTP传输速率以及最大HTTP事务处理速率。
测试结果如下:
从上表中的数据我们可以看出根据HTTP Get目标大小的不同,两个指标HTTP传输速率和最大HTTP事务处理速率均会有很大差异。当HTTP GET的目标较大时,HTTP传输速率结果会比较好,当HTTP GET的目标较小时,最大HTTP事务处理速率就会比较高。因此不结合实际情况,单纯看HTTP传输速率和最大HTTP事务处理速率也是不够的。
通过前面的分析,针对同一款设备我们分别测试了网络层性能-最大吞吐量,传输层性能-每秒新建连接速率,应用层吞吐- HTTP传输速率和最大HTTP事务处理速率。
(以上或者用图表)
在上表中,应用层性能指标我们选用了测试数据中的中间部分HTTP GET Obje Size为32K,这个值有一定的代表意义。如果相同测试条件下进行不同厂家设备的横向对比,通过以上这些数据完全可以比较出高低优劣。但是我们选取的HTTP GET 32K的应用层性能数据就代表设备在真实环境下能够达到这样的处理能力呢?让我们继续下面的测试,看看在下面的测试环境下设备表现如何。
真实应用环境中,业务肯定不是单一的HTTP业务。由于不同的行业,不同的场合,其网络流量构成也有较大差别。本次测试使用的IXIA BPS测试仪表提供了多种流量模型,这些模型从业务构成以及比例上都比较接近真实业务环境。此次测试挑选高校模型和企业模型分别测试:
高校模型:
企业模型:
从以上两个流量模型的测试结果可以看出,随着业务多样性防火墙所能处理的吞吐量及每秒新建会话数进一步下降。
基于以上测试数据,可以看出在防火墙缺省策略的应用情况下,根据实际情况仿真的测试值比宣称值下降了接近70%-80%。当然用户购买安全设备并不是不配置任何策略就使用的,安全策略的配置是必不可少的内容,也就是说一台宣称20G吞吐量的万兆防火墙在实际环境中能在2G到4G环境下正常应用。
黑夜给了你黑色的眼睛,面对林林总总的万兆防火墙,希望本文能帮助无论是在选择防火墙或者推荐防火墙的您一些帮助。