防火墙性能指标测试方案

时间:2011-07-27

  防火墙在我们的生活中扮演者愈来愈重要的角色,它能帮助用户安全的联入互联网,而不必担心遭受病毒的攻击。由此可见,防火墙的性能是其竞争力,用户在选择时也会考虑到这一点。因此,如何对防火墙的性能测试是一个很重要的方面。

  防火墙的分类

  关于防火墙的分类方式有很多种: 例如按体系结构可分为纯软件,软硬结合和 纯硬件防火墙; 按逻辑功能可分为静态包过滤、动态包过滤和应用代理型防火墙等。 本文所讨论的测试内容适合绝大部分上述防火墙。 有关各种类型防火墙的信息, 读者可从各大国际信息安全实验室的网站中获得, 这里将不再赘述。

  防火墙的性能指标

防火墙主要性能指标

  图1 防火墙主要性能指标

  衡量防火墙的性能指标主要包括吞吐量、报文转发率、并发连接数、每秒新建连接数、转发时延、抖动等。

  1、吞吐量指标定义

  网络中的数据是由一个个数据帧组成,防火墙/VPN网关对每个数据帧的处理要耗费资源。吞吐量就是指在没有数据帧丢失的情况下,防火墙/VPN网关能够接受并转发的速率。IETF RFC 1242中对吞吐量做了标准的定义:“The Maximum Rate at Which None of the Offered Frames are Dropped by the Device”,明确提出了吞吐量是指在没有丢包时的数据帧转发速率。吞吐量的大小主要由防火墙/VPN网关内网卡及程序算法的效率决定,尤其是程序算法,会使防火墙/VPN网关系统进行大量运算,通信量大打折扣。

  2、防火墙TCP并发连接数

    防火墙TCP并发连接数是指穿过被测设备的主机之间或主机与被测设备之间能够同时维持的TCP联接总数。防火墙TCP并发连接数的测试采用一种反复搜索机制进行,在每次反复过程中,以低于被测设备所能承受的连接速率发送不同数量的并发连接,直至得出被测设备的TCP并发连接数。

  3、TCP连接建立速率

  该项指标是防火墙/VPN网关维持的TCP连接建立速度,本测试用以体现防火墙/VPN网关更新状态表的速率,考察CPU的资源调度状况。这个指标主要体现了防火墙/VPN网关对于连接请求的实时反应能力。对于中小用户来讲,这个指标就显得更为重要。可以设想一下,当被测防火墙/VPN网关每秒可以更快地处理连接请求,而且可以更快地传输数据的话,网络中的并发连接数就会倾向于偏小,防火墙/VPN网关的压力也会减小,用户看到的防火墙/VPN网关性能也就越好,所以TCP连接建立速率是极其重要的指标。  防火墙性能测试方法

  对一款防火墙产品进行性能评估,分为两个步骤。首先要进行防火墙基线性能测试,其次是进行模拟实际应用环境下的性能测试。

  基线性能是防火墙在理想状态下表现出来的性能指标,具有测试结果比较稳定、流量模型可控的优点。但是在实际应用中,往往达不到防火墙产品实际标称的基线性能。原因是实际应用中经过防火墙的流量要比测试基线性能时的流量复杂得多,因此评估防火墙性能时,不仅需要对基线性能进行评估,更重要的是模拟实际应用环境进行评估。

  基线性能指标测试

  1 吞吐量评估

  防火墙的吞吐量实际上是一个静态指标,反映在理想情况下设备的转发能力。在实际应用中吞吐量这个指标一般是达不到的,而且对于用户而言,实际感受到的是他的应用处理能力,因此单纯的吞吐量指标不能说明防火墙的转发性能。

  一般情况下,防火墙的转发性能可以用throughput和goodput两个指标来衡量。而对于防火墙设备来说,goodput这个指标比throughput更具有实际意义。因此在测试防火墙吞吐量时,更多采用goodput指标。

  goodput 有时候也叫应用层的吞吐量。在一定连接新建和并发的情况下,单个报文的应用层数据承载量很大程度决定了应用层报文转发的能力。所以测试防火墙转发性能时,需要明确测试载荷的大小。为了测试得到较全面的吞吐量性能数据,需要测试在不同载荷大小情况下的转发性能。

  在进行吞吐量基线测试中,一般以HTTP作为应用层协议,为了得到理想的测试效果,通过会选择HTTP1.1,每个TCP连接处理尽量多的HTTP事务(transaction),并且将HTTP载荷设置较大。图2是使用IxLoad设置的例子。

