Avalanche 性能测试:RFC 9411 TCP新建测试

发表日期:2025/02/17 浏览次数:

RFC9411 规范为下一代网络设备,包括下一代防火墙(NGFWs)以及下一代入侵防御系统(NGIPSs),制定了一套基准测试方案。其中涵盖了业内广为熟知的 TCP 新建连接速率、TCP 并发连接处理能力以及 HTTP 吞吐量等关键指标的测试方法。

TCP 新建连接速率方面,重点聚焦于衡量设备每秒能够成功搭建的 TCP 连接数量。测试过程模拟真实网络情境下的海量连接请求场景,测试仪表持续发送大量 TCP SYN 同步包,促使设备高效完成三次握手流程,精准展现其应对突发连接潮的实力。






01

本文内容


  • 测试床的搭建

  • TCP新建的配置

  • TCP新建运行结果


02

测试床搭建


1.png

图-1 测试床

本文测试示例的拓扑中Avlanche仪表选用C200一对100G口,端口自环。网段的配match置如图-1测试床所示。

03  TCP新建的配置


在Avalanche所有的测试中,先连接机框,占用和添加端口,创建  测试项目测试项等基本操作,在本文中不多做赘述。下面的配置是TCP新建配置的一些关键点。
1)Subnet的配置


配置

Client/Server的网段地址,在客户连接DUT的情况下,根据真实网络情况配置对应的Gateway地址。本例中是端口自环,无需配置网关。


Client端Subnet的配置:



2.png

图-2 Client Subnet配置

Server端Subnet的配置:
12.png

图-3 Server Subnet配置

2) Action的配置
RFC9411测试方案中TCP的新建是基于HTTP协议的,所以Action Profile中配置的是HTTP Get请求动作, 目的IP为测试床Server端16个地址,共16条URL。其配置如下图所示:
3.png
图-4 Action的配置
3)Client->Profile的配置
默认情况下,在Profile下HTTP:Browser中HTTP协议的的长连接是使能的。在TCP新建测试中,可以去使能,使用短链接。配置如下图所示。

4.png

图-5 Profile的配置

4) Load的配置

Avalanche用来模拟用户的网络行为,其实现是基于Simusers,所以Load的选择推荐仿真用户相关,比如Simusers/sSimusers


Simusers保证的是在线用户数能否达到设定的高度,其模型是自适应模式,根据CPU的处理能力和经过DUT的时延,自动计算新建值以满足设定Simusers的高度。在新建测试模型快速的拆建的情况下可以摸底被测设备或者是仪表最大新建性能。比如本测试例中,C200的一对100G口自环,使用200 Simusers可以测出每秒100万条TCP连接的新建速率。


但是TCP新建目标值是低于性能极限值(比如80%以内),且希望是维持一个稳定的新建速率曲线推荐使用Simusers/s


例如本例中测试一个50万CPS的目标值,可以设定Load的Type为 Simusers/s。Hight值计算方式为500000/16=31250。如下图所示。

5.png

图-6 Load的配置

5) Transaction的配置
Transaction主要配置HTTP页面的大小,在TCP新建测试中推荐小包,不要大于MSS。默认为64 Bytes,有的改为1 Byte,这些都可以。本例中使用默认的64 Bytes。如下图所示。
6.png

图-7 Transaction的配置

6)Server->Profile的配置

Server端对应的Profile类型配置为HTTP/HTTP2, 并关联对应的Transaction Profile.

7.png

图-8 Server->Profiles的配置

7) Associations的配置
Client/Server两端完成上述的配置后,添加到Associations中。
Client端Associations:
8.png

图-9 Client Associations的配置

Server端Associations:
9.png

图-10 Server Associations的配置


04

TCP新建运行结果


运行测试后,在Run->Monitor界面下,点击Run-Time Stats查看TCP新建速率的实时曲线图。在Runtime Statistics界面的左侧Navigation中,可以勾上Client->Layer4->TCP->Connections per second, 就可以实时显示TCP的新建速率。
由于TCP新建通常消耗CPU,可以在Resource下勾上CPU Utilization观察仪表端口CPU的使用情况。实时运行结果如下图所示。

10.png

图-11 TCP新建Runtime Statistics


运行结束后,可以用Analyzer打开查看Summary/Realtime测试结果,如果需要保存测试结果,在Results下勾上本次运行结果,通过Archive Selected Results保存到本地。

11.png

图-12 保存测试结果