| rfc9411.original | rfc9411.txt | |||
|---|---|---|---|---|
| Benchmarking Methodology Working Group B. Balarajah | Internet Engineering Task Force (IETF) B. Balarajah | |||
| Internet-Draft | Request for Comments: 9411 | |||
| Obsoletes: 3511 (if approved) C. Rossenhoevel | Obsoletes: 3511 C. Rossenhoevel | |||
| Intended status: Informational EANTC AG | Category: Informational EANTC AG | |||
| Expires: 25 April 2023 B. Monkman | ISSN: 2070-1721 B. Monkman | |||
| NetSecOPEN | NetSecOPEN | |||
| 22 October 2022 | March 2023 | |||
| Benchmarking Methodology for Network Security Device Performance | Benchmarking Methodology for Network Security Device Performance | |||
| draft-ietf-bmwg-ngfw-performance-15 | ||||
| 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) and next-generation intrusion prevention systems | firewalls (NGFWs) and next-generation intrusion prevention systems | |||
| (NGIPS). The main areas covered in this document are test | (NGIPSs). The main areas covered in this document are test | |||
| terminology, test configuration parameters, and benchmarking | terminology, test configuration parameters, and benchmarking | |||
| methodology for NGFW and NGIPS. (It is assumed that readers have a | methodology for NGFWs and NGIPSs. (It is assumed that readers have a | |||
| working knowledge of these devices and the security functionality | working knowledge of these devices and the security functionality | |||
| they contain.) This document aims to improve the applicability, | they contain.) This document aims to improve the applicability, | |||
| reproducibility, and transparency of benchmarks and to align the test | reproducibility, and transparency of benchmarks and to align the test | |||
| methodology with today's increasingly complex layer 7 security- | methodology with today's increasingly complex layer 7 security- | |||
| centric network application use cases. As a result, this document | centric network application use cases. As a result, this document | |||
| makes RFC3511 obsolete. | makes RFC 3511 obsolete. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This document is not an Internet Standards Track specification; it is | |||
| provisions of BCP 78 and BCP 79. | published for informational purposes. | |||
| Internet-Drafts are working documents of the Internet Engineering | ||||
| Task Force (IETF). Note that other groups may also distribute | ||||
| working documents as Internet-Drafts. The list of current Internet- | ||||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | ||||
| Internet-Drafts are draft documents valid for a maximum of six months | This document is a product of the Internet Engineering Task Force | |||
| and may be updated, replaced, or obsoleted by other documents at any | (IETF). It represents the consensus of the IETF community. It has | |||
| time. It is inappropriate to use Internet-Drafts as reference | received public review and has been approved for publication by the | |||
| material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Not all documents | |||
| approved by the IESG are candidates for any level of Internet | ||||
| Standard; see Section 2 of RFC 7841. | ||||
| This Internet-Draft will expire on 25 April 2023. | Information about the current status of this document, any errata, | |||
| and how to provide feedback on it may be obtained at | ||||
| https://www.rfc-editor.org/info/rfc9411. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2023 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents | |||
| license-info) in effect on the date of publication of this document. | (https://trustee.ietf.org/license-info) in effect on the date of | |||
| Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
| and restrictions with respect to this document. Code Components | carefully, as they describe your rights and restrictions with respect | |||
| extracted from this document must include Revised BSD License text as | to this document. Code Components extracted from this document must | |||
| described in Section 4.e of the Trust Legal Provisions and are | include Revised BSD License text as described in Section 4.e of the | |||
| provided without warranty as described in the Revised BSD License. | Trust Legal Provisions and are provided without warranty as described | |||
| in the Revised BSD License. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 | 1. Introduction | |||
| 2. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Requirements Language | |||
| 3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Scope | |||
| 4. Test Setup . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Test Setup | |||
| 4.1. Testbed Configuration . . . . . . . . . . . . . . . . . . 5 | 4.1. Testbed Configuration | |||
| 4.2. DUT/SUT Configuration . . . . . . . . . . . . . . . . . . 6 | 4.2. DUT/SUT Configuration | |||
| 4.2.1. Security Effectiveness Configuration . . . . . . . . 12 | 4.2.1. Security Effectiveness Configuration | |||
| 4.3. Test Equipment Configuration . . . . . . . . . . . . . . 12 | 4.3. Test Equipment Configuration | |||
| 4.3.1. Client Configuration . . . . . . . . . . . . . . . . 13 | 4.3.1. Client Configuration | |||
| 4.3.2. Backend Server Configuration . . . . . . . . . . . . 17 | 4.3.2. Backend Server Configuration | |||
| 4.3.3. Traffic Flow Definition . . . . . . . . . . . . . . . 18 | 4.3.3. Traffic Flow Definition | |||
| 4.3.4. Traffic Load Profile . . . . . . . . . . . . . . . . 19 | 4.3.4. Traffic Load Profile | |||
| 5. Testbed Considerations . . . . . . . . . . . . . . . . . . . 20 | 5. Testbed Considerations | |||
| 6. Reporting . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 6. Reporting | |||
| 6.1. Introduction . . . . . . . . . . . . . . . . . . . . . . 21 | 6.1. Introduction | |||
| 6.2. Detailed Test Results . . . . . . . . . . . . . . . . . . 23 | 6.2. Detailed Test Results | |||
| 6.3. Benchmarks and Key Performance Indicators . . . . . . . . 23 | 6.3. Benchmarks and Key Performance Indicators | |||
| 7. Benchmarking Tests . . . . . . . . . . . . . . . . . . . . . 25 | 7. Benchmarking Tests | |||
| 7.1. Throughput Performance with Application Traffic Mix . . . 25 | 7.1. Throughput Performance with Application Traffic Mix | |||
| 7.1.1. Objective . . . . . . . . . . . . . . . . . . . . . . 25 | 7.1.1. Objective | |||
| 7.1.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 26 | 7.1.2. Test Setup | |||
| 7.1.3. Test Parameters . . . . . . . . . . . . . . . . . . . 26 | 7.1.3. Test Parameters | |||
| 7.1.4. Test Procedures and Expected Results . . . . . . . . 28 | 7.1.4. Test Procedures and Expected Results | |||
| 7.2. TCP/HTTP Connections Per Second . . . . . . . . . . . . . 29 | 7.2. TCP Connections Per Second with HTTP Traffic | |||
| 7.2.1. Objective . . . . . . . . . . . . . . . . . . . . . . 29 | 7.2.1. Objective | |||
| 7.2.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 29 | 7.2.2. Test Setup | |||
| 7.2.3. Test Parameters . . . . . . . . . . . . . . . . . . . 29 | 7.2.3. Test Parameters | |||
| 7.2.4. Test Procedures and Expected Results . . . . . . . . 31 | 7.2.4. Test Procedures and Expected Results | |||
| 7.3. HTTP Throughput . . . . . . . . . . . . . . . . . . . . . 32 | 7.3. HTTP Throughput | |||
| 7.3.1. Objective . . . . . . . . . . . . . . . . . . . . . . 32 | 7.3.1. Objective | |||
| 7.3.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 32 | 7.3.2. Test Setup | |||
| 7.3.3. Test Parameters . . . . . . . . . . . . . . . . . . . 32 | 7.3.3. Test Parameters | |||
| 7.3.4. Test Procedures and Expected Results . . . . . . . . 35 | 7.3.4. Test Procedures and Expected Results | |||
| 7.4. HTTP Transaction Latency . . . . . . . . . . . . . . . . 36 | 7.4. HTTP Transaction Latency | |||
| 7.4.1. Objective . . . . . . . . . . . . . . . . . . . . . . 36 | 7.4.1. Objective | |||
| 7.4.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 36 | 7.4.2. Test Setup | |||
| 7.4.3. Test Parameters . . . . . . . . . . . . . . . . . . . 36 | 7.4.3. Test Parameters | |||
| 7.4.4. Test Procedures and Expected Results . . . . . . . . 38 | 7.4.4. Test Procedures and Expected Results | |||
| 7.5. Concurrent TCP/HTTP Connection Capacity . . . . . . . . . 39 | 7.5. Concurrent TCP Connection Capacity with HTTP Traffic | |||
| 7.5.1. Objective . . . . . . . . . . . . . . . . . . . . . . 39 | 7.5.1. Objective | |||
| 7.5.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 39 | 7.5.2. Test Setup | |||
| 7.5.3. Test Parameters . . . . . . . . . . . . . . . . . . . 39 | 7.5.3. Test Parameters | |||
| 7.5.4. Test Procedures and Expected Results . . . . . . . . 41 | 7.5.4. Test Procedures and Expected Results | |||
| 7.6. TCP/QUIC Connections per Second with HTTPS Traffic . . . 42 | 7.6. TCP or QUIC Connections per Second with HTTPS Traffic | |||
| 7.6.1. Objective . . . . . . . . . . . . . . . . . . . . . . 43 | 7.6.1. Objective | |||
| 7.6.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 43 | 7.6.2. Test Setup | |||
| 7.6.3. Test Parameters . . . . . . . . . . . . . . . . . . . 43 | 7.6.3. Test Parameters | |||
| 7.6.4. Test Procedures and Expected Results . . . . . . . . 45 | 7.6.4. Test Procedures and Expected Results | |||
| 7.7. HTTPS Throughput . . . . . . . . . . . . . . . . . . . . 46 | 7.7. HTTPS Throughput | |||
| 7.7.1. Objective . . . . . . . . . . . . . . . . . . . . . . 46 | 7.7.1. Objective | |||
| 7.7.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 46 | 7.7.2. Test Setup | |||
| 7.7.3. Test Parameters . . . . . . . . . . . . . . . . . . . 46 | 7.7.3. Test Parameters | |||
| 7.7.4. Test Procedures and Expected Results . . . . . . . . 48 | 7.7.4. Test Procedures and Expected Results | |||
| 7.8. HTTPS Transaction Latency . . . . . . . . . . . . . . . . 49 | 7.8. HTTPS Transaction Latency | |||
| 7.8.1. Objective . . . . . . . . . . . . . . . . . . . . . . 49 | 7.8.1. Objective | |||
| 7.8.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 49 | 7.8.2. Test Setup | |||
| 7.8.3. Test Parameters . . . . . . . . . . . . . . . . . . . 49 | 7.8.3. Test Parameters | |||
| 7.8.4. Test Procedures and Expected Results . . . . . . . . 51 | 7.8.4. Test Procedures and Expected Results | |||
| 7.9. Concurrent TCP/QUIC Connection Capacity with HTTPS | 7.9. Concurrent TCP or QUIC Connection Capacity with HTTPS | |||
| Traffic . . . . . . . . . . . . . . . . . . . . . . . . . 52 | Traffic | |||
| 7.9.1. Objective . . . . . . . . . . . . . . . . . . . . . . 52 | 7.9.1. Objective | |||
| 7.9.2. Test Setup . . . . . . . . . . . . . . . . . . . . . 52 | 7.9.2. Test Setup | |||
| 7.9.3. Test Parameters . . . . . . . . . . . . . . . . . . . 53 | 7.9.3. Test Parameters | |||
| 7.9.4. Test Procedures and Expected Results . . . . . . . . 55 | 7.9.4. Test Procedures and Expected Results | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 56 | 8. IANA Considerations | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 56 | 9. Security Considerations | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 57 | 10. References | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 57 | 10.1. Normative References | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 57 | 10.2. Informative References | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 57 | Appendix A. Test Methodology - Security Effectiveness Evaluation | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 57 | A.1. Test Objective | |||
| Appendix A. Test Methodology - Security Effectiveness | A.2. Testbed Setup | |||
| Evaluation . . . . . . . . . . . . . . . . . . . . . . . 59 | A.3. Test Parameters | |||
| A.1. Test Objective . . . . . . . . . . . . . . . . . . . . . 59 | A.3.1. DUT/SUT Configuration Parameters | |||
| A.2. Testbed Setup . . . . . . . . . . . . . . . . . . . . . . 60 | A.3.2. Test Equipment Configuration Parameters | |||
| A.3. Test Parameters . . . . . . . . . . . . . . . . . . . . . 60 | A.4. Test Results Validation Criteria | |||
| A.3.1. DUT/SUT Configuration Parameters . . . . . . . . . . 60 | A.5. Measurement | |||
| A.3.2. Test Equipment Configuration Parameters . . . . . . . 60 | A.6. Test Procedures and Expected Results | |||
| A.4. Test Results Validation Criteria . . . . . . . . . . . . 60 | A.6.1. Step 1: Background Traffic | |||
| A.5. Measurement . . . . . . . . . . . . . . . . . . . . . . . 61 | A.6.2. Step 2: CVE Emulation | |||
| A.6. Test Procedures and Expected Results . . . . . . . . . . 62 | Appendix B. DUT/SUT Classification | |||
| A.6.1. Step 1: Background Traffic . . . . . . . . . . . . . 62 | Acknowledgements | |||
| A.6.2. Step 2: CVE Emulation . . . . . . . . . . . . . . . . 62 | Contributors | |||
| Appendix B. DUT/SUT Classification . . . . . . . . . . . . . . . 63 | Authors' Addresses | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 63 | ||||
| 1. Introduction | 1. Introduction | |||
| 18 years have passed since IETF initially recommended test | It has been 18 years since the IETF initially recommended test | |||
| methodology and terminology for firewalls ([RFC3511]). Firewalls | methodology and terminology for firewalls [RFC3511]. Firewalls have | |||
| have evolved significantly from the days of simple ACL filters. As | evolved significantly from the days of simple access control list | |||
| the underlying technology progresses and improves, recommending test | (ACL) filters. As the underlying technology progresses and improves, | |||
| methodology and terminology for firewalls, requirements, and | recommending test methodology and terminology for firewalls, | |||
| expectations for network security elements has increased | requirements, and expectations for network security elements has | |||
| tremendously. Security function implementations have evolved and | increased tremendously. Security function implementations have | |||
| diversified into intrusion detection and prevention, threat | evolved and diversified into intrusion detection and prevention, | |||
| management, analysis of encrypted traffic, and more. In an industry | threat management, analysis of encrypted traffic, and more. In an | |||
| of growing importance, well-defined and reproducible key performance | industry of growing importance, well-defined and reproducible key | |||
| indicators (KPIs) are increasingly needed to enable fair and | performance indicators (KPIs) are increasingly needed to enable fair | |||
| reasonable comparison of network security functions. These reasons | and reasonable comparisons of network security functions. These | |||
| led to the creation of a new next-generation network security device | reasons led to the creation of a new next-generation network security | |||
| benchmarking document, which makes [RFC3511] obsolete. Measurement | device benchmarking document, which makes [RFC3511] obsolete. The | |||
| of performance for processing of IP fragmented traffic (see | measurement of performance for processing IP-fragmented traffic (see | |||
| Section 5.9 of [RFC3511]) was not included in this document since IP | Section 5.9 of [RFC3511])is not included in this document since IP | |||
| fragmentation does today not commonly occur in traffic anymore, | fragmentation does not commonly occur in traffic anymore, unlike how | |||
| unlike it might have been at the time when [RFC3511] was written. It | it might have at the time when [RFC3511] was written. It should also | |||
| should also be noted that [RFC2647] retains significant value and has | be noted that [RFC2647] retains significant value and was consulted | |||
| been consulted frequently while creating this document. | frequently while creating this document. | |||
| For a more detailed explanation of what an NGFW is see the Wikipedia | For a more detailed explanation of what an NGFW is, see the Wikipedia | |||
| article [Wiki-NGFW]. | article [Wiki-NGFW]. | |||
| 2. Requirements | 2. Requirements Language | |||
| The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "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 | |||
| 14 [RFC2119], [RFC8174] when, and only when, they appear in all | BCP 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 that are | for modern and next-generation network security devices that are | |||
| configured in Active ("Inline", see Figure 1 and Figure 2) mode. It | configured in Active ("Inline", see Figures 1 and 2) mode. It covers | |||
| covers the validation of security effectiveness configurations of | the validation of security effectiveness configurations of network | |||
| network security devices, followed by performance benchmark testing. | security devices, followed by performance benchmark testing. This | |||
| This document focuses on advanced, realistic, and reproducible | document focuses on advanced, realistic, and reproducible testing | |||
| testing methods. Additionally, it describes testbed environments, | methods. Additionally, it describes testbed environments, test tool | |||
| test tool requirements, and test result formats. | requirements, and test result formats. | |||
| The performance testing methodology described in this document is not | The performance testing methodology described in this document is not | |||
| intended for security devices/systems that rely on machine learning | intended for security devices or systems that rely on machine | |||
| or behavioral analysis. If such features are present in a Device | learning or behavioral analysis. If such features are present in a | |||
| Under Test/System Under Test (DUT/SUT), they should be disabled. | Device Under Test / System Under Test (DUT/SUT), they should be | |||
| disabled. | ||||
| 4. Test Setup | 4. Test Setup | |||
| The test setup defined in this document applies to all benchmarking | The test setup defined in this document applies to all benchmarking | |||
| tests described in Section 7. The test setup MUST be contained | tests described in Section 7. The test setup MUST be contained | |||
| within an Isolated Test Environment (see Section 3 of [RFC6815]). | within an isolated test environment (see Section 3 of [RFC6815]). | |||
| 4.1. Testbed Configuration | 4.1. Testbed Configuration | |||
| Testbed 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 testbed. 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 testbed wherever possible. | and routers, in the testbed wherever possible. | |||
| In some deployment scenarios, the network security devices (DUT/SUT) | In some deployment scenarios, the network security devices (DUT/SUT) | |||
| are connected to routers and switches, which will reduce the number | are connected to routers and switches, which will reduce the number | |||
| of entries in MAC or ARP/ND (Address Resolution Protocol/ Neighbor | of entries in MAC (Media Access Control) or Address Resolution | |||
| Discovery) tables of the DUT/SUT. If MAC or ARP/ND tables have many | Protocol / Neighbor Discovery (ARP/ND) tables of the DUT/SUT. If MAC | |||
| entries, this may impact the actual DUT/SUT performance due to MAC | or ARP/ND tables have many entries, this may impact the actual DUT/ | |||
| and ARP/ND table lookup processes. This document also recommends | SUT performance due to MAC and ARP/ND table lookup processes. This | |||
| using test equipment with the capability of emulating layer 3 routing | document also recommends using test equipment with the capability of | |||
| functionality instead of adding external routers in the testbed. | emulating layer 3 routing functionality instead of adding external | |||
| routers in the testbed. | ||||
| The testbed setup Option 1 (Figure 1) is the RECOMMENDED testbed | The testbed setup for 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: Testbed Setup - Option 1 | Figure 1: Testbed Setup - Option 1 | |||
| If the test equipment used is not capable of emulating OSI layer 3 | If the test equipment used is not capable of emulating OSI layer 3 | |||
| routing functionality or if the number of used ports is mismatched | routing functionality or if the number of used ports is mismatched | |||
| between the test equipment and the DUT/SUT (need for test equipment | between the test equipment and the DUT/SUT (which is needed for test | |||
| port aggregation), the test setup can be configured as shown in | equipment port aggregation), the test setup can be configured as | |||
| Figure 2. | shown in Figure 2. | |||
| +-------------------+ +-----------+ +--------------------+ | +-------------------+ +-----------+ +--------------------+ | |||
| |Aggregation Switch/| | | | Aggregation Switch/| | |Aggregation Switch/| | | | Aggregation Switch/| | |||
| | Router +------+ DUT/SUT +------+ Router | | | Router +------+ DUT/SUT +------+ Router | | |||
| | | | | | | | | | | | | | | |||
| +----------+--------+ +-----------+ +--------+-----------+ | +----------+--------+ +-----------+ +--------+-----------+ | |||
| | | | | | | |||
| | | | | | | |||
| +-----------+-----------+ +-----------+-----------+ | +-----------+-----------+ +-----------+-----------+ | |||
| | | | | | | | | | | |||
| skipping to change at page 7, line 5 ¶ | skipping to change at line 277 ¶ | |||
| 4.2. DUT/SUT Configuration | 4.2. DUT/SUT Configuration | |||
| The same DUT/SUT configuration MUST be used for all benchmarking | The same DUT/SUT configuration MUST be used for all benchmarking | |||
| tests described in Section 7. Since each DUT/SUT will have its own | tests described in Section 7. Since each DUT/SUT will have its own | |||
| unique configuration, users MUST configure their devices with the | unique configuration, users MUST configure their devices 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. The DUT/SUT | actual deployment of the device or a typical deployment. The DUT/SUT | |||
| MUST be configured in "Inline" mode so that the traffic is actively | MUST be configured in "Inline" mode so that the traffic is actively | |||
| inspected by the DUT/SUT. | inspected by the DUT/SUT. | |||
| Table 2 and Table 3 below describe the RECOMMENDED and OPTIONAL sets | Tables 2 and 3 below describe the RECOMMENDED and OPTIONAL sets of | |||
| of network security features for NGFW and NGIPS, respectively. If | network security features for NGFWs and NGIPSs, respectively. If the | |||
| the recommended security features are not enabled in the DUT/SUT for | recommended security features are not enabled in the DUT/SUT for any | |||
| any reason, the reason MUST be reported with the benchmarking test | reason, the reason MUST be reported with the benchmarking test | |||
| results. For example, one reason for not enabling the anti-virus | results. For example, one reason for not enabling the anti-virus | |||
| feature in NGFW may be that this security feature was not required | feature in an NGFW may be that this security feature was not required | |||
| for a particular customer deployment scenario. It MUST be also noted | for a particular customer deployment scenario. It MUST be also noted | |||
| in the benchmarking test report that not enabling the specific | in the benchmarking test report that not enabling the specific | |||
| recommended security features may impact the performance of the DUT/ | recommended security features may impact the performance of the DUT/ | |||
| SUT. The selected security features MUST be consistently enabled on | SUT. The selected security features MUST be consistently enabled on | |||
| the DUT/SUT for all benchmarking tests described in Section 7. | the DUT/SUT for all benchmarking tests described in 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. | |||
| The following table provides a brief description of the security | The following table provides a brief description of the security | |||
| features and these are approximate taxonomies of features commonly | feature; these are approximate taxonomies of features commonly found | |||
| found in currently deployed NGFW and NGIDS. The features provided by | in currently deployed NGFWs and NGIPSs. The features provided by | |||
| specific implementations may be named differently and not necessarily | specific implementations may be named differently and not necessarily | |||
| have configuration settings that align with the taxonomy. | have configuration settings that align with the taxonomy. | |||
| +================+================================================+ | +================+==================================================+ | |||
| | DUT/SUT | Description | | | DUT/SUT | Description | | |||
| | Features | | | | Features | | | |||
| +================+================================================+ | +================+==================================================+ | |||
| | TLS Inspection | DUT/SUT intercepts and decrypts inbound HTTPS | | | TLS Inspection | The DUT/SUT intercepts and decrypts | | |||
| | | traffic between servers and clients. Once the | | | | inbound HTTPS traffic between servers and | | |||
| | | content inspection has been completed, DUT/SUT | | | | clients. Once the content inspection has | | |||
| | | encrypts the HTTPS traffic with ciphers and | | | | been completed, the DUT/SUT encrypts the | | |||
| | | keys used by the clients and servers. For | | | | HTTPS traffic with ciphers and keys used | | |||
| | | TLS1.3, the DUT works as a middlebox (proxy) | | | | by the clients and servers. For TLS 1.3, | | |||
| | | and it holds the certificates and Pre-Shared | | | | the DUT works as a middlebox (proxy) and | | |||
| | | Keys (PSK) that are trusted by the client and | | | | holds the certificates and Pre-Shared Keys | | |||
| | | represent the identity of the real server. | | | | (PSKs) that are trusted by the client and | | |||
| +----------------+------------------------------------------------+ | | | represent the identity of the real server. | | |||
| | IDS/IPS | DUT/SUT detects and blocks exploits targeting | | +----------------+--------------------------------------------------+ | |||
| | | known and unknown vulnerabilities across the | | | IDS/IPS | The DUT/SUT detects and blocks exploits | | |||
| | | monitored network. | | | | targeting known and unknown | | |||
| +----------------+------------------------------------------------+ | | | vulnerabilities across the monitored | | |||
| | Anti-Malware | DUT/SUT detects and prevents the transmission | | | | network. | | |||
| | | of malicious executable code and any | | +----------------+--------------------------------------------------+ | |||
| | | associated communications across the monitored | | | Anti-Malware | The DUT/SUT detects and prevents the | | |||
| | | network. This includes data exfiltration as | | | | transmission of malicious executable code | | |||
| | | well as command and control channels. | | | | and any associated communications across | | |||
| +----------------+------------------------------------------------+ | | | the monitored network. This includes data | | |||
| | Anti-Spyware | Anti-Spyware is a subcategory of Anti Malware. | | | | exfiltration as well as command and | | |||
| | | Spyware transmits information without the | | | | control channels. | | |||
| | | user's knowledge or permission. DUT/SUT | | +----------------+--------------------------------------------------+ | |||
| | | detects and blocks initial infection or | | | Anti-Spyware | Anti-Spyware is a subcategory of Anti- | | |||
| | | transmission of data. | | | | Malware. Spyware transmits information | | |||
| +----------------+------------------------------------------------+ | | | without the user's knowledge or | | |||
| | Anti-Botnet | DUT/SUT detects and blocks traffic to or from | | | | permission. The DUT/SUT detects and | | |||
| | | botnets. | | | | blocks the initial infection or | | |||
| +----------------+------------------------------------------------+ | | | transmission of data. | | |||
| | Anti-Evasion | DUT/SUT detects and mitigates attacks that | | +----------------+--------------------------------------------------+ | |||
| | | have been obfuscated in some manner. | | | Anti-Botnet | The DUT/SUT detects and blocks traffic to | | |||
| +----------------+------------------------------------------------+ | | | or from botnets. | | |||
| | Web Filtering | DUT/SUT detects and blocks malicious websites | | +----------------+--------------------------------------------------+ | |||
| | | including defined classifications of websites | | | Anti-Evasion | The DUT/SUT detects and mitigates attacks | | |||
| | | across the monitored network. | | | | that have been obfuscated in some manner. | | |||
| +----------------+------------------------------------------------+ | +----------------+--------------------------------------------------+ | |||
| | DLP | DUT/SUT detects and prevents data breaches and | | | Web Filtering | The DUT/SUT detects and blocks malicious | | |||
| | | data exfiltration, or it detects and blocks | | | | websites, including defined | | |||
| | | the transmission of sensitive data across the | | | | classifications of websites across the | | |||
| | | monitored network. | | | | monitored network. | | |||
| +----------------+------------------------------------------------+ | +----------------+--------------------------------------------------+ | |||
| | Certificate | DUT/SUT validates certificates used in | | | Data Loss | The DUT/SUT detects and prevents data | | |||
| | Validation | encrypted communications across the monitored | | | Protection | breaches and data exfiltration, or it | | |||
| | | network. | | | (DLP) | detects and blocks the transmission of | | |||
| +----------------+------------------------------------------------+ | | | sensitive data across the monitored | | |||
| | Logging and | DUT/SUT logs and reports all traffic at the | | | | network. | | |||
| | Reporting | flow level across the monitored network. | | +----------------+--------------------------------------------------+ | |||
| +----------------+------------------------------------------------+ | | Certificate | The DUT/SUT validates certificates used in | | |||
| | Application | DUT/SUT detects known applications as defined | | | Validation | encrypted communications across the | | |||
| | Identification | within the traffic mix selected across the | | | | monitored network. | | |||
| | | monitored network. | | +----------------+--------------------------------------------------+ | |||
| +----------------+------------------------------------------------+ | | Logging and | The DUT/SUT logs and reports all traffic | | |||
| | DPI | DUT/SUT inspects the content of the data | | | Reporting | at the flow level across the monitored | | |||
| | | packet. | | | | network. | | |||
| +----------------+------------------------------------------------+ | +----------------+--------------------------------------------------+ | |||
| | Application | The DUT/SUT detects known applications as | | ||||
| | Identification | defined within the traffic mix selected | | ||||
| | | across the monitored network. | | ||||
| +----------------+--------------------------------------------------+ | ||||
| | Deep Packet | The DUT/SUT inspects the content of the | | ||||
| | Inspection | data packet. | | ||||
| | (DPI) | | | ||||
| +----------------+--------------------------------------------------+ | ||||
| Table 1: Security Feature Description | Table 1: Security Feature Description | |||
| +============================+=============+==========+ | +============================+=============+==========+ | |||
| | DUT/SUT (NGFW) Features | RECOMMENDED | OPTIONAL | | | DUT/SUT (NGFW) Features | RECOMMENDED | OPTIONAL | | |||
| +============================+=============+==========+ | +============================+=============+==========+ | |||
| | TLS Inspection | x | | | | TLS Inspection | x | | | |||
| +----------------------------+-------------+----------+ | +----------------------------+-------------+----------+ | |||
| | IDS/IPS | x | | | | IDS/IPS | x | | | |||
| +----------------------------+-------------+----------+ | +----------------------------+-------------+----------+ | |||
| skipping to change at page 10, line 10 ¶ | skipping to change at line 422 ¶ | |||
| | Anti-Evasion | x | | | | Anti-Evasion | x | | | |||
| +------------------------------+-------------+----------+ | +------------------------------+-------------+----------+ | |||
| Table 3: NGIPS Security Features | Table 3: NGIPS Security Features | |||
| Note: With respect to TLS Inspection, there are scenarios where it | Note: With respect to TLS Inspection, there are scenarios where it | |||
| will be optional. | will be optional. | |||
| Below is a summary of the DUT/SUT configuration: | Below is a summary of the DUT/SUT configuration: | |||
| * DUT/SUT MUST be configured in "inline" mode. | * The DUT/SUT MUST be configured in "Inline" mode. | |||
| * "Fail-Open" behavior MUST be disabled. | * "Fail-Open" behavior MUST be disabled. | |||
| * All RECOMMENDED security features are enabled. | * All RECOMMENDED security features are enabled. | |||
| * Logging and reporting MUST be enabled. DUT/SUT SHOULD log all | * Logging and reporting MUST be enabled. The DUT/SUT SHOULD log all | |||
| traffic at the flow level (5-tuple). If the DUT/SUT is designed | traffic at the flow level (5-tuple). If the DUT/SUT is designed | |||
| to log all traffic at different levels (e.g. IP packet levels), | to log all traffic at different levels (e.g., IP packet levels), | |||
| it is acceptable to conduct tests. However, this MUST be noted in | it is acceptable to conduct tests. However, this MUST be noted in | |||
| the test report. Logging to an external device is permissible. | the test report. Logging to an external device is permissible. | |||
| * Geographical location filtering SHOULD be configured. If the DUT/ | * Geographical location filtering SHOULD be configured. If the DUT/ | |||
| SUT is not designed to perform geographical location filtering, it | SUT is not designed to perform geographical location filtering, it | |||
| is acceptable to conduct tests without this feature. However, | is acceptable to conduct tests without this feature. However, | |||
| this MUST be noted in the test report. | this MUST be noted in the test report. | |||
| * Application Identification and Control MUST be configured to | * Application Identification and Control MUST be configured to | |||
| trigger applications from the defined traffic mix. | trigger applications from the defined traffic mix. | |||
| In addition, a realistic number of access control rules (ACL) SHOULD | In addition, a realistic number of access control lists (ACLs) SHOULD | |||
| be configured on the DUT/SUT where ACLs are configurable and | be configured on the DUT/SUT where ACLs are configurable and | |||
| reasonable based on the deployment scenario. For example, it is | reasonable based on the deployment scenario. For example, it is | |||
| acceptable not to configure ACLs in an NGIPS since NGIPS devices do | acceptable not to configure ACLs in an NGIPS since NGIPS devices do | |||
| not require the use of ACLs in most deployment scenarios. This | not require the use of ACLs in most deployment scenarios. This | |||
| document determines the number of access policy rules for four | document determines the number of access policy rules for four | |||
| different classes of DUT/SUT: Extra Small (XS), Small (S), Medium | different classes of the DUT/SUT: Extra Small (XS), Small (S), Medium | |||
| (M), and Large (L). A sample DUT/SUT classification is described in | (M), and Large (L). A sample DUT/SUT classification is described in | |||
| Appendix B. | Appendix B. | |||
| The Access Control Rules (ACL) defined in Figure 3 MUST be configured | The ACLs defined in Table 4 MUST be configured from top to bottom in | |||
| from top to bottom in the correct order as shown in the table. This | the correct order, as shown in the table. This is due to ACL types | |||
| is due to ACL types listed in specificity decreasing order, with | listed in specificity-decreasing order, with "block" first, followed | |||
| "block" first, followed by "allow", representing a typical ACL-based | by "allow", representing a typical ACL-based security policy. The | |||
| security policy. The ACL entries MUST be configured with routable IP | ACL entries MUST be configured with routable IP prefixes by the DUT/ | |||
| prefixes by the DUT/SUT, where applicable. (Note: There will be | SUT, where applicable. (Note: There will be differences between how | |||
| differences between how security vendors implement ACL decision- | security vendors implement ACL decision making.) The configured ACL | |||
| making.) The configured ACL MUST NOT block the test traffic used for | MUST NOT block the test traffic used for the benchmarking tests. | |||
| the benchmarking tests. | ||||
| +---------------+ | +===================================================+==============+ | |||
| | DUT/SUT | | | |DUT/SUT | | |||
| | Classification| | | |Classification| | |||
| | # Rules | | | |# Rules | | |||
| +-----------+-----------+--------------------+------+---+---+---+---+ | +=============+=============+==============+========+===+==+===+===+ | |||
| | | Match | | | | | | | | | Rules Type | Match | Description | Action |XS |S |M |L | | |||
| | Rules Type| Criteria | Description |Action| XS| S | M | L | | | | Criteria | | | | | | | | |||
| +-------------------------------------------------------------------+ | +=============+=============+==============+========+===+==+===+===+ | |||
| |Application|Application| Any application | block| 5 | 10| 20| 50| | | Application | Application | Any | block |5 |10|20 |50 | | |||
| |layer | | not included in | | | | | | | | layer | | application | | | | | | | |||
| | | | the measurement | | | | | | | | | | not included | | | | | | | |||
| | | | traffic | | | | | | | | | | in the | | | | | | | |||
| +-------------------------------------------------------------------+ | | | | measurement | | | | | | | |||
| |Transport |SRC IP and | Any SRC IP prefix | block| 25| 50|100|250| | | | | traffic | | | | | | | |||
| |layer |TCP/UDP | used and any DST | | | | | | | +-------------+-------------+--------------+--------+---+--+---+---+ | |||
| | |DST ports | ports not used in | | | | | | | | Transport | SRC IP and | Any SRC IP | block |25 |50|100|250| | |||
| | | | the measurement | | | | | | | | layer | TCP/UDP DST | prefix used | | | | | | | |||
| | | | traffic | | | | | | | | | ports | and any DST | | | | | | | |||
| +-------------------------------------------------------------------+ | | | | ports not | | | | | | | |||
| |IP layer |SRC/DST IP | Any SRC/DST IP | block| 25| 50|100|250| | | | | used in the | | | | | | | |||
| | | | subnet not used | | | | | | | | | | measurement | | | | | | | |||
| | | | in the measurement | | | | | | | | | | traffic | | | | | | | |||
| | | | traffic | | | | | | | +-------------+-------------+--------------+--------+---+--+---+---+ | |||
| +-------------------------------------------------------------------+ | | IP layer | SRC/DST IP | Any SRC/DST | block |25 |50|100|250| | |||
| |Application|Application| Half of the | allow| 10| 10| 10| 10| | | | | IP subnet | | | | | | | |||
| |layer | | applications | | | | | | | | | | not used in | | | | | | | |||
| | | | included in the | | | | | | | | | | the | | | | | | | |||
| | | | measurement traffic| | | | | | | | | | measurement | | | | | | | |||
| | | |(see the note below)| | | | | | | | | | traffic | | | | | | | |||
| +-------------------------------------------------------------------+ | +-------------+-------------+--------------+--------+---+--+---+---+ | |||
| |Transport |SRC IP and | Half of the SRC | allow| >1| >1| >1| >1| | | Application | Application | Half of the | allow |10 |10|10 |10 | | |||
| |layer |TCP/UDP | IPs used and any | | | | | | | | layer | | applications | | | | | | | |||
| | |DST ports | DST ports used in | | | | | | | | | | included in | | | | | | | |||
| | | | the measurement | | | | | | | | | | the | | | | | | | |||
| | | | traffic | | | | | | | | | | measurement | | | | | | | |||
| | | | (one rule per | | | | | | | | | | traffic (see | | | | | | | |||
| | | | subnet) | | | | | | | | | | the note | | | | | | | |||
| +-------------------------------------------------------------------+ | | | | below) | | | | | | | |||
| |IP layer |SRC IP | The rest of the | allow| >1| >1| >1| >1| | +-------------+-------------+--------------+--------+---+--+---+---+ | |||
| | | | SRC IP prefix | | | | | | | | Transport | SRC IP and | Half of the | allow |>1 |>1|>1 |>1 | | |||
| | | | range used in the | | | | | | | | layer | TCP/UDP DST | SRC IPs used | | | | | | | |||
| | | | measurement | | | | | | | | | ports | and any DST | | | | | | | |||
| | | | traffic | | | | | | | | | | ports used | | | | | | | |||
| | | | (one rule per | | | | | | | | | | in the | | | | | | | |||
| | | | subnet) | | | | | | | | | | measurement | | | | | | | |||
| +-----------+-----------+--------------------+------+---+---+---+---+ | | | | traffic (one | | | | | | | |||
| | | | rule per | | | | | | | ||||
| | | | subnet) | | | | | | | ||||
| +-------------+-------------+--------------+--------+---+--+---+---+ | ||||
| | IP layer | SRC IP | The rest of | allow |>1 |>1|>1 |>1 | | ||||
| | | | the SRC IP | | | | | | | ||||
| | | | prefix range | | | | | | | ||||
| | | | used in the | | | | | | | ||||
| | | | measurment | | | | | | | ||||
| | | | traffic (one | | | | | | | ||||
| | | | rule per | | | | | | | ||||
| | | | subnet) | | | | | | | ||||
| +-------------+-------------+--------------+--------+---+--+---+---+ | ||||
| Figure 3: DUT/SUT Access List | Table 4: DUT/SUT Access List | |||
| Note 1: Based on the test customer's specific use case, the testers | Note 1: Based on the test customer's specific use case, the testers | |||
| can increase the number of rules. | can increase the number of rules. | |||
| Note 2: If half of the applications included in the test traffic is | Note 2: If half of the applications included in the test traffic are | |||
| less than 10, the missing number of ACL entries (dummy rules) can be | less than 10, the missing number of ACL entries (placeholder rules) | |||
| configured for any application traffic not included in the test | can be configured for any application traffic not included in the | |||
| traffic. | test traffic. | |||
| Note 3: In the event, the DUT/SUT is designed to not use ACLs it is | Note 3: In the event that the DUT/SUT is designed to not use ACLs, it | |||
| acceptable to conduct tests without them. However, this MUST be | is acceptable to conduct tests without them. However, this MUST be | |||
| noted in the test report. | noted in the test report. | |||
| 4.2.1. Security Effectiveness Configuration | 4.2.1. Security Effectiveness Configuration | |||
| The selected security features (defined in Table 2 and Table 3) of | The selected security features (defined in Tables 2 and 3) of the | |||
| the DUT/SUT MUST be configured effectively to detect, prevent, and | DUT/SUT MUST be configured effectively to detect, prevent, and report | |||
| report the defined security vulnerability sets. This section defines | the defined security vulnerability sets. This section defines the | |||
| the selection of the security vulnerability sets from the Common | selection of the security vulnerability sets from the Common | |||
| Vulnerabilities and Exposures (CVE) list for testing. The | Vulnerabilities and Exposures (CVEs) list [CVE] for testing. The | |||
| vulnerability set should reflect a minimum of 500 CVEs from no older | vulnerability set should reflect a minimum of 500 CVEs from no older | |||
| than 10 calendar years to the current year. These CVEs should be | than 10 calendar years to the current year. These CVEs should be | |||
| selected with a focus on in-use software commonly found in business | selected with a focus on in-use software commonly found in business | |||
| applications, with a Common Vulnerability Scoring System (CVSS) | applications, with a Common 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 | as a prerequisite for performance benchmarking tests defined in | |||
| 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. Extensive proof of concept tests conducted to | protocol layers. Extensive proof-of-concept tests conducted to | |||
| support preparation of this document showed that benchmarking results | support preparation of this document showed that benchmarking results | |||
| are strongly affected by the choice of protocol stack parameters; | are strongly affected by the choice of protocol stack parameters, | |||
| especially OSI layer 4 transport protocol parameters. For more | especially OSI layer 4 transport protocol parameters. For more | |||
| information on how TCP and QUIC parameters will impact performance | information on how TCP and QUIC parameters will impact performance, | |||
| review [fastly]. To achieve reproducible results that will be | review [fastly]. To achieve reproducible results that will be | |||
| representative for real deployment scenarios, careful specification | representative of real deployment scenarios, careful specification | |||
| and documentation of the parameters are required. | and documentation of the parameters are required. | |||
| 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 emulated client endpoints in the test equipment. Also, | configuring emulated client endpoints in the test equipment. Also, | |||
| this section specifies the RECOMMENDED values for certain parameters. | this section specifies the RECOMMENDED values for certain parameters. | |||
| The values are the defaults typically used in most of the client | The values are the defaults typically used in most of the client | |||
| operating system types. | operating system types. | |||
| Pre-standard evaluations have shown that it is possible to set a wide | Pre-standard evaluations have shown that it is possible to set a wide | |||
| range of arbitrary parameters for OSI layer 4 transport protocols on | range of arbitrary parameters for OSI layer 4 transport protocols on | |||
| test equipment leading to client-specific results optimization; | test equipment leading to optimization of client-specific results; | |||
| however, only well-defined common parameter sets help to establish | however, only well-defined common parameter sets help to establish | |||
| meaningful and comparable benchmarking results. For these reasons, | meaningful and comparable benchmarking results. For these reasons, | |||
| this document recommends specific sets of transport protocol | this document recommends specific sets of transport protocol | |||
| parameters to be configured on test equipment used for benchmarking. | parameters to be configured on test equipment used for benchmarking. | |||
| 4.3.1.1. TCP Stack Attributes | 4.3.1.1. TCP Stack Attributes | |||
| The TCP stack of the emulated client endpoints MUST fulfill the TCP | The TCP stack of the emulated client endpoints MUST fulfill the TCP | |||
| requirements defined in [RFC9293] (See Appendix B.). In addition, | requirements defined in Appendix B of [RFC9293]. In addition, this | |||
| this section specifies the RECOMMENDED values for TCP parameters | section specifies the RECOMMENDED values for TCP parameters | |||
| configured using the following parameters: | configured using the parameters described below. | |||
| The IPv4 and IPv6 Maximum Segment Size (MSS) are set to 1460 bytes | The IPv4 and IPv6 Maximum Segment Sizes (MSSs) are set to 1460 bytes | |||
| and 1440 bytes respectively. TX and RX initial receive window sizes | and 1440 bytes, respectively. TX and RX initial receive window sizes | |||
| are set to 65535 bytes. The client's initial congestion window | are set to 65535 bytes. The client's initial congestion window | |||
| should not exceed 10 times the MSS. Delayed ACKs are permitted and | should not exceed 10 times the MSS. Delayed ACKs are permitted, and | |||
| the maximum client delayed ACK should not exceed 10 times of the MSS | the maximum client delayed ACK should not exceed 10 times of the MSS | |||
| before a forced ACK also, the maximum delayed ACK timer is allowed to | before a forced ACK; also, the maximum delayed ACK timer is allowed | |||
| be set to 200 ms. Up to three retries are allowed before a timeout | to be set to 200 ms. Up to three retries are allowed before a | |||
| event is declared. TCP PSH flag is set to high in all traffic. The | timeout event is declared. The TCP PSH flag is set to high in all | |||
| source port range is in the range of 1024 - 65535. The clients | traffic. The source port range is 1024-65535. The clients initiate | |||
| initiate TCP connections via a three-way handshake (SYN, SYN/ACK, | TCP connections via a three-way handshake (SYN, SYN/ACK, ACK) and | |||
| ACK) and close TCP connections via either a TCP three-way close (FIN, | close TCP connections via either a TCP three-way close (FIN, FIN/ACK, | |||
| FIN/ACK, ACK) or a TCP four-way close (FIN, ACK, FIN, ACK). | ACK) or a TCP four-way close (FIN, ACK, FIN, ACK). | |||
| 4.3.1.2. QUIC Specification | 4.3.1.2. QUIC Specification | |||
| QUIC stack emulation on the test equipment MUST conform to [RFC9000] | QUIC stack emulation on the test equipment MUST conform to [RFC9000] | |||
| and [RFC9001]. This section specifies the RECOMMENDED values for | and [RFC9001]. This section specifies the RECOMMENDED values for | |||
| certain QUIC parameters to be configured on test equipment used for | certain QUIC parameters to be configured on test equipment used for | |||
| benchmarking purposes only. QUIC Stream type (defined in section 2.1 | benchmarking purposes only. The QUIC stream type (defined in | |||
| of [RFC9000]) is set to "Client-Initiated, Bidirectional". 0-RTT and | Section 2.1 of [RFC9000]) is set to "Client-Initiated, | |||
| early data are Disabled. QUIC Connection termination method is | Bidirectional". 0-RTT and early data are disabled. The QUIC | |||
| Immediate close (section 10.2 of [RFC9000]. Flow control is enabled. | connection termination method is an immediate close (Section 10.2 of | |||
| UDP payloads are set to datagram size of 1232 bytes for IPv6 and 1252 | [RFC9000]). Flow control is enabled. UDP payloads are set to the | |||
| bytes for IPv4. In addition, transport parameters and default values | datagram size of 1232 bytes for IPv6 and 1252 bytes for IPv4. In | |||
| defined in section 18.2 of [RFC9000] are RECOMMENDED to configure on | addition, transport parameters and default values defined in | |||
| test equipment. Also, this document references Appendixes B.1 and | Section 18.2 of [RFC9000] are RECOMMENDED to configure on test | |||
| B.2 of [RFC9002] for congestion control related constants and | equipment. Also, this document references Appendices B.1 and B.2 of | |||
| variables. Any configured QUIC and UDP parameter(s) MUST be | [RFC9002] for congestion-control-related constants and variables. | |||
| documented in the test report. | Any configured QUIC and UDP parameter MUST be documented in the test | |||
| report. | ||||
| 4.3.1.3. Client IP Address Space | 4.3.1.3. Client IP Address Space | |||
| The client IP space contains the following attributes. | The client IP space contains the following attributes. | |||
| * If multiple IP blocks are used, they MUST be consist of multiple | * If multiple IP blocks are used, they MUST consist of multiple | |||
| unique, discontinuous static address blocks. | unique, discontinuous static address blocks. | |||
| * A default gateway MAY be used. | * A default gateway MAY be used. | |||
| * The DSCP (differentiated services code point) marking should be | * The differentiated services code point (DSCP) marking should be | |||
| set to DF (Default Forwarding) '000000' on IPv4 Type of Service | set to Default Forwarding (DF) '000000' on the IPv4 Type of | |||
| (ToS) field and IPv6 traffic class field. | Service (ToS) field and IPv6 Traffic Class field. | |||
| * Extension header(s) MAY be used for IPv6 clients. If multiple | * One or more extension headers MAY be used for IPv6 clients. If | |||
| extension headers are needed for traffic emulation, this document | multiple extension headers are needed for traffic emulation, this | |||
| references [RFC8200] to choose the correct order of the extension | document references [RFC8200] to choose the correct order of the | |||
| headers within an IPv6 packet. Testing with extension header(s) | extension headers within an IPv6 packet. Testing with one or more | |||
| may impact the performance of the DUT. The extension headers MUST | extension headers may impact the performance of the DUT. The | |||
| be documented and reported. | extension headers MUST be documented and reported. | |||
| 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 need to be configured on the test equipment. | client IP addresses that need to be configured on the test equipment. | |||
| Desired total number of client IP addresses = Target throughput | Desired total number of client IP addresses = Target throughput | |||
| [Mbit/s] / Average throughput per IP address [Mbit/s] | [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. | |||
| (Example 1) DUT/SUT deployment scenario 1 : 6-7 Mbit/s per IP (e.g. | Example 1 DUT/SUT deployment scenario 1: 6-7 Mbit/s per IP (e.g., | |||
| 1,400-1,700 IPs per 10Gbit/s of throughput) | 1,400-1,700 IPs per 10 Gbit/s of throughput) | |||
| (Example 2) DUT/SUT deployment scenario 2 : 0.1-0.2 Mbit/s per IP | Example 2 DUT/SUT deployment scenario 2: 0.1-0.2 Mbit/s per IP | |||
| (e.g. 50,000-100,000 IPs per 10Gbit/s of throughput) | (e.g., 50,000-100,000 IPs per 10 Gbit/s of throughput) | |||
| Client IP addresses MUST be distributed between IPv4 and IPv6 based | Client IP addresses MUST be distributed between IPv4 and IPv6 based | |||
| on deployment and use case scenario. The following options MAY be | on the deployment and use case scenario. The following options MAY | |||
| considered for a selection of ratios for both IP addresses and | be considered for a selection of ratios for both IP addresses and | |||
| traffic load distribution. | traffic load distribution. | |||
| (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: IANA has assigned IP address ranges for testing purposes as | Note: IANA has assigned IP address ranges for testing purposes, as | |||
| described in Section 8. If the test scenario requires more IP | described in Section 8. If the test scenario requires more IP | |||
| addresses or subnets than IANA has assigned, this document recommends | addresses or subnets than IANA has assigned, this document recommends | |||
| using private IPv4 address ranges or Unique Local Address (ULA) IPv6 | using private IPv4 address ranges or Unique Local Address (ULA) IPv6 | |||
| address ranges for the testing. | address ranges for the testing. | |||
| 4.3.1.4. Emulated Web Browser Attributes | 4.3.1.4. Emulated Web Browser Attributes | |||
| The client (emulated web browser) contains attributes that will | The client (emulated web browser) contains attributes that will | |||
| materially affect the traffic load. The objective is to emulate | materially affect the traffic load. The objective is to emulate | |||
| modern, typical browser attributes to improve the relevance of the | modern, typical browser attributes to improve the relevance of the | |||
| result set for typical deployment scenarios. | result set for typical deployment scenarios. | |||
| The emulated browser MUST negotiate HTTP version 1.1 or higher. The | The emulated browser MUST negotiate HTTP version 1.1 or higher. The | |||
| emulated browser SHOULD advertise a User-Agent header. The emulated | emulated browser SHOULD advertise a User-Agent header. The emulated | |||
| browser MUST enforce content length validation. HTTP header | browser MUST enforce content length validation. HTTP header | |||
| compression MAY be set to enable. If HTTP header compression is | compression MAY be set to enable. If HTTP header compression is | |||
| configurable in the test equipment, it MUST be documented if it was | configurable in the test equipment, it MUST be documented if it was | |||
| enabled or disabled. Depending on test scenarios and chosen HTTP | enabled or disabled. Depending on test scenarios and the chosen HTTP | |||
| version, the emulated browser MAY open multiple TCP or QUIC | version, the emulated browser MAY open multiple TCP or QUIC | |||
| connections per Server endpoint IP at any time depending on how many | connections per server endpoint IP at any time, depending on how many | |||
| sequential transactions need to be processed. | sequential transactions need to be processed. | |||
| For HTTP/2 traffic emulation, the emulated browser opens multiple | For HTTP/2 traffic emulation, the emulated browser opens multiple | |||
| concurrent streams per connection (multiplexing). For HTTPS | concurrent streams per connection (multiplexing). For HTTPS | |||
| requests, the emulated browser MUST send "h2" protocol identifier | requests, the emulated browser MUST send an "h2" protocol identifier | |||
| using the TLS extension Application Layer Protocol Negotiation | using the TLS extension Application-Layer Protocol Negotiation | |||
| (ALPN). The following default values (see [Undertow]) are the | (ALPN). The following default values (see [Undertow]) are the | |||
| RECOMMENDED setting for certain HTTP/2 parameters to be configured on | RECOMMENDED settings for certain HTTP/2 parameters to be configured | |||
| test equipment used for benchmarking purposes only: | on test equipment used for benchmarking purposes only: | |||
| * Maximum Frame size: 16384 bytes | * Maximum frame size: 16384 bytes | |||
| * Initial Window size: 65535 bytes | * Initial window size: 65535 bytes | |||
| * HPACK Header table size: 4096 bytes | * HPACK header field table size: 4096 bytes | |||
| * Server PUSH enable: false (Note: in [Undertow] the default setting | * Server push enable: false (Note: In [Undertow], the default | |||
| is true. However, for testing purposes, this document recommends | setting is true. However, for testing purposes, this document | |||
| setting the value false for server push.) | recommends setting the value to false for server push.) | |||
| This document refers to [RFC9113] for further details of HTTP/2. If | This document refers to [RFC9113] for further details of HTTP/2. If | |||
| any additional parameters are used to configure the test equipment, | any additional parameters are used to configure the test equipment, | |||
| they MUST be documented. | they MUST be documented. | |||
| For HTTP/3 traffic emulation, the emulated browsers initiate secure | For HTTP/3 traffic emulation, the emulated browsers initiate secure | |||
| QUIC connections using TLS 1.3 ([RFC9001] describes how TLS is used | QUIC connections using TLS 1.3 ([RFC9001] describes how TLS is used | |||
| to secure QUIC). This document refers to [RFC9114] for HTTP/3 | to secure QUIC). This document refers to [RFC9114] for HTTP/3 | |||
| specifications. The specification for transport protocol parameters | specifications. The specification for transport protocol parameters | |||
| is defined in Section 4.3.1.2. QPACK configuration settings such as | is defined in Section 4.3.1.2. QPACK configuration settings, such as | |||
| MAX_TABLE_CAPACITY and QPACK_BLOCKED_STREAMS are set to zero | MAX_TABLE_CAPACITY and QPACK_BLOCKED_STREAMS, are set to zero | |||
| (default) as defined in [RFC9204]. Any HTTP/3 parameters used for | (default), as defined in [RFC9204]. Any HTTP/3 parameters used for | |||
| test equipment configuration MUST be documented. | test equipment configuration MUST be documented. | |||
| For encrypted traffic, the following attributes are defined as the | For encrypted traffic, the following attributes are defined as the | |||
| negotiated encryption parameters. The test clients MUST use TLS | negotiated encryption parameters. The test clients MUST use TLS | |||
| version 1.2 or higher. The TLS record size MAY be optimized for the | version 1.2 or higher. The TLS record size MAY be optimized for the | |||
| HTTPS response object size up to a record size of 16 KBytes. If | HTTPS response object size, up to a record size of 16 KB. If Server | |||
| Server Name Indication (SNI) is required (especially if the server is | Name Indication (SNI) is required (especially if the server is | |||
| identified by a domain name), the client endpoint MUST send TLS | identified by a domain name), the client endpoint MUST send TLS | |||
| extension Server Name Indication (SNI) information when opening a | extension SNI information when opening a security tunnel. Each | |||
| security tunnel. Each client connection MUST perform a full TLS | client connection MUST perform a full TLS handshake, and session | |||
| handshake and session reuse or resumption MUST be disabled. (Note: | reuse or resumption MUST be disabled. (Note: Real web browsers use | |||
| Real web browsers use session reuse or resumption. However, for | session reuse or resumption. However, for testing purposes, this | |||
| testing purposes, this feature must not be used to measure the DUT/ | feature must not be used to measure the DUT/SUT performance in the | |||
| SUT performance in the worst-case scenario.) | worst-case scenario.) | |||
| The following TLS 1.2 supported ciphers and keys are RECOMMENDED for | The following ciphers and keys supported by TLS 1.2 are RECOMMENDED | |||
| HTTPS based benchmarking tests defined in Section 7. | for the HTTPS-based benchmarking tests defined in Section 7. | |||
| 1. ECDHE-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: secp256r1) | Algorithm: ecdsa_secp256r1_sha256 and Supported group: secp256r1) | |||
| 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: secp256r1) | Algorithm: rsa_pkcs1_sha256 and Supported group: secp256r1) | |||
| 3. ECDHE-ECDSA-AES256-GCM-SHA384 with Secp384r1 (Signature Hash | 3. ECDHE-ECDSA-AES256-GCM-SHA384 with Secp384r1 (Signature Hash | |||
| Algorithm: ecdsa_secp384r1_sha384 and Supported group: secp384r1) | Algorithm: ecdsa_secp384r1_sha384 and Supported group: secp384r1) | |||
| 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: secp384r1) | Algorithm: rsa_pkcs1_sha384 and Supported group: secp384r1) | |||
| Note: The above ciphers and keys were those commonly used for | Note: The above ciphers and keys were those commonly used for | |||
| enterprise-grade encryption cipher suites for TLS 1.2 as of the time | enterprise-grade encryption cipher suites for TLS 1.2 at of the time | |||
| of publication (2022). Individual certification bodies should use | of publication (2023). Individual certification bodies should use | |||
| ciphers and keys that reflect evolving use cases. These choices MUST | ciphers and keys that reflect evolving use cases. These choices MUST | |||
| be documented in the resulting test reports with detailed information | be documented in the resulting test reports with detailed information | |||
| on the ciphers and keys used along with reasons for the choices. | on the ciphers and keys used, along with reasons for the choices. | |||
| IANA recommends the following cipher suites for use with TLS 1.3 | IANA recommends the following cipher suites for use with TLS 1.3, as | |||
| defined in [RFC8446]. | defined in [RFC8446]. | |||
| 1. TLS_AES_128_GCM_SHA256 | 1. TLS_AES_128_GCM_SHA256 | |||
| 2. TLS_AES_256_GCM_SHA384 | 2. TLS_AES_256_GCM_SHA384 | |||
| 3. TLS_CHACHA20_POLY1305_SHA256 | 3. TLS_CHACHA20_POLY1305_SHA256 | |||
| 4. TLS_AES_128_CCM_SHA256 | 4. TLS_AES_128_CCM_SHA256 | |||
| 4.3.2. Backend Server Configuration | 4.3.2. Backend Server Configuration | |||
| This section specifies which parameters should be considered while | This section specifies which parameters should be considered while | |||
| configuring emulated backend servers using test equipment. | configuring emulated backend servers using test equipment. | |||
| 4.3.2.1. TCP Stack Attributes | 4.3.2.1. TCP Stack Attributes | |||
| The TCP stack on the server-side MUST be configured similar to the | The TCP stack on the server-side MUST be configured similarly to the | |||
| client-side configuration described in Section 4.3.1.1 | client-side configuration described in Section 4.3.1.1. | |||
| 4.3.2.2. QUIC Specification | 4.3.2.2. QUIC Specification | |||
| The QUIC parameters on the server-side MUST be configured similar to | The QUIC parameters on the server-side MUST be configured similarly | |||
| the client-side configuration. Any configured QUIC Parameter(s) MUST | to the client-side configuration. Any configured QUIC parameter MUST | |||
| be documented in the report. | be documented in the report. | |||
| 4.3.2.3. Server Endpoint IP Addressing | 4.3.2.3. Server Endpoint IP Addressing | |||
| The sum of the server IP space MUST contain the following attributes. | The sum of the server IP space MUST contain the following attributes. | |||
| * The server IP blocks MUST consist of unique, discontinuous static | * The server IP blocks MUST consist of unique, discontinuous static | |||
| address blocks with one IP per server Fully Qualified Domain Name | address blocks with one IP per server Fully Qualified Domain Name | |||
| (FQDN) endpoint per test port. | (FQDN) endpoint per test port. | |||
| * A default gateway is permitted. The DSCP (differentiated services | * A default gateway is permitted. The DSCP marking is set to DF | |||
| code point) marking is set to DF (Default Forwarding) '000000' on | '000000' on the IPv4 ToS field and IPv6 Traffic Class field. One | |||
| IPv4 Type of Service (ToS) field and IPv6 traffic class field. | or more extension headers for the IPv6 server are permitted. If | |||
| Extension header(s) for the IPv6 server is permitted. If multiple | multiple extension headers are required, this document references | |||
| extension headers are required, this document referenced [RFC8200] | [RFC8200] to choose the correct order of the extension headers | |||
| to choose the correct order of the extension headers within an | within an IPv6 packet. | |||
| IPv6 packet. | ||||
| * The server IP address distribution between IPv4 and IPv6 MUST be | * The server IP address distribution between IPv4 and IPv6 MUST be | |||
| identical to the client IP address distribution ratio. | identical to the client IP address distribution ratio. | |||
| Note: The IANA has assigned IP address blocks for the testing purpose | Note: IANA has assigned IP address blocks for the testing purpose | |||
| as described in Section 8. If the test scenario requires more IP | described in Section 8. If the test scenario requires more IP | |||
| addresses or address blocks than the IANA assigned, this document | addresses or address blocks than IANA has assigned, this document | |||
| recommends using private IPv4 address ranges or Unique Local Address | recommends using private IPv4 address ranges or Unique Local Address | |||
| (ULA) IPv6 address ranges for the testing. | (ULA) IPv6 address ranges for the testing. | |||
| 4.3.2.4. HTTP / HTTPS Server Pool Endpoint Attributes | 4.3.2.4. HTTP/HTTPS Server Pool Endpoint Attributes | |||
| The HTTP 1.1 and HTTP/2 server pools listen on TCP ports 80 and 443 | The HTTP 1.1 and HTTP/2 server pools listen on TCP ports 80 and 443 | |||
| for HTTP and HTTPS. HTTP/3 server pool listens on UDP port 443 or | for HTTP and HTTPS. The HTTP/3 server pool listens on any UDP port. | |||
| any port. The server MUST emulate the same HTTP version (HTTP 1.1 or | The server MUST emulate the same HTTP version (HTTP 1.1, HTTP/2, or | |||
| HTTP/2 or HTTP/3) and settings chosen by the client (emulated web | HTTP/3) and settings chosen by the client (emulated web browser). | |||
| browser). For the HTTPS server, TLS 1.2 or higher MUST be used with | For the HTTPS server, TLS version 1.2 or higher MUST be used with a | |||
| a maximum record size of 16 KByte. Ticket resumption or session ID | maximum record size of 16 KB. Ticket resumption or session ID reuse | |||
| reuse MUST NOT be used for TLS 1.2 and also session Ticket or session | MUST NOT be used for TLS 1.2; also, session ticket or session cache | |||
| cache MUST NOT be used for TLS 1.3. The server MUST serve a | MUST NOT be used for TLS 1.3. The server MUST serve a certificate to | |||
| certificate to the client. Cipher suite and key size on the server- | the client. The cipher suite and key size on the server-side MUST be | |||
| side MUST be configured similar to the client-side configuration | configured similarly to the client-side configuration described in | |||
| described in Section 4.3.1.4. | Section 4.3.1.4. | |||
| 4.3.3. Traffic Flow Definition | 4.3.3. Traffic Flow Definition | |||
| This section describes the traffic pattern between client and server | At the beginning of the test (the init phase; see Section 4.3.4), the | |||
| endpoints. At the beginning of the test, the server endpoint | server endpoint initializes, and the server endpoint will be ready to | |||
| initializes and will be ready to accept connection states including | accept TCP or QUIC connections as well as inbound HTTP and HTTPS | |||
| initialization of the TCP or QUIC stack as well as bound HTTP and | requests. The client endpoints initialize and are given attributes | |||
| HTTPS servers. When a client endpoint is needed, it will initialize | such as a MAC and IP address. After the init phase of the test, each | |||
| and be given attributes such as a MAC and IP address. The behavior | client sweeps through the given server IP space, generating a service | |||
| of the client is to sweep through the given server IP space, | recognizable by the DUT. Sequential and pseudorandom sweep methods | |||
| generating a recognizable service by the DUT. Sequential and | are acceptable. The method used MUST be stated in the final report. | |||
| pseudorandom sweep methods are acceptable. The method used MUST be | Thus, a balanced mesh between client endpoints and server endpoints | |||
| stated in the final report. Thus, a balanced mesh between client | will be generated in a client IP and port to server IP and port | |||
| endpoints and server endpoints will be generated in a client IP and | combination. Each client endpoint performs the same actions as other | |||
| port to server IP and port combination. Each client endpoint | endpoints, with the difference being the source IP of the client | |||
| performs the same actions as other endpoints, with the difference | endpoint and the target server IP pool. The client MUST use the | |||
| being the source IP of the client endpoint and the target server IP | server IP address or FQDN in the host header. | |||
| pool. The client MUST use the server IP address or FQDN in the host | ||||
| header. | ||||
| 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 for | randomly hold (perform no operation) for a few milliseconds for | |||
| better randomization of the start of client traffic. Each client | better randomization of the start of client traffic. Each client | |||
| (HTTP 1.1 or HTTP/2) will either open a new TCP connection or connect | (HTTP 1.1 or HTTP/2) will either open a new TCP connection or connect | |||
| to an HTTP persistent connection still open to that specific server. | to an HTTP persistent connection that is still open to that specific | |||
| HTTP/3 clients will open UDP streams within QUIC connections. At any | server. HTTP/3 clients will open UDP streams within QUIC | |||
| point that the traffic profile may require encryption, a TLS | connections. At any point that the traffic profile may require | |||
| encryption tunnel will form presenting the URL or IP address request | encryption, a TLS encryption tunnel will form, presenting the URL or | |||
| to the server. If using SNI, the server MUST then perform an SNI | IP address request to the server. If using SNI, the server MUST then | |||
| name check with the proposed FQDN compared to the domain embedded in | perform an SNI name check by comparing the proposed FQDN to the | |||
| the certificate. Only when correct, will the server process the | domain embedded in the certificate. Only when correct will the | |||
| HTTPS response object. The initial response object to the server is | server process the HTTPS response object. The initial response | |||
| based on benchmarking tests described in Section 7. Multiple | object to the server is based on benchmarking tests described in | |||
| additional sub-URLs (response objects on the service page) MAY be | Section 7. Multiple additional sub-URLs (response objects on the | |||
| requested simultaneously. This MAY be to the same server IP as the | service page) MAY be requested simultaneously. This MAY be to the | |||
| initial URL. Each sub-object will also use a canonical FQDN and URL | same server IP as the initial URL. Each sub-object will also use a | |||
| path. | canonical FQDN and URL path. | |||
| 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 phases: Init, ramp up, sustain, ramp | a traffic load profile has five phases: Init, ramp up, sustain, ramp | |||
| down, and collection. | down, and collection. | |||
| 1. Init phase: Testbed devices including the client and server | Init phase: | |||
| endpoints should negotiate layer 2-3 connectivity such as MAC | Testbed devices, including the client and server endpoints, should | |||
| learning and ARP/ND. Only after successful MAC learning or ARP/ | negotiate layer 2-3 connectivity, such as MAC learning and ARP/ND. | |||
| ND SHALL the test iteration move to the next phase. No | Only after successful MAC learning or ARP/ND SHALL the test | |||
| measurements are made in this phase. The minimum recommended | iteration move to the next phase. No measurements are made in | |||
| time for the Init phase is 5 seconds. During this phase, the | this phase. The minimum recommended time for the Init phase is 5 | |||
| emulated clients MUST NOT initiate any sessions with the DUT/SUT, | seconds. During this phase, the emulated clients MUST NOT | |||
| in contrast, the emulated servers should be ready to accept | initiate any sessions with the DUT/SUT; in contrast, the emulated | |||
| requests from DUT/SUT or emulated clients. | servers should be ready to accept requests from the DUT/SUT or | |||
| emulated clients. | ||||
| 2. Ramp up phase: The test equipment MUST start to generate the test | Ramp Up phase: | |||
| traffic. It MUST use a set of the approximate number of unique | The test equipment MUST start to generate the test traffic. It | |||
| client IP addresses to generate traffic. The traffic MUST ramp | MUST use a set of the approximate number of unique client IP | |||
| up from zero to desired target objective. The target objective | addresses to generate traffic. The traffic MUST ramp up from zero | |||
| is defined for each benchmarking test. The duration for the ramp | to the desired target objective. The target objective is defined | |||
| up phase MUST be configured long enough that the test equipment | for each benchmarking test. The duration for the ramp up phase | |||
| does not overwhelm the DUT/SUTs stated performance metrics | MUST be configured long enough that the test equipment does not | |||
| defined in Section 6.3 namely, TCP or QUIC Connections Per | overwhelm the DUT's/SUT's stated performance metrics defined in | |||
| Second, Inspected Throughput, Concurrent TCP or QUIC Connections, | Section 6.3, namely TCP or QUIC connections per second, inspected | |||
| and Application Transactions Per Second. No measurements are | throughput, concurrent TCP or QUIC connections, and application | |||
| made in this phase. | transactions per second. No measurements are made in this phase. | |||
| 3. Sustain phase: Starts when all required clients are active and | Sustain phase: | |||
| operating at their desired load condition. In the sustain phase, | This phase starts when all required clients are active and | |||
| the test equipment MUST continue generating traffic to a constant | operating at their desired load condition. In the sustain phase, | |||
| target value for a constant number of active clients. The | the test equipment MUST continue generating traffic to a constant | |||
| minimum RECOMMENDED time duration for sustain phase is 300 | target value for a constant number of active clients. The minimum | |||
| seconds. This is the phase where measurements occur. The test | RECOMMENDED time duration for the sustain phase is 300 seconds. | |||
| equipment MUST measure and record statistics continuously. The | This is the phase where measurements occur. The test equipment | |||
| sampling interval for collecting the raw results and calculating | MUST measure and record statistics continuously. The sampling | |||
| the statistics MUST be less than 2 seconds. | interval for collecting the raw results and calculating the | |||
| statistics MUST be less than 2 seconds. | ||||
| 4. Ramp down phase: The test traffic slows down from the target | Ramp Down phase: | |||
| number to 0, and no measurements are made. | The test traffic slows down from the target number to 0, and no | |||
| measurements are made. | ||||
| 5. Collection phase: The last phase is administrative and will occur | Collection phase: | |||
| when the test equipment merges and collates the report data. | The last phase is administrative and will occur when the test | |||
| equipment merges and collates the report data. | ||||
| 5. Testbed Considerations | 5. Testbed Considerations | |||
| This section describes steps for a reference test (pre-test) that | This section describes steps for a reference test (pre-test) that | |||
| control the test environment including test equipment, focusing on | controls the test environment, including test equipment, focusing on | |||
| physical and virtualized environments and as well as test equipment. | physical and virtualized environments and test equipment. Below are | |||
| Below are the RECOMMENDED steps for the reference test. | the RECOMMENDED steps for the reference test. | |||
| 1. Perform the reference test either by configuring the DUT/SUT in | 1. Perform the reference test either by configuring the DUT/SUT in | |||
| the most trivial setup (fast forwarding) or without the presence | the most trivial setup (fast forwarding) or without the presence | |||
| of the DUT/SUT. | of the DUT/SUT. | |||
| 2. Generate traffic from traffic generator. Choose a traffic | 2. Generate traffic from the traffic generator. Choose a traffic | |||
| profile used for the HTTP or HTTPS throughput performance test | profile used for the HTTP or HTTPS throughput performance test | |||
| with the smallest object size. | with the smallest object size. | |||
| 3. Ensure that any ancillary switching or routing functions added in | 3. Ensure that any ancillary switching or routing functions added in | |||
| the test equipment do not limit the performance by introducing | the test equipment do not limit performance by introducing packet | |||
| network metrics such as packet loss and latency. This is | loss or latency. This is specifically important for virtualized | |||
| specifically important for virtualized components (e.g., | components (e.g., vSwitches or vRouters). | |||
| vSwitches, vRouters). | ||||
| 4. Verify that the generated traffic (performance) of the test | 4. Verify that the generated traffic (performance) of the test | |||
| equipment matches and reasonably exceeds the expected maximum | equipment matches and reasonably exceeds the expected maximum | |||
| performance of the DUT/SUT. | performance of the DUT/SUT. | |||
| 5. Record the network performance metrics packet loss and latency | 5. Record the network performance metrics packet loss and latency | |||
| introduced by the test environment (without DUT/SUT). | introduced by the test environment (without the DUT/SUT). | |||
| 6. Assert that the testbed characteristics are stable during the | 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 testbeds. 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. | |||
| The reference test MUST be performed before the benchmarking tests | The reference test MUST be performed before the benchmarking tests | |||
| (described in section 7) start. | (described in Section 7) start. | |||
| 6. Reporting | 6. Reporting | |||
| This section describes how the benchmarking test report should be | This section describes how the benchmarking test report should be | |||
| formatted and presented. It is RECOMMENDED to include two main | formatted and presented. It is RECOMMENDED to include two main | |||
| sections in the report: the introduction and the detailed test | sections in the report: the introduction and the detailed test | |||
| results sections. | 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 tests | 1. Time and date of the execution of the tests | |||
| 2. Summary of testbed software and hardware details | 2. Summary of testbed software and hardware details | |||
| a. DUT/SUT hardware/virtual configuration | a. DUT/SUT hardware/virtual configuration | |||
| * This section should clearly identify the make and model of | * Make and model of the DUT/SUT, which should be clearly | |||
| the DUT/SUT | identified | |||
| * The port interfaces, including speed and link information | * Port interfaces, including speed and link information | |||
| * If the DUT/SUT is a Virtual Network Function (VNF), host | * If the DUT/SUT is a Virtual Network Function (VNF) | |||
| (server) hardware and software details, interface | ||||
| acceleration type such as DPDK and SR-IOV, used CPU cores, | ||||
| used RAM, resource sharing (e.g. Pinning details and NUMA | ||||
| Node) configuration details, hypervisor version, virtual | ||||
| switch version | ||||
| * details of any additional hardware relevant to the DUT/SUT | * Host (server) hardware and software details | |||
| such as controllers | ||||
| * Interface acceleration type (such as Data Plane | ||||
| Development Kit (DPDK) and single-root input/output | ||||
| virtualization (SR-IOV)) | ||||
| * Used CPU cores | ||||
| * Used RAM | ||||
| * Resource sharing (e.g., pinning details and Non-Uniform | ||||
| Memory Access (NUMA) node) configuration details | ||||
| * Hypervisor version | ||||
| * Virtual switch version | ||||
| * Details of any additional hardware relevant to the DUT/ | ||||
| SUT, such as controllers | ||||
| b. DUT/SUT software | b. DUT/SUT software | |||
| * Operating system name | * Operating system name | |||
| * Version | * Version | |||
| * Specific configuration details (if any) | * Specific configuration details (if any) | |||
| c. DUT/SUT enabled features | c. DUT-/SUT-enabled features | |||
| * Configured DUT/SUT features (see Table 2 and Table 3) | * Configured DUT/SUT features (see Tables 2 and 3) | |||
| * Attributes of the above-mentioned features | * Attributes of the abovementioned features | |||
| * Any additional relevant information about the features | * Any additional relevant information about the features | |||
| 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 and interface | |||
| type | ||||
| * Test equipment firmware and test application software | * Test equipment firmware and test application software | |||
| version | version | |||
| * If the test equipment is a virtual solution, the host | * If the test equipment is a virtual solution | |||
| (server) hardware and software details, interface | ||||
| acceleration type such as DPDK and SR-IOV, used CPU cores, | * The host (server) hardware and software details | |||
| used RAM, resource sharing (e.g. Pinning details and NUMA | ||||
| Node) configuration details, hypervisor version, virtual | * Interface acceleration type (such as DPDK and SR-IOV) | |||
| switch version | ||||
| * Used CPU cores | ||||
| * Used RAM | ||||
| * Resource sharing (e.g., pinning details and NUMA node) | ||||
| configuration details | ||||
| * Hypervisor version | ||||
| * Virtual switch version | ||||
| e. Key test parameters | e. Key test parameters | |||
| * Used cipher suites and keys | * Used cipher suites and keys | |||
| * IPv4 and IPv6 traffic distribution | * IPv4 and IPv6 traffic distribution | |||
| * Number of configured ACL | * Number of configured ACLs | |||
| * TCP, UDP stack parameter if tested | * TCP and UDP stack parameter, if tested | |||
| * QUIC, HTTP/2, and HTTP/3 parameters if tested | * QUIC, HTTP/2, and HTTP/3 parameters, if tested | |||
| f. Details of application traffic mix used in the benchmarking | f. Details of the application traffic mix used in the | |||
| test "Throughput Performance with Application Traffic Mix" | benchmarking test Throughput Performance with Application | |||
| (Section 7.1) | Traffic Mix (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, 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.4) | Section 4.3.1.4) | |||
| * 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 be presented with an introduction section | a. Results should be presented with an introduction section | |||
| documenting the summary of results in a prominent, easy to | documenting the summary of results in a prominent, easy-to- | |||
| read block. | 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 results 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 MUST be presented as described in | The format of the KPI metrics MUST be presented as described in | |||
| Section 6.3. | Section 6.3. | |||
| b. The next level of detail should be graphs showing each of these | b. The next level of details should be graphs showing each of these | |||
| metrics over the duration (sustain phase) of the test. This | metrics over the duration (sustain phase) of the test. This | |||
| 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. Also, | phase of the traffic load profile described in Section 4.3.4. Also, | |||
| the KPIs MUST be measured from the result output of test equipment. | the KPIs MUST be measured from the result output of test equipment. | |||
| * 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]). | |||
| * Concurrent QUIC Connections | Concurrent QUIC Connections | |||
| The aggregate number of simultaneous connections between hosts | The aggregate number of simultaneous connections between hosts | |||
| across the DUT/SUT. | across the DUT/SUT. | |||
| * 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. As described in Section 4.3.1.1, the TCP connections are | DUT/SUT. As described in Section 4.3.1.1, the TCP connections are | |||
| initiated by clients via a TCP three-way handshake (SYN, SYN/ACK, | initiated by clients via a TCP three-way handshake (SYN, SYN/ACK, | |||
| ACK). Then the TCP session data is sent and then the TCP sessions | ACK). Then, the TCP session data is sent, and then the TCP | |||
| are closed via either a TCP three-way close (FIN, FIN/ACK, ACK) or | sessions are closed via either a TCP three-way close (FIN, FIN/ | |||
| a TCP four-way close (FIN, ACK, FIN, ACK). The TCP sessions MUST | ACK, ACK) or a TCP four-way close (FIN, ACK, FIN, ACK). The TCP | |||
| NOT be closed by RST. | sessions MUST NOT be closed by RST. | |||
| * QUIC Connections Per Second | ||||
| QUIC Connections Per Second | ||||
| The average number of successfully established QUIC connections | The average number of successfully established QUIC connections | |||
| per second between hosts across the DUT/SUT. As described in | per second between hosts across the DUT/SUT. As described in | |||
| Section 4.3.1.2, the QUIC connections are initiated by clients. | Section 4.3.1.2, the QUIC connections are initiated by clients. | |||
| Then the data is sent and then the QUIC sessions are closed by | Then, the data is sent, and then the QUIC sessions are closed by | |||
| "immediate close" method. | the "immediate close" method. | |||
| Since QUIC specification defined in Section 4.3.1.2 recommends | Since the QUIC specification defined in Section 4.3.1.2 recommends | |||
| disabling 0-RTT and early data, this KPI focused on 1-RTT | disabling 0-RTT and early data, this KPI is focused on the 1-RTT | |||
| handshake. If required, 0-RTT can be also measured in separate | handshake. If required, 0-RTT can be also measured in separate | |||
| test runs while enabling 0-RTT and early data in the test | test runs while enabling 0-RTT and early data in the test | |||
| equipment. | equipment. | |||
| * Application Transactions Per Second | 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) transactions, it MUST have a valid status code (200 OK). | an HTTP(S) transaction, it MUST have a valid status code (200 OK). | |||
| * TLS Handshake Rate | ||||
| 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. | |||
| For TLS1.3 the handshake rate can be measured with 0-RTT or 1-RTT | For TLS 1.3, the handshake rate can be measured with the 0-RTT or | |||
| handshake. The transport protocol can be either TCP or QUIC. | 1-RTT handshake. The transport protocol can be either TCP or | |||
| QUIC. | ||||
| * 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. It is also acceptable to measure other OSI | "inspecting" traffic. It is also acceptable to measure other OSI | |||
| Layer throughput. However, the measured layer (e.g. Layer 3 | layer throughput. However, the measured layer (e.g., layer 3 | |||
| throughput) MUST be noted in the report and the user MUST be aware | throughput) MUST be noted in the report, and the user MUST be | |||
| of the implication while comparing the throughput performance of | aware of the implication while comparing the throughput | |||
| multiple DUT/SUTs measured in different OSI Layers. This document | performance of multiple DUTs/SUTs measured in different OSI | |||
| recommends presenting the inspected throughput value in Gbit/s | layers. This document recommends presenting the inspected | |||
| rounded to two places of precision with a more specific Kbit/s in | throughput value in Gbit/s rounded to two places of precision with | |||
| parenthesis. | a more specific kbit/s in parenthesis. | |||
| * Time to First Byte (TTFB) | ||||
| TTFB is the elapsed time between the start of sending the TCP SYN | Time to First Byte (TTFB) | |||
| packet or QUIC initial Client Hello from the client and the client | The elapsed time between the start of sending the TCP SYN packet | |||
| or QUIC initial Client Hello from the client and the client | ||||
| receiving the first packet of application data from the server via | receiving the first packet of application data from the server via | |||
| DUT/SUT. The benchmarking tests HTTP Transaction Latency | the 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 TTFB. The value should be | the minimum, average, and maximum TTFB. The value should be | |||
| expressed in milliseconds. | expressed in milliseconds. | |||
| * URL Response time / Time to Last Byte (TTLB) | URL Response Time / Time to Last Byte (TTLB) | |||
| The elapsed time between the start of sending the TCP SYN packet | ||||
| URL Response time / TTLB is the elapsed time between the start of | or QUIC initial Client Hello from the client and the client | |||
| sending the TCP SYN packet or QUIC initial Client Hello from the | receiving the last packet of application data from the server via | |||
| client and the client receiving the last packet of application | the DUT/SUT. The benchmarking tests HTTP transaction latency | |||
| data from the server via DUT/SUT. The benchmarking tests HTTP | (Section 7.4) and HTTPS transaction latency (Section 7.8) measure | |||
| Transaction Latency (Section 7.4) and HTTPS Transaction Latency | the minimum, average, and maximum TTLB. The value should be | |||
| (Section 7.8) measure the minimum, average and maximum TTLB. The | expressed in milliseconds. | |||
| value should be expressed in milliseconds. | ||||
| 7. Benchmarking Tests | 7. Benchmarking Tests | |||
| This section mainly focuses on the benchmarking tests with HTTP/1.1 | This section mainly focuses on the benchmarking tests with HTTP/1.1 | |||
| or HTTP/2 traffic which uses TCP as the transport protocol. In | or HTTP/2 traffic, which uses TCP as the transport protocol. In | |||
| particular, this section does not define specific benchmarking tests | particular, this section does not define specific benchmarking tests | |||
| for QUIC or HTTP/3 related KPIs. However, the test methodology | for KPIs related to QUIC or HTTP/3. However, the test methodology | |||
| defined in the benchmarking tests TCP/QUIC Connections Per Second | defined in the benchmarking tests TCP or QUIC connections per second | |||
| with HTTPS Traffic (Section 7.6), HTTPS Transaction Latency | with HTTPS traffic (Section 7.6), HTTPS transaction latency | |||
| (Section 7.8), HTTPS Throughput (Section 7.7), and Concurrent TCP/ | (Section 7.8), HTTPS throughput (Section 7.7), and concurrent TCP or | |||
| QUIC Connection Capacity with HTTPS Traffic (Section 7.9) can be used | QUIC connection capacity with HTTPS traffic (Section 7.9) can be used | |||
| to test QUIC or HTTP/3 related KPIs. The throughput performance test | to test KPIs related to QUIC or HTTP/3. The throughput performance | |||
| with the application traffic mix defined in Section 7.1 can be | test with the application traffic mix defined in Section 7.1 can be | |||
| performed with any other application traffic including HTTP/3. | performed with any other application traffic, including HTTP/3. | |||
| 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 the test customer's specific use case, testers can choose | Based on the test customer's specific use case, testers can choose | |||
| the relevant application traffic mix for this test. The details | the relevant application traffic mix for this test. The details | |||
| about the traffic mix MUST be documented in the report. At least the | about the traffic mix MUST be documented in the report. At least, | |||
| following traffic mix details MUST be documented and reported | the following traffic mix details MUST be documented and reported | |||
| together with the test results: | 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 | |||
| protocol | 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.4.) | (the RECOMMENDED ciphers and keys are defined in Section 4.3.1.4) | |||
| 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 | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| benchmarking test specific testbed 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 are | In this section, the benchmarking-test-specific parameters are | |||
| 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/SUT is | benchmarking test MUST be documented. If the DUT/SUT is configured | |||
| configured without TLS inspection, the test report MUST explain the | without TLS inspection, the test report MUST explain how this impacts | |||
| implications of this to the relevant application traffic mix | the encrypted traffic of the relevant application traffic mix. | |||
| 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| Target inspected throughput: Aggregated line rate of the | ||||
| interface(s) used in the DUT/SUT or the value defined based on the | * Target inspected throughput: Aggregated line rate of one or more | |||
| interfaces used in the DUT/SUT or the value defined based on the | ||||
| requirement for a specific deployment scenario | requirement for a specific deployment scenario | |||
| Initial throughput: 10% of the "Target inspected throughput" Note: | * Initial throughput: 10% of the "Target inspected throughput" | |||
| Initial throughput is not a KPI to report. This value is | ||||
| configured on the traffic generator and used to perform Step 1: | Note: Initial throughput is not a KPI to report. This value is | |||
| "Test Initialization and Qualification" described under | configured on the traffic generator and used to perform Step 1 | |||
| (Test Initialization and Qualification) described in | ||||
| Section 7.1.4. | Section 7.1.4. | |||
| One of the ciphers and keys defined in Section 4.3.1.4 are | * One of the ciphers and keys defined in Section 4.3.1.4 is | |||
| 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 | This test MUST be run with a relevant application traffic mix | |||
| traffic mix profile. | profile. | |||
| 7.1.3.4. Test Results Validation Criteria | 7.1.3.4. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during the whole | |||
| sustain phase of the traffic load profile. | sustain phase of the traffic load profile. | |||
| a. Number of failed application transactions MUST be less than | a. The number of failed application transactions MUST be less than | |||
| 0.001% (1 out of 100,000 transactions) of total attempted | 0.001% (1 out of 100,000 transactions) of the attempted | |||
| transactions. | transactions. | |||
| b. Number of Terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. | 100,000 connections) of the total initiated TCP connections. | |||
| c. If HTTP/3 is used, the number of failed QUIC connections due to | c. If HTTP/3 is used, the number of failed QUIC connections due to | |||
| unexpected HTTP/3 error codes MUST be less than 0.001% (1 out of | unexpected HTTP/3 error codes MUST be less than 0.001% (1 out of | |||
| 100,000 connections) of total initiated QUIC connections. | 100,000 connections) of the total initiated QUIC connections. | |||
| 7.1.3.5. Measurement | 7.1.3.5. Measurement | |||
| The following KPI metrics MUST be reported for this benchmarking | The following KPI metrics MUST be reported for this benchmarking | |||
| test: | test: | |||
| Mandatory KPIs (benchmarks): Inspected Throughput and Application | * Mandatory KPIs (benchmarks): inspected throughput and application | |||
| Transactions Per Second | transactions per second | |||
| Note: TTLB MUST be reported along with the object size used in the | Note: The TTLB MUST be reported along with the object size used in | |||
| traffic profile. | the traffic profile. | |||
| Optional TCP stack related KPIs: TCP Connections Per Second, TLS | * Optional TCP-stack-related KPIs: TCP connections per second, TLS | |||
| Handshake Rate, TTFB (minimum, average, and maximum), TTLB (minimum, | handshake rate, TTFB (minimum, average, and maximum), TTLB | |||
| average, and maximum) | (minimum, average, and maximum) | |||
| Optional QUIC stack related KPIs: QUIC connection per second and | * Optional QUIC-stack-related KPIs: QUIC connections per second and | |||
| concurrent QUIC connections | concurrent QUIC connections | |||
| 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 the traffic | performance of the DUT/SUT at the sustaining period of the traffic | |||
| load profile. The test procedure consists of three major steps: Step | load profile. The test procedure consists of three major steps. | |||
| 1 ensures the DUT/SUT is able to reach the performance value (initial | Step 1 ensures the DUT/SUT is able to reach the performance value | |||
| throughput) and meets the test results validation criteria when it | (initial throughput) and meets the test results validation criteria | |||
| was very minimally utilized. Step 2 determines whether the DUT/SUT | when it was very minimally utilized. Step 2 determines whether the | |||
| is able to reach the target performance value within the test results | DUT/SUT is able to reach the target performance value within the test | |||
| validation criteria. Step 3 determines the maximum achievable | results validation criteria. Step 3 determines the maximum | |||
| performance value within the test results validation criteria. | 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.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 the traffic load profile of the test equipment to generate | Configure the traffic load profile of the test equipment to generate | |||
| test traffic at the "Initial throughput" rate as described in | test traffic at the "initial throughput" rate, as described in | |||
| Section 7.1.3.2. The test equipment MUST follow the traffic load | Section 7.1.3.2. The test equipment MUST follow the traffic load | |||
| profile definition as described in Section 4.3.4. The DUT/SUT MUST | profile definition described in Section 4.3.4. The DUT/SUT MUST | |||
| reach the "Initial throughput" during the sustain phase. Measure all | reach the "initial throughput" during the sustain phase. Measure all | |||
| KPI as defined in Section 7.1.3.5. The measured KPIs during the | KPIs, as defined in Section 7.1.3.5. The measured KPIs during the | |||
| sustain phase MUST meet all the test results validation criteria | sustain phase MUST meet all the test results 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 Section 7.1.3.2. The test equipment MUST | throughput" rate defined in Section 7.1.3.2. The test equipment MUST | |||
| follow the traffic load profile definition as described in | follow the traffic load profile definition described in | |||
| Section 4.3.4. The test equipment MUST start to measure and record | Section 4.3.4. The test equipment MUST 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. | |||
| 7.1.4.3. Step 3: Test Iteration | 7.1.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. The final test iteration MUST be | results validation criteria. The final test iteration MUST be | |||
| performed for the test duration defined in Section 4.3.4. | performed for the test duration defined in Section 4.3.4. | |||
| 7.2. TCP/HTTP Connections Per Second | 7.2. TCP Connections Per Second with HTTP Traffic | |||
| 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 different | To measure connections per second, test iterations MUST use different | |||
| fixed HTTP response object sizes (the different load conditions) | fixed HTTP response object sizes (the different load 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 | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | ||||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Section 4.3.1.3 | ||||
| Target connections per second: Initial value from product datasheet | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| or the value defined based on the requirement for a specific | Section 4.3.1.3 | |||
| deployment scenario | ||||
| Initial connections per second: 10% of "Target connections per | * Target connections per second: Initial value from the product | |||
| second" (Note: Initial connections per second is not a KPI to report. | datasheet or the value defined based on the requirement for a | |||
| This value is configured on the traffic generator and used to perform | specific deployment scenario | |||
| Step1: "Test Initialization and Qualification" described under | ||||
| Section 7.2.4.) | * Initial connections per second: 10% of "Target connections per | |||
| second" | ||||
| Note: Initial connections per second is not a KPI to report. This | ||||
| value is configured on the traffic generator and used to perform | ||||
| Step 1 (Test Initialization and Qualification) described in | ||||
| Section 7.2.4. | ||||
| * The RECOMMENDED response object sizes are 1, 2, 4, 16, and 64 KB. | ||||
| The client MUST negotiate HTTP and close the connection with FIN | The client MUST negotiate HTTP and close the connection with FIN | |||
| immediately after the completion of one transaction. In each test | immediately after the completion of one transaction. In each test | |||
| iteration, the client MUST send a GET request requesting a fixed HTTP | iteration, the client MUST send a 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. | ||||
| 7.2.3.3. Test Results Validation Criteria | 7.2.3.3. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| Test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the attempted transactions. | |||
| b. Number of terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. | 100,000 connections) of the total initiated TCP connections. | |||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| 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 MUST be less than | and any deviation of concurrent TCP connections MUST be less than | |||
| 10%. This confirms the DUT opens and closes TCP connections at | 10%. This confirms the DUT opens and closes TCP connections at | |||
| approximately the same rate. | 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 DUT/SUT's rate of TCP | |||
| second rate of the DUT/SUT at the sustaining period of the traffic | connections per second during the sustaining period of the traffic | |||
| load profile. The test procedure consists of three major steps: Step | load profile. The test procedure consists of three major steps. | |||
| 1 ensures the DUT/SUT is able to reach the performance value (Initial | Step 1 ensures the DUT/SUT is able to reach the performance value | |||
| connections per second) and meets the test results validation | (Initial connections per second) and meets the test results | |||
| criteria when it was very minimally utilized. Step 2 determines | validation criteria when it was very minimally utilized. Step 2 | |||
| whether the DUT/SUT is able to reach the target performance value | determines whether the DUT/SUT is able to reach the target | |||
| within the test results validation criteria. Step 3 determines the | performance value within the test results validation criteria. Step | |||
| maximum achievable performance value within the test results | 3 determines the maximum achievable performance value within the test | |||
| validation criteria. | 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 Section 7.2.3.2. The | "Initial connections per second", as defined in Section 7.2.3.2. The | |||
| traffic load profile MUST be defined as described in Section 4.3.4. | traffic load profile MUST be defined as described in Section 4.3.4. | |||
| The DUT/SUT MUST reach the "Initial connections per second" before | The DUT/SUT MUST 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 continue 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 Section 7.2.3.2. The test | connections per second") defined in Section 7.2.3.2. The test | |||
| equipment MUST follow the traffic load profile definition as | equipment MUST follow the traffic load profile definition described | |||
| described in Section 4.3.4. | in Section 4.3.4. | |||
| During the ramp up and sustain phase of each test iteration, other | During the ramp up and sustain phases 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 the maximum value | application transactions per second, MUST NOT reach the maximum value | |||
| the DUT/SUT can support. The test results for specific test | the DUT/SUT can support. The test results for specific test | |||
| iterations MUST NOT be reported as valid results if the above | iterations MUST NOT be reported as valid results if the | |||
| mentioned KPI (especially inspected throughput) reaches the maximum | abovementioned KPI (especially inspected throughput) reaches the | |||
| value. (Example: If the test iteration with 64 KByte of HTTP | maximum value. (For example, if the test iteration with 64 KB of | |||
| response object size reached the maximum inspected throughput | HTTP response object size reached the maximum inspected throughput | |||
| limitation of the DUT/SUT, the test iteration MAY be interrupted and | limitation of the DUT/SUT, the test iteration MAY be interrupted and | |||
| the result for 64 KByte must not be reported.) | the result for 64 KB must not be reported.) | |||
| The test equipment MUST start to measure and record all specified | The test equipment MUST 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. | |||
| 7.2.4.3. Step 3: Test Iteration | 7.2.4.3. Step 3: Test Iteration | |||
| Determine the achievable TCP connections per second within the test | Determine the achievable TCP connections per second within the test | |||
| results validation criteria. | results validation criteria. | |||
| 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 | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| Target inspected throughput: Aggregated line rate of the interface(s) | * Target inspected throughput: Aggregated line rate of one or more | |||
| used in the DUT/SUT or the value defined based on the requirement for | interfaces used in the DUT/SUT or the value defined based on the | |||
| a specific deployment scenario | requirement for a specific deployment scenario | |||
| Initial throughput: 10% of "Target inspected throughput" Note: | * Initial throughput: 10% of "Target inspected 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 Section 7.3.4. | ||||
| Number of HTTP response object requests (transactions) per | Note: Initial throughput is not a KPI to report. This value is | |||
| connection: 10 | configured on the traffic generator and used to perform Step 1 | |||
| (Test Initialization and Qualification) described in | ||||
| Section 7.3.4. | ||||
| RECOMMENDED HTTP response object size: 1, 16, 64, 256 KByte, and | * Number of HTTP response object requests (transactions) per | |||
| mixed objects defined in Table 4. | connection: 10 | |||
| +=====================+============================+ | * RECOMMENDED HTTP response object size: 1, 16, 64, and 256 KB and | |||
| | Object size (KByte) | Number of requests/ Weight | | mixed objects defined in Table 5 | |||
| +=====================+============================+ | ||||
| | 0.2 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 6 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 8 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 9 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 10 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 25 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 26 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 35 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 59 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| | 347 | 1 | | ||||
| +---------------------+----------------------------+ | ||||
| Table 4: Mixed Objects | +==================+=============================+ | |||
| | Object size (KB) | Number of requests / Weight | | ||||
| +==================+=============================+ | ||||
| | 0.2 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 6 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 8 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 9 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 10 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 25 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 26 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 35 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 59 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| | 347 | 1 | | ||||
| +------------------+-----------------------------+ | ||||
| Table 5: Mixed Objects | ||||
| 7.3.3.3. Test Results Validation Criteria | 7.3.3.3. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the total attempted transactions. | |||
| b. Traffic MUST be forwarded at a constant rate (considered as a | b. Traffic MUST be forwarded at a constant rate (it is considered as | |||
| constant rate if any deviation of traffic forwarding rate is less | a constant rate if any deviation of the traffic forwarding rate | |||
| than 5%). | is less 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 MUST be less than | and any deviation of concurrent TCP connections MUST be less than | |||
| 10%. This confirms the DUT opens and closes TCP connections at | 10%. This confirms the DUT opens and closes TCP connections at | |||
| approximately the same rate. | 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: Step 1 | SUT. The test procedure consists of three major steps. Step 1 | |||
| ensures the DUT/SUT is able to reach the performance value (Initial | ensures the DUT/SUT is able to reach the performance value (initial | |||
| throughput) and meets the test results validation criteria when it | throughput) and meets the test results validation criteria when it | |||
| was very minimal utilized. Step 2 determines whether the DUT/SUT is | was very minimally utilized. Step 2 determines whether the DUT/SUT | |||
| able to reach the target performance value within the test results | is able to reach the target performance value within the test results | |||
| validation criteria. Step 3 determines the maximum achievable | validation criteria. Step 3 determines the maximum achievable | |||
| performance value within the test results validation criteria. | performance value within the test results validation criteria. | |||
| This test procedure MAY be repeated multiple times with different | This test procedure MAY be repeated multiple times with different | |||
| IPv4 and IPv6 traffic distribution and HTTP response object sizes. | IPv4 and IPv6 traffic distributions 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 the traffic load profile of the test equipment to establish | Configure the traffic load profile of the test equipment to establish | |||
| "Initial inspected throughput" as defined in Section 7.3.3.2. | "initial throughput", as defined in Section 7.3.3.2. | |||
| The traffic load profile MUST be defined as described in | The traffic load profile MUST be defined as described in | |||
| Section 4.3.4. The DUT/SUT MUST reach the "Initial inspected | Section 4.3.4. The DUT/SUT MUST reach the "initial throughput" | |||
| throughput" during the sustain phase. Measure all KPI as defined in | during the sustain phase. Measure all KPIs, 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 Section 7.3.3.2. The test | inspected throughput") defined in Section 7.3.3.2. The test | |||
| equipment MUST start to measure and record all specified KPIs. | equipment MUST 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 | |||
| Determine the achievable inspected throughput within the test results | Determine the achievable inspected throughput within the test results | |||
| validation criteria and measure the KPI metric Transactions per | validation criteria and measure the KPI metric transactions per | |||
| Second. The final test iteration MUST be performed for the test | second. The final test iteration MUST be performed for the test | |||
| duration defined in Section 4.3.4. | duration defined in Section 4.3.4. | |||
| 7.4. HTTP Transaction Latency | 7.4. HTTP Transaction Latency | |||
| 7.4.1. Objective | 7.4.1. Objective | |||
| Using HTTP traffic, determine the HTTP transaction latency when DUT | Using HTTP traffic, determine the HTTP transaction latency when the | |||
| is running with sustainable HTTP transactions per second supported by | DUT is running with sustainable HTTP transactions per second | |||
| the DUT/SUT under different HTTP response object sizes. | supported by the DUT/SUT under different HTTP response object sizes. | |||
| Test iterations MUST be performed with different HTTP response object | Test iterations MUST be performed with different HTTP response object | |||
| sizes in two different scenarios. One with a single transaction and | sizes in two different scenarios: one with a single transaction and | |||
| the other with multiple transactions within a single TCP connection. | the other with multiple transactions within a single TCP connection. | |||
| For consistency, both the single and multiple transaction tests MUST | For consistency, both the single and multiple transaction tests MUST | |||
| be configured with the same HTTP version | be configured with the same HTTP version. | |||
| 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 the completion of a single transaction | with FIN immediately after the completion of a single transaction | |||
| (GET and RESPONSE). | (GET 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 the completion of 10 transactions (GET and | with FIN immediately after the 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 | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | 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/HTTP Connections Per Second | measured in the benchmarking test TCP connections per second with | |||
| (Section 7.2) | HTTP traffic (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 the 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" | scenario 1" | |||
| Initial objective for scenario 2: 10% of "Target objective for | * Initial objective for scenario 2: 10% of "Target objective for | |||
| scenario 2" | scenario 2" | |||
| Note: The Initial objectives are not a KPI to report. These values | Note: The initial objectives are not KPIs to report. These values | |||
| are configured on the traffic generator and used to perform Step1: | are configured on the traffic generator and used to perform Step 1 | |||
| "Test Initialization and Qualification" described under | (Test Initialization and Qualification) described in | |||
| Section 7.4.4. | Section 7.4.4. | |||
| HTTP transaction per TCP connection: Test scenario 1 with a single | * HTTP transaction per TCP connection: Test scenario 1 with a single | |||
| transaction and test scenario 2 with 10 transactions. | transaction and test scenario 2 with 10 transactions | |||
| HTTP with GET request requesting a single object. The RECOMMENDED | * HTTP with GET request requesting a single object: The RECOMMENDED | |||
| object sizes are 1, 16, and 64 KByte. For each test iteration, the | object sizes are 1, 16, and 64 KB. For each test iteration, the | |||
| 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 criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| Test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the total attempted transactions. | |||
| b. Number of terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. | 100,000 connections) of the total initiated TCP connections. | |||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| 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 MUST be less than | and any deviation of concurrent TCP connections MUST be less than | |||
| 10%. This confirms the DUT opens and closes TCP connections at | 10%. This confirms the DUT opens and closes TCP connections at | |||
| approximately the same rate. | 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 objectives defined | |||
| in Section 7.4.3.2 and remain in that state for the entire test | in Section 7.4.3.2 and remain in that state for the 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 | The TTFB (minimum, average, and maximum) and TTLB (minimum, average, | |||
| maximum) MUST be reported for each object size. | and 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 the TTFB or TTLB when the | |||
| SUT is operating close to 50% of its maximum achievable connections | DUT/SUT is operating close to 50% of its maximum achievable | |||
| per second or inspected throughput. The test procedure consists of | connections per second or inspected throughput. The test procedure | |||
| two major steps: Step 1 ensures the DUT/SUT is able to reach the | consists of two major steps. Step 1 ensures the DUT/SUT is able to | |||
| initial performance values and meets the test results validation | reach the initial performance values and meets the test results | |||
| criteria when it was very minimally utilized. Step 2 measures the | validation criteria when it was very minimally utilized. Step 2 | |||
| latency values within the test results validation criteria. | measures the latency values 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), HTTP response object sizes, and single and multiple | distribution), HTTP response object sizes, and single and multiple | |||
| transactions per connection scenarios. | 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 the traffic load profile of the test equipment to establish | Configure the traffic load profile of the test equipment to establish | |||
| the "Initial objective" as defined in Section 7.4.3.2. The traffic | the initial objectives, as defined in Section 7.4.3.2. The traffic | |||
| load profile MUST be defined as described in Section 4.3.4. | load profile MUST be defined as described in Section 4.3.4. | |||
| The DUT/SUT MUST reach the "Initial objective" before the sustain | The DUT/SUT MUST reach the initial objectives 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 the "Target objective" defined | Configure test equipment to establish the target objectives defined | |||
| in Section 7.4.3.2. The test equipment MUST follow the traffic load | in Section 7.4.3.2. The test equipment MUST follow the traffic load | |||
| profile definition as described in Section 4.3.4. | profile definition described in Section 4.3.4. | |||
| The test equipment MUST start to measure and record all specified | The test equipment MUST 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 TTFB and TTLB. | Measure the minimum, average, and maximum values of the TTFB and | |||
| TTLB. | ||||
| 7.5. Concurrent TCP/HTTP Connection Capacity | 7.5. Concurrent TCP Connection Capacity with HTTP Traffic | |||
| 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 | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be noted for this benchmarking test: | be noted for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| Target concurrent connection: Initial value from product datasheet | * Target concurrent connection: Initial value from the product | |||
| or the value defined based on the requirement for a specific | datasheet or the value defined based on the requirement for a | |||
| deployment scenario. | specific deployment scenario | |||
| Initial concurrent connection: 10% of "Target concurrent | * Initial concurrent connection: 10% of "Target concurrent | |||
| connection" Note: Initial concurrent connection is not a KPI to | connection" | |||
| report. This value is configured on the traffic generator and | ||||
| used to perform Step1: "Test Initialization and Qualification" | ||||
| described under Section 7.5.4. | ||||
| Maximum connections per second during ramp up phase: 50% of | Note: Initial concurrent connection is not a KPI to report. This | |||
| maximum connections per second measured in benchmarking test TCP/ | value is configured on the traffic generator and used to perform | |||
| HTTP Connections per second (Section 7.2) | Step 1 (Test Initialization and Qualification) described in | |||
| Section 7.5.4. | ||||
| Ramp up time (in traffic load profile for "Target concurrent | * Maximum connections per second during ramp up phase: 50% of | |||
| maximum connections per second measured in the benchmarking test | ||||
| TCP connections per second with HTTP traffic (Section 7.2) | ||||
| * 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 requests requesting 1 KByte HTTP response | Each client sends 10 GET requests requesting 1 KB HTTP response | |||
| object in the same TCP connection (10 transactions/TCP connection) | object in the same TCP connection (10 transactions / TCP | |||
| and the delay (think time) between each transaction MUST be X | connections), and the delay (think time) between each transaction | |||
| seconds. | MUST be X seconds, where X is as follows. | |||
| X = ("Ramp up time" + "steady state time") /10 | X = ("Ramp up time" + "steady state time") / 10 | |||
| The established connections MUST remain open until the ramp down | The established connections MUST remain open until the ramp down | |||
| phase of the test. During the ramp down phase, all connections MUST | phase of the test. During the ramp down phase, all connections MUST | |||
| be successfully closed with FIN. | be successfully closed with FIN. | |||
| 7.5.3.3. Test Results Validation Criteria | 7.5.3.3. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| Test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the total attempted transactions. | |||
| b. Number of terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. | 100,000 connections) of the total initiated TCP connections. | |||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| 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 the | connection capacity of the DUT/SUT at the sustaining period of the | |||
| traffic load profile. The test procedure consists of three major | traffic load profile. The test procedure consists of three major | |||
| steps: Step 1 ensures the DUT/SUT is able to reach the performance | steps. Step 1 ensures the DUT/SUT is able to reach the performance | |||
| value (Initial concurrent connection) and meets the test results | value (Initial concurrent connection) and meets the test results | |||
| validation criteria when it was very minimally utilized. Step 2 | validation criteria when it was very minimally utilized. Step 2 | |||
| determines whether the DUT/SUT is able to reach the target | determines whether the DUT/SUT is able to reach the target | |||
| performance value within the test results validation criteria. Step | performance value within the test results validation criteria. Step | |||
| 3 determines the maximum achievable performance value within the test | 3 determines the maximum achievable performance value within the test | |||
| results validation criteria. | results validation criteria. | |||
| This test procedure MAY be repeated multiple times with different | This test procedure MAY be repeated multiple times with different | |||
| IPv4 and IPv6 traffic distributions. | IPv4 and IPv6 traffic distributions. | |||
| 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 | |||
| 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 MUST be defined as described in Section 4.3.4. | traffic load profile MUST be defined as described in Section 4.3.4. | |||
| During the sustain phase, the DUT/SUT MUST reach the "Initial | During the sustain phase, the DUT/SUT MUST reach the "Initial | |||
| concurrent TCP connections". The measured KPIs during the sustain | concurrent connections". The measured KPIs during the sustain phase | |||
| phase MUST meet all the test results validation criteria defined in | MUST meet all the test results validation criteria defined in | |||
| Section 7.5.3.3. | Section 7.5.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.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 MUST follow the | concurrent TCP connections"). The test equipment MUST 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 phases, 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 the maximum value the DUT/SUT | transactions per second, MUST NOT reach the maximum value the DUT/SUT | |||
| can support. | can support. | |||
| The test equipment MUST start to measure and record KPIs defined in | The test equipment MUST 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. | |||
| 7.5.4.3. Step 3: Test Iteration | 7.5.4.3. Step 3: Test Iteration | |||
| Determine the achievable concurrent TCP connections capacity within | Determine the achievable concurrent TCP connections capacity within | |||
| the test results validation criteria. | the test results validation criteria. | |||
| 7.6. TCP/QUIC Connections per Second with HTTPS Traffic | 7.6. TCP or QUIC Connections per Second with HTTPS Traffic | |||
| 7.6.1. Objective | 7.6.1. Objective | |||
| Using HTTPS traffic, determine the sustainable TLS session | Using HTTPS traffic, determine the sustainable 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 strength, test iterations MUST use a | |||
| single HTTPS response object size defined in Section 7.6.3.2 to | single HTTPS response object size defined in Section 7.6.3.2 to | |||
| measure connections per second performance under a variety of DUT/SUT | measure connections per second performance under a variety of DUT/SUT | |||
| security inspection load conditions. | security inspection load conditions. | |||
| 7.6.2. Test Setup | 7.6.2. Test Setup | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| Target connections per second: Initial value from product datasheet | * Target connections per second: Initial value from the product | |||
| or the value defined based on the requirement for a specific | datasheet or the value defined based on the requirement for a | |||
| deployment scenario. | specific deployment scenario | |||
| Initial connections per second: 10% of "Target connections per | * Initial connections per second: 10% of "Target connections per | |||
| second" (Note: Initial connections per second is not a KPI to report. | second" | |||
| This value is configured on the traffic generator and used to perform | ||||
| Step1: "Test Initialization and Qualification" described under | ||||
| Section 7.6.4.) | ||||
| RECOMMENDED ciphers and keys defined in Section 4.3.1.4 | Note: Initial connections per second 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 in | ||||
| Section 7.6.4.) | ||||
| * RECOMMENDED ciphers and keys defined in Section 4.3.1.4 | ||||
| * The RECOMMENDED object sizes are 1, 2, 4, 16, and 64 KB. | ||||
| The client MUST negotiate HTTPS and close the connection without | The client MUST negotiate HTTPS and close the connection without | |||
| error immediately after the completion of one transaction. In each | error immediately after the completion of one transaction. In each | |||
| test iteration, the client MUST send a GET request requesting a fixed | test iteration, the client MUST send a GET request requesting a fixed | |||
| HTTPS response object size. The RECOMMENDED object sizes are 1, 2, | HTTPS response object size. | |||
| 4, 16, and 64 KByte. | ||||
| 7.6.3.3. Test Results Validation Criteria | 7.6.3.3. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during the whole | |||
| test duration. | test duration. | |||
| a. Number of failed application transactions (receiving any HTTP | a. The 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 the attempted transactions. | |||
| b. Number of terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. If HTTP/3 is | 100,000 connections) of the total initiated TCP connections. If | |||
| used, the number of terminated QUIC connections due to unexpected | HTTP/3 is used, the number of terminated QUIC connections due to | |||
| errors MUST be less than 0.001% (1 out of 100,000 connections) of | unexpected errors MUST be less than 0.001% (1 out of 100,000 | |||
| total initiated QUIC connections. | connections) of the total initiated QUIC connections. | |||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| forwarding rate is less than 5%). | traffic forwarding rate is less than 5%). | |||
| d. Concurrent TCP connections generation rate MUST be constant | d. The concurrent TCP connections generation rate MUST be constant | |||
| during steady state and any deviation of concurrent TCP | during steady state, and any deviation of concurrent TCP | |||
| connections MUST be less than 10%. If HTTP/3 is used, the | connections MUST be less than 10%. If HTTP/3 is used, the | |||
| concurrent QUIC connections generation rate MUST be constant | concurrent QUIC connections generation rate MUST be constant | |||
| during steady state and any deviation of concurrent QUIC | during steady state, and any deviation of concurrent QUIC | |||
| connections MUST be less than 10%. This confirms the DUT opens | connections MUST be less than 10%. This confirms the DUT opens | |||
| and closes connections at approximately the same rate. | and closes connections at approximately the same rate. | |||
| 7.6.3.4. Measurement | 7.6.3.4. Measurement | |||
| If HTTP 1.1 or HTTP/2 is used, TCP connections per second MUST be | If HTTP 1.1 or HTTP/2 is used, TCP connections per second MUST be | |||
| reported for each test iteration (for each object size). | reported for each test iteration (for each object size). | |||
| If HTTP/3 is used, QUIC connections per second MUST be measured and | If HTTP/3 is used, QUIC connections per second MUST be measured and | |||
| reported for each test iteration (for each object size). | reported for each test iteration (for each object size). | |||
| The KPI metric TLS Handshake Rate can be measured in the test using 1 | The KPI metric TLS handshake rate can be measured in the test using 1 | |||
| KByte object size. | KB 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 or QUIC connections | The test procedure is designed to measure the DUT/SUT's rate of TCP | |||
| per second rate of the DUT/SUT at the sustaining period of the | or QUIC connections per second during the sustaining period of the | |||
| traffic load profile. The test procedure consists of three major | traffic load profile. The test procedure consists of three major | |||
| steps: Step 1 ensures the DUT/SUT is able to reach the performance | steps. Step 1 ensures the DUT/SUT is able to reach the performance | |||
| value (Initial connections per second) and meets the test results | value (Initial connections per second) and meets the test results | |||
| validation criteria when it was very minimally utilized. Step 2 | validation criteria when it was very minimally utilized. Step 2 | |||
| determines whether the DUT/SUT is able to reach the target | determines whether the DUT/SUT is able to reach the target | |||
| performance value within the test results validation criteria. Step | performance value within the test results validation criteria. Step | |||
| 3 determines the maximum achievable performance value within the test | 3 determines the maximum achievable performance value within the test | |||
| results validation criteria. | results validation criteria. | |||
| This test procedure MAY be repeated multiple times with different | This test procedure MAY be repeated multiple times with different | |||
| IPv4 and IPv6 traffic distributions. | IPv4 and IPv6 traffic distributions. | |||
| 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 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 Section 7.6.3.2. The | "Initial connections per second", as defined in Section 7.6.3.2. The | |||
| traffic load profile MUST be defined as described in Section 4.3.4. | traffic load profile MUST be defined as described in Section 4.3.4. | |||
| The DUT/SUT MUST reach the "Initial connections per second" before | The DUT/SUT MUST 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 | |||
| as defined in Section 7.6.3.2. The test equipment MUST follow the | second", as defined in Section 7.6.3.2. The test equipment MUST | |||
| traffic load profile definition as described in Section 4.3.4. | follow the traffic load profile definition described in | |||
| Section 4.3.4. | ||||
| During the ramp up and sustain phase, other KPIs such as inspected | During the ramp up and sustain phases, other KPIs, such as inspected | |||
| throughput, concurrent TCP/QUIC connections, and application | throughput, concurrent TCP or QUIC connections, and application | |||
| transactions per second MUST NOT reach the maximum value the DUT/SUT | transactions per second, MUST NOT reach the maximum value the DUT/SUT | |||
| can support. The test results for the specific test iteration MUST | can support. The test results for the specific test iteration MUST | |||
| NOT be reported as valid results, if the above mentioned KPI | NOT be reported as valid results if the abovementioned KPI | |||
| (especially inspected throughput) reaches the maximum value. | (especially inspected throughput) reaches the maximum value. (For | |||
| (Example: If the test iteration with 64 KByte of HTTPS response | example, if the test iteration with 64 KB of HTTPS response object | |||
| object size reached the maximum inspected throughput limitation of | size reached the maximum inspected throughput limitation of the DUT, | |||
| the DUT, the test iteration MAY be interrupted, and the result for 64 | the test iteration MAY be interrupted, and the result for 64 KB | |||
| KByte should not be reported). | should not be reported). | |||
| The test equipment MUST start to measure and record all specified | The test equipment MUST 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. | |||
| 7.6.4.3. Step 3: Test Iteration | 7.6.4.3. Step 3: Test Iteration | |||
| Determine the achievable connections per second within the test | Determine the achievable connections per second within the test | |||
| results validation criteria. | results validation criteria. | |||
| 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 by 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 Section 7.7.3.2. | MUST include the ciphers and keys defined in Section 7.7.3.2. | |||
| 7.7.2. Test Setup | 7.7.2. Test Setup | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| Target inspected throughput: Aggregated line rate of the interface(s) | * Target inspected throughput: Aggregated line rate of one or more | |||
| used in the DUT/SUT or the value defined based on the requirement for | interfaces used in the DUT/SUT or the value defined based on the | |||
| a specific deployment scenario. | requirement for a specific deployment scenario | |||
| Initial throughput: 10% of "Target inspected throughput" Note: | * Initial throughput: 10% of "Target inspected throughput" | |||
| Initial throughput is not a KPI to report. This value is configured | ||||
| on the traffic generator and used to perform Step1: "Test | ||||
| Initialization and Qualification" described under Section 7.7.4. | ||||
| Number of HTTPS response object requests (transactions) per | Note: Initial throughput is not a KPI to report. This value is | |||
| connection: 10 | configured on the traffic generator and used to perform Step 1 | |||
| (Test Initialization and Qualification) described in | ||||
| Section 7.7.4. | ||||
| RECOMMENDED ciphers and keys defined in Section 4.3.1.4 | * Number of HTTPS response object requests (transactions) per | |||
| connection: 10 | ||||
| RECOMMENDED HTTPS response object size: 1, 16, 64, 256 KByte, and | * RECOMMENDED ciphers and keys defined in Section 4.3.1.4 | |||
| mixed objects defined in Table 4 under Section 7.3.3.2. | ||||
| * RECOMMENDED HTTPS response object size: 1, 16, 64, and 256 KB and | ||||
| mixed objects defined in Table 5 of Section 7.3.3.2 | ||||
| 7.7.3.3. Test Results Validation Criteria | 7.7.3.3. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the attempted transactions. | |||
| b. Traffic MUST be generated at a constant rate (considered as a | b. Traffic MUST be generated at a constant rate (it is considered as | |||
| constant rate if any deviation of traffic forwarding rate is less | a constant rate if any deviation of the traffic forwarding rate | |||
| than 5%). | is less than 5%). | |||
| c. Concurrent generated TCP connections MUST be constant during | c. The concurrent generated TCP connections MUST be constant during | |||
| steady state and any deviation of concurrent TCP connections MUST | steady state, and any deviation of concurrent TCP connections | |||
| be less than 10%. If HTTP/3 is used, the concurrent generated | MUST be less than 10%. If HTTP/3 is used, the concurrent | |||
| QUIC connections MUST be constant during steady state and any | generated QUIC connections MUST be constant during steady state, | |||
| deviation of concurrent QUIC connections MUST be less than 10%. | and any deviation of concurrent QUIC connections MUST be less | |||
| This confirms the DUT opens and closes connections at | than 10%. This confirms the DUT opens and closes connections at | |||
| approximately the same rate. | approximately the same rate. | |||
| 7.7.3.4. Measurement | 7.7.3.4. Measurement | |||
| Inspected Throughput and HTTPS Transactions per Second MUST be | Inspected throughput and HTTPS 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: Step 1 ensures the | The test procedure consists of three major steps. Step 1 ensures the | |||
| DUT/SUT is able to reach the performance value (Initial throughput) | DUT/SUT is able to reach the performance value (initial throughput) | |||
| and meets the test results validation criteria when it was very | and meets the test results validation criteria when it was very | |||
| minimally utilized. Step 2 determines whether the DUT/SUT is able to | minimally utilized. Step 2 determines whether the DUT/SUT is able to | |||
| reach the target performance value within the test results validation | reach the target performance value within the test results validation | |||
| criteria. Step 3 determines the maximum achievable performance value | criteria. Step 3 determines the maximum achievable performance value | |||
| within the test results validation criteria. | within the test results validation criteria. | |||
| This test procedure MAY be repeated multiple times with different | This test procedure MAY be repeated multiple times with different | |||
| IPv4 and IPv6 traffic distribution and HTTPS response object sizes. | IPv4 and IPv6 traffic distributions 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 the traffic load profile of the test equipment to establish | Configure the traffic load profile of the test equipment to establish | |||
| "Initial throughput" as defined in Section 7.7.3.2. | "initial throughput", as defined in Section 7.7.3.2. | |||
| The traffic load profile MUST be defined as described in | The traffic load profile MUST be defined as described in | |||
| Section 4.3.4. The DUT/SUT MUST reach the "Initial throughput" | Section 4.3.4. The DUT/SUT MUST reach the "initial throughput" | |||
| during the sustain phase. Measure all KPI as defined in | during the sustain phase. Measure all KPIs, 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 Section 7.7.3.2. The test | inspected throughput") defined in Section 7.7.3.2. The test | |||
| equipment MUST start to measure and record all specified KPIs. | equipment MUST 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. The final test iteration MUST be | results validation criteria. The final test iteration MUST be | |||
| performed for the test duration defined in Section 4.3.4. | performed 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 | Using HTTPS traffic, determine the HTTPS transaction latency when the | |||
| DUT/SUT is running with sustainable HTTPS transactions per second | DUT/SUT is running with sustainable HTTPS transactions per second | |||
| supported by the DUT/SUT under different HTTPS response object sizes. | supported by the DUT/SUT under different HTTPS response object sizes. | |||
| Scenario 1: The client MUST negotiate HTTPS and close the connection | Scenario 1: The client MUST negotiate HTTPS and close the connection | |||
| immediately after the completion of a single transaction (GET and | immediately after the completion of a single transaction (GET and | |||
| RESPONSE). | RESPONSE). | |||
| Scenario 2: The client MUST negotiate HTTPS and close the connection | Scenario 2: The client MUST negotiate HTTPS and close the connection | |||
| immediately after the completion of 10 transactions (GET and | immediately after the completion of 10 transactions (GET and | |||
| RESPONSE) within a single TCP or QUIC connection. | RESPONSE) within a single TCP or QUIC connection. | |||
| 7.8.2. Test Setup | 7.8.2. Test Setup | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.4 | * RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.4 | |||
| 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/QUIC Connections per Second with | measured in the benchmarking test TCP or QUIC connections per | |||
| HTTPS Traffic (Section 7.6) | second with HTTPS traffic (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 the 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" | scenario 1" | |||
| Initial objective for scenario 2: 10% of "Target objective for | * Initial objective for scenario 2: 10% of "Target objective for | |||
| scenario 2" | scenario 2" | |||
| Note: The Initial objectives are not a KPI to report. These values | Note: The initial objectives are not KPIs to report. These values | |||
| are configured on the traffic generator and used to perform Step1: | are configured on the traffic generator and used to perform Step 1 | |||
| "Test Initialization and Qualification" described under | (Test Initialization and Qualification) described in | |||
| Section 7.8.4. | Section 7.8.4. | |||
| HTTPS transaction per TCP or QUIC connection: Test scenario 1 with a | * HTTPS transaction per TCP or QUIC connection: Test scenario 1 with | |||
| single transaction and scenario 2 with 10 transactions | a single transaction and scenario 2 with 10 transactions | |||
| HTTPS with GET request requesting a single object. The RECOMMENDED | * HTTPS with GET request requesting a single object: The RECOMMENDED | |||
| object sizes are 1, 16, and 64 KByte. For each test iteration, the | object sizes are 1, 16, and 64 KB. For each test iteration, the | |||
| 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 criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| Test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the total attempted transactions. | |||
| b. Number of terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. If HTTP/3 is | 100,000 connections) of the total initiated TCP connections. If | |||
| used, the number of terminated QUIC connections due to unexpected | HTTP/3 is used, the number of terminated QUIC connections due to | |||
| errors MUST be less than 0.001% (1 out of 100,000 connections) of | unexpected errors MUST be less than 0.001% (1 out of 100,000 | |||
| total initiated QUIC connections. | connections) of the total initiated QUIC connections. | |||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| forwarding rate is less than 5%). | traffic forwarding rate is less than 5%). | |||
| d. Concurrent TCP or QUIC connections MUST be constant during steady | d. Concurrent TCP or QUIC connections MUST be constant during steady | |||
| state and any deviation of concurrent TCP connections MUST be | state, and any deviation of concurrent TCP connections MUST be | |||
| less than 10%. If HTTP/3 is used, the concurrent generated QUIC | less than 10%. If HTTP/3 is used, the concurrent generated QUIC | |||
| connections MUST be constant during steady state and any | connections MUST be constant during steady state, and any | |||
| deviation of concurrent QUIC connections MUST be less than 10%. | deviation of concurrent QUIC connections MUST be less than 10%. | |||
| This confirms the DUT opens and closes connections at | This confirms the DUT opens and closes connections at | |||
| approximately the same rate. | approximately the same rate. | |||
| e. After ramp up the DUT/SUT MUST achieve the "Target objective" | e. After ramp up, the DUT/SUT MUST achieve the target objectives | |||
| defined in the parameter Section 7.8.3.2 and remain in that state | defined in the parameters in Section 7.8.3.2 and remain in that | |||
| for the entire test duration (sustain phase). | state 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 | The TTFB (minimum, average, and maximum) and TTLB (minimum, average, | |||
| maximum) MUST be reported for each object size. | and 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 the TTFB or TTLB when the | |||
| SUT is operating close to 50% of its maximum achievable connections | DUT/SUT is operating close to 50% of its maximum achievable | |||
| per second or inspected throughput. The test procedure consists of | connections per second or inspected throughput. The test procedure | |||
| two major steps: Step 1 ensures the DUT/SUT is able to reach the | consists of two major steps. Step 1 ensures the DUT/SUT is able to | |||
| initial performance values and meets the test results validation | reach the initial performance values and meets the test results | |||
| criteria when it was very minimally utilized. Step 2 measures the | validation criteria when it is very minimally utilized. Step 2 | |||
| latency values within the test results validation criteria. | measures the latency values 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), HTTPS response object sizes, and single, and multiple | distribution), HTTPS response object sizes, and single and multiple | |||
| transactions per connection scenarios. | 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 the traffic load profile of the test equipment to establish | Configure the traffic load profile of the test equipment to establish | |||
| the "Initial objective" as defined in Section 7.8.3.2. The traffic | the initial objectives, as defined in Section 7.8.3.2. The traffic | |||
| load profile MUST be defined as described in Section 4.3.4. | load profile MUST be defined as described in Section 4.3.4. | |||
| The DUT/SUT MUST reach the "Initial objective" before the sustain | The DUT/SUT MUST reach the initial objectives 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 the "Target objective" defined | Configure test equipment to establish the target objectives defined | |||
| in Section 7.8.3.2. The test equipment MUST follow the traffic load | in Section 7.8.3.2. The test equipment MUST follow the traffic load | |||
| profile definition as described in Section 4.3.4. | profile definition described in Section 4.3.4. | |||
| The test equipment MUST start to measure and record all specified | The test equipment MUST 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 TTFB and TTLB. | Measure the minimum, average, and maximum values of the TTFB and | |||
| TTLB. | ||||
| 7.9. Concurrent TCP/QUIC Connection Capacity with HTTPS Traffic | 7.9. Concurrent TCP or QUIC Connection Capacity with HTTPS Traffic | |||
| 7.9.1. Objective | 7.9.1. Objective | |||
| Determine the number of concurrent TCP/QUIC connections the DUT/SUT | Determine the number of concurrent TCP or QUIC connections the DUT/ | |||
| sustains when using HTTPS traffic. | SUT sustains when using HTTPS traffic. | |||
| 7.9.2. Test Setup | 7.9.2. Test Setup | |||
| Testbed setup MUST be configured as defined in Section 4. Any | The testbed setup MUST be configured as defined in Section 4. Any | |||
| specific testbed configuration changes (number of interfaces and | specific testbed configuration changes (number of interfaces, | |||
| 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 are defined. | In this section, benchmarking-test-specific parameters are 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. The following parameters MUST | requirements defined in Section 4.3. The following parameters MUST | |||
| be documented for this benchmarking test: | be documented for this benchmarking test: | |||
| Client IP address ranges defined in Section 4.3.1.3 | * Client IP address ranges defined in Section 4.3.1.3 | |||
| Server IP address ranges defined in Section 4.3.2.3 | * Server IP address ranges defined in Section 4.3.2.3 | |||
| Traffic distribution ratio between IPv4 and IPv6 defined in | * Traffic distribution ratio between IPv4 and IPv6 defined in | |||
| Section 4.3.1.3 | Section 4.3.1.3 | |||
| RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.4 | * RECOMMENDED cipher suites and key sizes defined in Section 4.3.1.4 | |||
| Target concurrent connections: Initial value from product | * Target concurrent connections: Initial value from the product | |||
| datasheet or the value defined based on the requirement for a | datasheet or the value defined based on the requirement for a | |||
| specific deployment scenario. | specific deployment scenario | |||
| Initial concurrent connections: 10% of "Target concurrent | * Initial concurrent connections: 10% of "Target concurrent | |||
| connections" Note: Initial concurrent connection is not a KPI to | connections" | |||
| report. This value is configured on the traffic generator and | ||||
| used to perform Step1: "Test Initialization and Qualification" | ||||
| described under Section 7.9.4. | ||||
| Connections per second during ramp up phase: 50% of maximum | Note: Initial concurrent connections is not a KPI to report. This | |||
| connections per second measured in benchmarking test TCP/QUIC | value is configured on the traffic generator and used to perform | |||
| Connections per second with HTTPS Traffic (Section 7.6) | Step 1 (Test Initialization and Qualification) described in | |||
| Section 7.9.4. | ||||
| Ramp up time (in traffic load profile for "Target concurrent | * Connections per second during ramp up phase: 50% of maximum | |||
| connections per second measured in the benchmarking test TCP or | ||||
| QUIC connections per second with HTTPS traffic (Section 7.6) | ||||
| * 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 transactions with persistence and each | The client MUST perform HTTPS transactions with persistence, and each | |||
| client can open multiple concurrent connections per server endpoint | client can open multiple concurrent connections per server endpoint | |||
| IP. | IP. | |||
| Each client sends 10 GET requests requesting 1 KByte HTTPS response | Each client sends 10 GET requests requesting 1 KB HTTPS response | |||
| objects in the same TCP/QUIC connections (10 transactions/connection) | objects in the same TCP or QUIC connections (10 transactions/ | |||
| and the delay (think time) between each transaction MUST be X | connections), and the delay (think time) between each transaction | |||
| seconds. | MUST be X seconds, where X is as follows. | |||
| X = ("Ramp up time" + "steady state time") /10 | X = ("Ramp up time" + "steady state time") / 10 | |||
| The established connections MUST remain open until the ramp down | The established connections MUST remain open until the ramp down | |||
| phase of the test. During the ramp down phase, all connections MUST | phase of the test. During the ramp down phase, all connections MUST | |||
| be successfully closed with FIN. | be successfully closed with FIN. | |||
| 7.9.3.3. Test Results Validation Criteria | 7.9.3.3. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| Test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during 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. The 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 the total attempted transactions. | |||
| b. Number of terminated TCP connections due to unexpected TCP RST | b. The number of terminated TCP connections due to unexpected TCP | |||
| sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RSTs sent by the DUT/SUT MUST be less than 0.001% (1 out of | |||
| connections) of total initiated TCP connections. If HTTP/3 is | 100,000 connections) of the total initiated TCP connections. If | |||
| used, the number of terminated QUIC connections due to unexpected | HTTP/3 is used, the number of terminated QUIC connections due to | |||
| errors MUST be less than 0.001% (1 out of 100,000 connections) of | unexpected errors MUST be less than 0.001% (1 out of 100,000 | |||
| total initiated QUIC connections | connections) of the total initiated QUIC connections. | |||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| 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 or QUIC Connections MUST be reported for this | Average concurrent TCP or QUIC 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 the | connection capacity of the DUT/SUT at the sustaining period of the | |||
| traffic load profile. The test procedure consists of three major | traffic load profile. The test procedure consists of three major | |||
| steps: Step 1 ensures the DUT/SUT is able to reach the performance | steps. Step 1 ensures the DUT/SUT is able to reach the performance | |||
| value (Initial concurrent connection) and meets the test results | value (Initial concurrent connection) and meets the test results | |||
| validation criteria when it was very minimally utilized. Step 2 | validation criteria when it was very minimally utilized. Step 2 | |||
| determines whether the DUT/SUT is able to reach the target | determines whether the DUT/SUT is able to reach the target | |||
| performance value within the test results validation criteria. Step | performance value within the test results validation criteria. Step | |||
| 3 determines the maximum achievable performance value within the test | 3 determines the maximum achievable performance value within the test | |||
| results validation criteria. | results validation criteria. | |||
| This test procedure MAY be repeated multiple times with different | This test procedure MAY be repeated multiple times with different | |||
| IPv4 and IPv6 traffic distributions. | IPv4 and IPv6 traffic distributions. | |||
| 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 | |||
| 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 MUST be defined as described in Section 4.3.4. | traffic load profile MUST be defined as described in Section 4.3.4. | |||
| During the sustain phase, the DUT/SUT MUST reach the "Initial | During the sustain phase, the DUT/SUT MUST reach the "Initial | |||
| concurrent connections". The measured KPIs during the sustain phase | concurrent connections". The measured KPIs during the sustain phase | |||
| MUST meet the test results validation criteria "a", and "b" defined | MUST meet the test results validation criteria "a" and "b" defined in | |||
| in Section 7.9.3.3. | Section 7.9.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.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 connections"). The test equipment MUST follow the traffic | concurrent connections"). The test equipment MUST follow the traffic | |||
| load profile definition (except ramp up time) as described in | load profile definition (except ramp up time) 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 phases, the other KPIs, such as | |||
| inspected throughput, TCP or QUIC connections per second, and | inspected throughput, TCP or QUIC connections per second, and | |||
| application transactions per second MUST NOT reach the maximum value | application transactions per second, MUST NOT reach the maximum value | |||
| that the DUT/SUT can support. | that the DUT/SUT can support. | |||
| The test equipment MUST start to measure and record KPIs defined in | The test equipment MUST 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/QUIC connections within the | Determine the achievable concurrent TCP or QUIC connections within | |||
| test results validation criteria. | the test results validation criteria. | |||
| 8. IANA Considerations | 8. IANA Considerations | |||
| This document makes no specific request of IANA. | This document makes no specific request of IANA. | |||
| The IANA has assigned IPv4 and IPv6 address blocks in [RFC6890] that | IANA has assigned IPv4 and IPv6 address blocks in [RFC6890] that have | |||
| have been registered for special purposes. The IPv6 address block | 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 | |||
| for the purpose of IPv4 Benchmarking [RFC2544]. This assignment was | allocated for the purpose of IPv4 benchmarking [RFC2544]. This | |||
| made to minimize the chance of conflict in case a testing device were | assignment was made to minimize the chance of conflict in case a | |||
| to be accidentally connected to the part of the Internet. | testing device were to be accidentally connected to the 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 for use in a laboratory isolated test environment. However, | devices for use in a laboratory-isolated test environment. However, | |||
| readers should be aware that there is some overlap between | readers should be aware that there is some overlap between | |||
| performance and security issues. Specifically, the optimal | 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. Testing security platforms with working | most secure, and vice versa. Testing security platforms with working | |||
| exploits and malware carries risks. Ensure proper access controls | exploits and malware carries risks. Ensure proper access controls | |||
| are implemented to prevent unintended exposure to vulnerable networks | are implemented to prevent unintended exposure to vulnerable networks | |||
| or systems. The cipher suites recommended in this document are for | or systems. The cipher suites recommended in this document are for | |||
| test purposes only. The cipher suite recommendation for a real | test purposes only. The cipher suite recommendation for a real | |||
| deployment is outside the scope of this document. | deployment is outside the scope of this document. | |||
| Security assessment of an NGFW/NGIPS product could also include an | Security assessment of an NGFW/NGIPS product could also include an | |||
| analysis whether any type of uncommon traffic characteristics would | analysis whether any type of uncommon traffic characteristics would | |||
| have a significant impact on performance. Such performance impacts | have a significant impact on performance. Such performance impacts | |||
| would allow an attacker to use such specifically crafted traffic as a | would allow an attacker to use such specifically crafted traffic as a | |||
| DoS attack to reduce the remaining performance available to other | DoS attack to reduce the remaining performance available to other | |||
| traffic through the NGFW/NGIPS. Such uncommon traffic | traffic through the NGFW/NGIPS. Such uncommon traffic | |||
| characteristics might include for example IP fragmented traffic, | characteristics might include, for example, IP-fragmented traffic, a | |||
| specific type of application traffic, or uncommonly high HTTP | specific type of application traffic, or uncommonly high HTTP | |||
| transaction rate traffic. | transaction rate traffic. | |||
| 10. Contributors | 10. References | |||
| The following individuals contributed significantly to the creation | ||||
| of this document: | ||||
| Alex Samonte, Amritam Putatunda, Aria Eslambolchizadeh, Chao Guo, | ||||
| Chris Brown, Cory Ford, David DeSanto, Jurrie Van Den Breekel, | ||||
| Michelle Rhines, Mike Jack, Ryan Liles, Samaresh Nair, Stephen | ||||
| Goudreault, Tim Carlin, and Tim Otto. | ||||
| 11. Acknowledgements | ||||
| The authors wish to acknowledge the members of NetSecOPEN for their | ||||
| participation in the creation of this document. Additionally, the | ||||
| following members need to be acknowledged: | ||||
| Anand Vijayan, Chris Marshall, Jay Lindenauer, Michael Shannon, Mike | ||||
| Deichman, Ryan Riese, and Toulnay Orkun. | ||||
| 12. References | ||||
| 12.1. Normative References | 10.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>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 12.2. Informative References | 10.2. Informative References | |||
| [fastly] Oku, K. and J. Iyengar, "Can QUIC match TCP's | [CVE] CVE, "Current CVSS Score Distribution For All | |||
| computational efficiency?", 30 April 2020, | Vulnerabilities", <https://www.cvedetails.com/>. | |||
| <https://www.fastly.com/blog/measuring-quic-vs-tcp- | ||||
| computational-efficiency>. | [fastly] Oku, K. and J. Iyengar, "QUIC vs TCP: Which is Better?", | |||
| April 2020, <https://www.fastly.com/blog/measuring-quic- | ||||
| vs-tcp-computational-efficiency>. | ||||
| [RFC2544] Bradner, S. and J. McQuaid, "Benchmarking Methodology for | [RFC2544] Bradner, S. and J. McQuaid, "Benchmarking Methodology for | |||
| Network Interconnect Devices", RFC 2544, | Network Interconnect Devices", RFC 2544, | |||
| DOI 10.17487/RFC2544, March 1999, | DOI 10.17487/RFC2544, March 1999, | |||
| <https://www.rfc-editor.org/info/rfc2544>. | <https://www.rfc-editor.org/info/rfc2544>. | |||
| [RFC2647] Newman, D., "Benchmarking Terminology for Firewall | [RFC2647] Newman, D., "Benchmarking Terminology for Firewall | |||
| Performance", RFC 2647, DOI 10.17487/RFC2647, August 1999, | Performance", RFC 2647, DOI 10.17487/RFC2647, August 1999, | |||
| <https://www.rfc-editor.org/info/rfc2647>. | <https://www.rfc-editor.org/info/rfc2647>. | |||
| skipping to change at page 59, line 17 ¶ | skipping to change at line 2741 ¶ | |||
| [RFC9204] Krasic, C., Bishop, M., and A. Frindell, Ed., "QPACK: | [RFC9204] Krasic, C., Bishop, M., and A. Frindell, Ed., "QPACK: | |||
| Field Compression for HTTP/3", RFC 9204, | Field Compression for HTTP/3", RFC 9204, | |||
| DOI 10.17487/RFC9204, June 2022, | DOI 10.17487/RFC9204, June 2022, | |||
| <https://www.rfc-editor.org/info/rfc9204>. | <https://www.rfc-editor.org/info/rfc9204>. | |||
| [RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", | [RFC9293] Eddy, W., Ed., "Transmission Control Protocol (TCP)", | |||
| STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, | STD 7, RFC 9293, DOI 10.17487/RFC9293, August 2022, | |||
| <https://www.rfc-editor.org/info/rfc9293>. | <https://www.rfc-editor.org/info/rfc9293>. | |||
| [Undertow] "An in depth overview of HTTP/2", | [Undertow] undertow, "An in depth overview of HTTP/2", | |||
| <https://undertow.io/blog/2015/04/27/An-in-depth-overview- | <https://undertow.io/blog/2015/04/27/An-in-depth-overview- | |||
| of-HTTP2.html>. | of-HTTP2.html>. | |||
| [Wiki-NGFW] | [Wiki-NGFW] | |||
| "", | Wikipedia, "Next-generation firewall", January 2023, | |||
| <https://en.wikipedia.org/wiki/Next-generation_firewall>. | <https://en.wikipedia.org/w/index.php?title=Next- | |||
| generation_firewall&oldid=1133673904>. | ||||
| 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, | This test methodology verifies the DUT/SUT is able to detect, | |||
| prevent, and report the vulnerabilities. | prevent, and report the vulnerabilities. | |||
| In this test, background test traffic will be generated to utilize | In this test, background test traffic will be generated to utilize | |||
| the DUT/SUT. In parallel, a number of malicious traffic will be sent | the DUT/SUT. In parallel, some malicious traffic will be sent to the | |||
| to the DUT/SUT as encrypted and as well as clear text payload formats | DUT/SUT as encrypted and cleartext payload formats using a traffic | |||
| using a traffic generator. Section 4.2.1 defines the selection of | generator. Section 4.2.1 defines the selection of the malicious | |||
| the malicious traffic from the Common Vulnerabilities and Exposures | traffic from the Common Vulnerabilities and Exposures (CVEs) list for | |||
| (CVE) list for testing. | testing. | |||
| The following KPIs are measured in this test: | The following KPIs are measured in this test: | |||
| * Number of blocked CVEs | * Number of blocked CVEs | |||
| * Number of bypassed (nonblocked) CVEs | * Number of bypassed (non-blocked) CVEs | |||
| * 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 CVEs toward the DUT/SUT) | |||
| * Accuracy of DUT/SUT statistics in terms of vulnerabilities | * Accuracy of DUT/SUT statistics in terms of vulnerabilities | |||
| reporting | reporting | |||
| A.2. Testbed Setup | A.2. Testbed Setup | |||
| The same testbed MUST be used for security effectiveness tests and as | The same testbed MUST be used for security effectiveness tests and | |||
| well as for benchmarking test cases defined in Section 7. | for benchmarking test cases defined in Section 7. | |||
| A.3. Test Parameters | A.3. Test Parameters | |||
| In this section, the benchmarking test specific parameters are | In this section, the benchmarking-test-specific parameters are | |||
| 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 | |||
| the security effectiveness test and as well as for benchmarking test | the security effectiveness test and for benchmarking test cases | |||
| cases defined in Section 7. The DUT/SUT MUST be configured in inline | 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, all detected attack traffic MUST be dropped, and the session | |||
| MUST be reset | MUST 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: | |||
| * 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 KB in the benchmarking tests HTTP(S) Throughput | |||
| Throughput" defined in Section 7.3 and Section 7.7). | defined in Sections 7.3 and 7.7) | |||
| * RECOMMENDED CVE traffic transmission Rate: 10 CVEs per second | * RECOMMENDED CVE traffic transmission Rate: 10 CVEs per second | |||
| * It is RECOMMENDED to generate each CVE multiple times | * It is RECOMMENDED to generate each CVE multiple times | |||
| (sequentially) at 10 CVEs per second | (sequentially) at 10 CVEs per second. | |||
| * 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) | (Sections 7.6-7.9) | |||
| A.4. Test Results Validation Criteria | A.4. Test Results Validation Criteria | |||
| The following criteria are the test results validation criteria. The | The following criteria are the test results validation criteria. The | |||
| test results validation criteria MUST be monitored during the whole | test results validation criteria MUST be monitored during the whole | |||
| test duration. | test duration. | |||
| a. Number of failed application transactions in the background | a. The number of failed application transactions in the background | |||
| traffic MUST be less than 0.01% of attempted transactions. | traffic MUST be less than 0.01% of the attempted transactions. | |||
| b. Number of terminated TCP or QUIC connections of the background | b. The number of terminated TCP or QUIC connections of the | |||
| traffic (due to unexpected errors) MUST be less than 0.01% of | background traffic (due to unexpected errors) MUST be less than | |||
| total initiated TCP connections in the background traffic. | 0.01% of the total initiated TCP connections in the background | |||
| traffic. | ||||
| c. During the sustain phase, traffic MUST be forwarded at a constant | c. During the sustain phase, traffic MUST be forwarded at a constant | |||
| rate (considered as a constant rate if any deviation of traffic | rate (it is considered as a constant rate if any deviation of the | |||
| forwarding rate is less than 5%). | traffic forwarding rate is less than 5%). | |||
| d. False positive MUST NOT occur in the background traffic. | d. A false positive MUST NOT occur in the background traffic. | |||
| A.5. Measurement | A.5. Measurement | |||
| The following KPI metrics MUST be reported for this test scenario: | The following KPI metrics MUST be reported for this test scenario: | |||
| Mandatory KPIs: | Mandatory KPIs: | |||
| * Blocked CVEs: They MUST be represented in the following ways: | * Blocked CVEs: They MUST be represented in the following ways: | |||
| - Number of blocked CVEs out of total CVEs | - Number of blocked CVEs out of total CVEs | |||
| skipping to change at page 61, line 39 ¶ | skipping to change at line 2858 ¶ | |||
| * Unblocked CVEs: They MUST be represented in the following ways: | * Unblocked CVEs: They MUST 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 | |||
| * Background traffic behavior: It MUST be represented in one of the | * Background traffic behavior: It MUST be represented in 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 the | |||
| 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 than 5% and less than or | the traffic forwarding rate is greater than 5% and less than or | |||
| equal to10% (i.e. small spikes) | equal to 10% (i.e., small spikes) | |||
| - Heavily impacted: Considered as "Heavily impacted" if any | - Heavy impact: Considered as "heavy impact" if any deviation of | |||
| deviation of traffic forwarding rate is greater than 10% (i.e. | the traffic forwarding rate is greater than 10% (i.e., large | |||
| large spikes) or reduced the background HTTP(S) throughput | spikes) or reduced the background HTTP(S) throughput greater | |||
| greater than 10% | than 10% | |||
| * DUT/SUT reporting accuracy: DUT/SUT MUST report all detected | * DUT/SUT reporting accuracy: The DUT/SUT MUST report all detected | |||
| vulnerabilities. | vulnerabilities. | |||
| Optional KPIs: | Optional KPIs: | |||
| * 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 | |||
| distributions. | distributions. | |||
| A.6.1. Step 1: Background Traffic | A.6.1. Step 1: Background Traffic | |||
| Generate background traffic at the transmission rate defined in | Generate background traffic at the transmission rate defined in | |||
| Appendix A.3.2. | 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 | the sustain phase. The measured KPIs during the sustain phase MUST | |||
| all the test results validation criteria defined in Appendix A.4. | meet 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 test results validation criteria, | |||
| procedure MUST NOT be continued to "Step 2". | the test procedure MUST NOT be continued to Step 2. | |||
| A.6.2. Step 2: CVE Emulation | A.6.2. Step 2: CVE Emulation | |||
| While generating background traffic (in sustain phase), send the CVE | While generating background traffic (in the sustain phase), send the | |||
| traffic as defined in the parameter section. | CVE traffic, as defined in the parameter section (Appendix A.3.2). | |||
| The test equipment MUST start to measure and record all specified | The test equipment MUST 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 either report the detected | In addition, the DUT/SUT should report the detected vulnerabilities | |||
| vulnerabilities in the log correctly or if, for example, a different | in the log correctly, or there MUST be reference material available | |||
| naming convention is used, there MUST be reference material available | ||||
| that will allow for verification that the correct vulnerability was | that will allow for verification that the correct vulnerability was | |||
| detected. This reference material MUST be cited in the report. | detected if, for example, a different naming convention is used. | |||
| This reference material MUST be cited in the report. | ||||
| Appendix B. DUT/SUT Classification | Appendix B. DUT/SUT Classification | |||
| This document aims to classify the DUT/SUT into four different | This document aims to classify the DUT/SUT into 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 users to determine specific configuration | classification MAY help users to determine specific configuration | |||
| scales (e.g., number of ACL entries), traffic profiles, and attack | scales (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 the DUT/SUT sizing | |||
| category. | category. | |||
| The four different categories are Extra Small (XS), Small (S), Medium | The four different categories are Extra Small (XS), Small (S), Medium | |||
| (M), and Large (L). The RECOMMENDED throughput values for the | (M), and Large (L). The RECOMMENDED throughput values for the | |||
| following 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 to 1 | |||
| Gbit/s | ||||
| Small (S) - Supported throughput greater than 1Gbit/s and less than | Small (S) - Supported throughput greater than 1 Gbit/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 5 Gbit/s and less | |||
| or equal to 10Gbit/s | than or equal to 10Gbit/s | |||
| Large (L) - Supported throughput greater than 10Gbit/s | Large (L) - Supported throughput greater than 10 Gbit/s | |||
| Acknowledgements | ||||
| The authors wish to acknowledge the members of NetSecOPEN for their | ||||
| participation in the creation of this document. Additionally, the | ||||
| following members need to be acknowledged: | ||||
| Anand Vijayan, Chris Marshall, Jay Lindenauer, Michael Shannon, Mike | ||||
| Deichman, Ryan Riese, and Toulnay Orkun. | ||||
| Contributors | ||||
| The following individuals contributed significantly to the creation | ||||
| of this document: | ||||
| Alex Samonte, Amritam Putatunda, Aria Eslambolchizadeh, Chao Guo, | ||||
| Chris Brown, Cory Ford, David DeSanto, Jurrie Van Den Breekel, | ||||
| Michelle Rhines, Mike Jack, Ryan Liles, Samaresh Nair, Stephen | ||||
| Goudreault, Tim Carlin, and Tim Otto. | ||||
| 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 | |||
| End of changes. 429 change blocks. | ||||
| 1151 lines changed or deleted | 1217 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. | ||||