防火墙的主要性能参数和测试方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

防火墙的主要性能参数和测试方法
防火墙的主要性能参数
分为两个部分,第一部分是通用性能指标,定义在RFC2544。

第二部分是专用部分,定义在RFC2647。

通用性能指标,包括Throughput,FrameLoss,Latency,BacktoBack等。

这些性能参数与其它网络设备是相同的,不做详细描述。

专用性能指标,主要指RFC2647中定义的几个关键指标。

包括Concurrent Connections,Connection Establishment,Connection Establishment time,Connection Teardown,Connection Teardown time,Goodput。

首先讲什么是connections。

Connections一般是指两个网络实体进行数据交换前后对协议参数进行协商和确认的过程。

交换数据前的协商称为连接建立过程,即Connection establishment。

交换数据后的协商成为连接拆除过程,即Connection teardown。

典型的连接是tcp连接。

ConCurrecnt Connections或者maximum number of concurrent connections,就是我们常说的最大并发连接数。

是指防火墙中最多可以建立并保持的连接,只有这些连接的数据是可以被转发的,其它连接的数据讲被丢弃。

这个指标用来衡量防火墙可以承载多少主机同时在线,也就表示可以支持什么规模的网络。

Connection establishment或者Maximum number of connections establishment per second,是每秒新建连接数。

指防火墙建立连接的速率,如果1秒钟内最多有5000个连接握手过程被成功转发,则每秒新建连接数是5000。

Connection establishment time,连接建立时间。

指从连接建立请求发出,到连接成功建立所花费的时间,这其中也包括两个网络实体自身需要的处理时间。

在网络实体自身处理时间可以忽略的情况下,防火墙就是连接时延的主要原因。

这个参数与每秒新建连接其实是相关的。

Connection teardown或者Maximum number of connections teardown per second,是每秒拆除连接数。

指防火墙拆除连接的速率。

Connection teardown time,连接拆除时间。

指从连接拆除请求发出,到连接删除所花费的时间,这其中也包括两个网络实体自身需要的处理时间。

Goodput,正确转发率。

首先这个转发率是指allowed traffic,即只有防火墙规则允许的流才能衡量转发率,被drop的数据是不能作为测量标准的。

其次这个转发率是指有连接协议中连接建立后的数据转发率。

最后这个转发率中必须减去重传的数据。

这个参数与throughput很些相似,但一般的测量方法中throughput使用udp测试,但goodput必须使用tcp等有连接协议测试。

防火墙的性能参数测试方法。

通用性能参数的测试方法与其它网络设备如路由器,交换机相同,不做详细介绍。

专用性能指标的测试工具常用的有Smartbits WebSuit和Ixia Ixweb(新的版本叫Ixload)。

个人认为WebSuit比较好用,了解的也比较多,所以这里就介绍如何使用WebSuit测试防火
墙的性能。

WebSuit可以测试的性能参数包括:Concurrent connections,Maximum Connection Rate,Maximum Session Rate,Mixed Traffic,Goodput。

其中concurrent connections 和Maximum Connection Rate中可以测试Connnection establishment time。

Max Session Rate中可以测试connection teardown 和connection teardown time。

Concurrent connections和Maximum Connection Rate的测试一般使用tcp connection traffic或者tcp connection/http traffic。

Maximum Session Rate使用tcp session traffic。

Goodput 使用http。

下面重点介绍一下这四中流的发送原理,以三次tcpconnection握手和三次tcp close 拆除为例。

Tcp session traffic:根据指定速率建立连接,每个连接建立后立即拆除连接。

不能确认连接。

tcp session traffic
Tcp connection traffic:根据指定速率,建立所有连接,如果选择确认和拆除,在所有连接建立后在进行连接确认和拆除。

tcp connection traffic
http traffic:根据指定速率建立连接,每个连接建立后立即发送http数据并拆除连接。

http traffic
Tcp connection/HTTP traffic:与http traffic好像一样,没看出差别。

tcp connection/http traffic
Websuit除了使用tcp/http过程测试上述性能指标外,还可以测试同样情况下存在http 流量或者udp流量对性能参数的影响,有攻击情况下对性能的影响,可以测试的攻击类型包括SynFlood,Smurf,PingofDeath,Teardrop,land-based,pingsweep,pingflood,udpflood,udpscan,tcpscan,arp attack,jolt2 。

WebSuit测试配置方法:
1、配置smartbits上的网络接口,特别是NAT选项。

2、选择测试项
3、使用traffic Wizard选择测试所用的网络接口,NAT模式,pair或者backbone,
traffic type。

其中traffic type一般选择tcp connection。

4、a dd session。

这个主要是对Client接口,1个session就表示一个client ip host,
10个session就表示10个client。

如果此时有2个server,则就会最终模拟10*2=20对主机ip进行连接,每个session还可以通过端口范围定义连接数,这样就可以计算出整个测试例所用的连接总数,如pair模式下连接总数=server数*session数*每个session的连接数。

5、配置traffic。

对tcp流来说,常用参数包括握手方式,包括三次握手还是四次握手,
是否需要http连接确认,是否close connections。

如果是第一次测试可以选择http 连接确认,保证连接建立后是可以转发数据的。

Close connections过程也可以检验经过一段时间后,连接有没有被异常关闭的。

6、配置测试参数,如arp报文如何发送,reset报文如何发送,step模式或者search
模式。

需要注意的是,step模式下,测试concurrent connections时每个Trial增加的是连接数,测试maximum connection rate时每个Trial增加的是连接速率。

如总数都是50万的测试,step=10,测试concurrent connections时,trial1,2,3发送的连接总数是5万,10万,15万,每秒发送的连接数是5000,5000,5000。

测试maximum connection rate时,trial1,2,3发送的连接总数是50万,50万,50万,每秒发送的连接数是500,1000,1500。

相关文档
最新文档