網絡安全設備性能的基準測試方法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其它性能測試的。歡迎大家持續關注,給我們留言。