图2 IxLoad设置

  图2 IxLoad设置

  2 连接数评估

  连接在状态防火墙中是一个很重要的概念,与连接相关的性能指标对评估防火墙非常重要。这些指标包括并发连接数、新建连接速率。

  并发连接数的测试

  并发连接是一个很重要的指标。 它主要反映了被测设备维持多个会话的能力。关于此指标的争论也有很多。一般来说,它是和测试条件联系紧密的。 但是这方面的考虑有时会被人们忽略。 比如,测试的时候采用的传输文件大小就会对测试结果有一定的影响。 可以这样考虑:如果在传输中高层流量很大的话, 被测设备将会占用很大的系统资源去处理包检查,导致无法处理新请求的连接,引起测试结果偏小。 反之则测试结果会大一些。 所以没有测试条件而只谈并发连接数是难以定断的。 从宏观上来看, 这个测试的终目的是比较不同设备的“资源”。也就是说处理器资源和存储资源的综合表现。中国市场上出现了大家盲目攀比并发连接数的情况。事实上,并发几十万的连接数应该足可以满足一个电信级的数据中心服务网络了,对于一般的企业来讲, 甚至可能并发几千个连接数已经绰绰有余。 并发连接总数应能由仪表自动测试结果, 以减少测试所用的时间和人力。

  目前市场上出现了大家盲目攀比并发连接数的情况。事实上,并发几十万的连接数应该完全可以满足一个电信级数据中心的网络服务需求了,对于一般的企业来讲, 甚至几千个并发连接数还绰绰有余。并发连接总数能由仪表自动测试得出结果,减少了测试所用的时间和人力,这类仪表目前很多,常见的有Spirent的 Avalanche、IXIA的IxLoad以及BPS等。

  并发连接处理速率

    这个指标主要体现了被测设备对于连接请求的实时反应能力。对于中小用户来讲,这个指标就显得更为重要。 可以设想一下,当被测设备每秒可以更快的处理连接请求,而且可以更快的传输数据的话,网络中的并发连接数就会倾向于偏小,从而设备的压力也会减小,用户看到的防火墙性能也就越好。所以并发连接处理速率的确是个很重要的指标。 理想的测试工具可以帮助使用者搜索到被测设备能够处理的峰值, 减轻其工作的负担。

  模拟真实应用环境进行性能指标测试

  如果能够100%模拟用户的实际应用环境对防火墙性能进行测试,那么防火墙选型这类活动将变得非常简单,而且防火墙性能指标将变得更加有意义。但是模拟真实应用环境并不是简单的事情。主要是因为用户环境的复杂性和多变性导致真实环境的模拟几乎不可能实现。这里讨论的模拟真实应用环境测试,只是将用户环境进行抽象,使得模拟环境在满足测试条件的情况下限度的贴近真实应用环境。

  1 多应用协议吞吐量测试

  前面提到goodput是衡量防火墙吞吐量的重要指标,基线测试中,一般采用HTTP协议作为应用层协议进行测试。而在实际应用环境中,应用层的流量并不是纯粹的HTTP,还有其他协议。如果用HTTP协议代替其他应用层协议测试应用层吞吐量,显然是不合适的。因此需要针对不同的应用场景,设计典型的应用层流量分布模型,按照不同的比例分配带宽。如图3所示,是一个典型的某场景应用带宽分布。

  图3 典型应用带宽分布

  模拟多协议测试,需要测试工具支持模拟多协议流量混合功能,并且能够做基于协议的测试结果分析。包括不同协议的吞吐量、转发延迟等。在多协议模拟测试中,BPS支持丰富的应用层协议,并且具有良好的流量混合功能。

  2 DDoS攻击条件下的转发性能测试

  目前大部分防火墙常常遭到试图闯入用户网络的黑客的攻击。DDoS攻击是黑客常用的攻击手段,该攻击使用虚假IP地址进行攻击并且持续不断的更换形式。因此在模拟真实环境的测试中,将DDoS攻击作为测试输入条件是很有必要的。

  这个测试的目的是将DDoS攻击作为流量的一部分通过防火墙,模拟现实网络在DDoS攻击条件下,被测试设备转发性能的下降程度。其中DDoS流量对于正常流量的影响,可通过变化混合的流量比例来实现。测试步骤如下:

  保持DDoS流量不变(例如DDoS流量占接口带宽的5%),改变多协议正常流量的比例关系,例如SMTP:FTP:HTTP:HTTPS以 45:15:30:10的比例混合,与DDoS攻击流量经过防火墙转发后,查看测试结果,查看转发性能与没有DDoS攻击流量的情况下相比变化幅度是否满足实际需求,同时也可以测试通过防火墙的传输延迟是否也保持在一个可接受的水平;

  变化DDoS流量占接口带宽的比例(例如从3%、5%到8%),保持正常流量不变,测试转发性能在不同DDoS攻击强度下的变化情况,以及传输延迟在不同攻击强度下的变化是否满足实际应用需求;

  两者都变化的情况,即在修改DDoS流量的同时也修改正常流量的比例,记录不同组合情况下的转发性能与延迟状况。

    3 在一定负载条件下的新建连接测试

  新建连接体现了新用户能否快速接入网络。一般理想情况下测试新建连接速率的时候都是在打开一个连接后立即关闭,这种情况下测试出来的结果一般是比较好的。但是在实际应用场景中,情况并非如此,一般新建一个连接的时候会已经存在一定的连接,也就是在有一定负载(并发连接)的条件下测试新建连接速率。测试步骤为:

  首先测试出基线新建速率,也就是在没有负载条件下的理想新建速率;

   逐步增加负载,可以按照基线并发的百分比设定负载值,例如20%,30%,50%,70%,90%等。但是在测试的时候需要注意,在一定负载条件下测试不要超过并发连接数,否则测试结果是不准确的;

  测试中测试时间需要根据情况确定。如果采用打开/关闭TCP连接的方式,理想情况下在设备上看到的并发连接数应该是测试负载的大小,但是由于在一定负载条件下,设备处理连接关闭的速率会受到一定影响,导致并发随着新建速率的增大而不断增大,如果测试时间足够长,并且处理速度较慢的话,可能导致并发连接数超过基线连接数限制。因此在一定负载条件下,需要测试足够长的时间,如果新建连接总是成功的,那么说明该设备的性能比较好的。

  结束语

  防火墙在保障网络安全的同时,必然会引入一定的网络性能损耗。根据实际网络环境选择一款性能合适的防火墙对于用户来说是至关重要的。本文从防火墙评估的角度介绍了防火墙基线性能测试和模拟实际环境性能测试的一般方法。在实际防火墙评估中,还应该根据实际应用场景,限度的提取应用的关键流量特征,并对流量特征进行抽象建模,利用测试仪器对流量进行模拟,从而得到与实际应用较符合的性能指标。


  
上一篇:基于Matlab/Simulink环境的DSP算法开发方案
下一篇:浅谈RFID仓储管理系统解决方案

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料