Benchmarking
Methodology for Network Security Device PerformanceBerlinGermanybm.balarajah@gmail.comEANTC AGSalzufer 14Berlin10587Germanycross@eantc.deNetSecOPEN417 Independence CourtMechanicsburg17050PAUSAbmonkman@netsecopen.orgBenchmarking Methodology Working GroupThis document provides benchmarking terminology and methodology for
next-generation network security devices including next-generation
firewalls (NGFW), next-generation intrusion prevention systems (NGIPS),
and unified threat management (UTM) implementations. The main areas
covered in this document are test terminology, test configuration
parameters, and benchmarking methodology for NGFW and NGIPS. This
document aims to improve the applicability, reproducibility, and
transparency of benchmarks and to align the test methodology with
today's increasingly complex layer 7 security centric network
application use cases. As a result, this document makes obsolete.18 years have passed since IETF recommended test methodology and
terminology for firewalls initially (). The
requirements for network security element performance and effectiveness
have increased tremendously since then. In the eighteen years since
was published, recommending test methodology
and terminology for firewalls, requirements and expectations for network
security elements has increased tremendously. Security function
implementations have evolved to more advanced areas and have diversified
into intrusion detection and prevention, threat management, analysis of
encrypted traffic, etc. In an industry of growing importance,
well-defined, and reproducible key performance indicators (KPIs) are
increasingly needed to enable fair and reasonable comparison of network
security functions. All these reasons have led to the creation of a new
next-generation network security device benchmarking document, which
makes obsolete.The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", “NOT RECOMMENDED”, "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP 14
, when, and only when,
they appear in all capitals, as shown here.This document provides testing terminology and testing methodology
for modern and next-generation network security devices that are
configured in Active ("Inline", see and ) mode. It covers the validation of security
effectiveness configurations of network security devices, followed by
performance benchmark testing. This document focuses on advanced,
realistic, and reproducible testing methods. Additionally, it describes
testbed environments, test tool requirements, and test result
formats.Test setup defined in this document applies to all benchmarking tests
described in . The test
setup MUST be contained within an Isolated Test Environment (see Section
3 of ).Testbed configuration MUST ensure that any performance implications
that are discovered during the benchmark testing aren't due to the
inherent physical network limitations such as the number of physical
links and forwarding performance capabilities (throughput and latency)
of the network devices in the testbed. For this reason, this document
recommends avoiding external devices such as switches and routers in
the testbed wherever possible.In some deployment scenarios, the network security devices (Device
Under Test/System Under Test) are connected to routers and switches,
which will reduce the number of entries in MAC or ARP tables of the
Device Under Test/System Under Test (DUT/SUT). If MAC or ARP tables
have many entries, this may impact the actual DUT/SUT performance due
to MAC and ARP/ND (Neighbor Discovery) table lookup processes. This
document also recommends using test equipment with the capability of
emulating layer 3 routing functionality instead of adding external
routers in the testbed.The testbed setup Option 1 () is the
RECOMMENDED testbed setup for the benchmarking test.If the test equipment used is not capable of emulating layer 3
routing functionality or if the number of used ports is mismatched
between test equipment and the DUT/SUT (need for test equipment port
aggregation), the test setup can be configured as shown in .A unique DUT/SUT configuration MUST be used for all benchmarking
tests described in . Since each DUT/SUT
will have its own unique configuration, users SHOULD configure their
device with the same parameters and security features that would be
used in the actual deployment of the device or a typical deployment in
order to achieve maximum network security coverage. The DUT/SUT MUST
be configured in "Inline" mode so that the traffic is actively
inspected by the DUT/SUT. Also "Fail-Open" behavior MUST be disabled
on the DUT/SUT. and below describe
the RECOMMENDED and OPTIONAL sets of network security feature list for
NGFW and NGIPS respectively. The selected security features SHOULD be
consistently enabled on the DUT/SUT for all benchmarking tests
described in .To improve repeatability, a summary of the DUT/SUT configuration
including a description of all enabled DUT/SUT features MUST be
published with the benchmarking results.DUT/SUT (NGFW) FeaturesRECOMMENDEDOPTIONALSSL InspectionxIDS/IPSxAnti-SpywarexAnti-VirusxAnti-BotnetxWeb FilteringxData Loss Protection (DLP)xDDoSxCertificate ValidationxLogging and ReportingxApplication IdentificationxDUT/SUT (NGIPS) FeaturesRECOMMENDEDOPTIONALSSL InspectionxAnti-MalwarexAnti-SpywarexAnti-BotnetxLogging and ReportingxApplication IdentificationxDeep Packet InspectionxAnti-EvasionxThe following table provides a brief description of the security
features.DUT/SUT FeaturesDescriptionSSL InspectionDUT/SUT intercepts and decrypts inbound HTTPS traffic between
servers and clients. Once the content inspection has been completed,
DUT/SUT encrypts the HTTPS traffic with ciphers and keys used by the
clients and servers.IDS/IPSDUT/SUT detects and blocks exploits targeting known and unknown
vulnerabilities across the monitored network.Anti-MalwareDUT/SUT detects and prevents the transmission of malicious
executable code and any associated communications across the
monitored network. This includes data exfiltration as well as
command and control channels.Anti-SpywareAnti-Spyware is a subcategory of Anti Malware. Spyware transmits
information without the user's knowledge or permission. DUT/SUT
detects and block initial infection or transmission of data.Anti-BotnetDUT/SUT detects traffic to or from botnets.Anti-EvasionDUT/SUT detects and mitigates attacks that have been obfuscated
in some manner.Web FilteringDUT/SUT detects and blocks malicious website including defined
classifications of website across the monitored network.DLPDUT/SUT detects and prevents data breaches and data exfiltration,
or it detects and blocks the transmission of sensitive data across
the monitored network.Certificate ValidationDUT/SUT validates certificates used in encrypted communications
across the monitored network.Logging and ReportingDUT/SUT logs and reports all traffic at the flow level across the
monitored network.Application IdentificationDUT/SUT detects known applications as defined within the traffic
mix selected across the monitored network.Below is a summary of the DUT/SUT configuration:DUT/SUT MUST be configured in "inline" mode."Fail-Open" behavior MUST be disabled.All RECOMMENDED security features are enabled.Logging SHOULD be enabled. DUT/SUT SHOULD log all traffic at
the flow level - Logging to an external device is
permissible.Geographical location filtering, and Application Identification
and Control SHOULD be configured to trigger based on a site or
application from the defined traffic mix.In addition, a realistic number of access control rules (ACL)
SHOULD be configured on the DUT/SUT where ACLs are configurable and
reasonable based on the deployment scenario. This document determines
the number of access policy rules for four different classes of
DUT/SUT: Extra Small (XS), Small (S), Medium (M), and Large (L). A
sample DUT/SUT classification is described in .The Access Control Rules (ACL) defined in
MUST be configured from top to bottom in the correct order as shown in
the table. This is due to ACL types listed in specificity decreasing
order, with "block" first, followed by "allow", representing a typical
ACL based security policy. The ACL entries SHOULD be configured with
routable IP subnets by the DUT/SUT. (Note: There will be differences
between how security vendors implement ACL decision making.) The
configured ACL MUST NOT block the security and measurement traffic
used for the benchmarking tests.Note: If half of the applications included in the measurement
traffic is less than 10, the missing number of ACL entries (dummy
rules) can be configured for any application traffic not included in
the measurement traffic.The Security features (defined in and
) of the DUT/SUT MUST be configured
effectively to detect, prevent, and report the defined security
vulnerability sets. This section defines the selection of the
security vulnerability sets from Common vulnerabilities and
Exposures (CVE) list for the testing. The vulnerability set SHOULD
reflect a minimum of 500 CVEs from no older than 10 calendar years
to the current year. These CVEs SHOULD be selected with a focus on
in-use software commonly found in business applications, with a
Common vulnerability Scoring System (CVSS) Severity of High
(7-10).This document is primarily focused on performance benchmarking.
However, it is RECOMMENDED to validate the security features
configuration of the DUT/SUT by evaluating the security
effectiveness as a prerequisite for performance benchmarking tests
defined in the section 7. In case the benchmarking tests are
performed without evaluating security effectiveness, the test report
MUST explain the implications of this. The methodology for
evaluating security effectiveness is defined in .In general, test equipment allows configuring parameters in
different protocol layers. These parameters thereby influence the
traffic flows which will be offered and impact performance
measurements.This section specifies common test equipment configuration
parameters applicable for all benchmarking tests defined in . Any benchmarking test specific
parameters are described under the test setup section of each
benchmarking test individually.This section specifies which parameters SHOULD be considered
while configuring clients using test equipment. Also, this section
specifies the RECOMMENDED values for certain parameters. The values
are the defaults used in most of the client operating systems
currently.The TCP stack SHOULD use a congestion control algorithm at
client and server endpoints. The IPv4 and IPv6 Maximum Segment
Size (MSS) SHOULD be set to 1460 bytes and 1440 bytes respectively
and a TX and RX initial receive windows of 64 KByte. Client
initial congestion window SHOULD NOT exceed 10 times the MSS.
Delayed ACKs are permitted and the maximum client delayed ACK
SHOULD NOT exceed 10 times the MSS before a forced ACK. Up to
three retries SHOULD be allowed before a timeout event is
declared. All traffic MUST set the TCP PSH flag to high. The
source port range SHOULD be in the range of 1024 - 65535. Internal
timeout SHOULD be dynamically scalable per RFC 793. The client
SHOULD initiate and close TCP connections. The TCP connection MUST
be initiated via a TCP three-way handshake (SYN, SYN/ACK, ACK),
and it MUST be closed via either a TCP three-way close (FIN,
FIN/ACK, ACK), or a TCP four-way close (FIN, ACK, FIN, ACK).The sum of the client IP space SHOULD contain the following
attributes.The IP blocks SHOULD consist of multiple unique,
discontinuous static address blocks.A default gateway is permitted.The DSCP (differentiated services code point) marking is
set to DF (Default Forwarding) '000000' on IPv4 Type of
Service (ToS) field and IPv6 traffic class field.The following equation can be used to define the total number
of client IP addresses that will be configured on the test
equipment.Desired total number of client IP = Target throughput [Mbit/s]
/ Average throughput per IP address [Mbit/s]As shown in the example list below, the value for "Average
throughput per IP address" can be varied depending on the
deployment and use case scenario.DUT/SUT deployment scenario 1 : 6-7 Mbit/s per IP (e.g.
1,400-1,700 IPs per 10Gbit/s throughput)DUT/SUT deployment scenario 2 : 0.1-0.2 Mbit/s per IP (e.g.
50,000-100,000 IPs per 10Gbit/s throughput)Based on deployment and use case scenario, client IP addresses
SHOULD be distributed between IPv4 and IPv6. The following options
MAY be considered for a selection of traffic mix ratio.100 % IPv4, no IPv680 % IPv4, 20% IPv650 % IPv4, 50% IPv620 % IPv4, 80% IPv6no IPv4, 100% IPv6Note: The IANA has assigned IP address range for the testing
purpose as described in . If the test
scenario requires more IP addresses or subnets than the IANA
assigned, this document recommends using non routable Private IPv4
address ranges or Unique Local Address (ULA) IPv6 address ranges
for the testing.The client emulated web browser (emulated browser) contains
attributes that will materially affect how traffic is loaded. The
objective is to emulate modern, typical browser attributes to
improve realism of the result set.For HTTP traffic emulation, the emulated browser MUST negotiate
HTTP version 1.1 or higher. Depending on test scenarios and chosen
HTTP version, the emulated browser MAY open multiple TCP
connections per Server endpoint IP at any time depending on how
many sequential transactions need to be processed. For HTTP/2 or
HTTP/3, the emulated browser MAY open multiple concurrent streams
per connection (multiplexing). HTTP/3 emulated browser uses QUIC
() as transport protocol. HTTP settings
such as number of connection per server IP, number of requests per
connection, and number of streams per connection MUST be
documented. This document refers to for
HTTP/2. The emulated browser SHOULD advertise a User-Agent header.
The emulated browser SHOULD enforce content length validation.
Depending on test scenarios and selected HTTP version, HTTP header
compression MAY be set to enable or disable. This setting
(compression enabled or disabled) MUST be documented in the
report.For encrypted traffic, the following attributes SHALL define
the negotiated encryption parameters. The test clients MUST use
TLS version 1.2 or higher. TLS record size MAY be optimized for
the HTTPS response object size up to a record size of 16 KByte. If
Server Name Indication (SNI) is required in the traffic mix
profile, the client endpoint MUST send TLS extension Server Name
Indication (SNI) information when opening a security tunnel. Each
client connection MUST perform a full handshake with server
certificate and MUST NOT use session reuse or resumption.The following TLS 1.2 supported ciphers and keys are
RECOMMENDED to use for HTTPS based benchmarking tests defined in
.ECDHE-ECDSA-AES128-GCM-SHA256 with Prime256v1 (Signature
Hash Algorithm: ecdsa_secp256r1_sha256 and Supported group:
secp256r1)ECDHE-RSA-AES128-GCM-SHA256 with RSA 2048 (Signature Hash
Algorithm: rsa_pkcs1_sha256 and Supported group:
secp256r1)ECDHE-ECDSA-AES256-GCM-SHA384 with Secp521 (Signature Hash
Algorithm: ecdsa_secp384r1_sha384 and Supported group:
secp521r1)ECDHE-RSA-AES256-GCM-SHA384 with RSA 4096 (Signature Hash
Algorithm: rsa_pkcs1_sha384 and Supported group:
secp256r1)Note: The above ciphers and keys were those commonly used
enterprise grade encryption cipher suites for TLS 1.2. It is
recognized that these will evolve over time. Individual
certification bodies SHOULD use ciphers and keys that reflect
evolving use cases. These choices MUST be documented in the
resulting test reports with detailed information on the ciphers
and keys used along with reasons for the choices. defines the following cipher suites
for use with TLS 1.3.TLS_AES_128_GCM_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256TLS_AES_128_CCM_SHA256TLS_AES_128_CCM_8_SHA256This section specifies which parameters should be considered
while configuring emulated backend servers using test equipment.The TCP stack on the server side SHOULD be configured similar
to the client side configuration described in . In addition, server initial
congestion window MUST NOT exceed 10 times the MSS. Delayed ACKs
are permitted and the maximum server delayed ACK MUST NOT exceed
10 times the MSS before a forced ACK.The sum of the server IP space SHOULD contain the following
attributes.The server IP blocks SHOULD consist of unique,
discontinuous static address blocks with one IP per server
Fully Qualified Domain Name (FQDN) endpoint per test port.A default gateway is permitted. The DSCP (differentiated
services code point) marking is set to DF (Default Forwarding)
'000000' on IPv4 Type of Service (ToS) field and IPv6 traffic
class field.The server IP addresses SHOULD be distributed between IPv4
and IPv6 with a ratio identical to the clients distribution
ratio.Note: The IANA has assigned IP address range for the testing
purpose as described in . If the test
scenario requires more IP addresses or subnets than the IANA
assigned, this document recommends using non routable Private IPv4
address ranges or Unique Local Address (ULA) IPv6 address ranges
for the testing.The server pool for HTTP SHOULD listen on TCP port 80 and
emulate the same HTTP version (HTTP 1.1 or HTTP/2 or HTTP/3) and
settings chosen by the client (emulated web browser). The Server
MUST advertise server type in the Server response header . For HTTPS server, TLS 1.2 or higher MUST be
used with a maximum record size of 16 KByte and MUST NOT use
ticket resumption or session ID reuse. The server SHOULD listen on
TCP port 443 for HTTP version 1.1 and 2. For HTTP/3 (HTTP over
QUIC) the server SHOULD listen on UDP 443. The server SHALL serve
a certificate to the client. The HTTPS server MUST check host SNI
information with the FQDN if SNI is in use. Cipher suite and key
size on the server side MUST be configured similar to the client
side configuration described in .This section describes the traffic pattern between client and
server endpoints. At the beginning of the test, the server endpoint
initializes and will be ready to accept connection states including
initialization of the TCP stack as well as bound HTTP and HTTPS
servers. When a client endpoint is needed, it will initialize and be
given attributes such as a MAC and IP address. The behavior of the
client is to sweep through the given server IP space, generating a
recognizable service by the DUT. Sequential and pseudorandom sweep
methods are acceptable. The method used MUST be stated in the final
report. Thus, a balanced mesh between client endpoints and server
endpoints will be generated in a client IP and port to server IP and
port combination. Each client endpoint performs the same actions as
other endpoints, with the difference being the source IP of the
client endpoint and the target server IP pool. The client MUST use
the server IP address or FQDN in the host header .Client endpoints are independent of other clients that are
concurrently executing. When a client endpoint initiates traffic,
this section describes how the client steps through different
services. Once the test is initialized, the client endpoints
randomly hold (perform no operation) for a few milliseconds for
better randomization of the start of client traffic. Each client
will either open a new TCP connection or connect to a TCP
persistence stack still open to that specific server. At any point
that the traffic profile may require encryption, a TLS encryption
tunnel will form presenting the URL or IP address request to the
server. If using SNI, the server MUST then perform an SNI name
check with the proposed FQDN compared to the domain embedded in
the certificate. Only when correct, will the server process the
HTTPS response object. The initial response object to the server
is based on benchmarking tests described in . Multiple additional sub-URLs (response
objects on the service page) MAY be requested simultaneously. This
MAY be to the same server IP as the initial URL. Each sub-object
will also use a canonical FQDN and URL path, as observed in the
traffic mix used.The loading of traffic is described in this section. The loading
of a traffic load profile has five phases: Init, ramp up, sustain,
ramp down, and collection.Init phase: Testbed devices including the client and server
endpoints should negotiate layer 2-3 connectivity such as MAC
learning and ARP. Only after successful MAC learning or ARP/ND
resolution SHALL the test iteration move to the next phase. No
measurements are made in this phase. The minimum RECOMMENDED
time for Init phase is 5 seconds. During this phase, the
emulated clients SHOULD NOT initiate any sessions with the
DUT/SUT, in contrast, the emulated servers should be ready to
accept requests from DUT/SUT or from emulated clients.Ramp up phase: The test equipment SHOULD start to generate
the test traffic. It SHOULD use a set of the approximate number
of unique client IP addresses to generate traffic. The traffic
SHOULD ramp up from zero to desired target objective. The target
objective is defined for each benchmarking test. The duration
for the ramp up phase MUST be configured long enough that the
test equipment does not overwhelm the DUT/SUTs stated
performance metrics defined in namely, TCP Connections
Per Second, Inspected Throughput, Concurrent TCP Connections,
and Application Transactions Per Second. No measurements are
made in this phase.Sustain phase: Starts when all required clients are active
and operating at their desired load condition. In the sustain
phase, the test equipment SHOULD continue generating traffic to
constant target value for a constant number of active clients.
The minimum RECOMMENDED time duration for sustain phase is 300
seconds. This is the phase where measurements occur. The test
equipment SHOULD measure and record statistics continuously. The
sampling interval for collecting the raw results and calculating
the statistics SHOULD be less than 2 seconds.Ramp down phase: No new connections are established, and no
measurements are made. The time duration for ramp up and ramp
down phase SHOULD be the same.Collection phase: The last phase is administrative and will
occur when the test equipment merges and collates the report
data.This section describes steps for a reference test (pre-test) that
control the test environment including test equipment, focusing on
physical and virtualized environments and as well as test equipments.
Below are the RECOMMENDED steps for the reference test.Perform the reference test either by configuring the DUT/SUT in
the most trivial setup (fast forwarding) or without presence of the
DUT/SUT.Generate traffic from traffic generator. Choose a traffic profile
used for HTTP or HTTPS throughput performance test with smallest
object size.Ensure that any ancillary switching or routing functions added in
the test equipment does not limit the performance by introducing
network metrics such as packet loss and latency. This is
specifically important for virtualized components (e.g., vSwitches,
vRouters).Verify that the generated traffic (performance) of the test
equipment matches and reasonably exceeds the expected maximum
performance of the DUT/SUT.Record the network performance metrics packet loss latency
introduced by the test environment (without DUT/SUT).Assert that the testbed characteristics are stable during the
entire test session. Several factors might influence stability
specifically, for virtualized testbeds. For example, additional
workloads in a virtualized system, load balancing, and movement of
virtual machines during the test, or simple issues such as
additional heat created by high workloads leading to an emergency
CPU performance reduction.The reference test SHOULD be performed before the benchmarking tests
(described in section 7) start.This section describes how the benchmarking test report should be
formatted and presented. It is RECOMMENDED to include two main sections
in the report, namely the introduction and the detailed test results
sections.The following attributes SHOULD be present in the introduction
section of the test report.The time and date of the execution of the testsSummary of testbed software and hardware detailsDUT/SUT hardware/virtual configurationThis section SHOULD clearly identify the make and model
of the DUT/SUTThe port interfaces, including speed and link
informationIf the DUT/SUT is a Virtual Network Function (VNF),
host (server) hardware and software details, interface
acceleration type such as DPDK and SR-IOV, used CPU cores,
used RAM, resource sharing (e.g. Pinning details and NUMA
Node) configuration details, hypervisor version, virtual
switch versiondetails of any additional hardware relevant to the
DUT/SUT such as controllersDUT/SUT softwareOperating system nameVersionSpecific configuration details (if any)DUT/SUT enabled featuresConfigured DUT/SUT features (see and )Attributes of the above-mentioned featuresAny additional relevant information about the
featuresTest equipment hardware and software Test equipment vendor nameHardware details including model number, interface
typeTest equipment firmware and test application software
versionKey test parametersUsed cipher suites and keysIPv4 and IPv6 traffic distributionNumber of configured ACLDetails of application traffic mix used in the benchmarking
test "Throughput
Performance with Application Traffic Mix"Name of applications and layer 7 protocolsPercentage of emulated traffic for each application and
layer 7 protocolsPercentage of encrypted traffic and used cipher suites
and keys (The RECOMMENDED ciphers and keys are defined in
)Used object sizes for each application and layer 7
protocolsResults Summary / Executive SummaryResults SHOULD resemble a pyramid in how it is reported,
with the introduction section documenting the summary of
results in a prominent, easy to read block.In the result section of the test report, the following attributes
SHOULD be present for each benchmarking test.KPIs MUST be documented separately for each benchmarking test.
The format of the KPI metrics SHOULD be presented as described in
.The next level of details SHOULD be graphs showing each of
these metrics over the duration (sustain phase) of the test. This
allows the user to see the measured performance stability changes
over time.This section lists key performance indicators (KPIs) for overall
benchmarking tests. All KPIs MUST be measured during the sustain phase
of the traffic load profile described in . All KPIs MUST be measured from the
result output of test equipment.Concurrent TCP ConnectionsThe aggregate number of
simultaneous connections between hosts across the DUT/SUT, or
between hosts and the DUT/SUT (defined in ).TCP Connections Per SecondThe average number of
successfully established TCP connections per second between hosts
across the DUT/SUT, or between hosts and the DUT/SUT. The TCP
connection MUST be initiated via a TCP three-way handshake (SYN,
SYN/ACK, ACK). Then the TCP session data is sent. The TCP session
MUST be closed via either a TCP three-way close (FIN, FIN/ACK,
ACK), or a TCP four-way close (FIN, ACK, FIN, ACK), and MUST NOT
by RST.Application Transactions Per SecondThe average number
of successfully completed transactions per second. For a
particular transaction to be considered successful, all data MUST
have been transferred in its entirety. In case of HTTP(S)
transactions, it MUST have a valid status code (200 OK), and the
appropriate FIN, FIN/ACK sequence MUST have been completed.TLS Handshake RateThe average number of successfully
established TLS connections per second between hosts across the
DUT/SUT, or between hosts and the DUT/SUT.Inspected ThroughputThe number of bits per second of
examined and allowed traffic a network security device is able to
transmit to the correct destination interface(s) in response to a
specified offered load. The throughput benchmarking tests defined
in SHOULD measure the
average Layer 2 throughput value when the DUT/SUT is “inspecting”
traffic. This document recommends presenting the inspected
throughput value in Gbit/s rounded to two places of precision with
a more specific Kbit/s in parenthesis.Time to First Byte (TTFB)TTFB is the elapsed time
between the start of sending the TCP SYN packet from the client
and the client receiving the first packet of application data from
the server or DUT/SUT. The benchmarking tests HTTP Transaction Latency and HTTPS Transaction
Latency measure the minimum, average and maximum TTFB. The
value SHOULD be expressed in milliseconds.URL Response time / Time to Last Byte (TTLB)URL
Response time / TTLB is the elapsed time between the start of
sending the TCP SYN packet from the client and the client
receiving the last packet of application data from the server or
DUT/SUT. The benchmarking tests HTTP Transaction Latency and HTTPS Transaction
Latency measure the minimum, average and maximum TTLB. The
value SHOULD be expressed in millisecond.Using a relevant application traffic mix, determine the
sustainable inspected throughput supported by the DUT/SUT.Based on the test customer's specific use case, testers can
choose the relevant application traffic mix for this test. The
details about the traffic mix MUST be documented in the report. At
least the following traffic mix details MUST be documented and
reported together with the test results:Name of applications and layer 7 protocolsPercentage of emulated traffic for each application and layer
7 protocolPercentage of encrypted traffic and used cipher suites and
keys (The RECOMMENDED ciphers and keys are defined in .)Used object sizes for each application and layer 7
protocolsTestbed setup MUST be configured as defined in . Any benchmarking test specific testbed
configuration changes MUST be documented.In this section, the benchmarking test specific parameters SHOULD
be defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented. In case
the DUT/SUT is configured without SSL inspection, the test report
MUST explain the implications of this to the relevant application
traffic mix encrypted traffic.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target inspected throughput: Aggregated line rate of
interface(s) used in the DUT/SUT or the value defined based on
requirement for a specific deployment scenarioInitial throughput: 10% of the "Target inspected
throughput" Note: Initial throughput is not a KPI to report.
This value is configured on the traffic generator and used to
perform Step 1: "Test Initialization and Qualification"
described under the .One of the ciphers and keys defined in are RECOMMENDED to
use for this benchmarking test.Traffic profile: This test MUST be run with a relevant
application traffic mix profile.The following criteria are the test results validation
criteria. The test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of total attempted
transactions.Number of Terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.Following KPI metrics MUST be reported for this benchmarking
test:Mandatory KPIs (benchmarks): Inspected Throughput, TTFB
(minimum, average, and maximum), TTLB (minimum, average, and
maximum) and Application Transactions Per SecondNote: TTLB MUST be reported along with the object size used in
the traffic profile.Optional KPIs: TCP Connections Per Second and TLS Handshake
RateThe test procedures are designed to measure the inspected
throughput performance of the DUT/SUT at the sustaining period of
traffic load profile. The test procedure consists of three major
steps: Step 1 ensures the DUT/SUT is able to reach the performance
value (initial throughput) and meets the test results validation
criteria when it was very minimally utilized. Step 2 determines the
DUT/SUT is able to reach the target performance value within the
test results validation criteria. Step 3 determines the maximum
achievable performance value within the test results validation
criteria.This test procedure MAY be repeated multiple times with different
IP types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic
distribution.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure traffic load profile of the test equipment to
generate test traffic at the "Initial throughput" rate as
described in . The
test equipment SHOULD follow the traffic load profile definition
as described in . The DUT/SUT
SHOULD reach the "Initial throughput" during the sustain phase.
Measure all KPI as defined in . The measured KPIs during the sustain
phase MUST meet all the test results validation criteria defined
in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to step 2.Configure test equipment to generate traffic at the "Target
inspected throughput" rate defined in . The
test equipment SHOULD follow the traffic load profile definition
as described in . The test
equipment SHOULD start to measure and record all specified KPIs.
Continue the test until all traffic profile phases are
completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective
("Target inspected throughput") in the sustain phase. Follow step
3, if the measured value does not meet the target value or does
not fulfill the test results validation criteria.Determine the achievable average inspected throughput within
the test results validation criteria. Final test iteration MUST be
performed for the test duration defined in .Using HTTP traffic, determine the sustainable TCP connection
establishment rate supported by the DUT/SUT under different
throughput load conditions.To measure connections per second, test iterations MUST use
different fixed HTTP response object sizes (the different load
conditions) defined in .Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target connections per second: Initial value from product
datasheet or the value defined based on requirement for a specific
deployment scenarioInitial connections per second: 10% of “Target connections per
second” (Note: Initial connections per second is not a KPI to
report. This value is configured on the traffic generator and used
to perform the Step1: "Test Initialization and Qualification"
described under the .The client SHOULD negotiate HTTP and close the connection with
FIN immediately after completion of one transaction. In each test
iteration, client MUST send GET request requesting a fixed HTTP
response object size.The RECOMMENDED response object sizes are 1, 2, 4, 16, and 64
KByte.The following criteria are the test results validation
criteria. The Test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of total attempted
transactions.Number of terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation
of traffic forwarding rate is less than 5%).Concurrent TCP connections MUST be constant during steady
state and any deviation of concurrent TCP connections SHOULD
be less than 10%. This confirms the DUT opens and closes TCP
connections at approximately the same rate.TCP Connections Per Second MUST be reported for each test
iteration (for each object size).The test procedure is designed to measure the TCP connections per
second rate of the DUT/SUT at the sustaining period of the traffic
load profile. The test procedure consists of three major steps: Step
1 ensures the DUT/SUT is able to reach the performance value
(Initial connections per second) and meets the test results
validation criteria when it was very minimally utilized. Step 2
determines the DUT/SUT is able to reach the target performance value
within the test results validation criteria. Step 3 determines the
maximum achievable performance value within the test results
validation criteria.This test procedure MAY be repeated multiple times with different
IP types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic
distribution.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure the traffic load profile of the test equipment to
establish "Initial connections per second" as defined in . The
traffic load profile SHOULD be defined as described in .The DUT/SUT SHOULD reach the "Initial connections per second"
before the sustain phase. The measured KPIs during the sustain
phase MUST meet all the test results validation criteria defined
in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT continue to "Step 2".Configure test equipment to establish the target objective
("Target connections per second") defined in . The
test equipment SHOULD follow the traffic load profile definition
as described in .During the ramp up and sustain phase of each test iteration,
other KPIs such as inspected throughput, concurrent TCP
connections and application transactions per second MUST NOT reach
the maximum value the DUT/SUT can support. The test results for
specific test iterations SHOULD NOT be reported, if the
above-mentioned KPI (especially inspected throughput) reaches the
maximum value. (Example: If the test iteration with 64 KByte of
HTTP response object size reached the maximum inspected throughput
limitation of the DUT/SUT, the test iteration MAY be interrupted
and the result for 64 KByte SHOULD NOT be reported.)The test equipment SHOULD start to measure and record all
specified KPIs. Continue the test until all traffic profile phases
are completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective
("Target connections per second") in the sustain phase. Follow
step 3, if the measured value does not meet the target value or
does not fulfill the test results validation criteria.Determine the achievable TCP connections per second within the
test results validation criteria.Determine the sustainable inspected throughput of the DUT/SUT for
HTTP transactions varying the HTTP response object size.Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target inspected throughput: Aggregated line rate of
interface(s) used in the DUT/SUT or the value defined based on
requirement for a specific deployment scenarioInitial throughput: 10% of "Target inspected throughput" Note:
Initial throughput is not a KPI to report. This value is
configured on the traffic generator and used to perform Step 1:
"Test Initialization and Qualification" described under .Number of HTTP response object requests (transactions) per
connection: 10RECOMMENDED HTTP response object size: 1, 16, 64, 256 KByte,
and mixed objects defined in .Object size (KByte)Number of requests/ Weight0.216181911012512613515913471The following criteria are the test results validation
criteria. The test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of attempt transactions.Traffic SHOULD be forwarded at a constant rate (considered
as a constant rate if any deviation of traffic forwarding rate
is less than 5%).Concurrent TCP connections MUST be constant during steady
state and any deviation of concurrent TCP connections SHOULD
be less than 10%. This confirms the DUT opens and closes TCP
connections at approximately the same rate.Inspected Throughput and HTTP Transactions per Second MUST be
reported for each object size.The test procedure is designed to measure HTTP throughput of the
DUT/ SUT. The test procedure consists of three major steps: Step 1
ensures the DUT/SUT is able to reach the performance value (Initial
throughput) and meets the test results validation criteria when it
was very minimal utilized. Step 2 determines the DUT/SUT is able to
reach the target performance value within the test results
validation criteria. Step 3 determines the maximum achievable
performance value within the test results validation criteria.This test procedure MAY be repeated multiple times with different
IPv4 and IPv6 traffic distribution and HTTP response object
sizes.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure traffic load profile of the test equipment to
establish "Initial inspected throughput" as defined in .The traffic load profile SHOULD be defined as described in
. The DUT/SUT SHOULD reach
the "Initial inspected throughput" during the sustain phase.
Measure all KPI as defined in .The measured KPIs during the sustain phase MUST meet the test
results validation criteria "a" defined in . The test results
validation criteria "b" and "c" are OPTIONAL for step 1.If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to "Step
2".Configure test equipment to establish the target objective
("Target inspected throughput") defined in . The
test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all traffic profile phases are
completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective in the
sustain phase. Follow step 3, if the measured value does not meet
the target value or does not fulfill the test results validation
criteria.Determine the achievable inspected throughput within the test
results validation criteria and measure the KPI metric
Transactions per Second. Final test iteration MUST be performed
for the test duration defined in .Using HTTP traffic, determine the HTTP transaction latency when
DUT is running with sustainable HTTP transactions per second
supported by the DUT/SUT under different HTTP response object
sizes.Test iterations MUST be performed with different HTTP response
object sizes in two different scenarios. One with a single
transaction and the other with multiple transactions within a single
TCP connection. For consistency both the single and multiple
transaction test MUST be configured with the same HTTP versionScenario 1: The client MUST negotiate HTTP and close the
connection with FIN immediately after completion of a single
transaction (GET and RESPONSE).Scenario 2: The client MUST negotiate HTTP and close the
connection FIN immediately after completion of 10 transactions (GET
and RESPONSE) within a single TCP connection.Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target objective for scenario 1: 50% of the connections per
second measured in benchmarking test TCP/HTTP Connections Per SecondTarget objective for scenario 2: 50% of the inspected
throughput measured in benchmarking test HTTP ThroughputInitial objective for scenario 1: 10% of "Target objective for
scenario 1”Initial objective for scenario 2: 10% of “Target objective for
scenario 2”Note: The Initial objectives are not a KPI to report. These
values are configured on the traffic generator and used to perform
the Step1: "Test Initialization and Qualification" described under
the .HTTP transaction per TCP connection: Test scenario 1 with
single transaction and test scenario 2 with 10 transactions.HTTP with GET request requesting a single object. The
RECOMMENDED object sizes are 1, 16, and 64 KByte. For each test
iteration, client MUST request a single HTTP response object
size.The following criteria are the test results validation
criteria. The Test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of attempt transactions.Number of terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation
of traffic forwarding rate is less than 5%).Concurrent TCP connections MUST be constant during steady
state and any deviation of concurrent TCP connections SHOULD
be less than 10%. This confirms the DUT opens and closes TCP
connections at approximately the same rate.After ramp up the DUT MUST achieve the "Target objective"
defined in
and remain in that state for the entire test duration (sustain
phase).TTFB (minimum, average, and maximum) and TTLB (minimum, average
and maximum) MUST be reported for each object size.The test procedure is designed to measure TTFB or TTLB when the
DUT/SUT is operating close to 50% of its maximum achievable
connections per second or inspected throughput. The test procedure
consists of two major steps: Step 1 ensures the DUT/SUT is able to
reach the initial performance values and meets the test results
validation criteria when it was very minimally utilized. Step 2
measures the latency values within the test results validation
criteria.This test procedure MAY be repeated multiple times with different
IP types (IPv4 only, IPv6 only and IPv4 and IPv6 mixed traffic
distribution), HTTP response object sizes and single and multiple
transactions per connection scenarios.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure traffic load profile of the test equipment to
establish "Initial objective" as defined in .
The traffic load profile SHOULD be defined as described in .The DUT/SUT SHOULD reach the "Initial objective" before the
sustain phase. The measured KPIs during the sustain phase MUST
meet all the test results validation criteria defined in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to "Step
2".Configure test equipment to establish "Target objective"
defined in .
The test equipment SHOULD follow the traffic load profile
definition as described in .The test equipment SHOULD start to measure and record all
specified KPIs. Continue the test until all traffic profile phases
are completed.Within the test results validation criteria, the DUT/SUT MUST
reach the desired value of the target objective in the sustain
phase.Measure the minimum, average, and maximum values of TTFB and
TTLB.Determine the number of concurrent TCP connections that the DUT/
SUT sustains when using HTTP traffic.Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be noted for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target concurrent connection: Initial value from product
datasheet or the value defined based on requirement for a
specific deployment scenario.Initial concurrent connection: 10% of “Target concurrent
connection” Note: Initial concurrent connection is not a KPI
to report. This value is configured on the traffic generator
and used to perform the Step1: "Test Initialization and
Qualification" described under the .Maximum connections per second during ramp up phase: 50% of
maximum connections per second measured in benchmarking test
TCP/HTTP Connections per
secondRamp up time (in traffic load profile for "Target
concurrent connection"): “Target concurrent connection" /
"Maximum connections per second during ramp up phase"Ramp up time (in traffic load profile for "Initial
concurrent connection"): “Initial concurrent connection" /
"Maximum connections per second during ramp up phase"The client MUST negotiate HTTP and each client MAY open
multiple concurrent TCP connections per server endpoint IP.Each client sends 10 GET requests requesting 1 KByte HTTP
response object in the same TCP connection (10 transactions/TCP
connection) and the delay (think time) between each transaction
MUST be X seconds.X = (“Ramp up time” + ”steady state time”) /10The established connections SHOULD remain open until the ramp
down phase of the test. During the ramp down phase, all
connections SHOULD be successfully closed with FIN.The following criteria are the test results validation
criteria. The Test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transaction) of total attempted
transactions.Number of terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation
of traffic forwarding rate is less than 5%).Average Concurrent TCP Connections MUST be reported for this
benchmarking test.The test procedure is designed to measure the concurrent TCP
connection capacity of the DUT/SUT at the sustaining period of
traffic load profile. The test procedure consists of three major
steps: Step 1 ensures the DUT/SUT is able to reach the performance
value (Initial concurrent connection) and meets the test results
validation criteria when it was very minimally utilized. Step 2
determines the DUT/SUT is able to reach the target performance value
within the test results validation criteria. Step 3 determines the
maximum achievable performance value within the test results
validation criteria.This test procedure MAY be repeated multiple times with different
IPv4 and IPv6 traffic distribution.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure test equipment to establish “Initial concurrent TCP
connections" defined in . Except
ramp up time, the traffic load profile SHOULD be defined as
described in .During the sustain phase, the DUT/SUT SHOULD reach the “Initial
concurrent TCP connections”. The measured KPIs during the sustain
phase MUST meet all the test results validation criteria defined
in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to “Step
2”.Configure test equipment to establish the target objective
(“Target concurrent TCP connections”). The test equipment SHOULD
follow the traffic load profile definition (except ramp up time)
as described in .During the ramp up and sustain phase, the other KPIs such as
inspected throughput, TCP connections per second, and application
transactions per second MUST NOT reach the maximum value the
DUT/SUT can support.The test equipment SHOULD start to measure and record KPIs
defined in . Continue the test
until all traffic profile phases are completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective in the
sustain phase. Follow step 3, if the measured value does not meet
the target value or does not fulfill the test results validation
criteria.Determine the achievable concurrent TCP connections capacity
within the test results validation criteria.Using HTTPS traffic, determine the sustainable SSL/TLS session
establishment rate supported by the DUT/SUT under different
throughput load conditions.Test iterations MUST include common cipher suites and key
strengths as well as forward looking stronger keys. Specific test
iterations MUST include ciphers and keys defined in .For each cipher suite and key strengths, test iterations MUST use
a single HTTPS response object size defined in to
measure connections per second performance under a variety of
DUT/SUT security inspection load conditions.Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target connections per second: Initial value from product
datasheet or the value defined based on requirement for a specific
deployment scenario.Initial connections per second: 10% of “Target connections per
second” Note: Initial connections per second is not a KPI to
report. This value is configured on the traffic generator and used
to perform the Step1: "Test Initialization and Qualification"
described under the .RECOMMENDED ciphers and keys defined in The client MUST negotiate HTTPS and close the connection with
FIN immediately after completion of one transaction. In each test
iteration, client MUST send GET request requesting a fixed HTTPS
response object size. The RECOMMENDED object sizes are 1, 2, 4,
16, and 64 KByte.The following criteria are the test results validation
criteria. The test results validation criteria MUST be monitored
during the whole test duration.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of attempt transactions.Number of terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation
of traffic forwarding rate is less than 5%).Concurrent TCP connections MUST be constant during steady
state and any deviation of concurrent TCP connections SHOULD
be less than 10%. This confirms the DUT opens and closes TCP
connections at approximately the same rate.TCP connections per second MUST be reported for each test
iteration (for each object size).The KPI metric TLS Handshake Rate can be measured in the test
using 1 KByte object size.The test procedure is designed to measure the TCP connections per
second rate of the DUT/SUT at the sustaining period of traffic load
profile. The test procedure consists of three major steps: Step 1
ensures the DUT/SUT is able to reach the performance value (Initial
connections per second) and meets the test results validation
criteria when it was very minimally utilized. Step 2 determines the
DUT/SUT is able to reach the target performance value within the
test results validation criteria. Step 3 determines the maximum
achievable performance value within the test results validation
criteria.This test procedure MAY be repeated multiple times with different
IPv4 and IPv6 traffic distribution.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure traffic load profile of the test equipment to
establish "Initial connections per second" as defined in . The
traffic load profile SHOULD be defined as described in .The DUT/SUT SHOULD reach the "Initial connections per second"
before the sustain phase. The measured KPIs during the sustain
phase MUST meet all the test results validation criteria defined
in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to "Step
2".Configure test equipment to establish "Target connections per
second" defined in . The
test equipment SHOULD follow the traffic load profile definition
as described in .During the ramp up and sustain phase, other KPIs such as
inspected throughput, concurrent TCP connections, and application
transactions per second MUST NOT reach the maximum value the
DUT/SUT can support. The test results for specific test iteration
SHOULD NOT be reported, if the above mentioned KPI (especially
inspected throughput) reaches the maximum value. (Example: If the
test iteration with 64 KByte of HTTPS response object size reached
the maximum inspected throughput limitation of the DUT, the test
iteration MAY be interrupted and the result for 64 KByte SHOULD
NOT be reported).The test equipment SHOULD start to measure and record all
specified KPIs. Continue the test until all traffic profile phases
are completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective
("Target connections per second") in the sustain phase. Follow
step 3, if the measured value does not meet the target value or
does not fulfill the test results validation criteria.Determine the achievable connections per second within the test
results validation criteria.Determine the sustainable inspected throughput of the DUT/SUT for
HTTPS transactions varying the HTTPS response object size.Test iterations MUST include common cipher suites and key
strengths as well as forward looking stronger keys. Specific test
iterations MUST include the ciphers and keys defined in .Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Target inspected throughput: Aggregated line rate of
interface(s) used in the DUT/SUT or the value defined based on
requirement for a specific deployment scenario.Initial throughput: 10% of "Target inspected throughput" Note:
Initial throughput is not a KPI to report. This value is
configured on the traffic generator and used to perform the Step1:
"Test Initialization and Qualification" described under the .Number of HTTPS response object requests (transactions) per
connection: 10RECOMMENDED ciphers and keys defined in RECOMMENDED HTTPS response object size: 1, 16, 64, 256 KByte,
and mixed objects defined in under .The following criteria are the test results validation
criteria. The test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed Application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of attempt transactions.Traffic SHOULD be forwarded at a constant rate (considered
as a constant rate if any deviation of traffic forwarding rate
is less than 5%).Concurrent TCP connections MUST be constant during steady
state and any deviation of concurrent TCP connections SHOULD
be less than 10%. This confirms the DUT opens and closes TCP
connections at approximately the same rate.Inspected Throughput and HTTP Transactions per Second MUST be
reported for each object size.The test procedure consists of three major steps: Step 1 ensures
the DUT/SUT is able to reach the performance value (Initial
throughput) and meets the test results validation criteria when it
was very minimally utilized. Step 2 determines the DUT/SUT is able
to reach the target performance value within the test results
validation criteria. Step 3 determines the maximum achievable
performance value within the test results validation criteria.This test procedure MAY be repeated multiple times with different
IPv4 and IPv6 traffic distribution and HTTPS response object
sizes.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure traffic load profile of the test equipment to
establish "Initial throughput" as defined in .The traffic load profile SHOULD be defined as described in
. The DUT/SUT SHOULD reach
the "Initial throughput" during the sustain phase. Measure all KPI
as defined in .The measured KPIs during the sustain phase MUST meet the test
results validation criteria "a" defined in . The test results
validation criteria "b" and "c" are OPTIONAL for step 1.If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to "Step
2".Configure test equipment to establish the target objective
("Target inspected throughput") defined in . The
test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all traffic profile phases are
completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective in the
sustain phase. Follow step 3, if the measured value does not meet
the target value or does not fulfill the test results validation
criteria.Determine the achievable average inspected throughput within
the test results validation criteria. Final test iteration MUST be
performed for the test duration defined in .Using HTTPS traffic, determine the HTTPS transaction latency when
DUT/SUT is running with sustainable HTTPS transactions per second
supported by the DUT/SUT under different HTTPS response object
size.Scenario 1: The client MUST negotiate HTTPS and close the
connection with FIN immediately after completion of a single
transaction (GET and RESPONSE).Scenario 2: The client MUST negotiate HTTPS and close the
connection with FIN immediately after completion of 10 transactions
(GET and RESPONSE) within a single TCP connection.Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
RECOMMENDED cipher suites and key sizes defined in Target objective for scenario 1: 50% of the connections per
second measured in benchmarking test TCP/HTTPS Connections per secondTarget objective for scenario 2: 50% of the inspected
throughput measured in benchmarking test HTTPS ThroughputInitial objective for scenario 1: 10% of "Target objective for
scenario 1”Initial objective for scenario 2: 10% of “Target objective for
scenario 2”Note: The Initial objectives are not a KPI to report. These
values are configured on the traffic generator and used to perform
the Step1: "Test Initialization and Qualification" described under
the .HTTPS transaction per TCP connection: Test scenario 1 with
single transaction and scenario 2 with 10 transactionsHTTPS with GET request requesting a single object. The
RECOMMENDED object sizes are 1, 16, and 64 KByte. For each test
iteration, client MUST request a single HTTPS response object
size.The following criteria are the test results validation
criteria. The Test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of attempt transactions.Number of terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation
of traffic forwarding rate is less than 5%).Concurrent TCP connections MUST be constant during steady
state and any deviation of concurrent TCP connections SHOULD
be less than 10%. This confirms the DUT opens and closes TCP
connections at approximately the same rate.After ramp up the DUT/SUT MUST achieve the "Target
objective" defined in the parameter
and remain in that state for the entire test duration (sustain
phase).TTFB (minimum, average, and maximum) and TTLB (minimum, average
and maximum) MUST be reported for each object size.The test procedure is designed to measure TTFB or TTLB when the
DUT/SUT is operating close to 50% of its maximum achievable
connections per second or inspected throughput. The test procedure
consists of two major steps: Step 1 ensures the DUT/SUT is able to
reach the initial performance values and meets the test results
validation criteria when it was very minimally utilized. Step 2
measures the latency values within the test results validation
criteria.This test procedure MAY be repeated multiple times with different
IP types (IPv4 only, IPv6 only and IPv4 and IPv6 mixed traffic
distribution), HTTPS response object sizes and single, and multiple
transactions per connection scenarios.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure traffic load profile of the test equipment to
establish "Initial objective" as defined in the .
The traffic load profile SHOULD be defined as described in .The DUT/SUT SHOULD reach the "Initial objective" before the
sustain phase. The measured KPIs during the sustain phase MUST
meet all the test results validation criteria defined in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to "Step
2".Configure test equipment to establish "Target objective"
defined in .
The test equipment SHOULD follow the traffic load profile
definition as described in .The test equipment SHOULD start to measure and record all
specified KPIs. Continue the test until all traffic profile phases
are completed.Within the test results validation criteria, the DUT/SUT MUST
reach the desired value of the target objective in the sustain
phase.Measure the minimum, average, and maximum values of TTFB and
TTLB.Determine the number of concurrent TCP connections the DUT/SUT
sustains when using HTTPS traffic.Testbed setup SHOULD be configured as defined in . Any specific testbed configuration changes
(number of interfaces and interface type, etc.) MUST be
documented.In this section, benchmarking test specific parameters SHOULD be
defined.DUT/SUT parameters MUST conform to the requirements defined in
. Any configuration changes
for this specific benchmarking test MUST be documented.Test equipment configuration parameters MUST conform to the
requirements defined in . The following parameters
MUST be documented for this benchmarking test:Client IP address range defined in Server IP address range defined in Traffic distribution ratio between IPv4 and IPv6 defined in
RECOMMENDED cipher suites and key sizes defined in Target concurrent connections: Initial value from product
datasheet or the value defined based on requirement for a
specific deployment scenario.Initial concurrent connections: 10% of “Target concurrent
connections” Note: Initial concurrent connection is not a KPI
to report. This value is configured on the traffic generator
and used to perform the Step1: "Test Initialization and
Qualification" described under the .Connections per second during ramp up phase: 50% of maximum
connections per second measured in benchmarking test TCP/HTTPS Connections per secondRamp up time (in traffic load profile for "Target
concurrent connections"): “Target concurrent connections" /
"Maximum connections per second during ramp up phase"Ramp up time (in traffic load profile for "Initial
concurrent connections"): “Initial concurrent connections" /
"Maximum connections per second during ramp up phase"The client MUST perform HTTPS transaction with persistence and
each client can open multiple concurrent TCP connections per
server endpoint IP.Each client sends 10 GET requests requesting 1 KByte HTTPS
response objects in the same TCP connections (10 transactions/TCP
connection) and the delay (think time) between each transaction
MUST be X seconds.X = (“Ramp up time” + ”steady state time”) /10The established connections SHOULD remain open until the ramp
down phase of the test. During the ramp down phase, all
connections SHOULD be successfully closed with FIN.The following criteria are the test results validation
criteria. The Test results validation criteria MUST be monitored
during the whole sustain phase of the traffic load profile.Number of failed application transactions (receiving any
HTTP response code other than 200 OK) MUST be less than 0.001%
(1 out of 100,000 transactions) of total attempted
transactions.Number of terminated TCP connections due to unexpected TCP
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation
of traffic forwarding rate is less than 5%).Average Concurrent TCP Connections MUST be reported for this
benchmarking test.The test procedure is designed to measure the concurrent TCP
connection capacity of the DUT/SUT at the sustaining period of
traffic load profile. The test procedure consists of three major
steps: Step 1 ensures the DUT/SUT is able to reach the performance
value (Initial concurrent connection) and meets the test results
validation criteria when it was very minimally utilized. Step 2
determines the DUT/SUT is able to reach the target performance value
within the test results validation criteria. Step 3 determines the
maximum achievable performance value within the test results
validation criteria.This test procedure MAY be repeated multiple times with different
IPv4 and IPv6 traffic distribution.Verify the link status of all connected physical interfaces.
All interfaces are expected to be in "UP" status.Configure test equipment to establish “Initial concurrent TCP
connections" defined in .
Except ramp up time, the traffic load profile SHOULD be defined as
described in .During the sustain phase, the DUT/SUT SHOULD reach the “Initial
concurrent TCP connections”. The measured KPIs during the sustain
phase MUST meet the test results validation criteria “a” and “b”
defined in .If the KPI metrics do not meet the test results validation
criteria, the test procedure MUST NOT be continued to “Step
2”.Configure test equipment to establish the target objective
(“Target concurrent TCP connections”). The test equipment SHOULD
follow the traffic load profile definition (except ramp up time)
as described in .During the ramp up and sustain phase, the other KPIs such as
inspected throughput, TCP connections per second, and application
transactions per second MUST NOT reach to the maximum value that
the DUT/SUT can support.The test equipment SHOULD start to measure and record KPIs
defined in . Continue the
test until all traffic profile phases are completed.Within the test results validation criteria, the DUT/SUT is
expected to reach the desired value of the target objective in the
sustain phase. Follow step 3, if the measured value does not meet
the target value or does not fulfill the test results validation
criteria.Determine the achievable concurrent TCP connections within the
test results validation criteria.This document makes no specific request of IANA.The IANA has assigned IPv4 and IPv6 address blocks in that have been registered for special purposes. The
IPv6 address block 2001:2::/48 has been allocated for the purpose of
IPv6 Benchmarking and the IPv4 address block
198.18.0.0/15 has been allocated for the purpose of IPv4 Benchmarking
. This assignment was made to minimize the
chance of conflict in case a testing device were to be accidentally
connected to part of the Internet.The primary goal of this document is to provide benchmarking
terminology and methodology for next-generation network security devices
for use in a laboratory isolated test environment. However, readers
should be aware that there is some overlap between performance and
security issues. Specifically, the optimal configuration for network
security device performance may not be the most secure, and vice-versa.
The cipher suites recommended in this document are for test purpose
only. The cipher suite recommendation for a real deployment is outside
the scope of this document.The following individuals contributed significantly to the creation
of this document:Alex Samonte, Amritam Putatunda, Aria Eslambolchizadeh, Chao Guo,
Chris Brown, Cory Ford, David DeSanto, Jurrie Van Den Breekel, Michelle
Rhines, Mike Jack, Ryan Liles, Samaresh Nair, Stephen Goudreault, Tim
Carlin, and Tim Otto.The authors wish to acknowledge the members of NetSecOPEN for their
participation in the creation of this document. Additionally, the
following members need to be acknowledged:Anand Vijayan, Chris Marshall, Jay Lindenauer, Michael Shannon, Mike
Deichman, Ryan Riese, and Toulnay Orkun.This test methodology verifies the DUT/SUT is able to detect,
prevent, and report the vulnerabilities.In this test, background test traffic will be generated to utilize
the DUT/SUT. In parallel, the CVEs will be sent to the DUT/SUT as
encrypted and as well as clear text payload formats using a traffic
generator. The selection of the CVEs is described in .The following KPIs are measured in this test:Number of blocked CVEsNumber of bypassed (nonblocked) CVEsBackground traffic performance (verify if the background
traffic is impacted while sending CVE toward DUT/SUT)Accuracy of DUT/SUT statistics in term of vulnerabilities
reportingThe same testbed MUST be used for security effectiveness test and
as well as for benchmarking test cases defined in .In this section, the benchmarking test specific parameters SHOULD
be defined.DUT/SUT configuration parameters MUST conform to the requirements
defined in . The same DUT
configuration MUST be used for Security effectiveness test and as
well as for benchmarking test cases defined in . The DUT/SUT MUST be configured in inline
mode and all detected attack traffic MUST be dropped and the session
SHOULD be resetTest equipment configuration parameters MUST conform to the
requirements defined in . The same client and server
IP ranges MUST be configured as used in the benchmarking test cases.
In addition, the following parameters MUST be documented for this
benchmarking test:Background Traffic: 45% of maximum HTTP throughput and 45% of
Maximum HTTPS throughput supported by the DUT/SUT (measured with
object size 64 KByte in the benchmarking tests "HTTP(S)
Throughput" defined in
and ).RECOMMENDED CVE traffic transmission Rate: 10 CVEs per
secondIt is RECOMMENDED to generate each CVE multiple times
(sequentially) at 10 CVEs per secondCiphers and keys for the encrypted CVE traffic MUST use the
same cipher configured for HTTPS traffic related benchmarking
tests ( - )The following criteria are the test results validation criteria.
The test results validation criteria MUST be monitored during the
whole test duration.Number of failed application transaction in the background
traffic MUST be less than 0.01% of attempted transactions.Number of terminated TCP connections of the background traffic
(due to unexpected TCP RST sent by DUT/SUT) MUST be less than
0.01% of total initiated TCP connections in the background
traffic.During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%).False positive MUST NOT occur in the background traffic.Following KPI metrics MUST be reported for this test scenario:Mandatory KPIs:Blocked CVEs: It SHOULD be represented in the following
ways:Number of blocked CVEs out of total CVEsPercentage of blocked CVEsUnblocked CVEs: It SHOULD be represented in the following
ways:Number of unblocked CVEs out of total CVEsPercentage of unblocked CVEsBackground traffic behavior: It SHOULD be represented one of
the followings ways:No impact: Considered as "no impact'" if any deviation of
traffic forwarding rate is less than or equal to 5 % (constant
rate)Minor impact: Considered as "minor impact" if any deviation
of traffic forwarding rate is greater than 5% and less than or
equal to10% (i.e. small spikes)Heavily impacted: Considered as "Heavily impacted" if any
deviation of traffic forwarding rate is greater than 10% (i.e.
large spikes) or reduced the background HTTP(S) throughput
greater than 10%DUT/SUT reporting accuracy: DUT/SUT MUST report all detected
vulnerabilities.Optional KPIs:List of unblocked CVEsThe test procedure is designed to measure the security
effectiveness of the DUT/SUT at the sustaining period of the traffic
load profile. The test procedure consists of two major steps. This
test procedure MAY be repeated multiple times with different IPv4 and
IPv6 traffic distribution.Generate background traffic at the transmission rate defined in
.The DUT/SUT MUST reach the target objective (HTTP(S) throughput)
in sustain phase. The measured KPIs during the sustain phase MUST
meet all the test results validation criteria defined in .If the KPI metrics do not meet the acceptance criteria, the test
procedure MUST NOT be continued to "Step 2".While generating background traffic (in sustain phase), send the
CVE traffic as defined in the parameter section.The test equipment SHOULD start to measure and record all
specified KPIs. Continue the test until all CVEs are sent.The measured KPIs MUST meet all the test results validation
criteria defined in .In addition, the DUT/SUT SHOULD report the vulnerabilities
correctly.This document aims to classify the DUT/SUT in four different
categories based on its maximum supported firewall throughput
performance number defined in the vendor datasheet. This classification
MAY help user to determine specific configuration scale (e.g., number of
ACL entries), traffic profiles, and attack traffic profiles, scaling
those proportionally to DUT/SUT sizing category.The four different categories are Extra Small (XS), Small (S), Medium
(M), and Large (L). The RECOMMENDED throughput values for the following
categories are:Extra Small (XS) - Supported throughput less than or equal
to1Gbit/sSmall (S) - Supported throughput greater than 1Gbit/s and less than
or equal to 5Gbit/sMedium (M) - Supported throughput greater than 5Gbit/s and less than
or equal to10Gbit/sLarge (L) - Supported throughput greater than 10Gbit/s