随着信息安全要求越来越高, 防火墙 成为必不可少的网络元素。但防火墙设备在网络中的主要作用不是报文转发,而是进行报文检测和访问控制,防火墙的存在必然会对安全用户正常使用网络带来一定影响。因此在满足安全功能的前提下,选择一款高性能、满足网络要求、符合预算的产品是非常重要的。
防火墙性能描述指标
衡量防火墙的性能指标主要包括 吞吐量 、报文转发率、最大并发连接数、每秒新建连接数、转发时延、抖动等。
图1 防火墙主要性能指标
l 防火墙吞吐量是指在没有帧丢失的情况下,设备能够接受的最大速率。其测试方法是:在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至满足没有帧丢失时的最大发送速率,得出最终结果。吞吐量测试结果以比特/秒或字节/秒表示。
l 防火墙TCP并发连接数是指穿过被测设备的主机之间或主机与被测设备之间能够同时维持的最大TCP联接总数。防火墙TCP并发连接数的测试采用一种反复搜索机制进行,在每次反复过程中,以低于被测设备所能承受的连接速率发送不同数量的并发连接,直至得出被测设备的最大TCP并发连接数。
l 防火墙最大TCP连接建立速率是指在被测设备能够成功建立所有请求连接的条件下,所能承受的最大TCP连接建立速度。其测试采用反复搜索过程,每次反复过程中,以低于被测设备所能承受的最大并发连接数发起速率不同的TCP连接请求,直到得到所有连接被成功建立的最大速率。最大TCP连接建立速率以连接数/ 秒表示。
防火墙性能测试方法
对一款防火墙产品进行 性能评估 ,分为两个步骤。首先要进行防火墙基线性能测试,其次是进行模拟实际应用环境下的性能测试。
基线性能是防火墙在理想状态下表现出来的性能指标,具有测试结果比较稳定、流量模型可控的优点。但是在实际应用中,往往达不到防火墙产品实际标称的基线性能。原因是实际应用中经过防火墙的流量要比测试基线性能时的流量复杂得多,因此评估防火墙性能时,不仅需要对基线性能进行评估,更重要的是模拟实际应用环境进行评估。
1. 基线性能指标测试
1) 吞吐量评估
防火墙的吞吐量实际上是一个静态指标,反映在理想情况下设备的转发能力。在实际应用中吞吐量这个指标一般是达不到的,而且对于用户而言,实际感受到的是他的应用处理能力,因此单纯的吞吐量指标不能说明防火墙的转发性能。
一般情况下,防火墙的转发性能可以用throughput和goodput两个指标来衡量。而对于防火墙设备来说,goodput这个指标比throughput更具有实际意义。因此在测试防火墙吞吐量时,更多采用goodput指标。
goodput 有时候也叫应用层的吞吐量。在一定连接新建和并发的情况下,单个报文的应用层数据承载量很大程度决定了应用层报文转发的能力。所以测试防火墙转发性能时,需要明确测试载荷的大小。为了测试得到较全面的吞吐量性能数据,需要测试在不同载荷大小情况下的转发性能。
在进行吞吐量基线测试中,一般以HTTP作为应用层协议,为了得到最理想的测试效果,通过会选择HTTP1.1,每个TCP连接处理尽量多的HTTP事务(transaction),并且将HTTP载荷设置较大。图2是使用IxLoad设置的例子。
图2 IxLoad设置
2) 连接数评估
连接在状态防火墙中是一个很重要的概念,与连接相关的性能指标对评估防火墙非常重要。这些指标包括并发连接数、新建连接速率。
l 并发连接数的测试
并发连接是一个很重要的指标,它主要反映了被测设备维持多个会话的能力。关于此指标的争论也有很多。一般来说,它是和测试条件紧密联系的,但是这方面的考虑有时会被人们忽略。比如,测试时采用的传输文件大小就会对测试结果有影响。例如,如果在传输中应用层流量很大的话, 被测设备将会占用很大的系统资源去处理包检查,导致无法处理新请求的连接,引起测试结果偏小;反之测试结果会大一些。所以没有测试条件而只谈并发连接数是难以定断的。从宏观上来看,这个测试的最终目的是比较不同设备的“资源”,也就是说处理器资源和存储资源的综合表现。