网络安全设备性能的基准测试方法RFC 9411为下一代网络安全设备(包括下一代防火墙NGFW和下一代入侵防御系统NGIPS)提供并建议基准测试术语和方法,并具体提出了包括新建、并发、吞吐等9个测试方法。
其中7.5节是关于HTTP 流量下的并发 TCP 连接能力测试,确定在使用 HTTP 流量时,被测设备(DUT)或者被测系统(SUT)能够维持的并发 TCP 连接数量。
图-1 测试环境
本文测试示例的拓扑中Avlanche仪表选用C200的一对100G口,端口自环。网段的配置如图-1所示。本篇文章将基于RFC 9411的测试方法,将测试过程和步骤具体描述如下:
- 测试仪模拟200个IPv4客户端和16个IPv4 HTTP Server端,并要求每个客户端和每个HTTP Server均建立TCP连接并进行HTTP请求和响应。
- 每个客户端依次和16个HTTP Server建立TCP连接之后,保持一段时间再关闭。
- 假定被测设备的最大TCP新建能力为50万/秒,因此在TCP并发测试中将使用50%的新建速率,即25万/秒。
- 测试目标要达成5000万TCP并发。因此,5000(万) / 25(万/秒)=200(秒),我们在压力爬坡阶段的时间设定为200秒。
- 测试使用“边建边拆”方式,即在压力达到5000万之后,需要不断地拆除部分TCP连接,同时建立同样数量的TCP连接,以维持压力一段时间。本测试设定维持阶段为800秒。
关于使用Avalanche Commander创建配置添加端口的基础操作,本文不做赘述。以下是涉及本测试的关键配置点。设定每个用户要和所有的HTTP Server都建立TCP连接,且在压力爬坡阶段的200秒内不能有TCP拆线,需要让所有的TCP session建立之后等待200秒。Step 2 - Client Profile的配置
因为每个TCP连接都保持连接状态,因此需要使能Persistence选项,在从而在应用层HTTP请求Header中声明"Connection: Keep-Alive"。图-2 Client Profile配置
Step 3 - Client Network的配置
每个TCP在建立之后会进行HTTP的传输,随后会等待200秒时间,因此一定要记得关闭"Inactivity Timer"功能。
按照要求所有TCP需要以Fin方法关闭,因此要使能“Connection Termination With FIN”选项。
图-3 Client Network配置
Step 4 - Server Profile / Transcations的配置
首先,在Server Transcations中添加一个长度为1K Bytes的响应文件,同时命名为1K.
图-4-1 Server Transcation配置
然后,在Server Profiles中创建名为Server_HTTP的Profile,选中刚才创建的响应文件作为模拟服务器的回复。
图-4-2 Server Profiles配置
Step 5 - Server Network的配置如果Step 3中所述,每个TCP在建立和完成HTTP传输后,都会等待200秒时间,因此一定要记得关闭"Inactivity Timer"功能。Step 6 - Client / Server Subnets的配置按照测试方法,配置Client / Server端的IPv4地址图-6 Client / Server Subnets配置
本文中我们采用Simusers的load模型,意思是同时有多少用户在线。因为我们计划测试压力达到5000万个并发TCP连接,而在Action中每个用户会产生16个并发TCP连接,因此5000万/16=3125000个并发用户。因此我们创建名为conn的Load, 并设计4个阶段:
- Phase 1, Delay阶段,没有任何压力,留出端口协商时间
- Phase 2, Ramp Up阶段,压力在200秒内从0爬升到3125000
- Phase 3, Steady State阶段,压力维持800秒
- Phase 4, Ramp Down阶段,不设置压力,留出210秒的时间等待压力释放,所有TCP以FIN方式关闭
Step 8 - Client/ Server Assoications的配置
在Client / Server的Assocaitions页面下关联之前所建立的配置,请一定检查关联的名字是否是之前添加编辑的。图-8 Client / Server Assocaition配置
左侧是Client端的数据统计,包括尝试的HTTP请求和成功的HTTP请求;
右侧是Server端的数据统计,主要是体现TCP连接统计。Closed no error即代表以FIN关闭的数量统计。运行中的实时结果查看
我们从Run->Monitor进入Run-Time Statistics页面,可以选择查看当前测试重要的数据。完整的测试结果
图-11 结果列表
从Trial Run中,查看抓包内容以确定测试的行为是否符合预期。
图-12 Trial Run
从Client / Server的Summary / Real-time结果中可以看到更多更详尽的测试结果。图-13 Real-Time Result
本文为大家介绍了如何使用Avalanche进行RFC 9411 TCP并发测试的一些详细配置步骤,后续我们将继续介绍RFC9411其它性能测试的。欢迎大家持续关注,给我们留言。