draft-ietf-bmwg-ngfw-performance-09.txt   draft-ietf-bmwg-ngfw-performance-10.txt 
Benchmarking Methodology Working Group B. Balarajah Benchmarking Methodology Working Group B. Balarajah
Internet-Draft Internet-Draft
Intended status: Informational C. Rossenhoevel Obsoletes: 3511 (if approved) C. Rossenhoevel
Expires: November 22, 2021 EANTC AG Intended status: Informational EANTC AG
B. Monkman Expires: 30 March 2022 B. Monkman
NetSecOPEN NetSecOPEN
May 21, 2021 September 2021
Benchmarking Methodology for Network Security Device Performance Benchmarking Methodology for Network Security Device Performance
draft-ietf-bmwg-ngfw-performance-09 draft-ietf-bmwg-ngfw-performance-10
Abstract Abstract
This document provides benchmarking terminology and methodology for This document provides benchmarking terminology and methodology for
next-generation network security devices including next-generation next-generation network security devices including next-generation
firewalls (NGFW), next-generation intrusion detection and prevention firewalls (NGFW), next-generation intrusion prevention systems
systems (NGIDS/NGIPS) and unified threat management (UTM) (NGIPS), and unified threat management (UTM) implementations. This
implementations. This document aims to strongly improve the document aims to improve the applicability, reproducibility, and
applicability, reproducibility, and transparency of benchmarks and to transparency of benchmarks and to align the test methodology with
align the test methodology with today's increasingly complex layer 7 today's increasingly complex layer 7 security centric network
security centric network application use cases. The main areas application use cases. The main areas covered in this document are
covered in this document are test terminology, test configuration test terminology, test configuration parameters, and benchmarking
parameters, and benchmarking methodology for NGFW and NGIDS/NGIPS to methodology for NGFW and NGIPS.
start with.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 22, 2021. This Internet-Draft will expire on 5 March 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents (https://trustee.ietf.org/
(https://trustee.ietf.org/license-info) in effect on the date of license-info) in effect on the date of publication of this document.
publication of this document. Please review these documents Please review these documents carefully, as they describe your rights
carefully, as they describe your rights and restrictions with respect and restrictions with respect to this document. Code Components
to this document. Code Components extracted from this document must extracted from this document must include Simplified BSD License text
include Simplified BSD License text as described in Section 4.e of as described in Section 4.e of the Trust Legal Provisions and are
the Trust Legal Provisions and are provided without warranty as provided without warranty as described in the Simplified BSD License.
described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1. Test Bed Configuration . . . . . . . . . . . . . . . . . 4 4.1. Testbed Configuration . . . . . . . . . . . . . . . . . . 5
4.2. DUT/SUT Configuration . . . . . . . . . . . . . . . . . . 6 4.2. DUT/SUT Configuration . . . . . . . . . . . . . . . . . . 6
4.2.1. Security Effectiveness Configuration . . . . . . . . 12 4.2.1. Security Effectiveness Configuration . . . . . . . . 12
4.3. Test Equipment Configuration . . . . . . . . . . . . . . 12 4.3. Test Equipment Configuration . . . . . . . . . . . . . . 12
4.3.1. Client Configuration . . . . . . . . . . . . . . . . 12 4.3.1. Client Configuration . . . . . . . . . . . . . . . . 12
4.3.2. Backend Server Configuration . . . . . . . . . . . . 15 4.3.2. Backend Server Configuration . . . . . . . . . . . . 15
4.3.3. Traffic Flow Definition . . . . . . . . . . . . . . . 17 4.3.3. Traffic Flow Definition . . . . . . . . . . . . . . . 17
4.3.4. Traffic Load Profile . . . . . . . . . . . . . . . . 17 4.3.4. Traffic Load Profile . . . . . . . . . . . . . . . . 17
5. Test Bed Considerations . . . . . . . . . . . . . . . . . . . 18 5. Testbed Considerations . . . . . . . . . . . . . . . . . . . 18
6. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . 19 6. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 19 6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 19
6.2. Detailed Test Results . . . . . . . . . . . . . . . . . . 21 6.2. Detailed Test Results . . . . . . . . . . . . . . . . . . 21
6.3. Benchmarks and Key Performance Indicators . . . . . . . . 21 6.3. Benchmarks and Key Performance Indicators . . . . . . . . 21
7. Benchmarking Tests . . . . . . . . . . . . . . . . . . . . . 22 7. Benchmarking Tests . . . . . . . . . . . . . . . . . . . . . 23
7.1. Throughput Performance with Application Traffic Mix . . . 23 7.1. Throughput Performance with Application Traffic Mix . . . 23
7.1.1. Objective . . . . . . . . . . . . . . . . . . . . . . 23 7.1.1. Objective . . . . . . . . . . . . . . . . . . . . . . 23
7.1.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 23 7.1.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 23
7.1.3. Test Parameters . . . . . . . . . . . . . . . . . . . 23 7.1.3. Test Parameters . . . . . . . . . . . . . . . . . . . 23
7.1.4. Test Procedures and Expected Results . . . . . . . . 25 7.1.4. Test Procedures and Expected Results . . . . . . . . 25
7.2. TCP/HTTP Connections Per Second . . . . . . . . . . . . . 26 7.2. TCP/HTTP Connections Per Second . . . . . . . . . . . . . 26
7.2.1. Objective . . . . . . . . . . . . . . . . . . . . . . 26 7.2.1. Objective . . . . . . . . . . . . . . . . . . . . . . 26
7.2.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 26 7.2.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 27
7.2.3. Test Parameters . . . . . . . . . . . . . . . . . . . 26 7.2.3. Test Parameters . . . . . . . . . . . . . . . . . . . 27
7.2.4. Test Procedures and Expected Results . . . . . . . . 27 7.2.4. Test Procedures and Expected Results . . . . . . . . 28
7.3. HTTP Throughput . . . . . . . . . . . . . . . . . . . . . 29 7.3. HTTP Throughput . . . . . . . . . . . . . . . . . . . . . 30
7.3.1. Objective . . . . . . . . . . . . . . . . . . . . . . 29 7.3.1. Objective . . . . . . . . . . . . . . . . . . . . . . 30
7.3.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 29 7.3.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 30
7.3.3. Test Parameters . . . . . . . . . . . . . . . . . . . 29 7.3.3. Test Parameters . . . . . . . . . . . . . . . . . . . 30
7.3.4. Test Procedures and Expected Results . . . . . . . . 31 7.3.4. Test Procedures and Expected Results . . . . . . . . 32
7.4. HTTP Transaction Latency . . . . . . . . . . . . . . . . 32 7.4. HTTP Transaction Latency . . . . . . . . . . . . . . . . 33
7.4.1. Objective . . . . . . . . . . . . . . . . . . . . . . 32 7.4.1. Objective . . . . . . . . . . . . . . . . . . . . . . 33
7.4.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 32 7.4.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 33
7.4.3. Test Parameters . . . . . . . . . . . . . . . . . . . 32 7.4.3. Test Parameters . . . . . . . . . . . . . . . . . . . 34
7.4.4. Test Procedures and Expected Results . . . . . . . . 34 7.4.4. Test Procedures and Expected Results . . . . . . . . 35
7.5. Concurrent TCP/HTTP Connection Capacity . . . . . . . . . 35 7.5. Concurrent TCP/HTTP Connection Capacity . . . . . . . . . 36
7.5.1. Objective . . . . . . . . . . . . . . . . . . . . . . 35 7.5.1. Objective . . . . . . . . . . . . . . . . . . . . . . 36
7.5.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 35 7.5.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 36
7.5.3. Test Parameters . . . . . . . . . . . . . . . . . . . 35 7.5.3. Test Parameters . . . . . . . . . . . . . . . . . . . 37
7.5.4. Test Procedures and Expected Results . . . . . . . . 37 7.5.4. Test Procedures and Expected Results . . . . . . . . 38
7.6. TCP/HTTPS Connections per Second . . . . . . . . . . . . 38 7.6. TCP/HTTPS Connections per Second . . . . . . . . . . . . 39
7.6.1. Objective . . . . . . . . . . . . . . . . . . . . . . 38 7.6.1. Objective . . . . . . . . . . . . . . . . . . . . . . 40
7.6.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 38 7.6.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 40
7.6.3. Test Parameters . . . . . . . . . . . . . . . . . . . 38 7.6.3. Test Parameters . . . . . . . . . . . . . . . . . . . 40
7.6.4. Test Procedures and Expected Results . . . . . . . . 40 7.6.4. Test Procedures and Expected Results . . . . . . . . 42
7.7. HTTPS Throughput . . . . . . . . . . . . . . . . . . . . 41 7.7. HTTPS Throughput . . . . . . . . . . . . . . . . . . . . 43
7.7.1. Objective . . . . . . . . . . . . . . . . . . . . . . 41 7.7.1. Objective . . . . . . . . . . . . . . . . . . . . . . 43
7.7.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 41 7.7.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 43
7.7.3. Test Parameters . . . . . . . . . . . . . . . . . . . 42 7.7.3. Test Parameters . . . . . . . . . . . . . . . . . . . 43
7.7.4. Test Procedures and Expected Results . . . . . . . . 43 7.7.4. Test Procedures and Expected Results . . . . . . . . 45
7.8. HTTPS Transaction Latency . . . . . . . . . . . . . . . . 44 7.8. HTTPS Transaction Latency . . . . . . . . . . . . . . . . 46
7.8.1. Objective . . . . . . . . . . . . . . . . . . . . . . 44 7.8.1. Objective . . . . . . . . . . . . . . . . . . . . . . 46
7.8.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 44 7.8.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 46
7.8.3. Test Parameters . . . . . . . . . . . . . . . . . . . 44 7.8.3. Test Parameters . . . . . . . . . . . . . . . . . . . 46
7.8.4. Test Procedures and Expected Results . . . . . . . . 46 7.8.4. Test Procedures and Expected Results . . . . . . . . 48
7.9. Concurrent TCP/HTTPS Connection Capacity . . . . . . . . 47 7.9. Concurrent TCP/HTTPS Connection Capacity . . . . . . . . 49
7.9.1. Objective . . . . . . . . . . . . . . . . . . . . . . 47 7.9.1. Objective . . . . . . . . . . . . . . . . . . . . . . 49
7.9.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 47 7.9.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 49
7.9.3. Test Parameters . . . . . . . . . . . . . . . . . . . 47 7.9.3. Test Parameters . . . . . . . . . . . . . . . . . . . 49
7.9.4. Test Procedures and Expected Results . . . . . . . . 49 7.9.4. Test Procedures and Expected Results . . . . . . . . 51
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 50 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 52
9. Security Considerations . . . . . . . . . . . . . . . . . . . 50 9. Security Considerations . . . . . . . . . . . . . . . . . . . 53
10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 50 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 53
11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 51 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 53
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 51 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 53
12.1. Normative References . . . . . . . . . . . . . . . . . . 51 12.1. Normative References . . . . . . . . . . . . . . . . . . 53
12.2. Informative References . . . . . . . . . . . . . . . . . 51 12.2. Informative References . . . . . . . . . . . . . . . . . 53
Appendix A. Test Methodology - Security Effectiveness Evaluation 52 Appendix A. Test Methodology - Security Effectiveness
A.1. Test Objective . . . . . . . . . . . . . . . . . . . . . 52 Evaluation . . . . . . . . . . . . . . . . . . . . . . . 55
A.2. Test Bed Setup . . . . . . . . . . . . . . . . . . . . . 52 A.1. Test Objective . . . . . . . . . . . . . . . . . . . . . 55
A.3. Test Parameters . . . . . . . . . . . . . . . . . . . . . 53 A.2. Testbed Setup . . . . . . . . . . . . . . . . . . . . . . 55
A.3.1. DUT/SUT Configuration Parameters . . . . . . . . . . 53 A.3. Test Parameters . . . . . . . . . . . . . . . . . . . . . 55
A.3.2. Test Equipment Configuration Parameters . . . . . . . 53 A.3.1. DUT/SUT Configuration Parameters . . . . . . . . . . 55
A.4. Test Results Validation Criteria . . . . . . . . . . . . 53 A.3.2. Test Equipment Configuration Parameters . . . . . . . 55
A.5. Measurement . . . . . . . . . . . . . . . . . . . . . . . 54 A.4. Test Results Validation Criteria . . . . . . . . . . . . 56
A.6. Test Procedures and Expected Results . . . . . . . . . . 55 A.5. Measurement . . . . . . . . . . . . . . . . . . . . . . . 56
A.6.1. Step 1: Background Traffic . . . . . . . . . . . . . 55 A.6. Test Procedures and Expected Results . . . . . . . . . . 57
A.6.2. Step 2: CVE Emulation . . . . . . . . . . . . . . . . 55 A.6.1. Step 1: Background Traffic . . . . . . . . . . . . . 57
Appendix B. DUT/SUT Classification . . . . . . . . . . . . . . . 55 A.6.2. Step 2: CVE Emulation . . . . . . . . . . . . . . . . 58
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 56 Appendix B. DUT/SUT Classification . . . . . . . . . . . . . . . 58
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 58
1. Introduction 1. Introduction
15 years have passed since IETF recommended test methodology and 18 years have passed since IETF recommended test methodology and
terminology for firewalls initially ([RFC3511]). The requirements terminology for firewalls initially ([RFC3511]). The requirements
for network security element performance and effectiveness have for network security element performance and effectiveness have
increased tremendously since then. Security function implementations increased tremendously since then. Security function implementations
have evolved to more advanced areas and have diversified into have evolved to more advanced areas and have diversified into
intrusion detection and prevention, threat management, analysis of intrusion detection and prevention, threat management, analysis of
encrypted traffic, etc. In an industry of growing importance, well- encrypted traffic, etc. In an industry of growing importance, well-
defined, and reproducible key performance indicators (KPIs) are defined, and reproducible key performance indicators (KPIs) are
increasingly needed as they enable fair and reasonable comparison of increasingly needed as they enable fair and reasonable comparison of
network security functions. All these reasons have led to the network security functions. All these reasons have led to the
creation of a new next-generation network security device creation of a new next-generation network security device
skipping to change at page 4, line 31 skipping to change at page 4, line 31
The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119], [RFC8174] when, and only when, they appear in all 14 [RFC2119], [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Scope 3. Scope
This document provides testing terminology and testing methodology This document provides testing terminology and testing methodology
for modern and next-generation network security devices. It covers for modern and next-generation network security devices that are
the validation of security effectiveness configurations of network configured in Active ("Inline") mode. It covers the validation of
security devices, followed by performance benchmark testing. This security effectiveness configurations of network security devices,
document focuses on advanced, realistic, and reproducible testing followed by performance benchmark testing. This document focuses on
methods. Additionally, it describes test bed environments, test tool advanced, realistic, and reproducible testing methods. Additionally,
requirements, and test result formats. it describes testbed environments, test tool requirements, and test
result formats.
4. Test Setup 4. Test Setup
Test setup defined in this document is applicable to all benchmarking Test setup defined in this document applies to all benchmarking tests
tests described in Section 7. The test setup MUST be contained described in Section 7. The test setup MUST be contained within an
within an Isolated Test Environment (see Section 3 of [RFC6815]). Isolated Test Environment (see Section 3 of [RFC6815]).
4.1. Test Bed Configuration 4.1. Testbed Configuration
Test bed configuration MUST ensure that any performance implications Testbed configuration MUST ensure that any performance implications
that are discovered during the benchmark testing aren't due to the that are discovered during the benchmark testing aren't due to the
inherent physical network limitations such as the number of physical inherent physical network limitations such as the number of physical
links and forwarding performance capabilities (throughput and links and forwarding performance capabilities (throughput and
latency) of the network devices in the test bed. For this reason, latency) of the network devices in the testbed. For this reason,
this document recommends avoiding external devices such as switches this document recommends avoiding external devices such as switches
and routers in the test bed wherever possible. and routers in the testbed wherever possible.
In some deployment scenarios, the network security devices (Device In some deployment scenarios, the network security devices (Device
Under Test/System Under Test) are connected to routers and switches, 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 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 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 have many entries, this may impact the actual DUT/SUT performance due
to MAC and ARP/ND (Neighbor Discovery) table lookup processes. This to MAC and ARP/ND (Neighbor Discovery) table lookup processes. This
document also recommends using test equipment with the capability of document also recommends using test equipment with the capability of
emulating layer 3 routing functionality instead of adding external emulating layer 3 routing functionality instead of adding external
routers in the test bed. routers in the testbed.
The test bed setup Option 1 (Figure 1) is the RECOMMENDED test bed The testbed setup Option 1 (Figure 1) is the RECOMMENDED testbed
setup for the benchmarking test. setup for the benchmarking test.
+-----------------------+ +-----------------------+ +-----------------------+ +-----------------------+
| +-------------------+ | +-----------+ | +-------------------+ | | +-------------------+ | +-----------+ | +-------------------+ |
| | Emulated Router(s)| | | | | | Emulated Router(s)| | | | Emulated Router(s)| | | | | | Emulated Router(s)| |
| | (Optional) | +----- DUT/SUT +-----+ (Optional) | | | | (Optional) | +----- DUT/SUT +-----+ (Optional) | |
| +-------------------+ | | | | +-------------------+ | | +-------------------+ | | | | +-------------------+ |
| +-------------------+ | +-----------+ | +-------------------+ | | +-------------------+ | +-----------+ | +-------------------+ |
| | Clients | | | | Servers | | | | Clients | | | | Servers | |
| +-------------------+ | | +-------------------+ | | +-------------------+ | | +-------------------+ |
| | | | | | | |
| Test Equipment | | Test Equipment | | Test Equipment | | Test Equipment |
+-----------------------+ +-----------------------+ +-----------------------+ +-----------------------+
Figure 1: Test Bed Setup - Option 1 Figure 1: Testbed Setup - Option 1
If the test equipment used is not capable of emulating layer 3 If the test equipment used is not capable of emulating layer 3
routing functionality or if the numbers of used ports are mismatched routing functionality or if the number of used ports is mismatched
between test equipment and the DUT/SUT (need for a test equipment between test equipment and the DUT/SUT (need for test equipment port
ports aggregation), the test setup can be configured as shown in aggregation), the test setup can be configured as shown in Figure 2.
Figure 2.
+-------------------+ +-----------+ +--------------------+ +-------------------+ +-----------+ +--------------------+
|Aggregation Switch/| | | | Aggregation Switch/| |Aggregation Switch/| | | | Aggregation Switch/|
| Router +------+ DUT/SUT +------+ Router | | Router +------+ DUT/SUT +------+ Router |
| | | | | | | | | | | |
+----------+--------+ +-----------+ +--------+-----------+ +----------+--------+ +-----------+ +--------+-----------+
| | | |
| | | |
+-----------+-----------+ +-----------+-----------+ +-----------+-----------+ +-----------+-----------+
| | | | | | | |
skipping to change at page 6, line 25 skipping to change at page 6, line 25
| | Emulated Router(s)| | | | Emulated Router(s)| | | | Emulated Router(s)| | | | Emulated Router(s)| |
| | (Optional) | | | | (Optional) | | | | (Optional) | | | | (Optional) | |
| +-------------------+ | | +-------------------+ | | +-------------------+ | | +-------------------+ |
| +-------------------+ | | +-------------------+ | | +-------------------+ | | +-------------------+ |
| | Clients | | | | Servers | | | | Clients | | | | Servers | |
| +-------------------+ | | +-------------------+ | | +-------------------+ | | +-------------------+ |
| | | | | | | |
| Test Equipment | | Test Equipment | | Test Equipment | | Test Equipment |
+-----------------------+ +-----------------------+ +-----------------------+ +-----------------------+
Figure 2: Test Bed Setup - Option 2 Figure 2: Testbed Setup - Option 2
4.2. DUT/SUT Configuration 4.2. DUT/SUT Configuration
A unique DUT/SUT configuration MUST be used for all benchmarking A unique DUT/SUT configuration MUST be used for all benchmarking
tests described in Section 7. Since each DUT/SUT will have their own tests described in Section 7. Since each DUT/SUT will have its own
unique configuration, users SHOULD configure their device with the unique configuration, users SHOULD configure their device with the
same parameters and security features that would be used in the same parameters and security features that would be used in the
actual deployment of the device or a typical deployment in order to actual deployment of the device or a typical deployment in order to
achieve maximum network security coverage. 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.
Table 1 and Table 2 below describe the RECOMMENDED and OPTIONAL sets Table 1 and Table 2 below describe the RECOMMENDED and OPTIONAL sets
of network security feature list for NGFW and NGIDS/NGIPS of network security feature list for NGFW and NGIPS respectively.
respectively. The selected security features SHOULD be consistently The selected security features SHOULD be consistently enabled on the
enabled on the DUT/SUT for all the benchmarking tests described in DUT/SUT for all benchmarking tests described in Section 7.
Section 7.
To improve repeatability, a summary of the DUT/SUT configuration To improve repeatability, a summary of the DUT/SUT configuration
including a description of all enabled DUT/SUT features MUST be including a description of all enabled DUT/SUT features MUST be
published with the benchmarking results. published with the benchmarking results.
+------------------------+ +------------------------+
| NGFW | | NGFW |
+--------------- +-------------+----------+ +--------------- +-------------+----------+
| | | | | | | |
|DUT/SUT Features| RECOMMENDED | OPTIONAL | |DUT/SUT Features| RECOMMENDED | OPTIONAL |
skipping to change at page 7, line 39 skipping to change at page 7, line 39
|Certificate | | x | |Certificate | | x |
|Validation | | | |Validation | | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|Logging and | x | | |Logging and | x | |
|Reporting | | | |Reporting | | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|Application | x | | |Application | x | |
|Identification | | | |Identification | | |
+----------------+-------------+----------+ +----------------+-------------+----------+
Table 1: NGFW Security Features Figure 3: Table 1: NGFW Security Features
+------------------------+ +------------------------+
| NGIDS/NGIPS | | NGIPS |
+----------------+-------------+----------+ +----------------+-------------+----------+
| | | | | | | |
|DUT/SUT Features| RECOMMENDED | OPTIONAL | |DUT/SUT Features| RECOMMENDED | OPTIONAL |
| | | | | | | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|SSL Inspection | x | | |SSL Inspection | x | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|Anti-Malware | x | | |Anti-Malware | x | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|Anti-Spyware | x | | |Anti-Spyware | x | |
skipping to change at page 8, line 31 skipping to change at page 8, line 31
+----------------+-------------+----------+ +----------------+-------------+----------+
|Application | x | | |Application | x | |
|Identification | | | |Identification | | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|Deep Packet | x | | |Deep Packet | x | |
|Inspection | | | |Inspection | | |
+----------------+-------------+----------+ +----------------+-------------+----------+
|Anti-Evasion | x | | |Anti-Evasion | x | |
+----------------+-------------+----------+ +----------------+-------------+----------+
Table 2: NGIDS/NGIPS Security Features Figure 4: Table 2: NGIPS Security Features
The following table provides a brief description of the security The following table provides a brief description of the security
features. features.
+------------------+------------------------------------------------+ +------------------+------------------------------------------------+
| DUT/SUT Features | Description | | DUT/SUT Features | Description |
+------------------+------------------------------------------------+ +------------------+------------------------------------------------+
| SSL Inspection | DUT/SUT intercepts and decrypts inbound HTTPS | | SSL Inspection | DUT/SUT intercepts and decrypts inbound HTTPS |
| | traffic between servers and clients. Once the | | | traffic between servers and clients. Once the |
| | content inspection has been completed, DUT/SUT | | | content inspection has been completed, DUT/SUT |
skipping to change at page 9, line 39 skipping to change at page 9, line 39
| | network. | | | network. |
+------------------+------------------------------------------------+ +------------------+------------------------------------------------+
| Logging and | DUT/SUT logs and reports all traffic at the | | Logging and | DUT/SUT logs and reports all traffic at the |
| Reporting | flow level across the monitored network. | | Reporting | flow level across the monitored network. |
+------------------+------------------------------------------------+ +------------------+------------------------------------------------+
| Application | DUT/SUT detects known applications as defined | | Application | DUT/SUT detects known applications as defined |
| Identification | within the traffic mix selected across | | Identification | within the traffic mix selected across |
| | the monitored network. | | | the monitored network. |
+------------------+------------------------------------------------+ +------------------+------------------------------------------------+
Table 3: Security Feature Description Figure 5: Table 3: Security Feature Description
In summary, a DUT/SUT SHOULD be configured as follows: Below is a summary of the DUT/SUT configuration:
o All RECOMMENDED security inspections enabled * DUT/SUT MUST be configured in "inline" mode.
o Disposition of all flows of traffic are logged - Logging to an * "Fail-Open" behavior MUST be disabled.
external device is permissible
o Geographical location filtering and Application Identification and * All RECOMMENDED security features are enabled.
Control configured to be triggered based on a site or application
from the defined traffic mix * 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 In addition, a realistic number of access control rules (ACL) SHOULD
be configured on the DUT/SUT where ACL's are configurable and also be configured on the DUT/SUT where ACLs are configurable and
reasonable based on the deployment scenario. This document reasonable based on the deployment scenario. This document
determines the number of access policy rules for four different determines the number of access policy rules for four different
classes of DUT/SUT; namely Extra Small (XS), Small (S), Medium (M) classes of DUT/SUT: Extra Small (XS), Small (S), Medium (M), and
and Large (L). A sample DUT/SUT classification is described in Large (L). A sample DUT/SUT classification is described in
Appendix B. Appendix B.
The Access Control Rules (ACL) defined in Table 4 MUST be configured The Access Control Rules (ACL) defined in Table 4 MUST be configured
from top to bottom in the correct order as shown in the table. This 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 is due to ACL types listed in specificity decreasing order, with
"block" first, followed by "allow", representing typical ACL based "block" first, followed by "allow", representing a typical ACL based
security policy. The ACL entries SHOULD be configured with routable security policy. The ACL entries SHOULD be configured with routable
IP subnets by the DUT/SUT. (Note: There will be differences between IP subnets by the DUT/SUT. (Note: There will be differences between
how security vendors implement ACL decision making.) The configured how security vendors implement ACL decision making.) The configured
ACL MUST NOT block the security and measurement traffic used for the ACL MUST NOT block the security and measurement traffic used for the
benchmarking tests. benchmarking tests.
+---------------+ +---------------+
| DUT/SUT | | DUT/SUT |
| Classification| | Classification|
| # Rules | | # Rules |
+-----------+-----------+--------------------+------+---+---+---+---+ +-----------+-----------+--------------------+------+---+---+---+---+
| | Match | | | | | | | | | Match | | | | | | |
| Rules Type| Criteria | Description |Action| XS| S | M | L | | Rules Type| Criteria | Description |Action| XS| S | M | L |
+-------------------------------------------------------------------+ +-------------------------------------------------------------------+
|Application|Application| Any application | block| 5 | 10| 20| 50| |Application|Application| Any application | block| 5 | 10| 20| 50|
|layer | | not included in | | | | | | |layer | | not included in | | | | | |
| | | the measurement | | | | | | | | | the measurement | | | | | |
| | | traffic | | | | | | | | | traffic | | | | | |
+-------------------------------------------------------------------+ +-------------------------------------------------------------------+
|Transport |Src IP and | Any src IP subnet | block| 25| 50|100|250| |Transport |SRC IP and | Any SRC IP subnet | block| 25| 50|100|250|
|layer |TCP/UDP | used and any dst | | | | | | |layer |TCP/UDP | used and any DST | | | | | |
| |Dst ports | ports not used in | | | | | | | |DST ports | ports not used in | | | | | |
| | | the measurement | | | | | | | | | the measurement | | | | | |
| | | traffic | | | | | | | | | traffic | | | | | |
+-------------------------------------------------------------------+ +-------------------------------------------------------------------+
|IP layer |Src/Dst IP | Any src/dst IP | block| 25| 50|100|250| |IP layer |SRC/DST IP | Any SRC/DST IP | block| 25| 50|100|250|
| | | subnet not used | | | | | | | | | subnet not used | | | | | |
| | | in the measurement | | | | | | | | | in the measurement | | | | | |
| | | traffic | | | | | | | | | traffic | | | | | |
+-------------------------------------------------------------------+ +-------------------------------------------------------------------+
|Application|Application| Half of the | allow| 10| 10| 10| 10| |Application|Application| Half of the | allow| 10| 10| 10| 10|
|layer | | applications | | | | | | |layer | | applications | | | | | |
| | | included in the | | | | | | | | | included in the | | | | | |
| | | measurement traffic| | | | | | | | | measurement traffic| | | | | |
| | |(see the note below)| | | | | | | | |(see the note below)| | | | | |
+-------------------------------------------------------------------+ +-------------------------------------------------------------------+
|Transport |Src IP and | Half of the src | allow| >1| >1| >1| >1| |Transport |SRC IP and | Half of the SRC | allow| >1| >1| >1| >1|
|layer |TCP/UDP | IP used and any | | | | | | |layer |TCP/UDP | IPs used and any | | | | | |
| |Dst ports | dst ports used in | | | | | | | |DST ports | DST ports used in | | | | | |
| | | the measurement | | | | | | | | | the measurement | | | | | |
| | | traffic | | | | | | | | | traffic | | | | | |
| | | (one rule per | | | | | | | | | (one rule per | | | | | |
| | | subnet) | | | | | | | | | subnet) | | | | | |
+-------------------------------------------------------------------+ +-------------------------------------------------------------------+
|IP layer |Src IP | The rest of the | allow| >1| >1| >1| >1| |IP layer |SRC IP | The rest of the | allow| >1| >1| >1| >1|
| | | src IP subnet | | | | | | | | | SRC IP subnet | | | | | |
| | | range used in the | | | | | | | | | range used in the | | | | | |
| | | measurement | | | | | | | | | measurement | | | | | |
| | | traffic | | | | | | | | | traffic | | | | | |
| | | (one rule per | | | | | | | | | (one rule per | | | | | |
| | | subnet) | | | | | | | | | subnet) | | | | | |
+-----------+-----------+--------------------+------+---+---+---+---+ +-----------+-----------+--------------------+------+---+---+---+---+
Table 4: DUT/SUT Access List Figure 6: Table 4: DUT/SUT Access List
Note: If the half of applications included in the measurement traffic Note: If half of the applications included in the measurement traffic
is less than 10, the missing number of ACL entries (dummy rules) can is less than 10, the missing number of ACL entries (dummy rules) can
be configured for any application traffic not included in the be configured for any application traffic not included in the
measurement traffic. measurement traffic.
4.2.1. Security Effectiveness Configuration 4.2.1. Security Effectiveness Configuration
The Security features (defined in table 1 and 2) of the DUT/SUT MUST The Security features (defined in table 1 and 2) of the DUT/SUT MUST
be configured effectively in such a way to detect, prevent, and be configured effectively to detect, prevent, and report the defined
report the defined security Vulnerability sets. This Section defines security vulnerability sets. This section defines the selection of
the selection of the security Vulnerability sets from Common the security vulnerability sets from Common vulnerabilities and
Vulnerabilities and Exposures (CVE) list for the testing. The Exposures (CVE) list for the testing. The vulnerability set SHOULD
vulnerability set SHOULD reflect a minimum of 500 CVEs from no older reflect a minimum of 500 CVEs from no older than 10 calendar years to
than 10 calendar years to the current year. These CVEs SHOULD be the current year. These CVEs SHOULD be selected with a focus on in-
selected with a focus on in-use software commonly found in business use software commonly found in business applications, with a Common
applications, with a Common Vulnerability Scoring System (CVSS) vulnerability Scoring System (CVSS) Severity of High (7-10).
Severity of High (7-10).
This document is primarily focused on performance benchmarking. This document is primarily focused on performance benchmarking.
However, it is RECOMMENDED to validate the security features However, it is RECOMMENDED to validate the security features
configuration of the DUT/SUT by evaluating the security effectiveness configuration of the DUT/SUT by evaluating the security effectiveness
as a prerequisite for performance benchmarking tests defined in the as a prerequisite for performance benchmarking tests defined in the
section 7. In case the Benchmarking tests are performed without section 7. In case the benchmarking tests are performed without
evaluating security effectiveness, the test report MUST explain the evaluating security effectiveness, the test report MUST explain the
implications of this. The methodology for evaluating Security implications of this. The methodology for evaluating security
effectiveness is defined in Appendix A. effectiveness is defined in Appendix A.
4.3. Test Equipment Configuration 4.3. Test Equipment Configuration
In general, test equipment allows configuring parameters in different In general, test equipment allows configuring parameters in different
protocol layers. These parameters thereby influence the traffic protocol layers. These parameters thereby influence the traffic
flows which will be offered and impact performance measurements. flows which will be offered and impact performance measurements.
This section specifies common test equipment configuration parameters This section specifies common test equipment configuration parameters
applicable for all benchmarking tests defined in Section 7. Any applicable for all benchmarking tests defined in Section 7. Any
benchmarking test specific parameters are described under the test benchmarking test specific parameters are described under the test
setup section of each benchmarking test individually. setup section of each benchmarking test individually.
4.3.1. Client Configuration 4.3.1. Client Configuration
This section specifies which parameters SHOULD be considered while This section specifies which parameters SHOULD be considered while
configuring clients using test equipment. Also, this section configuring clients using test equipment. Also, this section
specifies the RECOMMENDED values for certain parameters. specifies the RECOMMENDED values for certain parameters. The values
are the defaults used in most of the client operating systems
currently.
4.3.1.1. TCP Stack Attributes 4.3.1.1. TCP Stack Attributes
The TCP stack SHOULD use a congestion control algorithm at client and The TCP stack SHOULD use a congestion control algorithm at client and
server endpoints. The default IPv4 and IPv6 MSS segments size SHOULD server endpoints. The IPv4 and IPv6 Maximum Segment Size (MSS)
be set to 1460 bytes and 1440 bytes respectively and a TX and RX SHOULD be set to 1460 bytes and 1440 bytes respectively and a TX and
initial receive windows of 64 KByte. Client initial congestion RX initial receive windows of 64 KByte. Client initial congestion
window SHOULD NOT exceed 10 times the MSS. Delayed ACKs are window SHOULD NOT exceed 10 times the MSS. Delayed ACKs are
permitted and the maximum client delayed ACK SHOULD NOT exceed 10 permitted and the maximum client delayed ACK SHOULD NOT exceed 10
times the MSS before a forced ACK. Up to three retries SHOULD be 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 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 TCP PSH flag to high. The source port range SHOULD be in the range
of 1024 - 65535. Internal timeout SHOULD be dynamically scalable per of 1024 - 65535. Internal timeout SHOULD be dynamically scalable per
RFC 793. The client SHOULD initiate and close TCP connections. The RFC 793. The client SHOULD initiate and close TCP connections. The
TCP connection MUST be initiated via a TCP three way handshake (SYN, 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 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). (FIN, FIN/ACK, ACK), or a TCP four-way close (FIN, ACK, FIN, ACK).
4.3.1.2. Client IP Address Space 4.3.1.2. Client IP Address Space
The sum of the client IP space SHOULD contain the following The sum of the client IP space SHOULD contain the following
attributes. attributes.
o The IP blocks SHOULD consist of multiple unique, discontinuous * The IP blocks SHOULD consist of multiple unique, discontinuous
static address blocks. static address blocks.
o A default gateway is permitted. * A default gateway is permitted.
o The DSCP (differentiated services code point) marking is set to DF * The DSCP (differentiated services code point) marking is set to DF
(Default Forwarding) '000000' on IPv4 Type of Service (ToS) field (Default Forwarding) '000000' on IPv4 Type of Service (ToS) field
and IPv6 traffic class field. and IPv6 traffic class field.
The following equation can be used to define the total number of The following equation can be used to define the total number of
client IP addresses that will be configured on the test equipment. client IP addresses that will be configured on the test equipment.
Desired total number of client IP = Target throughput [Mbit/s] / Desired total number of client IP = Target throughput [Mbit/s] /
Average throughput per IP address [Mbit/s] Average throughput per IP address [Mbit/s]
As shown in the example list below, the value for "Average throughput As shown in the example list below, the value for "Average throughput
per IP address" can be varied depending on the deployment and use per IP address" can be varied depending on the deployment and use
case scenario. case scenario.
(Option 1) DUT/SUT deployment scenario 1 : 6-7 Mbit/s per IP (e.g. (Option 1) DUT/SUT deployment scenario 1 : 6-7 Mbit/s per IP (e.g.
1,400-1,700 IPs per 10Gbit/s throughput) 1,400-1,700 IPs per 10Gbit/s throughput)
(Option 2) DUT/SUT deployment scenario 2 : 0.1-0.2 Mbit/s per IP (Option 2) DUT/SUT deployment scenario 2 : 0.1-0.2 Mbit/s per IP
(e.g. 50,000-100,000 IPs per 10Gbit/s throughput) (e.g. 50,000-100,000 IPs per 10Gbit/s throughput)
Based on deployment and use case scenario, client IP addresses SHOULD Based on deployment and use case scenario, client IP addresses SHOULD
be distributed between IPv4 and IPv6 type. The Following options can be distributed between IPv4 and IPv6. The following options MAY be
be considered for a selection of traffic mix ratio. considered for a selection of traffic mix ratio.
(Option 1) 100 % IPv4, no IPv6 (Option 1) 100 % IPv4, no IPv6
(Option 2) 80 % IPv4, 20% IPv6 (Option 2) 80 % IPv4, 20% IPv6
(Option 3) 50 % IPv4, 50% IPv6 (Option 3) 50 % IPv4, 50% IPv6
(Option 4) 20 % IPv4, 80% IPv6 (Option 4) 20 % IPv4, 80% IPv6
(Option 5) no IPv4, 100% IPv6 (Option 5) no IPv4, 100% IPv6
Note: The IANA has assigned IP address range for the testing purpose Note: The IANA has assigned IP address range for the testing purpose
as described in Section 8. If the test scenario requires additional as described in Section 8. If the test scenario requires more IP
number of IP addresses or subnets than the IANA assigned, this addresses or subnets than the IANA assigned, this document recommends
document recommends to use non routable Private IPv4 address ranges using non routable Private IPv4 address ranges or Unique Local
or Unique Local Address (ULA) IPv6 address ranges for the testing. Address (ULA) IPv6 address ranges for the testing.
4.3.1.3. Emulated Web Browser Attributes 4.3.1.3. Emulated Web Browser Attributes
The emulated web client contains attributes that will materially The client emulated web browser (emulated browser) contains
affect how traffic is loaded. The objective is to emulate modern, attributes that will materially affect how traffic is loaded. The
typical browser attributes to improve realism of the result set. 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 For HTTP traffic emulation, the emulated browser MUST negotiate HTTP
version 1.1 or higher. Depending on test scenarios and chosen HTTP version 1.1 or higher. Depending on test scenarios and chosen HTTP
version, the browser MAY open multiple TCP connections per Server version, the emulated browser MAY open multiple TCP connections per
endpoint IP at any time depending on how many sequential transactions Server endpoint IP at any time depending on how many sequential
need to be processed. For HTTP/2 or HTTP/3, the browser MAY open transactions need to be processed. For HTTP/2 or HTTP/3, the
Multiple concurrent streams per connection (multiplexing). If HTTP/3 emulated browser MAY open multiple concurrent streams per connection
is used the browser MUST open Quick UDP Internet Connections (QUIC) (multiplexing). If HTTP/3 is used the emulated browser MUST open
connection. HTTP settings such as number of connection per server Quick UDP Internet Connections (QUIC). HTTP settings such as number
IP, number of requests per connection and number of streams per of connection per server IP, number of requests per connection, and
connection MUST be documented. This document refers to [RFC8446] for number of streams per connection MUST be documented. This document
HTTP/2. The browser SHOULD advertise a User-Agent header. The refers to [RFC8446] for HTTP/2 and [RFC9000]for QUIC. The emulated
browser SHOULD enforce content length validation. Depending on test 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 scenarios and selected HTTP version, HTTP header compression MAY be
set to enable or disable. This setting (compression enabled or set to enable or disable. This setting (compression enabled or
disabled) MUST be documented in the report. disabled) MUST be documented in the report.
For encrypted traffic, the following attributes SHALL define the For encrypted traffic, the following attributes SHALL define the
negotiated encryption parameters. The test clients MUST use TLS negotiated encryption parameters. The test clients MUST use TLS
version 1.2 or higher. TLS record size MAY be optimized for the 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 HTTPS response object size up to a record size of 16 KByte. If
Server Name Indication (SNI) is required in the traffic mix profile, Server Name Indication (SNI) is required in the traffic mix profile,
the client endpoint MUST send TLS Extension Server Name Indication the client endpoint MUST send TLS extension Server Name Indication
(SNI) information when opening a security tunnel. Each client (SNI) information when opening a security tunnel. Each client
connection MUST perform a full handshake with server certificate and connection MUST perform a full handshake with server certificate and
MUST NOT use session reuse or resumption. MUST NOT use session reuse or resumption.
The following TLS 1.2 supported ciphers and keys are RECOMMENDED to The following TLS 1.2 supported ciphers and keys are RECOMMENDED to
use for HTTPS based benchmarking tests defined in Section 7. use for HTTPS based benchmarking tests defined in Section 7.
1. ECHDE-ECDSA-AES128-GCM-SHA256 with Prime256v1 (Signature Hash 1. ECDHE-ECDSA-AES128-GCM-SHA256 with Prime256v1 (Signature Hash
Algorithm: ecdsa_secp256r1_sha256 and Supported group: sepc256r1) Algorithm: ecdsa_secp256r1_sha256 and Supported group: sepc256r1)
2. ECDHE-RSA-AES128-GCM-SHA256 with RSA 2048 (Signature Hash 2. ECDHE-RSA-AES128-GCM-SHA256 with RSA 2048 (Signature Hash
Algorithm: rsa_pkcs1_sha256 and Supported group: sepc256) Algorithm: rsa_pkcs1_sha256 and Supported group: sepc256r1)
3. ECDHE-ECDSA-AES256-GCM-SHA384 with Secp521 (Signature Hash 3. ECDHE-ECDSA-AES256-GCM-SHA384 with Secp521 (Signature Hash
Algorithm: ecdsa_secp384r1_sha384 and Supported group: sepc521r1) Algorithm: ecdsa_secp384r1_sha384 and Supported group: sepc521r1)
4. ECDHE-RSA-AES256-GCM-SHA384 with RSA 4096 (Signature Hash 4. ECDHE-RSA-AES256-GCM-SHA384 with RSA 4096 (Signature Hash
Algorithm: rsa_pkcs1_sha384 and Supported group: secp256) Algorithm: rsa_pkcs1_sha384 and Supported group: secp256r1)
Note: The above ciphers and keys were those commonly used enterprise Note: The above ciphers and keys were those commonly used enterprise
grade encryption cipher suites for TLS 1.2. It is recognized that grade encryption cipher suites for TLS 1.2. It is recognized that
these will evolve over time. Individual certification bodies SHOULD these will evolve over time. Individual certification bodies SHOULD
use ciphers and keys that reflect evolving use cases. These choices use ciphers and keys that reflect evolving use cases. These choices
MUST be documented in the resulting test reports with detailed MUST be documented in the resulting test reports with detailed
information on the ciphers and keys used along with reasons for the information on the ciphers and keys used along with reasons for the
choices. choices.
[RFC8446] defines the following cipher suites for use with TLS 1.3. [RFC8446] defines the following cipher suites for use with TLS 1.3.
skipping to change at page 16, line 18 skipping to change at page 16, line 18
client side configuration described in Section 4.3.1.1. In addition, client side configuration described in Section 4.3.1.1. In addition,
server initial congestion window MUST NOT exceed 10 times the MSS. server initial congestion window MUST NOT exceed 10 times the MSS.
Delayed ACKs are permitted and the maximum server delayed ACK MUST Delayed ACKs are permitted and the maximum server delayed ACK MUST
NOT exceed 10 times the MSS before a forced ACK. NOT exceed 10 times the MSS before a forced ACK.
4.3.2.2. Server Endpoint IP Addressing 4.3.2.2. Server Endpoint IP Addressing
The sum of the server IP space SHOULD contain the following The sum of the server IP space SHOULD contain the following
attributes. attributes.
o The server IP blocks SHOULD consist of unique, discontinuous * The server IP blocks SHOULD consist of unique, discontinuous
static address blocks with one IP per Server Fully Qualified static address blocks with one IP per server Fully Qualified
Domain Name (FQDN) endpoint per test port. Domain Name (FQDN) endpoint per test port.
o A default gateway is permitted. The DSCP (differentiated services * A default gateway is permitted. The DSCP (differentiated services
code point) marking is set to DF (Default Forwarding) '000000' on code point) marking is set to DF (Default Forwarding) '000000' on
IPv4 Type of Service (ToS) field and IPv6 traffic class field. IPv4 Type of Service (ToS) field and IPv6 traffic class field.
o The server IP addresses SHOULD be distributed between IPv4 and * The server IP addresses SHOULD be distributed between IPv4 and
IPv6 with a ratio identical to the clients distribution ratio. IPv6 with a ratio identical to the clients distribution ratio.
Note: The IANA has assigned IP address range for the testing purpose Note: The IANA has assigned IP address range for the testing purpose
as described in Section 8. If the test scenario requires additional as described in Section 8. If the test scenario requires more IP
number of IP addresses or subnets than the IANA assigned, this addresses or subnets than the IANA assigned, this document recommends
document recommends to use non routable Private IPv4 address ranges using non routable Private IPv4 address ranges or Unique Local
or Unique Local Address (ULA) IPv6 address ranges for the testing. Address (ULA) IPv6 address ranges for the testing.
4.3.2.3. HTTP / HTTPS Server Pool Endpoint Attributes 4.3.2.3. HTTP / HTTPS Server Pool Endpoint Attributes
The server pool for HTTP SHOULD listen on TCP port 80 and emulate the The server pool for HTTP SHOULD listen on TCP port 80 and emulate the
same HTTP version and settings chosen by the client (emulated web same HTTP version and settings chosen by the client (emulated web
browser). The Server MUST advertise server type in the Server browser). The Server MUST advertise server type in the Server
response header [RFC2616]. For HTTPS server, TLS 1.2 or higher MUST response header [RFC2616]. For HTTPS server, TLS 1.2 or higher MUST
be used with a maximum record size of 16 KByte and MUST NOT use 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 ticket resumption or session ID reuse. The server SHOULD listen on
port TCP 443. The server SHALL serve a certificate to the client. TCP port 443. The server SHALL serve a certificate to the client.
The HTTPS server MUST check Host SNI information with the FQDN if the The HTTPS server MUST check host SNI information with the FQDN if SNI
SNI is in use. Cipher suite and key size on the server side MUST be is in use. Cipher suite and key size on the server side MUST be
configured similar to the client side configuration described in configured similar to the client side configuration described in
Section 4.3.1.3. Section 4.3.1.3.
4.3.3. Traffic Flow Definition 4.3.3. Traffic Flow Definition
This section describes the traffic pattern between client and server This section describes the traffic pattern between client and server
endpoints. At the beginning of the test, the server endpoint endpoints. At the beginning of the test, the server endpoint
initializes and will be ready to accept connection states including initializes and will be ready to accept connection states including
initialization of the TCP stack as well as bound HTTP and HTTPS initialization of the TCP stack as well as bound HTTP and HTTPS
servers. When a client endpoint is needed, it will initialize and be 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 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 client is to sweep through the given server IP space, generating a
recognizable service by the DUT. Sequential and pseudorandom sweep recognizable service by the DUT. Sequential and pseudorandom sweep
methods are acceptable. The method used MUST be stated in the final methods are acceptable. The method used MUST be stated in the final
report. Thus, a balanced, mesh between client endpoints and server report. Thus, a balanced\ mesh between client endpoints and server
endpoints will be generated in a client IP and port server IP and endpoints will be generated in a client IP and port to server IP and
port combination. Each client endpoint performs the same actions as port combination. Each client endpoint performs the same actions as
other endpoints, with the difference being the source IP of the other endpoints, with the difference being the source IP of the
client endpoint and the target server IP pool. The client MUST use client endpoint and the target server IP pool. The client MUST use
the server's IP address or Fully Qualified Domain Names (FQDN) in the server IP address or FQDN in the host header [RFC2616].
Host Headers [RFC2616].
4.3.3.1. Description of Intra-Client Behavior 4.3.3.1. Description of Intra-Client Behavior
Client endpoints are independent of other clients that are Client endpoints are independent of other clients that are
concurrently executing. When a client endpoint initiates traffic, concurrently executing. When a client endpoint initiates traffic,
this section describes how the client steps through different this section describes how the client steps through different
services. Once the test is initialized, the client endpoints services. Once the test is initialized, the client endpoints
randomly hold (perform no operation) for a few milliseconds to allow randomly hold (perform no operation) for a few milliseconds for
for better randomization of the start of client traffic. Each client better randomization of the start of client traffic. Each client
will either open a new TCP connection or connect to a TCP persistence 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 stack still open to that specific server. At any point that the
traffic profile may require encryption, a TLS encryption tunnel will traffic profile may require encryption, a TLS encryption tunnel will
form presenting the URL or IP address request to the server. If 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 using SNI, the server MUST then perform an SNI name check with the
proposed FQDN compared to the domain embedded in the certificate. proposed FQDN compared to the domain embedded in the certificate.
Only when correct, will the server process the HTTPS response object. Only when correct, will the server process the HTTPS response object.
The initial response object to the server is based on benchmarking The initial response object to the server is based on benchmarking
tests described in Section 7. Multiple additional sub-URLs (response tests described in Section 7. Multiple additional sub-URLs (response
objects on the service page) MAY be requested simultaneously. This objects on the service page) MAY be requested simultaneously. This
MAY be to the same server IP as the initial URL. Each sub-object MAY be to the same server IP as the initial URL. Each sub-object
will also use a conical FQDN and URL path, as observed in the traffic will also use a canonical FQDN and URL path, as observed in the
mix used. traffic mix used.
4.3.4. Traffic Load Profile 4.3.4. Traffic Load Profile
The loading of traffic is described in this section. The loading of The loading of traffic is described in this section. The loading of
a traffic load profile has five distinct phases: Init, ramp up, a traffic load profile has five phases: Init, ramp up, sustain, ramp
sustain, ramp down, and collection. down, and collection.
1. During the Init phase, test bed devices including the client and 1. Init phase: Testbed devices including the client and server
server endpoints should negotiate layer 2-3 connectivity such as endpoints should negotiate layer 2-3 connectivity such as MAC
MAC learning and ARP. Only after successful MAC learning or ARP/ learning and ARP. Only after successful MAC learning or ARP/ND
ND resolution SHALL the test iteration move to the next phase. resolution SHALL the test iteration move to the next phase. No
No measurements are made in this phase. The minimum RECOMMEND measurements are made in this phase. The minimum RECOMMENDED
time for Init phase is 5 seconds. During this phase, the time for Init phase is 5 seconds. During this phase, the
emulated clients SHOULD NOT initiate any sessions with the DUT/ emulated clients SHOULD NOT initiate any sessions with the DUT/
SUT, in contrast, the emulated servers should be ready to accept SUT, in contrast, the emulated servers should be ready to accept
requests from DUT/SUT or from emulated clients. requests from DUT/SUT or from emulated clients.
2. In the ramp up phase, the test equipment SHOULD start to generate 2. Ramp up phase: The test equipment SHOULD start to generate the
the test traffic. It SHOULD use a set of approximate number of test traffic. It SHOULD use a set of the approximate number of
unique client IP addresses actively to generate traffic. The unique client IP addresses to generate traffic. The traffic
traffic SHOULD ramp up from zero to desired target objective. SHOULD ramp up from zero to desired target objective. The target
The target objective will be defined for each benchmarking test. objective is defined for each benchmarking test. The duration
The duration for the ramp up phase MUST be configured long for the ramp up phase MUST be configured long enough that the
enough, so that the test equipment does not overwhelm the DUT/ test equipment does not overwhelm the DUT/SUTs stated performance
SUT's stated performance metrics defined in Section 6.3 namely; metrics defined in Section 6.3 namely, TCP Connections Per
TCP Connections Per Second, Inspected Throughput, Concurrent TCP Second, Inspected Throughput, Concurrent TCP Connections, and
Connections, and Application Transactions Per Second. No Application Transactions Per Second. No measurements are made in
measurements are made in this phase. this phase.
3. Sustain phase starts when all required clients are active and 3. Sustain phase: Starts when all required clients are active and
operating at their desired load condition. In the sustain phase, operating at their desired load condition. In the sustain phase,
the test equipment SHOULD continue generating traffic to constant the test equipment SHOULD continue generating traffic to constant
target value for a constant number of active clients. The target value for a constant number of active clients. The
minimum RECOMMENDED time duration for sustain phase is 300 minimum RECOMMENDED time duration for sustain phase is 300
seconds. This is the phase where measurements occur. The test seconds. This is the phase where measurements occur. The test
equipment SHOULD measure and record statistics continuously. The equipment SHOULD measure and record statistics continuously. The
sampling interval for collecting the row results and calculating sampling interval for collecting the raw results and calculating
the statistics SHOULD be less than 2 seconds. the statistics SHOULD be less than 2 seconds.
4. In the ramp down/close phase, no new connections are established, 4. Ramp down phase: No new connections are established, and no
and no measurements are made. The time duration for ramp up and measurements are made. The time duration for ramp up and ramp
ramp down phase SHOULD be the same. down phase SHOULD be the same.
5. The last phase is administrative and will occur when the test 5. Collection phase: The last phase is administrative and will occur
equipment merges and collates the report data. when the test equipment merges and collates the report data.
5. Test Bed Considerations 5. Testbed Considerations
This section recommends steps to control the test environment and This section describes steps for a reference test (pre-test) that
test equipment, specifically focusing on virtualized environments and control the test environment including test equipment, focusing on
virtualized test equipment. physical and virtualized environments and as well as test equipments.
Below are the RECOMMENDED steps for the reference test.
1. Ensure that any ancillary switching or routing functions between 1. Perform the reference test either by configuring the DUT/SUT in
the system under test and the test equipment do not limit the the most trivial setup (fast forwarding) or without presence of
performance of the traffic generator. This is specifically the DUT/SUT.
important for virtualized components (vSwitches, vRouters).
2. Verify that the performance of the test equipment matches and 2. Generate traffic from traffic generator. Choose a traffic
reasonably exceeds the expected maximum performance of the DUT/ profile used for HTTP or HTTPS throughput performance test with
SUT. smallest object size.
3. Assert that the test bed characteristics are stable during the 3. 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).
4. Verify that the generated traffic (performance) of the test
equipment matches and reasonably exceeds the expected maximum
performance of the DUT/SUT.
5. Record the network performance metrics packet loss latency
introduced by the test environment (without DUT/SUT).
6. Assert that the testbed characteristics are stable during the
entire test session. Several factors might influence stability entire test session. Several factors might influence stability
specifically, for virtualized test beds. For example, additional specifically, for virtualized testbeds. For example, additional
workloads in a virtualized system, load balancing, and movement workloads in a virtualized system, load balancing, and movement
of virtual machines during the test, or simple issues such as of virtual machines during the test, or simple issues such as
additional heat created by high workloads leading to an emergency additional heat created by high workloads leading to an emergency
CPU performance reduction. CPU performance reduction.
Test bed preparation may be performed either by configuring the DUT The reference test SHOULD be performed before the benchmarking tests
in the most trivial setup (fast forwarding) or without presence of (described in section 7) start.
the DUT.
6. Reporting 6. Reporting
This section describes how the final report should be formatted and This section describes how the benchmarking test report should be
presented. The final test report MAY have two major sections; formatted and presented. It is RECOMMENDED to include two main
Introduction and detailed test results sections. sections in the report, namely the introduction and the detailed test
results sections.
6.1. Introduction 6.1. Introduction
The following attributes SHOULD be present in the introduction The following attributes SHOULD be present in the introduction
section of the test report. section of the test report.
1. The time and date of the execution of the test MUST be prominent. 1. The time and date of the execution of the tests
2. Summary of test bed software and hardware details
A. DUT/SUT hardware/virtual configuration 2. Summary of testbed software and hardware details
a. DUT/SUT hardware/virtual configuration
+ This section SHOULD clearly identify the make and model of * This section SHOULD clearly identify the make and model of
the DUT/SUT the DUT/SUT
+ The port interfaces, including speed and link information * The port interfaces, including speed and link information
MUST be documented.
+ If the DUT/SUT is a Virtual Network Function (VNF), host * If the DUT/SUT is a Virtual Network Function (VNF), host
(server) hardware and software details, interface (server) hardware and software details, interface
acceleration type such as DPDK and SR-IOV used CPU cores, acceleration type such as DPDK and SR-IOV, used CPU cores,
used RAM, and the resource sharing (e.g. Pinning details used RAM, resource sharing (e.g. Pinning details and NUMA
and NUMA Node) configuration MUST be documented. The Node) configuration details, hypervisor version, virtual
virtual components such as Hypervisor, virtual switch switch version
version MUST be also documented.
+ Any additional hardware relevant to the DUT/SUT such as * details of any additional hardware relevant to the DUT/SUT
controllers MUST be documented such as controllers
B. DUT/SUT software b. DUT/SUT software
+ The operating system name MUST be documented * Operating system name
+ The version MUST be documented * Version
+ The specific configuration MUST be documented * Specific configuration details (if any)
C. DUT/SUT enabled features c. DUT/SUT enabled features
+ Configured DUT/SUT features (see Table 1 and Table 2) MUST * Configured DUT/SUT features (see Table 1 and Table 2)
be documented
+ Attributes of those featured MUST be documented * Attributes of the above-mentioned features
+ Any additional relevant information about features MUST be * Any additional relevant information about the features
documented
D. Test equipment hardware and software d. Test equipment hardware and software
+ Test equipment vendor name * Test equipment vendor name
+ Hardware details including model number, interface type * Hardware details including model number, interface type
+ Test equipment firmware and test application software * Test equipment firmware and test application software
version version
E. Key test parameters e. Key test parameters
+ Used cipher suites and keys
+ IPv4 and IPv6 traffic distribution * Used cipher suites and keys
+ Number of configured ACL * IPv4 and IPv6 traffic distribution
* Number of configured ACL
F. Details of application traffic mix used in the benchmarking f. Details of application traffic mix used in the benchmarking
test "Throughput Performance with Application Traffic Mix" test "Throughput Performance with Application Traffic Mix"
(Section 7.1) (Section 7.1)
+ Name of applications and layer 7 protocols * Name of applications and layer 7 protocols
+ Percentage of emulated traffic for each application and
* Percentage of emulated traffic for each application and
layer 7 protocols layer 7 protocols
+ Percentage of encrypted traffic and used cipher suites and * Percentage of encrypted traffic and used cipher suites and
keys (The RECOMMENDED ciphers and keys are defined in keys (The RECOMMENDED ciphers and keys are defined in
Section 4.3.1.3) Section 4.3.1.3)
+ Used object sizes for each application and layer 7 * Used object sizes for each application and layer 7
protocols protocols
3. Results Summary / Executive Summary 3. Results Summary / Executive Summary
A. Results SHOULD resemble a pyramid in how it is reported, with a. Results SHOULD resemble a pyramid in how it is reported, with
the introduction section documenting the summary of results the introduction section documenting the summary of results
in a prominent, easy to read block. in a prominent, easy to read block.
6.2. Detailed Test Results 6.2. Detailed Test Results
In the result section of the test report, the following attributes In the result section of the test report, the following attributes
SHOULD be present for each benchmarking test. SHOULD be present for each benchmarking test.
a. KPIs MUST be documented separately for each benchmarking test. a. KPIs MUST be documented separately for each benchmarking test.
The format of the KPI metrics SHOULD be presented as described in The format of the KPI metrics SHOULD be presented as described in
skipping to change at page 21, line 41 skipping to change at page 21, line 49
allows the user to see the measured performance stability changes allows the user to see the measured performance stability changes
over time. over time.
6.3. Benchmarks and Key Performance Indicators 6.3. Benchmarks and Key Performance Indicators
This section lists key performance indicators (KPIs) for overall This section lists key performance indicators (KPIs) for overall
benchmarking tests. All KPIs MUST be measured during the sustain benchmarking tests. All KPIs MUST be measured during the sustain
phase of the traffic load profile described in Section 4.3.4. All phase of the traffic load profile described in Section 4.3.4. All
KPIs MUST be measured from the result output of test equipment. KPIs MUST be measured from the result output of test equipment.
o Concurrent TCP Connections * Concurrent TCP Connections
The aggregate number of simultaneous connections between hosts The aggregate number of simultaneous connections between hosts
across the DUT/SUT, or between hosts and the DUT/SUT (defined in across the DUT/SUT, or between hosts and the DUT/SUT (defined in
[RFC2647]). [RFC2647]).
o TCP Connections Per Second * TCP Connections Per Second
The average number of successfully established TCP connections per The average number of successfully established TCP connections per
second between hosts across the DUT/SUT, or between hosts and the 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 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. 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 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), (FIN, FIN/ACK, ACK), or a TCP four-way close (FIN, ACK, FIN, ACK),
and not by a RST. and MUST NOT by RST.
* Application Transactions Per Second
o Application Transactions Per Second
The average number of successfully completed transactions per The average number of successfully completed transactions per
second. For a particular transaction to be considered successful, second. For a particular transaction to be considered successful,
all data must have been transferred in its entirety. In case of all data MUST have been transferred in its entirety. In case of
HTTP(S) transaction, it must have a valid status code, and the HTTP(S) transactions, it MUST have a valid status code (200 OK),
appropriate FIN, FIN/ACK sequence must have been completed. and the appropriate FIN, FIN/ACK sequence MUST have been
completed.
* TLS Handshake Rate
o TLS Handshake Rate
The average number of successfully established TLS connections per The average number of successfully established TLS connections per
second between hosts across the DUT/SUT, or between hosts and the second between hosts across the DUT/SUT, or between hosts and the
DUT/SUT. DUT/SUT.
o Inspected Throughput * Inspected Throughput
The number of bits per second of examined and allowed traffic a The number of bits per second of examined and allowed traffic a
network security device is able to transmit to the correct network security device is able to transmit to the correct
destination interface(s) in response to a specified offered load. destination interface(s) in response to a specified offered load.
The throughput benchmarking tests defined in Section 7 SHOULD The throughput benchmarking tests defined in Section 7 SHOULD
measure the average Layer 2 throughput value when the DUT/SUT is measure the average Layer 2 throughput value when the DUT/SUT is
"inspecting" traffic. This document recommends presenting the "inspecting" traffic. This document recommends presenting the
inspected throughput value in Gbit/s rounded to two places of inspected throughput value in Gbit/s rounded to two places of
precision with a more specific Kbit/s in parenthesis. precision with a more specific Kbit/s in parenthesis.
o Time to First Byte (TTFB) * Time to First Byte (TTFB)
TTFB is the elapsed time between the start of sending the TCP SYN TTFB is the elapsed time between the start of sending the TCP SYN
packet from the client and the client receiving the first packet packet from the client and the client receiving the first packet
of application data from the server or DUT/SUT. The benchmarking of application data from the server or DUT/SUT. The benchmarking
tests HTTP Transaction Latency (Section 7.4) and HTTPS Transaction tests HTTP Transaction Latency (Section 7.4) and HTTPS Transaction
Latency (Section 7.8) measure the minimum, average and maximum Latency (Section 7.8) measure the minimum, average and maximum
TTFB. The value SHOULD be expressed in millisecond. TTFB. The value SHOULD be expressed in milliseconds.
* URL Response time / Time to Last Byte (TTLB)
o URL Response time / Time to Last Byte (TTLB)
URL Response time / TTLB is the elapsed time between the start of URL Response time / TTLB is the elapsed time between the start of
sending the TCP SYN packet from the client and the client sending the TCP SYN packet from the client and the client
receiving the last packet of application data from the server or receiving the last packet of application data from the server or
DUT/SUT. The benchmarking tests HTTP Transaction Latency DUT/SUT. The benchmarking tests HTTP Transaction Latency
(Section 7.4) and HTTPS Transaction Latency (Section 7.8) measure (Section 7.4) and HTTPS Transaction Latency (Section 7.8) measure
the minimum, average and maximum TTLB. The value SHOULD be the minimum, average and maximum TTLB. The value SHOULD be
expressed in millisecond. expressed in millisecond.
7. Benchmarking Tests 7. Benchmarking Tests
7.1. Throughput Performance with Application Traffic Mix 7.1. Throughput Performance with Application Traffic Mix
7.1.1. Objective 7.1.1. Objective
Using a relevant application traffic mix, determine the sustainable Using a relevant application traffic mix, determine the sustainable
inspected throughput supported by the DUT/SUT. inspected throughput supported by the DUT/SUT.
Based on customer use case, users can choose the application traffic Based on customer use case, users can choose the relevant application
mix for this test. The details about the traffic mix MUST be traffic mix for this test. The details about the traffic mix MUST be
documented in the report. At least the following traffic mix details documented in the report. At least the following traffic mix details
MUST be documented and reported together with the test results: MUST be documented and reported together with the test results:
Name of applications and layer 7 protocols Name of applications and layer 7 protocols
Percentage of emulated traffic for each application and layer 7 Percentage of emulated traffic for each application and layer 7
protocols protocol
Percentage of encrypted traffic and used cipher suites and keys Percentage of encrypted traffic and used cipher suites and keys
(The RECOMMENDED ciphers and keys are defined in Section 4.3.1.3.) (The RECOMMENDED ciphers and keys are defined in Section 4.3.1.3.)
Used object sizes for each application and layer 7 protocols Used object sizes for each application and layer 7 protocols
7.1.2. Test Setup 7.1.2. Test Setup
Test bed setup MUST be configured as defined in Section 4. Any Testbed setup MUST be configured as defined in Section 4. Any
benchmarking test specific test bed configuration changes MUST be benchmarking test specific testbed configuration changes MUST be
documented. documented.
7.1.3. Test Parameters 7.1.3. Test Parameters
In this section, the benchmarking test specific parameters SHOULD be In this section, the benchmarking test specific parameters SHOULD be
defined. defined.
7.1.3.1. DUT/SUT Configuration Parameters 7.1.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. In case the DUT is configured benchmarking test MUST be documented. In case the DUT/SUT is
without SSL inspection feature, the test report MUST explain the configured without SSL inspection, the test report MUST explain the
implications of this to the relevant application traffic mix implications of this to the relevant application traffic mix
encrypted traffic. encrypted traffic.
7.1.3.2. Test Equipment Configuration Parameters 7.1.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
noted for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target inspected throughput: Aggregated line rate of interface(s) Target inspected throughput: Aggregated line rate of interface(s)
used in the DUT/SUT or the value defined based on requirement for used in the DUT/SUT or the value defined based on requirement for
a specific deployment scenario a specific deployment scenario
Initial inspected throughput: 10% of the "Target inspected Initial throughput: 10% of the "Target inspected throughput" Note:
throughput" 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
Section 7.1.4.
One of the ciphers and keys defined in Section 4.3.1.3 are One of the ciphers and keys defined in Section 4.3.1.3 are
RECOMMENDED to use for this benchmarking test. RECOMMENDED to use for this benchmarking test.
7.1.3.3. Traffic Profile 7.1.3.3. Traffic Profile
Traffic profile: This test MUST be run with a relevant application Traffic profile: This test MUST be run with a relevant application
traffic mix profile. traffic mix profile.
7.1.3.4. Test Results Validation Criteria 7.1.3.4. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. sustain phase of the traffic load profile.
a. Number of failed application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of total attempt transactions. of 100,000 transactions) of total attempted transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
7.1.3.5. Measurement 7.1.3.5. Measurement
Following KPI metrics MUST be reported for this benchmarking test: Following KPI metrics MUST be reported for this benchmarking test:
Mandatory KPIs (benchmarks): Inspected Throughput, TTFB (minimum, Mandatory KPIs (benchmarks): Inspected Throughput, TTFB (minimum,
skipping to change at page 25, line 9 skipping to change at page 25, line 30
Note: TTLB MUST be reported along with the object size used in the Note: TTLB MUST be reported along with the object size used in the
traffic profile. traffic profile.
Optional KPIs: TCP Connections Per Second and TLS Handshake Rate Optional KPIs: TCP Connections Per Second and TLS Handshake Rate
7.1.4. Test Procedures and Expected Results 7.1.4. Test Procedures and Expected Results
The test procedures are designed to measure the inspected throughput The test procedures are designed to measure the inspected throughput
performance of the DUT/SUT at the sustaining period of traffic load performance of the DUT/SUT at the sustaining period of traffic load
profile. The test procedure consists of three major steps. This profile. The test procedure consists of three major steps: Step 1
test procedure MAY be repeated multiple times with different IP ensures the DUT/SUT is able to reach the performance value (initial
types; IPv4 only, IPv6 only and IPv4 and IPv6 mixed traffic 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. distribution.
7.1.4.1. Step 1: Test Initialization and Qualification 7.1.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure traffic load profile of the test equipment to generate test Configure traffic load profile of the test equipment to generate test
traffic at the "Initial inspected throughput" rate as described in traffic at the "Initial throughput" rate as described in
the parameters Section 7.1.3.2. The test equipment SHOULD follow the Section 7.1.3.2. The test equipment SHOULD follow the traffic load
traffic load profile definition as described in Section 4.3.4. The profile definition as described in Section 4.3.4. The DUT/SUT SHOULD
DUT/SUT SHOULD reach the "Initial inspected throughput" during the reach the "Initial throughput" during the sustain phase. Measure all
sustain phase. Measure all KPI as defined in Section 7.1.3.5. The KPI as defined in Section 7.1.3.5. The measured KPIs during the
measured KPIs during the sustain phase MUST meet all the test results sustain phase MUST meet all the test results validation criteria
validation criteria defined in Section 7.1.3.4. defined in Section 7.1.3.4.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to step 2. the test procedure MUST NOT be continued to step 2.
7.1.4.2. Step 2: Test Run with Target Objective 7.1.4.2. Step 2: Test Run with Target Objective
Configure test equipment to generate traffic at the "Target inspected Configure test equipment to generate traffic at the "Target inspected
throughput" rate defined in the parameter table. The test equipment throughput" rate defined in Section 7.1.3.2. The test equipment
SHOULD follow the traffic load profile definition as described in SHOULD follow the traffic load profile definition as described in
Section 4.3.4. The test equipment SHOULD start to measure and record Section 4.3.4. The test equipment SHOULD start to measure and record
all specified KPIs. Continue the test until all traffic profile all specified KPIs. Continue the test until all traffic profile
phases are completed. phases are completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective ("Target inspected to reach the desired value of the target objective ("Target inspected
throughput") in the sustain phase. Follow step 3, if the measured throughput") in the sustain phase. Follow step 3, if the measured
value does not meet the target value or does not fulfill the test value does not meet the target value or does not fulfill the test
results validation criteria. results validation criteria.
skipping to change at page 26, line 13 skipping to change at page 26, line 46
for the test duration defined in Section 4.3.4. for the test duration defined in Section 4.3.4.
7.2. TCP/HTTP Connections Per Second 7.2. TCP/HTTP Connections Per Second
7.2.1. Objective 7.2.1. Objective
Using HTTP traffic, determine the sustainable TCP connection Using HTTP traffic, determine the sustainable TCP connection
establishment rate supported by the DUT/SUT under different establishment rate supported by the DUT/SUT under different
throughput load conditions. throughput load conditions.
To measure connections per second, test iterations MUST use the To measure connections per second, test iterations MUST use different
different fixed HTTP response object sizes (the different load fixed HTTP response object sizes (the different load conditions)
conditions) defined in Section 7.2.3.2. defined in Section 7.2.3.2.
7.2.2. Test Setup 7.2.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. MUST be documented. interface type, etc.) MUST be documented.
7.2.3. Test Parameters 7.2.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.2.3.1. DUT/SUT Configuration Parameters 7.2.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.2.3.2. Test Equipment Configuration Parameters 7.2.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target connections per second: Initial value from product datasheet Target connections per second: Initial value from product datasheet
or the value defined based on requirement for a specific deployment or the value defined based on requirement for a specific deployment
scenario scenario
Initial connections per second: 10% of "Target connections per Initial connections per second: 10% of "Target connections per
second" (an optional parameter for documentation) 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 Section 7.2.4.
The client SHOULD negotiate HTTP and close the connection with FIN The client SHOULD negotiate HTTP and close the connection with FIN
immediately after completion of one transaction. In each test immediately after completion of one transaction. In each test
iteration, client MUST send GET command requesting a fixed HTTP iteration, client MUST send GET request requesting a fixed HTTP
response object size. response object size.
The RECOMMENDED response object sizes are 1, 2, 4, 16, and 64 KByte. The RECOMMENDED response object sizes are 1, 2, 4, 16, and 64 KByte.
7.2.3.3. Test Results Validation Criteria 7.2.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during Test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. sustain phase of the traffic load profile.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of total attempt transactions. of 100,000 transactions) of total attempted transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
d. Concurrent TCP connections MUST be constant during steady state d. Concurrent TCP connections MUST be constant during steady state
and any deviation of concurrent TCP connections SHOULD be less and any deviation of concurrent TCP connections SHOULD be less
than 10%. This confirms the DUT opens and closes TCP connections than 10%. This confirms the DUT opens and closes TCP connections
almost at the same rate. at approximately the same rate.
7.2.3.4. Measurement 7.2.3.4. Measurement
TCP Connections Per Second MUST be reported for each test iteration TCP Connections Per Second MUST be reported for each test iteration
(for each object size). (for each object size).
7.2.4. Test Procedures and Expected Results 7.2.4. Test Procedures and Expected Results
The test procedure is designed to measure the TCP connections per The test procedure is designed to measure the TCP connections per
second rate of the DUT/SUT at the sustaining period of the traffic second rate of the DUT/SUT at the sustaining period of the traffic
load profile. The test procedure consists of three major steps. 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 This test procedure MAY be repeated multiple times with different IP
types; IPv4 only, IPv6 only and IPv4 and IPv6 mixed traffic types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic
distribution. distribution.
7.2.4.1. Step 1: Test Initialization and Qualification 7.2.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure the traffic load profile of the test equipment to establish Configure the traffic load profile of the test equipment to establish
"Initial connections per second" as defined in the parameters "Initial connections per second" as defined in Section 7.2.3.2. The
Section 7.2.3.2. The traffic load profile SHOULD be defined as traffic load profile SHOULD be defined as described in Section 4.3.4.
described in Section 4.3.4.
The DUT/SUT SHOULD reach the "Initial connections per second" before The DUT/SUT SHOULD reach the "Initial connections per second" before
the sustain phase. The measured KPIs during the sustain phase MUST the sustain phase. The measured KPIs during the sustain phase MUST
meet all the test results validation criteria defined in meet all the test results validation criteria defined in
Section 7.2.3.3. Section 7.2.3.3.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT continue to "Step 2".
7.2.4.2. Step 2: Test Run with Target Objective 7.2.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish the target objective ("Target Configure test equipment to establish the target objective ("Target
connections per second") defined in the parameters table. The test connections per second") defined in Section 7.2.3.2. The test
equipment SHOULD follow the traffic load profile definition as equipment SHOULD follow the traffic load profile definition as
described in Section 4.3.4. described in Section 4.3.4.
During the ramp up and sustain phase of each test iteration, other During the ramp up and sustain phase of each test iteration, other
KPIs such as inspected throughput, concurrent TCP connections and KPIs such as inspected throughput, concurrent TCP connections and
application transactions per second MUST NOT reach to the maximum application transactions per second MUST NOT reach the maximum value
value the DUT/SUT can support. The test results for specific test the DUT/SUT can support. The test results for specific test
iterations SHOULD NOT be reported, if the above mentioned KPI iterations SHOULD NOT be reported, if the above-mentioned KPI
(especially inspected throughput) reaches the maximum value. (especially inspected throughput) reaches the maximum value.
(Example: If the test iteration with 64 KByte of HTTP response object (Example: If the test iteration with 64 KByte of HTTP response object
size reached the maximum inspected throughput limitation of the DUT, size reached the maximum inspected throughput limitation of the DUT/
the test iteration MAY be interrupted and the result for 64 KByte SUT, the test iteration MAY be interrupted and the result for 64
SHOULD NOT be reported). KByte SHOULD NOT be reported.)
The test equipment SHOULD start to measure and record all specified The test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all traffic profile phases are KPIs. Continue the test until all traffic profile phases are
completed. completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective ("Target to reach the desired value of the target objective ("Target
connections per second") in the sustain phase. Follow step 3, if the 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 measured value does not meet the target value or does not fulfill the
test results validation criteria. test results validation criteria.
skipping to change at page 29, line 19 skipping to change at page 30, line 19
7.3. HTTP Throughput 7.3. HTTP Throughput
7.3.1. Objective 7.3.1. Objective
Determine the sustainable inspected throughput of the DUT/SUT for Determine the sustainable inspected throughput of the DUT/SUT for
HTTP transactions varying the HTTP response object size. HTTP transactions varying the HTTP response object size.
7.3.2. Test Setup 7.3.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. must be documented. interface type, etc.) MUST be documented.
7.3.3. Test Parameters 7.3.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.3.3.1. DUT/SUT Configuration Parameters 7.3.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.3.3.2. Test Equipment Configuration Parameters 7.3.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target inspected throughput: Aggregated line rate of interface(s) Target inspected throughput: Aggregated line rate of interface(s)
used in the DUT/SUT or the value defined based on requirement for a used in the DUT/SUT or the value defined based on requirement for a
specific deployment scenario 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 Step 1: "Test
Initialization and Qualification" described under Section 7.3.4.
Initial inspected throughput: 10% of "Target inspected throughput"
(an optional parameter for documentation)
Number of HTTP response object requests (transactions) per Number of HTTP response object requests (transactions) per
connection: 10 connection: 10
RECOMMENDED HTTP response object size: 1, 16, 64, 256 KByte, and RECOMMENDED HTTP response object size: 1, 16, 64, 256 KByte, and
mixed objects defined in the table mixed objects defined in table 5.
+---------------------+---------------------+ +---------------------+---------------------+
| Object size (KByte) | Number of requests/ | | Object size (KByte) | Number of requests/ |
| | Weight | | | Weight |
+---------------------+---------------------+ +---------------------+---------------------+
| 0.2 | 1 | | 0.2 | 1 |
+---------------------+---------------------+ +---------------------+---------------------+
| 6 | 1 | | 6 | 1 |
+---------------------+---------------------+ +---------------------+---------------------+
| 8 | 1 | | 8 | 1 |
skipping to change at page 30, line 35 skipping to change at page 31, line 40
+---------------------+---------------------+ +---------------------+---------------------+
| 26 | 1 | | 26 | 1 |
+---------------------+---------------------+ +---------------------+---------------------+
| 35 | 1 | | 35 | 1 |
+---------------------+---------------------+ +---------------------+---------------------+
| 59 | 1 | | 59 | 1 |
+---------------------+---------------------+ +---------------------+---------------------+
| 347 | 1 | | 347 | 1 |
+---------------------+---------------------+ +---------------------+---------------------+
Table 5: Mixed Objects Figure 7: Table 5: Mixed Objects
7.3.3.3. Test Results Validation Criteria 7.3.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. sustain phase of the traffic load profile.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of attempt transactions. of 100,000 transactions) of attempt transactions.
b. Traffic SHOULD be forwarded at a constant rate (considered as a b. Traffic SHOULD be forwarded at a constant rate (considered as a
constant rate if any deviation of traffic forwarding rate is less constant rate if any deviation of traffic forwarding rate is less
than 5%). than 5%).
c. Concurrent TCP connections MUST be constant during steady state c. Concurrent TCP connections MUST be constant during steady state
and any deviation of concurrent TCP connections SHOULD be less and any deviation of concurrent TCP connections SHOULD be less
than 10%. This confirms the DUT opens and closes TCP connections than 10%. This confirms the DUT opens and closes TCP connections
almost at the same rate. at approximately the same rate.
7.3.3.4. Measurement 7.3.3.4. Measurement
Inspected Throughput and HTTP Transactions per Second MUST be Inspected Throughput and HTTP Transactions per Second MUST be
reported for each object size. reported for each object size.
7.3.4. Test Procedures and Expected Results 7.3.4. Test Procedures and Expected Results
The test procedure is designed to measure HTTP throughput of the DUT/ The test procedure is designed to measure HTTP throughput of the DUT/
SUT. The test procedure consists of three major steps. This test SUT. The test procedure consists of three major steps: Step 1
procedure MAY be repeated multiple times with different IPv4 and IPv6 ensures the DUT/SUT is able to reach the performance value (Initial
traffic distribution and HTTP response object sizes. 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.
7.3.4.1. Step 1: Test Initialization and Qualification 7.3.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure traffic load profile of the test equipment to establish Configure traffic load profile of the test equipment to establish
"Initial inspected throughput" as defined in the parameters "Initial inspected throughput" as defined in Section 7.3.3.2.
Section 7.3.3.2.
The traffic load profile SHOULD be defined as described in The traffic load profile SHOULD be defined as described in
Section 4.3.4. The DUT/SUT SHOULD reach the "Initial inspected Section 4.3.4. The DUT/SUT SHOULD reach the "Initial inspected
throughput" during the sustain phase. Measure all KPI as defined in throughput" during the sustain phase. Measure all KPI as defined in
Section 7.3.3.4. Section 7.3.3.4.
The measured KPIs during the sustain phase MUST meet the test results The measured KPIs during the sustain phase MUST meet the test results
validation criteria "a" defined in Section 7.3.3.3. The test results validation criteria "a" defined in Section 7.3.3.3. The test results
validation criteria "b" and "c" are OPTIONAL for step 1. validation criteria "b" and "c" are OPTIONAL for step 1.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.3.4.2. Step 2: Test Run with Target Objective 7.3.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish the target objective ("Target Configure test equipment to establish the target objective ("Target
inspected throughput") defined in the parameters table. The test inspected throughput") defined in Section 7.3.3.2. The test
equipment SHOULD start to measure and record all specified KPIs. equipment SHOULD start to measure and record all specified KPIs.
Continue the test until all traffic profile phases are completed. Continue the test until all traffic profile phases are completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective in the sustain 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 phase. Follow step 3, if the measured value does not meet the target
value or does not fulfill the test results validation criteria. value or does not fulfill the test results validation criteria.
7.3.4.3. Step 3: Test Iteration 7.3.4.3. Step 3: Test Iteration
skipping to change at page 32, line 38 skipping to change at page 33, line 48
Scenario 1: The client MUST negotiate HTTP and close the connection Scenario 1: The client MUST negotiate HTTP and close the connection
with FIN immediately after completion of a single transaction (GET with FIN immediately after completion of a single transaction (GET
and RESPONSE). and RESPONSE).
Scenario 2: The client MUST negotiate HTTP and close the connection Scenario 2: The client MUST negotiate HTTP and close the connection
FIN immediately after completion of 10 transactions (GET and FIN immediately after completion of 10 transactions (GET and
RESPONSE) within a single TCP connection. RESPONSE) within a single TCP connection.
7.4.2. Test Setup 7.4.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. MUST be documented. interface type, etc.) MUST be documented.
7.4.3. Test Parameters 7.4.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.4.3.1. DUT/SUT Configuration Parameters 7.4.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.4.3.2. Test Equipment Configuration Parameters 7.4.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target objective for scenario 1: 50% of the connection per second Target objective for scenario 1: 50% of the connections per second
measured in benchmarking test TCP/HTTP Connections Per Second measured in benchmarking test TCP/HTTP Connections Per Second
(Section 7.2) (Section 7.2)
Target objective for scenario 2: 50% of the inspected throughput Target objective for scenario 2: 50% of the inspected throughput
measured in benchmarking test HTTP Throughput (Section 7.3) measured in benchmarking test HTTP Throughput (Section 7.3)
Initial objective for scenario 1: 10% of Target objective for Initial objective for scenario 1: 10% of "Target objective for
scenario 1" (an optional parameter for documentation) scenario 1"
Initial objective for scenario 2: 10% of "Target objective for Initial objective for scenario 2: 10% of "Target objective for
scenario 2" (an optional parameter for documentation) scenario 2"
HTTP transaction per TCP connection: test scenario 1 with single Note: The Initial objectives are not a KPI to report. These values
transaction and the second scenario with 10 transactions are configured on the traffic generator and used to perform the
Step1: "Test Initialization and Qualification" described under the
Section 7.4.4.
HTTP with GET command requesting a single object. The RECOMMENDED 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, object sizes are 1, 16, and 64 KByte. For each test iteration,
client MUST request a single HTTP response object size. client MUST request a single HTTP response object size.
7.4.3.3. Test Results Validation Criteria 7.4.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during Test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. Ramp up and sustain phase of the traffic load profile.
ramp down phase SHOULD NOT be considered.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of attempt transactions. of 100,000 transactions) of attempt transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
d. Concurrent TCP connections MUST be constant during steady state d. Concurrent TCP connections MUST be constant during steady state
and any deviation of concurrent TCP connections SHOULD be less and any deviation of concurrent TCP connections SHOULD be less
than 10%. This confirms the DUT opens and closes TCP connections than 10%. This confirms the DUT opens and closes TCP connections
almost at the same rate. at approximately the same rate.
e. After ramp up the DUT MUST achieve the "Target objective" defined e. After ramp up the DUT MUST achieve the "Target objective" defined
in the parameter Section 7.4.3.2 and remain in that state for the in Section 7.4.3.2 and remain in that state for the entire test
entire test duration (sustain phase). duration (sustain phase).
7.4.3.4. Measurement 7.4.3.4. Measurement
TTFB (minimum, average and maximum) and TTLB (minimum, average and TTFB (minimum, average, and maximum) and TTLB (minimum, average and
maximum) MUST be reported for each object size. maximum) MUST be reported for each object size.
7.4.4. Test Procedures and Expected Results 7.4.4. Test Procedures and Expected Results
The test procedure is designed to measure TTFB or TTLB when the DUT/ The test procedure is designed to measure TTFB or TTLB when the DUT/
SUT is operating close to 50% of its maximum achievable connections SUT is operating close to 50% of its maximum achievable connections
per second or inspected throughput. This test procedure MAY be per second or inspected throughput. The test procedure consists of
repeated multiple times with different IP types (IPv4 only, IPv6 only two major steps: Step 1 ensures the DUT/SUT is able to reach the
and IPv4 and IPv6 mixed traffic distribution), HTTP response object initial performance values and meets the test results validation
sizes and single and multiple transactions per connection scenarios. 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.
7.4.4.1. Step 1: Test Initialization and Qualification 7.4.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure traffic load profile of the test equipment to establish Configure traffic load profile of the test equipment to establish
"Initial objective" as defined in the parameters Section 7.4.3.2. "Initial objective" as defined in Section 7.4.3.2. The traffic load
The traffic load profile can be defined as described in profile SHOULD be defined as described in Section 4.3.4.
Section 4.3.4.
The DUT/SUT SHOULD reach the "Initial objective" before the sustain The DUT/SUT SHOULD reach the "Initial objective" before the sustain
phase. The measured KPIs during the sustain phase MUST meet all the phase. The measured KPIs during the sustain phase MUST meet all the
test results validation criteria defined in Section 7.4.3.3. test results validation criteria defined in Section 7.4.3.3.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.4.4.2. Step 2: Test Run with Target Objective 7.4.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish "Target objective" defined in Configure test equipment to establish "Target objective" defined in
the parameters table. The test equipment SHOULD follow the traffic Section 7.4.3.2. The test equipment SHOULD follow the traffic load
load profile definition as described in Section 4.3.4. profile definition as described in Section 4.3.4.
The test equipment SHOULD start to measure and record all specified The test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all traffic profile phases are KPIs. Continue the test until all traffic profile phases are
completed. completed.
Within the test results validation criteria, the DUT/SUT MUST reach Within the test results validation criteria, the DUT/SUT MUST reach
the desired value of the target objective in the sustain phase. the desired value of the target objective in the sustain phase.
Measure the minimum, average and maximum values of TFB and TTLB. Measure the minimum, average, and maximum values of TTFB and TTLB.
7.5. Concurrent TCP/HTTP Connection Capacity 7.5. Concurrent TCP/HTTP Connection Capacity
7.5.1. Objective 7.5.1. Objective
Determine the number of concurrent TCP connections that the DUT/ SUT Determine the number of concurrent TCP connections that the DUT/ SUT
sustains when using HTTP traffic. sustains when using HTTP traffic.
7.5.2. Test Setup 7.5.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. must be documented. interface type, etc.) MUST be documented.
7.5.3. Test Parameters 7.5.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.5.3.1. DUT/SUT Configuration Parameters 7.5.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.5.3.2. Test Equipment Configuration Parameters 7.5.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
noted for this benchmarking test: be noted for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target concurrent connection: Initial value from product datasheet Target concurrent connection: Initial value from product datasheet
or the value defined based on requirement for a specific or the value defined based on requirement for a specific
deployment scenario. deployment scenario.
Initial concurrent connection: 10% of "Target concurrent Initial concurrent connection: 10% of "Target concurrent
connection" (an optional parameter for documentation) 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 Section 7.5.4.
Maximum connections per second during ramp up phase: 50% of Maximum connections per second during ramp up phase: 50% of
maximum connections per second measured in benchmarking test TCP/ maximum connections per second measured in benchmarking test TCP/
HTTP Connections per second (Section 7.2) HTTP Connections per second (Section 7.2)
Ramp up time (in traffic load profile for "Target concurrent Ramp up time (in traffic load profile for "Target concurrent
connection"): "Target concurrent connection" / "Maximum connection"): "Target concurrent connection" / "Maximum
connections per second during ramp up phase" connections per second during ramp up phase"
Ramp up time (in traffic load profile for "Initial concurrent Ramp up time (in traffic load profile for "Initial concurrent
connection"): "Initial concurrent connection" / "Maximum connection"): "Initial concurrent connection" / "Maximum
connections per second during ramp up phase" connections per second during ramp up phase"
The client MUST negotiate HTTP and each client MAY open multiple The client MUST negotiate HTTP and each client MAY open multiple
concurrent TCP connections per server endpoint IP. concurrent TCP connections per server endpoint IP.
Each client sends 10 GET commands requesting 1 KByte HTTP response Each client sends 10 GET requests requesting 1 KByte HTTP response
object in the same TCP connection (10 transactions/TCP connection) object in the same TCP connection (10 transactions/TCP connection)
and the delay (think time) between each transaction MUST be X and the delay (think time) between each transaction MUST be X
seconds. seconds.
X = ("Ramp up time" + "steady state time") /10 X = ("Ramp up time" + "steady state time") /10
The established connections SHOULD remain open until the ramp down The established connections SHOULD remain open until the ramp down
phase of the test. During the ramp down phase, all connections phase of the test. During the ramp down phase, all connections
SHOULD be successfully closed with FIN. SHOULD be successfully closed with FIN.
7.5.3.3. Test Results Validation Criteria 7.5.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during Test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. sustain phase of the traffic load profile.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transaction) of total attempted transactions. of 100,000 transaction) of total attempted transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
7.5.3.4. Measurement 7.5.3.4. Measurement
Average Concurrent TCP Connections MUST be reported for this Average Concurrent TCP Connections MUST be reported for this
benchmarking test. benchmarking test.
7.5.4. Test Procedures and Expected Results 7.5.4. Test Procedures and Expected Results
The test procedure is designed to measure the concurrent TCP The test procedure is designed to measure the concurrent TCP
connection capacity of the DUT/SUT at the sustaining period of connection capacity of the DUT/SUT at the sustaining period of
traffic load profile. The test procedure consists of three major traffic load profile. The test procedure consists of three major
steps. This test procedure MAY be repeated multiple times with steps: Step 1 ensures the DUT/SUT is able to reach the performance
different IPv4 and IPv6 traffic distribution. 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.
7.5.4.1. Step 1: Test Initialization and Qualification 7.5.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure test equipment to establish "Initial concurrent TCP Configure test equipment to establish "Initial concurrent TCP
connections" defined in Section 7.5.3.2. Except ramp up time, the connections" defined in Section 7.5.3.2. Except ramp up time, the
traffic load profile SHOULD be defined as described in Section 4.3.4. traffic load profile SHOULD be defined as described in Section 4.3.4.
skipping to change at page 37, line 51 skipping to change at page 39, line 33
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.5.4.2. Step 2: Test Run with Target Objective 7.5.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish the target objective ("Target Configure test equipment to establish the target objective ("Target
concurrent TCP connections"). The test equipment SHOULD follow the concurrent TCP connections"). The test equipment SHOULD follow the
traffic load profile definition (except ramp up time) as described in traffic load profile definition (except ramp up time) as described in
Section 4.3.4. Section 4.3.4.
During the ramp up and sustain phase, the other KPIs such as During the ramp up and sustain phase, the other KPIs such as
inspected throughput, TCP connections per second and application inspected throughput, TCP connections per second, and application
transactions per second MUST NOT reach to the maximum value that the transactions per second MUST NOT reach the maximum value the DUT/SUT
DUT/SUT can support. can support.
The test equipment SHOULD start to measure and record KPIs defined in The test equipment SHOULD start to measure and record KPIs defined in
Section 7.5.3.4. Continue the test until all traffic profile phases Section 7.5.3.4. Continue the test until all traffic profile phases
are completed. are completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective in the sustain 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 phase. Follow step 3, if the measured value does not meet the target
value or does not fulfill the test results validation criteria. value or does not fulfill the test results validation criteria.
skipping to change at page 38, line 34 skipping to change at page 40, line 15
Using HTTPS traffic, determine the sustainable SSL/TLS session Using HTTPS traffic, determine the sustainable SSL/TLS session
establishment rate supported by the DUT/SUT under different establishment rate supported by the DUT/SUT under different
throughput load conditions. throughput load conditions.
Test iterations MUST include common cipher suites and key strengths Test iterations MUST include common cipher suites and key strengths
as well as forward looking stronger keys. Specific test iterations as well as forward looking stronger keys. Specific test iterations
MUST include ciphers and keys defined in Section 7.6.3.2. MUST include ciphers and keys defined in Section 7.6.3.2.
For each cipher suite and key strengths, test iterations MUST use a For each cipher suite and key strengths, test iterations MUST use a
single HTTPS response object size defined in the test equipment single HTTPS response object size defined in Section 7.6.3.2 to
configuration parameters Section 7.6.3.2 to measure connections per measure connections per second performance under a variety of DUT/SUT
second performance under a variety of DUT Security inspection load security inspection load conditions.
conditions.
7.6.2. Test Setup 7.6.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. MUST be documented. interface type, etc.) MUST be documented.
7.6.3. Test Parameters 7.6.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.6.3.1. DUT/SUT Configuration Parameters 7.6.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.6.3.2. Test Equipment Configuration Parameters 7.6.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target connections per second: Initial value from product datasheet Target connections per second: Initial value from product datasheet
or the value defined based on requirement for a specific deployment or the value defined based on requirement for a specific deployment
scenario. scenario.
Initial connections per second: 10% of "Target connections per Initial connections per second: 10% of "Target connections per
second" (an optional parameter for documentation) 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 Section 7.6.4.
RECOMMENDED ciphers and keys defined in Section 4.3.1.3 RECOMMENDED ciphers and keys defined in Section 4.3.1.3
The client MUST negotiate HTTPS and close the connection with FIN The client MUST negotiate HTTPS and close the connection with FIN
immediately after completion of one transaction. In each test immediately after completion of one transaction. In each test
iteration, client MUST send GET command requesting a fixed HTTPS iteration, client MUST send GET request requesting a fixed HTTPS
response object size. The RECOMMENDED object sizes are 1, 2, 4, 16, response object size. The RECOMMENDED object sizes are 1, 2, 4, 16,
and 64 KByte. and 64 KByte.
7.6.3.3. Test Results Validation Criteria 7.6.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria: test results validation criteria MUST be monitored during the whole
test duration.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of attempt transactions. of 100,000 transactions) of attempt transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
d. Concurrent TCP connections MUST be constant during steady state d. Concurrent TCP connections MUST be constant during steady state
and any deviation of concurrent TCP connections SHOULD be less and any deviation of concurrent TCP connections SHOULD be less
than 10%. This confirms the DUT opens and closes TCP connections than 10%. This confirms the DUT opens and closes TCP connections
almost at the same rate. at approximately the same rate.
7.6.3.4. Measurement 7.6.3.4. Measurement
TCP Connections Per Second MUST be reported for each test iteration TCP connections per second MUST be reported for each test iteration
(for each object size). (for each object size).
The KPI metric TLS Handshake Rate can be measured in the test using The KPI metric TLS Handshake Rate can be measured in the test using 1
1KByte object size. KByte object size.
7.6.4. Test Procedures and Expected Results 7.6.4. Test Procedures and Expected Results
The test procedure is designed to measure the TCP connections per The test procedure is designed to measure the TCP connections per
second rate of the DUT/SUT at the sustaining period of traffic load second rate of the DUT/SUT at the sustaining period of traffic load
profile. The test procedure consists of three major steps. This profile. The test procedure consists of three major steps: Step 1
test procedure MAY be repeated multiple times with different IPv4 and ensures the DUT/SUT is able to reach the performance value (Initial
IPv6 traffic distribution. 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.
7.6.4.1. Step 1: Test Initialization and Qualification 7.6.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure traffic load profile of the test equipment to establish Configure traffic load profile of the test equipment to establish
"Initial connections per second" as defined in Section 7.6.3.2. The "Initial connections per second" as defined in Section 7.6.3.2. The
traffic load profile MAY be defined as described in Section 4.3.4. traffic load profile SHOULD be defined as described in Section 4.3.4.
The DUT/SUT SHOULD reach the "Initial connections per second" before The DUT/SUT SHOULD reach the "Initial connections per second" before
the sustain phase. The measured KPIs during the sustain phase MUST the sustain phase. The measured KPIs during the sustain phase MUST
meet all the test results validation criteria defined in meet all the test results validation criteria defined in
Section 7.6.3.3. Section 7.6.3.3.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.6.4.2. Step 2: Test Run with Target Objective 7.6.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish "Target connections per second" Configure test equipment to establish "Target connections per second"
defined in the parameters table. The test equipment SHOULD follow defined in Section 7.6.3.2. The test equipment SHOULD follow the
the traffic load profile definition as described in Section 4.3.4. traffic load profile definition as described in Section 4.3.4.
During the ramp up and sustain phase, other KPIs such as inspected During the ramp up and sustain phase, other KPIs such as inspected
throughput, concurrent TCP connections and application transactions throughput, concurrent TCP connections, and application transactions
per second MUST NOT reach the maximum value that the DUT/SUT can per second MUST NOT reach the maximum value the DUT/SUT can support.
support. The test results for specific test iteration SHOULD NOT be The test results for specific test iteration SHOULD NOT be reported,
reported, if the above mentioned KPI (especially inspected if the above mentioned KPI (especially inspected throughput) reaches
throughput) reaches the maximum value. (Example: If the test the maximum value. (Example: If the test iteration with 64 KByte of
iteration with 64 KByte of HTTPS response object size reached the HTTPS response object size reached the maximum inspected throughput
maximum inspected throughput limitation of the DUT, the test limitation of the DUT, the test iteration MAY be interrupted and the
iteration MAY be interrupted and the result for 64 KByte SHOULD NOT result for 64 KByte SHOULD NOT be reported).
be reported).
The test equipment SHOULD start to measure and record all specified The test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all traffic profile phases are KPIs. Continue the test until all traffic profile phases are
completed. completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective ("Target to reach the desired value of the target objective ("Target
connections per second") in the sustain phase. Follow step 3, if the 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 measured value does not meet the target value or does not fulfill the
test results validation criteria. test results validation criteria.
skipping to change at page 41, line 40 skipping to change at page 43, line 29
7.7. HTTPS Throughput 7.7. HTTPS Throughput
7.7.1. Objective 7.7.1. Objective
Determine the sustainable inspected throughput of the DUT/SUT for Determine the sustainable inspected throughput of the DUT/SUT for
HTTPS transactions varying the HTTPS response object size. HTTPS transactions varying the HTTPS response object size.
Test iterations MUST include common cipher suites and key strengths Test iterations MUST include common cipher suites and key strengths
as well as forward looking stronger keys. Specific test iterations as well as forward looking stronger keys. Specific test iterations
MUST include the ciphers and keys defined in the parameter MUST include the ciphers and keys defined in Section 7.7.3.2.
Section 7.7.3.2.
7.7.2. Test Setup 7.7.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. must be documented. interface type, etc.) MUST be documented.
7.7.3. Test Parameters 7.7.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.7.3.1. DUT/SUT Configuration Parameters 7.7.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.7.3.2. Test Equipment Configuration Parameters 7.7.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
Target inspected throughput: Aggregated line rate of interface(s) Target inspected throughput: Aggregated line rate of interface(s)
used in the DUT/SUT or the value defined based on requirement for a used in the DUT/SUT or the value defined based on requirement for a
specific deployment scenario. specific deployment scenario.
Initial inspected throughput: 10% of "Target inspected throughput" Initial throughput: 10% of "Target inspected throughput" Note:
(an optional parameter for documentation) 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 Section 7.7.4.
Number of HTTPS response object requests (transactions) per Number of HTTPS response object requests (transactions) per
connection: 10 connection: 10
RECOMMENDED ciphers and keys defined in Section 4.3.1.3 RECOMMENDED ciphers and keys defined in Section 4.3.1.3
RECOMMENDED HTTPS response object size: 1, 16, 64, 256 KByte, and RECOMMENDED HTTPS response object size: 1, 16, 64, 256 KByte, and
mixed objects defined in the Table 5 under the Section 7.3.3.2. mixed objects defined in Table 5 under Section 7.3.3.2.
7.7.3.3. Test Results Validation Criteria 7.7.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. sustain phase of the traffic load profile.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed Application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of attempt transactions. of 100,000 transactions) of attempt transactions.
b. Traffic SHOULD be forwarded at a constant rate (considered as a b. Traffic SHOULD be forwarded at a constant rate (considered as a
constant rate if any deviation of traffic forwarding rate is less constant rate if any deviation of traffic forwarding rate is less
than 5%). than 5%).
c. Concurrent TCP connections MUST be constant during steady state c. Concurrent TCP connections MUST be constant during steady state
and any deviation of concurrent TCP connections SHOULD be less and any deviation of concurrent TCP connections SHOULD be less
than 10%. This confirms the DUT opens and closes TCP connections than 10%. This confirms the DUT opens and closes TCP connections
almost at the same rate. at approximately the same rate.
7.7.3.4. Measurement 7.7.3.4. Measurement
Inspected Throughput and HTTP Transactions per Second MUST be Inspected Throughput and HTTP Transactions per Second MUST be
reported for each object size. reported for each object size.
7.7.4. Test Procedures and Expected Results 7.7.4. Test Procedures and Expected Results
The test procedure consists of three major steps. This test The test procedure consists of three major steps: Step 1 ensures the
procedure MAY be repeated multiple times with different IPv4 and IPv6 DUT/SUT is able to reach the performance value (Initial throughput)
traffic distribution and HTTPS response object sizes. 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.
7.7.4.1. Step 1: Test Initialization and Qualification 7.7.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure traffic load profile of the test equipment to establish Configure traffic load profile of the test equipment to establish
"Initial inspected throughput" as defined in the parameters "Initial throughput" as defined in Section 7.7.3.2.
Section 7.7.3.2.
The traffic load profile SHOULD be defined as described in The traffic load profile SHOULD be defined as described in
Section 4.3.4. The DUT/SUT SHOULD reach the "Initial inspected Section 4.3.4. The DUT/SUT SHOULD reach the "Initial throughput"
throughput" during the sustain phase. Measure all KPI as defined in during the sustain phase. Measure all KPI as defined in
Section 7.7.3.4. Section 7.7.3.4.
The measured KPIs during the sustain phase MUST meet the test results The measured KPIs during the sustain phase MUST meet the test results
validation criteria "a" defined in Section 7.7.3.3. The test results validation criteria "a" defined in Section 7.7.3.3. The test results
validation criteria "b" and "c" are OPTIONAL for step 1. validation criteria "b" and "c" are OPTIONAL for step 1.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.7.4.2. Step 2: Test Run with Target Objective 7.7.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish the target objective ("Target Configure test equipment to establish the target objective ("Target
inspected throughput") defined in the parameters table. The test inspected throughput") defined in Section 7.7.3.2. The test
equipment SHOULD start to measure and record all specified KPIs. equipment SHOULD start to measure and record all specified KPIs.
Continue the test until all traffic profile phases are completed. Continue the test until all traffic profile phases are completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective in the sustain 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 phase. Follow step 3, if the measured value does not meet the target
value or does not fulfill the test results validation criteria. value or does not fulfill the test results validation criteria.
7.7.4.3. Step 3: Test Iteration 7.7.4.3. Step 3: Test Iteration
Determine the achievable average inspected throughput within the test Determine the achievable average inspected throughput within the test
results validation criteria. Final test iteration MUST be performed results validation criteria. Final test iteration MUST be performed
for the test duration defined in Section 4.3.4. for the test duration defined in Section 4.3.4.
7.8. HTTPS Transaction Latency 7.8. HTTPS Transaction Latency
7.8.1. Objective 7.8.1. Objective
Using HTTPS traffic, determine the HTTPS transaction latency when DUT Using HTTPS traffic, determine the HTTPS transaction latency when
is running with sustainable HTTPS transactions per second supported DUT/SUT is running with sustainable HTTPS transactions per second
by the DUT/SUT under different HTTPS response object size. supported by the DUT/SUT under different HTTPS response object size.
Scenario 1: The client MUST negotiate HTTPS and close the connection Scenario 1: The client MUST negotiate HTTPS and close the connection
with FIN immediately after completion of a single transaction (GET with FIN immediately after completion of a single transaction (GET
and RESPONSE). and RESPONSE).
Scenario 2: The client MUST negotiate HTTPS and close the connection Scenario 2: The client MUST negotiate HTTPS and close the connection
with FIN immediately after completion of 10 transactions (GET and with FIN immediately after completion of 10 transactions (GET and
RESPONSE) within a single TCP connection. RESPONSE) within a single TCP connection.
7.8.2. Test Setup 7.8.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. MUST be documented. interface type, etc.) MUST be documented.
7.8.3. Test Parameters 7.8.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.8.3.1. DUT/SUT Configuration Parameters 7.8.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.8.3.2. Test Equipment Configuration Parameters 7.8.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.3 RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.3
Target objective for scenario 1: 50% of the connections per second Target objective for scenario 1: 50% of the connections per second
measured in benchmarking test TCP/HTTPS Connections per second measured in benchmarking test TCP/HTTPS Connections per second
(Section 7.6) (Section 7.6)
Target objective for scenario 2: 50% of the inspected throughput Target objective for scenario 2: 50% of the inspected throughput
skipping to change at page 45, line 27 skipping to change at page 47, line 16
RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.3 RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.3
Target objective for scenario 1: 50% of the connections per second Target objective for scenario 1: 50% of the connections per second
measured in benchmarking test TCP/HTTPS Connections per second measured in benchmarking test TCP/HTTPS Connections per second
(Section 7.6) (Section 7.6)
Target objective for scenario 2: 50% of the inspected throughput Target objective for scenario 2: 50% of the inspected throughput
measured in benchmarking test HTTPS Throughput (Section 7.7) measured in benchmarking test HTTPS Throughput (Section 7.7)
Initial objective for scenario 1: 10% of Target objective for Initial objective for scenario 1: 10% of "Target objective for
scenario 1" (an optional parameter for documentation) scenario 1"
Initial objective for scenario 2: 10% of "Target objective for Initial objective for scenario 2: 10% of "Target objective for
scenario 2" (an optional parameter for documentation) scenario 2"
HTTPS transaction per TCP connection: test scenario 1 with single Note: The Initial objectives are not a KPI to report. These values
transaction and the second scenario with 10 transactions are configured on the traffic generator and used to perform the
Step1: "Test Initialization and Qualification" described under the
Section 7.8.4.
HTTPS with GET command requesting a single object. The RECOMMENDED HTTPS transaction per TCP connection: Test scenario 1 with single
transaction and scenario 2 with 10 transactions
HTTPS with GET request requesting a single object. The RECOMMENDED
object sizes are 1, 16, and 64 KByte. For each test iteration, object sizes are 1, 16, and 64 KByte. For each test iteration,
client MUST request a single HTTPS response object size. client MUST request a single HTTPS response object size.
7.8.3.3. Test Results Validation Criteria 7.8.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during Test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. Ramp up and sustain phase of the traffic load profile.
ramp down phase SHOULD NOT be considered.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of attempt transactions. of 100,000 transactions) of attempt transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
d. Concurrent TCP connections MUST be constant during steady state d. Concurrent TCP connections MUST be constant during steady state
and any deviation of concurrent TCP connections SHOULD be less and any deviation of concurrent TCP connections SHOULD be less
than 10%. This confirms the DUT opens and closes TCP connections than 10%. This confirms the DUT opens and closes TCP connections
almost at the same rate. at approximately the same rate.
e. After ramp up the DUT MUST achieve the "Target objective" defined e. After ramp up the DUT/SUT MUST achieve the "Target objective"
in the parameter Section 7.8.3.2 and remain in that state for the defined in the parameter Section 7.8.3.2 and remain in that state
entire test duration (sustain phase). for the entire test duration (sustain phase).
7.8.3.4. Measurement 7.8.3.4. Measurement
TTFB (minimum, average and maximum) and TTLB (minimum, average and TTFB (minimum, average, and maximum) and TTLB (minimum, average and
maximum) MUST be reported for each object size. maximum) MUST be reported for each object size.
7.8.4. Test Procedures and Expected Results 7.8.4. Test Procedures and Expected Results
The test procedure is designed to measure TTFB or TTLB when the DUT/ The test procedure is designed to measure TTFB or TTLB when the DUT/
SUT is operating close to 50% of its maximum achievable connections SUT is operating close to 50% of its maximum achievable connections
per second or inspected throughput. This test procedure MAY be per second or inspected throughput. The test procedure consists of
repeated multiple times with different IP types (IPv4 only, IPv6 only two major steps: Step 1 ensures the DUT/SUT is able to reach the
and IPv4 and IPv6 mixed traffic distribution), HTTPS response object initial performance values and meets the test results validation
sizes and single and multiple transactions per connection scenarios. 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.
7.8.4.1. Step 1: Test Initialization and Qualification 7.8.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure traffic load profile of the test equipment to establish Configure traffic load profile of the test equipment to establish
"Initial objective" as defined in the parameters Section 7.8.3.2. "Initial objective" as defined in the Section 7.8.3.2. The traffic
The traffic load profile can be defined as described in load profile SHOULD be defined as described in Section 4.3.4.
Section 4.3.4.
The DUT/SUT SHOULD reach the "Initial objective" before the sustain The DUT/SUT SHOULD reach the "Initial objective" before the sustain
phase. The measured KPIs during the sustain phase MUST meet all the phase. The measured KPIs during the sustain phase MUST meet all the
test results validation criteria defined in Section 7.8.3.3. test results validation criteria defined in Section 7.8.3.3.
If the KPI metrics do not meet the test results validation criteria, If the KPI metrics do not meet the test results validation criteria,
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.8.4.2. Step 2: Test Run with Target Objective 7.8.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish "Target objective" defined in Configure test equipment to establish "Target objective" defined in
the parameters table. The test equipment SHOULD follow the traffic Section 7.8.3.2. The test equipment SHOULD follow the traffic load
load profile definition as described in Section 4.3.4. profile definition as described in Section 4.3.4.
The test equipment SHOULD start to measure and record all specified The test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all traffic profile phases are KPIs. Continue the test until all traffic profile phases are
completed. completed.
Within the test results validation criteria, the DUT/SUT MUST reach Within the test results validation criteria, the DUT/SUT MUST reach
the desired value of the target objective in the sustain phase. the desired value of the target objective in the sustain phase.
Measure the minimum, average and maximum values of TFB and TTLB. Measure the minimum, average, and maximum values of TTFB and TTLB.
7.9. Concurrent TCP/HTTPS Connection Capacity 7.9. Concurrent TCP/HTTPS Connection Capacity
7.9.1. Objective 7.9.1. Objective
Determine the number of concurrent TCP connections that the DUT/SUT Determine the number of concurrent TCP connections the DUT/SUT
sustains when using HTTPS traffic. sustains when using HTTPS traffic.
7.9.2. Test Setup 7.9.2. Test Setup
Test bed setup SHOULD be configured as defined in Section 4. Any Testbed setup SHOULD be configured as defined in Section 4. Any
specific test bed configuration changes such as number of interfaces specific testbed configuration changes (number of interfaces and
and interface type, etc. MUST be documented. interface type, etc.) MUST be documented.
7.9.3. Test Parameters 7.9.3. Test Parameters
In this section, benchmarking test specific parameters SHOULD be In this section, benchmarking test specific parameters SHOULD be
defined. defined.
7.9.3.1. DUT/SUT Configuration Parameters 7.9.3.1. DUT/SUT Configuration Parameters
DUT/SUT parameters MUST conform to the requirements defined in DUT/SUT parameters MUST conform to the requirements defined in
Section 4.2. Any configuration changes for this specific Section 4.2. Any configuration changes for this specific
benchmarking test MUST be documented. benchmarking test MUST be documented.
7.9.3.2. Test Equipment Configuration Parameters 7.9.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. Following parameters MUST be requirements defined in Section 4.3. The following parameters MUST
documented for this benchmarking test: be documented for this benchmarking test:
Client IP address range defined in Section 4.3.1.2 Client IP address range defined in Section 4.3.1.2
Server IP address range defined in Section 4.3.2.2 Server IP address range defined in Section 4.3.2.2
Traffic distribution ratio between IPv4 and IPv6 defined in Traffic distribution ratio between IPv4 and IPv6 defined in
Section 4.3.1.2 Section 4.3.1.2
RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.3 RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.3
Target concurrent connections: Initial value from product Target concurrent connections: Initial value from product
datasheet or the value defined based on requirement for a specific datasheet or the value defined based on requirement for a specific
deployment scenario. deployment scenario.
Initial concurrent connections: 10% of "Target concurrent Initial concurrent connections: 10% of "Target concurrent
connections" (an optional parameter for documentation) 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 Section 7.9.4.
Connections per second during ramp up phase: 50% of maximum Connections per second during ramp up phase: 50% of maximum
connections per second measured in benchmarking test TCP/HTTPS connections per second measured in benchmarking test TCP/HTTPS
Connections per second (Section 7.6) Connections per second (Section 7.6)
Ramp up time (in traffic load profile for "Target concurrent Ramp up time (in traffic load profile for "Target concurrent
connections"): "Target concurrent connections" / "Maximum connections"): "Target concurrent connections" / "Maximum
connections per second during ramp up phase" connections per second during ramp up phase"
Ramp up time (in traffic load profile for "Initial concurrent Ramp up time (in traffic load profile for "Initial concurrent
connections"): "Initial concurrent connections" / "Maximum connections"): "Initial concurrent connections" / "Maximum
connections per second during ramp up phase" connections per second during ramp up phase"
The client MUST perform HTTPS transaction with persistence and each The client MUST perform HTTPS transaction with persistence and each
client can open multiple concurrent TCP connections per server client can open multiple concurrent TCP connections per server
endpoint IP. endpoint IP.
Each client sends 10 GET commands requesting 1 KByte HTTPS response Each client sends 10 GET requests requesting 1 KByte HTTPS response
objects in the same TCP connections (10 transactions/TCP connection) objects in the same TCP connections (10 transactions/TCP connection)
and the delay (think time) between each transaction MUST be X and the delay (think time) between each transaction MUST be X
seconds. seconds.
X = ("Ramp up time" + "steady state time") /10 X = ("Ramp up time" + "steady state time") /10
The established connections SHOULD remain open until the ramp down The established connections SHOULD remain open until the ramp down
phase of the test. During the ramp down phase, all connections phase of the test. During the ramp down phase, all connections
SHOULD be successfully closed with FIN. SHOULD be successfully closed with FIN.
7.9.3.3. Test Results Validation Criteria 7.9.3.3. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during Test results validation criteria MUST be monitored during the whole
the whole sustain phase of the traffic load profile. sustain phase of the traffic load profile.
a. Number of failed Application transactions (receiving any HTTP a. Number of failed application transactions (receiving any HTTP
response code other than 200 OK) MUST be less than 0.001% (1 out response code other than 200 OK) MUST be less than 0.001% (1 out
of 100,000 transactions) of total attempted transactions. of 100,000 transactions) of total attempted transactions.
b. Number of Terminated TCP connections due to unexpected TCP RST b. 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 sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000
connections) of total initiated TCP connections. connections) of total initiated TCP connections.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
7.9.3.4. Measurement 7.9.3.4. Measurement
Average Concurrent TCP Connections MUST be reported for this Average Concurrent TCP Connections MUST be reported for this
benchmarking test. benchmarking test.
7.9.4. Test Procedures and Expected Results 7.9.4. Test Procedures and Expected Results
The test procedure is designed to measure the concurrent TCP The test procedure is designed to measure the concurrent TCP
connection capacity of the DUT/SUT at the sustaining period of connection capacity of the DUT/SUT at the sustaining period of
traffic load profile. The test procedure consists of three major traffic load profile. The test procedure consists of three major
steps. This test procedure MAY be repeated multiple times with steps: Step 1 ensures the DUT/SUT is able to reach the performance
different IPv4 and IPv6 traffic distribution. 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.
7.9.4.1. Step 1: Test Initialization and Qualification 7.9.4.1. Step 1: Test Initialization and Qualification
Verify the link status of all connected physical interfaces. All Verify the link status of all connected physical interfaces. All
interfaces are expected to be in "UP" status. interfaces are expected to be in "UP" status.
Configure test equipment to establish "Initial concurrent TCP Configure test equipment to establish "Initial concurrent TCP
connections" defined in Section 7.9.3.2. Except ramp up time, the connections" defined in Section 7.9.3.2. Except ramp up time, the
traffic load profile SHOULD be defined as described in Section 4.3.4. traffic load profile SHOULD be defined as described in Section 4.3.4.
skipping to change at page 49, line 51 skipping to change at page 52, line 16
the test procedure MUST NOT be continued to "Step 2". the test procedure MUST NOT be continued to "Step 2".
7.9.4.2. Step 2: Test Run with Target Objective 7.9.4.2. Step 2: Test Run with Target Objective
Configure test equipment to establish the target objective ("Target Configure test equipment to establish the target objective ("Target
concurrent TCP connections"). The test equipment SHOULD follow the concurrent TCP connections"). The test equipment SHOULD follow the
traffic load profile definition (except ramp up time) as described in traffic load profile definition (except ramp up time) as described in
Section 4.3.4. Section 4.3.4.
During the ramp up and sustain phase, the other KPIs such as During the ramp up and sustain phase, the other KPIs such as
inspected throughput, TCP connections per second and application inspected throughput, TCP connections per second, and application
transactions per second MUST NOT reach to the maximum value that the transactions per second MUST NOT reach to the maximum value that the
DUT/SUT can support. DUT/SUT can support.
The test equipment SHOULD start to measure and record KPIs defined in The test equipment SHOULD start to measure and record KPIs defined in
Section 7.9.3.4. Continue the test until all traffic profile phases Section 7.9.3.4. Continue the test until all traffic profile phases
are completed. are completed.
Within the test results validation criteria, the DUT/SUT is expected Within the test results validation criteria, the DUT/SUT is expected
to reach the desired value of the target objective in the sustain 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 phase. Follow step 3, if the measured value does not meet the target
value or does not fulfill the test results validation criteria. value or does not fulfill the test results validation criteria.
7.9.4.3. Step 3: Test Iteration 7.9.4.3. Step 3: Test Iteration
Determine the achievable concurrent TCP connections within the test Determine the achievable concurrent TCP connections within the test
results validation criteria. results validation criteria.
8. IANA Considerations 8. IANA Considerations
The IANA has assigned IPv4 and IPv6 Address Blocks in [RFC6890] that The IANA has assigned IPv4 and IPv6 address blocks in [RFC6890] that
have been registered for special purposes. The IPv6 Address Block have been registered for special purposes. The IPv6 address block
2001:2::/48 has been allocated for the purpose of IPv6 Benchmarking 2001:2::/48 has been allocated for the purpose of IPv6 Benchmarking
[RFC5180] and the IPv4 Address Block 198.18.0.0/15 has been allocated [RFC5180] and the IPv4 address block 198.18.0.0/15 has been allocated
for the purpose of IPv4 Benchmarking [RFC2544]. This assignment was for the purpose of IPv4 Benchmarking [RFC2544]. This assignment was
made to minimize the chance of conflict in case a testing device were made to minimize the chance of conflict in case a testing device were
to be accidentally connected to part of the Internet. to be accidentally connected to part of the Internet.
9. Security Considerations 9. Security Considerations
The primary goal of this document is to provide benchmarking The primary goal of this document is to provide benchmarking
terminology and methodology for next-generation network security terminology and methodology for next-generation network security
devices. However, readers should be aware that there is some overlap devices. However, readers should be aware that there is some overlap
between performance and security issues. Specifically, the optimal between performance and security issues. Specifically, the optimal
configuration for network security device performance may not be the configuration for network security device performance may not be the
most secure, and vice-versa. The Cipher suites recommended in this most secure, and vice-versa. The cipher suites recommended in this
document are just for test purpose only. The Cipher suite document are for test purpose only. The cipher suite recommendation
recommendation for a real deployment is outside the scope of this for a real deployment is outside the scope of this document.
document.
10. Contributors 10. Contributors
The following individuals contributed significantly to the creation The following individuals contributed significantly to the creation
of this document: of this document:
Alex Samonte, Amritam Putatunda, Aria Eslambolchizadeh, David Alex Samonte, Amritam Putatunda, Aria Eslambolchizadeh, Chao Guo,
DeSanto, Jurrie Van Den Breekel, Ryan Liles, Samaresh Nair, Stephen Chris Brown, Cory Ford, David DeSanto, Jurrie Van Den Breekel,
Goudreault, and Tim Otto Michelle Rhines, Mike Jack, Ryan Liles, Samaresh Nair, Stephen
Goudreault, Tim Carlin, and Tim Otto.
11. Acknowledgements 11. Acknowledgements
The authors wish to acknowledge the members of NetSecOPEN for their The authors wish to acknowledge the members of NetSecOPEN for their
participation in the creation of this document. Additionally, the participation in the creation of this document. Additionally, the
following members need to be acknowledged: following members need to be acknowledged:
Anand Vijayan, Baski Mohan, Chao Guo, Chris Brown, Chris Marshall, Anand Vijayan, Chris Marshall, Jay Lindenauer, Michael Shannon, Mike
Jay Lindenauer, Michael Shannon, Mike Deichman, Ray Vinson, Ryan Deichman, Ryan Riese, and Toulnay Orkun.
Riese, Tim Carlin, and Toulnay Orkun
12. References 12. References
12.1. Normative References 12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 52, line 25 skipping to change at page 54, line 45
[RFC6890] Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman, [RFC6890] Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman,
"Special-Purpose IP Address Registries", BCP 153, "Special-Purpose IP Address Registries", BCP 153,
RFC 6890, DOI 10.17487/RFC6890, April 2013, RFC 6890, DOI 10.17487/RFC6890, April 2013,
<https://www.rfc-editor.org/info/rfc6890>. <https://www.rfc-editor.org/info/rfc6890>.
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/info/rfc8446>. <https://www.rfc-editor.org/info/rfc8446>.
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
Multiplexed and Secure Transport", RFC 9000,
DOI 10.17487/RFC9000, May 2021,
<https://www.rfc-editor.org/info/rfc9000>.
Appendix A. Test Methodology - Security Effectiveness Evaluation Appendix A. Test Methodology - Security Effectiveness Evaluation
A.1. Test Objective A.1. Test Objective
This test methodology verifies the DUT/SUT is able to detect, prevent This test methodology verifies the DUT/SUT is able to detect,
and report the vulnerabilities. prevent, and report the vulnerabilities.
In this test, background test traffic will be generated in order to In this test, background test traffic will be generated to utilize
utilize the DUT/SUT. In parallel, the CVEs will be sent to the DUT/ the DUT/SUT. In parallel, the CVEs will be sent to the DUT/SUT as
SUT as encrypted and as well as clear text payload formats using a encrypted and as well as clear text payload formats using a traffic
traffic generator. The selection of the CVEs is described in generator. The selection of the CVEs is described in Section 4.2.1.
Section 4.2.1.
o Number of blocked CVEs * Number of blocked CVEs
o Number of bypassed (nonblocked) CVEs * Number of bypassed (nonblocked) CVEs
o Background traffic performance (verify if the background traffic * Background traffic performance (verify if the background traffic
is impacted while sending CVE toward DUT/SUT) is impacted while sending CVE toward DUT/SUT)
o Accuracy of DUT/SUT statistics in term of vulnerabilities * Accuracy of DUT/SUT statistics in term of vulnerabilities
reporting reporting
A.2. Test Bed Setup A.2. Testbed Setup
The same Test bed MUST be used for security effectiveness test and as The same testbed MUST be used for security effectiveness test and as
well as for benchmarking test cases defined in Section 7. well as for benchmarking test cases defined in Section 7.
A.3. Test Parameters A.3. Test Parameters
In this section, the benchmarking test specific parameters SHOULD be In this section, the benchmarking test specific parameters SHOULD be
defined. defined.
A.3.1. DUT/SUT Configuration Parameters A.3.1. DUT/SUT Configuration Parameters
DUT/SUT configuration Parameters MUST conform to the requirements DUT/SUT configuration parameters MUST conform to the requirements
defined in Section 4.2. The same DUT configuration MUST be used for defined in Section 4.2. The same DUT configuration MUST be used for
Security effectiveness test and as well as for benchmarking test Security effectiveness test and as well as for benchmarking test
cases defined in Section 7. The DUT/SUT MUST be configured in inline cases defined in Section 7. The DUT/SUT MUST be configured in inline
mode and all detected attack traffic MUST be dropped and the session mode and all detected attack traffic MUST be dropped and the session
SHOULD be reset SHOULD be reset
A.3.2. Test Equipment Configuration Parameters A.3.2. Test Equipment Configuration Parameters
Test equipment configuration parameters MUST conform to the Test equipment configuration parameters MUST conform to the
requirements defined in Section 4.3. The same Client and server IP requirements defined in Section 4.3. The same client and server IP
ranges MUST be configured as used in the benchmarking test cases. In ranges MUST be configured as used in the benchmarking test cases. In
addition, the following parameters MUST be documented for this addition, the following parameters MUST be documented for this
benchmarking test: benchmarking test:
o Background Traffic: 45% of maximum HTTP throughput and 45% of * Background Traffic: 45% of maximum HTTP throughput and 45% of
Maximum HTTPS throughput supported by the DUT/SUT (measured with Maximum HTTPS throughput supported by the DUT/SUT (measured with
object size 64 KByte in the benchmarking tests "HTTP(S) object size 64 KByte in the benchmarking tests "HTTP(S)
Throughput" defined in Section 7.3 and Section 7.7. Throughput" defined in Section 7.3 and Section 7.7).
o RECOMMENDED CVE traffic transmission Rate: 10 CVEs per second * RECOMMENDED CVE traffic transmission Rate: 10 CVEs per second
o RECOMMEND to generate each CVE multiple times (sequentially) at 10 * It is RECOMMENDED to generate each CVE multiple times
CVEs per second (sequentially) at 10 CVEs per second
o Ciphers and Keys for the encrypted CVE traffic MUST use the same * Ciphers and keys for the encrypted CVE traffic MUST use the same
cipher configured for HTTPS traffic related benchmarking tests cipher configured for HTTPS traffic related benchmarking tests
(Section 7.6 - Section 7.9) (Section 7.6 - Section 7.9)
A.4. Test Results Validation Criteria A.4. Test Results Validation Criteria
The following test Criteria is defined as test results validation The following criteria are the test results validation criteria. The
criteria. Test results validation criteria MUST be monitored during test results validation criteria MUST be monitored during the whole
the whole test duration. test duration.
a. Number of failed Application transaction in the background a. Number of failed application transaction in the background
traffic MUST be less than 0.01% of attempted transactions. traffic MUST be less than 0.01% of attempted transactions.
b. Number of Terminated TCP connections of the background traffic b. Number of terminated TCP connections of the background traffic
(due to unexpected TCP RST sent by DUT/SUT) MUST be less than (due to unexpected TCP RST sent by DUT/SUT) MUST be less than
0.01% of total initiated TCP connections in the background 0.01% of total initiated TCP connections in the background
traffic. traffic.
c. During the sustain phase, traffic SHOULD be forwarded at a c. During the sustain phase, traffic SHOULD be forwarded at a
constant rate (considered as a constant rate if any deviation of constant rate (considered as a constant rate if any deviation of
traffic forwarding rate is less than 5%). traffic forwarding rate is less than 5%).
d. False positive MUST NOT occur in the background traffic. d. False positive MUST NOT occur in the background traffic.
A.5. Measurement A.5. Measurement
Following KPI metrics MUST be reported for this test scenario: Following KPI metrics MUST be reported for this test scenario:
Mandatory KPIs: Mandatory KPIs:
o Blocked CVEs: It SHOULD be represented in the following ways: * Blocked CVEs: It SHOULD be represented in the following ways:
* Number of blocked CVEs out of total CVEs - Number of blocked CVEs out of total CVEs
* Percentage of blocked CVEs - Percentage of blocked CVEs
o Unblocked CVEs: It SHOULD be represented in the following ways: * Unblocked CVEs: It SHOULD be represented in the following ways:
* Number of unblocked CVEs out of total CVEs - Number of unblocked CVEs out of total CVEs
* Percentage of unblocked CVEs - Percentage of unblocked CVEs
o Background traffic behavior: it SHOULD be represented one of the * Background traffic behavior: It SHOULD be represented one of the
followings ways: followings ways:
* No impact: considered as "no impact'" if any deviation of - No impact: Considered as "no impact'" if any deviation of
traffic forwarding rate is less than or equal to 5 % (constant traffic forwarding rate is less than or equal to 5 % (constant
rate) rate)
* Minor impact: considered as "minor impact" if any deviation of - Minor impact: Considered as "minor impact" if any deviation of
traffic forwarding rate is greater that 5% and less than or traffic forwarding rate is greater than 5% and less than or
equal to10% (e.g. small spikes) equal to10% (i.e. small spikes)
* Heavily impacted: considered as "Heavily impacted" if any - Heavily impacted: Considered as "Heavily impacted" if any
deviation of traffic forwarding rate is greater that 10% (e.g. deviation of traffic forwarding rate is greater than 10% (i.e.
large spikes) or reduced the background HTTP(S) throughput large spikes) or reduced the background HTTP(S) throughput
greater than 10% greater than 10%
o DUT/SUT reporting accuracy: DUT/SUT MUST report all detected * DUT/SUT reporting accuracy: DUT/SUT MUST report all detected
vulnerabilities. vulnerabilities.
Optional KPIs: Optional KPIs:
o List of unblocked CVEs * List of unblocked CVEs
A.6. Test Procedures and Expected Results A.6. Test Procedures and Expected Results
The test procedure is designed to measure the security effectiveness The test procedure is designed to measure the security effectiveness
of the DUT/SUT at the sustaining period of the traffic load profile. of the DUT/SUT at the sustaining period of the traffic load profile.
The test procedure consists of two major steps. This test procedure The test procedure consists of two major steps. This test procedure
MAY be repeated multiple times with different IPv4 and IPv6 traffic MAY be repeated multiple times with different IPv4 and IPv6 traffic
distribution. distribution.
A.6.1. Step 1: Background Traffic A.6.1. Step 1: Background Traffic
Generate the background traffic at the transmission rate defined in Generate background traffic at the transmission rate defined in
the parameter section. Appendix A.3.2.
The DUT/SUT MUST reach the target objective (HTTP(S) throughput) in The DUT/SUT MUST reach the target objective (HTTP(S) throughput) in
sustain phase. The measured KPIs during the sustain phase MUST meet sustain phase. The measured KPIs during the sustain phase MUST meet
all the test results validation criteria defined in Appendix A.4. all the test results validation criteria defined in Appendix A.4.
If the KPI metrics do not meet the acceptance criteria, the test If the KPI metrics do not meet the acceptance criteria, the test
procedure MUST NOT be continued to "Step 2". procedure MUST NOT be continued to "Step 2".
A.6.2. Step 2: CVE Emulation A.6.2. Step 2: CVE Emulation
While generating the background traffic (in sustain phase), send the While generating background traffic (in sustain phase), send the CVE
CVE traffic as defined in the parameter section. traffic as defined in the parameter section.
The test equipment SHOULD start to measure and record all specified The test equipment SHOULD start to measure and record all specified
KPIs. Continue the test until all CVEs are sent. KPIs. Continue the test until all CVEs are sent.
The measured KPIs MUST meet all the test results validation criteria The measured KPIs MUST meet all the test results validation criteria
defined in Appendix A.4. defined in Appendix A.4.
In addition, the DUT/SUT SHOULD report the vulnerabilities correctly. In addition, the DUT/SUT SHOULD report the vulnerabilities correctly.
Appendix B. DUT/SUT Classification Appendix B. DUT/SUT Classification
This document attempts to classify the DUT/SUT in four different This document aims to classify the DUT/SUT in four different
categories based on its maximum supported firewall throughput categories based on its maximum supported firewall throughput
performance number defined in the vendor datasheet. This performance number defined in the vendor datasheet. This
classification MAY help user to determine specific configuration classification MAY help user to determine specific configuration
scale (e.g., number of ACL entries), traffic profiles, and attack scale (e.g., number of ACL entries), traffic profiles, and attack
traffic profiles, scaling those proportionally to DUT/SUT sizing traffic profiles, scaling those proportionally to DUT/SUT sizing
category. category.
The four different categories are Extra Small, Small, Medium, and The four different categories are Extra Small (XS), Small (S), Medium
Large. The RECOMMENDED throughput values for the following (M), and Large (L). The RECOMMENDED throughput values for the
categories are: following categories are:
Extra Small (XS) - supported throughput less than or equal to1Gbit/s Extra Small (XS) - Supported throughput less than or equal to1Gbit/s
Small (S) - supported throughput greater than 1Gbit/s and less than Small (S) - Supported throughput greater than 1Gbit/s and less than
or equal to 5Gbit/s or equal to 5Gbit/s
Medium (M) - supported throughput greater than 5Gbit/s and less than Medium (M) - Supported throughput greater than 5Gbit/s and less than
or equal to10Gbit/s or equal to10Gbit/s
Large (L) - supported throughput greater than 10Gbit/s Large (L) - Supported throughput greater than 10Gbit/s
Authors' Addresses Authors' Addresses
Balamuhunthan Balarajah Balamuhunthan Balarajah
Berlin Berlin
Germany Germany
Email: bm.balarajah@gmail.com Email: bm.balarajah@gmail.com
Carsten Rossenhoevel Carsten Rossenhoevel
EANTC AG EANTC AG
Salzufer 14 Salzufer 14
Berlin 10587 10587 Berlin
Germany Germany
Email: cross@eantc.de Email: cross@eantc.de
Brian Monkman Brian Monkman
NetSecOPEN NetSecOPEN
417 Independence Court 417 Independence Court
Mechanicsburg, PA 17050 Mechanicsburg, PA 17050
USA United States of America
Email: bmonkman@netsecopen.org Email: bmonkman@netsecopen.org
 End of changes. 290 change blocks. 
604 lines changed or deleted 715 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/