rfc9411.original.xml | rfc9411.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version="1.0" encoding="UTF-8"?> | |||
<!DOCTYPE rfc [ | <!DOCTYPE rfc [ | |||
<!ENTITY nbsp " "> | <!ENTITY nbsp " "> | |||
<!ENTITY zwsp "​"> | <!ENTITY zwsp "​"> | |||
<!ENTITY nbhy "‑"> | <!ENTITY nbhy "‑"> | |||
<!ENTITY wj "⁠"> | <!ENTITY wj "⁠"> | |||
]> | ]> | |||
<?rfc toc="yes"?> | ||||
<?rfc tocompact="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category=" | |||
<?rfc tocdepth="3"?> | info" consensus="true" docName="draft-ietf-bmwg-ngfw-performance-15" number="941 | |||
<?rfc tocindent="yes"?> | 1" ipr="trust200902" obsoletes="3511" updates="" xml:lang="en" tocInclude="true" | |||
<?rfc symrefs="yes"?> | tocDepth="3" symRefs="true" sortRefs="true" version="3"> | |||
<?rfc sortrefs="yes"?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | ||||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="info" docName="draft-i | ||||
etf-bmwg-ngfw-performance-15" ipr="trust200902" obsoletes="3511" updates="" subm | ||||
issionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" so | ||||
rtRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.15.1 --> | <!-- xml2rfc v2v3 conversion 3.15.1 --> | |||
<front> | <front> | |||
<title abbrev="Benchmarking Network Security Devices">Benchmarking | <title abbrev="Benchmarking Network Security Devices">Benchmarking | |||
Methodology for Network Security Device Performance</title> | Methodology for Network Security Device Performance</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-bmwg-ngfw-performance-15 "/> | <seriesInfo name="RFC" value="9411"/> | |||
<author fullname="Balamuhunthan Balarajah" initials="B" surname="Balarajah"> | <author fullname="Balamuhunthan Balarajah" initials="B" surname="Balarajah"> | |||
<organization/> | <organization/> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<city>Berlin</city> | <city>Berlin</city> | |||
<code/> | <code/> | |||
<region/> | <region/> | |||
<country>Germany</country> | <country>Germany</country> | |||
</postal> | </postal> | |||
skipping to change at line 60 ¶ | skipping to change at line 52 ¶ | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Brian Monkman" initials="B" surname="Monkman"> | <author fullname="Brian Monkman" initials="B" surname="Monkman"> | |||
<organization>NetSecOPEN</organization> | <organization>NetSecOPEN</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street>417 Independence Court</street> | <street>417 Independence Court</street> | |||
<city>Mechanicsburg</city> | <city>Mechanicsburg</city> | |||
<code>17050</code> | <code>17050</code> | |||
<region>PA</region> | <region>PA</region> | |||
<country>USA</country> | <country>United States of America</country> | |||
</postal> | </postal> | |||
<phone/> | <phone/> | |||
<email>bmonkman@netsecopen.org</email> | <email>bmonkman@netsecopen.org</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date day="22" month="10" year="2022"/> | <date month="March" year="2023"/> | |||
<area/> | <area>ops</area> | |||
<workgroup>Benchmarking Methodology Working Group</workgroup> | <workgroup>bmwg</workgroup> | |||
<keyword>NGFW</keyword> | <keyword>NGFW</keyword> | |||
<keyword>NGIPS</keyword> | <keyword>NGIPS</keyword> | |||
<keyword>benchmarking</keyword> | <keyword>benchmarking</keyword> | |||
<keyword>performance testing</keyword> | <keyword>performance testing</keyword> | |||
<keyword>security testing</keyword> | <keyword>security testing</keyword> | |||
<abstract> | <abstract> | |||
<t>This document provides benchmarking terminology and methodology for | <t>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 terminology, | (NGIPSs). The main areas covered in this document are test terminology, | |||
test configuration parameters, and benchmarking methodology for NGFW and | test configuration parameters, and benchmarking methodology for NGFWs and | |||
NGIPS. (It is assumed that readers have a working knowledge of these | NGIPSs. (It is assumed that readers have a working knowledge of these | |||
devices and the security functionality they contain.) This document aims | devices and the security functionality they contain.) This document aims | |||
to improve the applicability, reproducibility, and transparency of | to improve the applicability, reproducibility, and transparency of | |||
benchmarks and to align the test methodology with today's increasingly | benchmarks and to align the test methodology with today's increasingly | |||
complex layer 7 security-centric network application use cases. As a | complex layer 7 security-centric network application use cases. As a | |||
result, this document makes RFC3511 obsolete.</t> | result, this document makes RFC 3511 obsolete.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<middle> | <middle> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Introduction</name> | <name>Introduction</name> | |||
<t>18 years have passed since IETF initially recommended test | <t>It has been 18 years since the IETF initially recommended test | |||
methodology and terminology for firewalls (<xref target="RFC3511" format=" | methodology and terminology for firewalls <xref target="RFC3511" format="d | |||
default"/>). | efault"/>. | |||
Firewalls have evolved significantly from the days of simple ACL | Firewalls have evolved significantly from the days of simple access contro | |||
l list (ACL) | ||||
filters. As the underlying technology progresses and improves, | filters. As the underlying technology progresses and improves, | |||
recommending test methodology and terminology for firewalls, | recommending test methodology and terminology for firewalls, | |||
requirements, and expectations for network security elements has | requirements, and expectations for network security elements has | |||
increased tremendously. Security function implementations have evolved | increased tremendously. Security function implementations have evolved | |||
and diversified into intrusion detection and prevention, threat | and diversified into intrusion detection and prevention, threat | |||
management, analysis of encrypted traffic, and more. In an industry of | management, analysis of encrypted traffic, and more. In an industry of | |||
growing importance, well-defined and reproducible key performance | growing importance, well-defined and reproducible key performance | |||
indicators (KPIs) are increasingly needed to enable fair and reasonable | indicators (KPIs) are increasingly needed to enable fair and reasonable | |||
comparison of network security functions. These reasons led to the | comparisons of network security functions. These reasons led to the | |||
creation of a new next-generation network security device benchmarking | creation of a new next-generation network security device benchmarking | |||
document, which makes <xref target="RFC3511" format="default"/> obsolete. | document, which makes <xref target="RFC3511" format="default"/> obsolete. | |||
Measurement of | The measurement of | |||
performance for processing of IP fragmented traffic (see Section 5.9 of | performance for processing IP-fragmented traffic (see | |||
<xref target="RFC3511" format="default"/>) was not included in this docume | <xref target="RFC3511" sectionFormat="of" section="5.9"/>)is not included | |||
nt since IP | in this document since IP | |||
fragmentation does today not commonly occur in traffic anymore, unlike | fragmentation does not commonly occur in traffic anymore, unlike how | |||
it might have been at the time when <xref target="RFC3511" format="default | it might have at the time when <xref target="RFC3511" format="default"/> w | |||
"/> was | as | |||
written. It should also be noted that <xref target="RFC2647" format="defau lt"/> retains | written. It should also be noted that <xref target="RFC2647" format="defau lt"/> retains | |||
significant value and has been consulted frequently while creating this | significant value and was consulted frequently while creating this | |||
document.</t> | document.</t> | |||
<t>For a more detailed explanation of what an NGFW is see the Wikipedia | <t>For a more detailed explanation of what an NGFW is, see the Wikipedia | |||
article <xref target="Wiki-NGFW" format="default"/>.</t> | article <xref target="Wiki-NGFW" format="default"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Requirements</name> | <name>Requirements Language</name> | |||
<t>The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | <t> | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
"OPTIONAL" in this document are to be interpreted as described in BCP 14 | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
<xref target="RFC2119" format="default"/>, <xref target="RFC8174" format=" | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14> | |||
default"/> when, and only when, | RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
they appear in all capitals, as shown here.</t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
be interpreted as | ||||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Scope</name> | <name>Scope</name> | |||
<t>This document provides testing terminology and testing methodology | <t>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 <xref target="figure1" format="default "/> and <xref target="figure2" format="default"/>) mode. It covers the validatio n of security | configured in Active ("Inline", see Figures <xref target="figure1" format= "counter"/> and <xref target="figure2" format="counter"/>) mode. It covers the v alidation of security | |||
effectiveness configurations of network security devices, followed by | effectiveness configurations of network security devices, followed by | |||
performance benchmark testing. This document focuses on advanced, | performance benchmark testing. This document focuses on advanced, | |||
realistic, and reproducible testing methods. Additionally, it describes | realistic, and reproducible testing methods. Additionally, it describes | |||
testbed environments, test tool requirements, and test result | testbed environments, test tool requirements, and test result | |||
formats.</t> | formats.</t> | |||
<t>The performance testing methodology described in this document is not | <t>The performance testing methodology described in this document is not | |||
intended for security devices/systems that rely on machine learning or | intended for security devices or systems that rely on machine learning or | |||
behavioral analysis. If such features are present in a Device Under | behavioral analysis. If such features are present in a Device Under | |||
Test/System Under Test (DUT/SUT), they should be disabled.</t> | Test / System Under Test (DUT/SUT), they should be disabled.</t> | |||
</section> | </section> | |||
<section anchor="Test_Setup" numbered="true" toc="default"> | <section anchor="Test_Setup" numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>The test setup defined in this document applies to all benchmarking | <t>The test setup defined in this document applies to all benchmarking | |||
tests described in <xref target="Benchmarking" format="default"/>. The | tests described in <xref target="Benchmarking" format="default"/>. The | |||
test setup MUST be contained within an Isolated Test Environment (see | test setup <bcp14>MUST</bcp14> be contained within an isolated test enviro | |||
Section 3 of <xref target="RFC6815" format="default"/>).</t> | nment (see | |||
<xref target="RFC6815" sectionFormat="of" section="3"/>).</t> | ||||
<section anchor="Testbed_Configuration" numbered="true" toc="default"> | <section anchor="Testbed_Configuration" numbered="true" toc="default"> | |||
<name>Testbed Configuration</name> | <name>Testbed Configuration</name> | |||
<t>Testbed configuration MUST ensure that any performance implications | <t>Testbed configuration <bcp14>MUST</bcp14> 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 latency) | links and forwarding performance capabilities (throughput and latency) | |||
of the network devices in the testbed. For this reason, this document | of the network devices in the testbed. For this reason, this document | |||
recommends avoiding external devices such as switches and routers in | recommends avoiding external devices, such as switches and routers, in | |||
the testbed wherever possible.</t> | the testbed wherever possible.</t> | |||
<t>In some deployment scenarios, the network security devices | <t>In some deployment scenarios, the network security devices | |||
(DUT/SUT) are connected to routers and switches, which will reduce the | (DUT/SUT) are connected to routers and switches, which will reduce the | |||
number of entries in MAC or ARP/ND (Address Resolution Protocol/ | number of entries in MAC (Media Access Control) or Address Resolution Pr | |||
Neighbor Discovery) tables of the DUT/SUT. If MAC or ARP/ND tables | otocol / | |||
Neighbor Discovery (ARP/ND) tables of the DUT/SUT. If MAC or ARP/ND tabl | ||||
es | ||||
have many entries, this may impact the actual DUT/SUT performance due | have many entries, this may impact the actual DUT/SUT performance due | |||
to MAC and ARP/ND table lookup processes. This document also | to MAC and ARP/ND table lookup processes. This document also | |||
recommends using test equipment with the capability of emulating layer | recommends using test equipment with the capability of emulating layer | |||
3 routing functionality instead of adding external routers in the | 3 routing functionality instead of adding external routers in the | |||
testbed.</t> | testbed.</t> | |||
<t>The testbed setup Option 1 (<xref target="figure1" format="default"/> | <t>The testbed setup for Option 1 (<xref target="figure1" format="defaul | |||
) is the | t"/>) is the | |||
RECOMMENDED testbed setup for the benchmarking test.</t> | <bcp14>RECOMMENDED</bcp14> testbed setup for the benchmarking test.</t> | |||
<figure anchor="figure1"> | <figure anchor="figure1"> | |||
<name>Testbed Setup - Option 1</name> | <name>Testbed Setup - Option 1</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[+--------------- | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
--------+ +-----------------------+ | +-----------------------+ +-----------------------+ | |||
| +-------------------+ | +-----------+ | +-------------------+ | | | +-------------------+ | +-----------+ | +-------------------+ | | |||
| | 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 | | |||
+-----------------------+ +-----------------------+]]></artwor k> | +-----------------------+ +-----------------------+]]></artwor k> | |||
</figure> | </figure> | |||
<t>If the test equipment used is not capable of emulating OSI layer 3 | <t>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 equ ipment | |||
port aggregation), the test setup can be configured as shown in <xref ta rget="figure2" format="default"/>.</t> | port aggregation), the test setup can be configured as shown in <xref ta rget="figure2" format="default"/>.</t> | |||
<figure anchor="figure2"> | <figure anchor="figure2"> | |||
<name>Testbed Setup - Option 2</name> | <name>Testbed Setup - Option 2</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ +-------------- | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
-----+ +-----------+ +--------------------+ | +-------------------+ +-----------+ +--------------------+ | |||
|Aggregation Switch/| | | | Aggregation Switch/| | |Aggregation Switch/| | | | Aggregation Switch/| | |||
| Router +------+ DUT/SUT +------+ Router | | | Router +------+ DUT/SUT +------+ Router | | |||
| | | | | | | | | | | | | | |||
+----------+--------+ +-----------+ +--------+-----------+ | +----------+--------+ +-----------+ +--------+-----------+ | |||
| | | | | | |||
| | | | | | |||
+-----------+-----------+ +-----------+-----------+ | +-----------+-----------+ +-----------+-----------+ | |||
| | | | | | | | | | |||
| +-------------------+ | | +-------------------+ | | | +-------------------+ | | +-------------------+ | | |||
| | Emulated Router(s)| | | | Emulated Router(s)| | | | | Emulated Router(s)| | | | Emulated Router(s)| | | |||
skipping to change at line 207 ¶ | skipping to change at line 203 ¶ | |||
| +-------------------+ | | +-------------------+ | | | +-------------------+ | | +-------------------+ | | |||
| | Clients | | | | Servers | | | | | Clients | | | | Servers | | | |||
| +-------------------+ | | +-------------------+ | | | +-------------------+ | | +-------------------+ | | |||
| | | | | | | | | | |||
| Test Equipment | | Test Equipment | | | Test Equipment | | Test Equipment | | |||
+-----------------------+ +-----------------------+]]></artwor k> | +-----------------------+ +-----------------------+]]></artwor k> | |||
</figure> | </figure> | |||
</section> | </section> | |||
<section anchor="DUT-SUT_Configuration" numbered="true" toc="default"> | <section anchor="DUT-SUT_Configuration" numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration</name> | <name>DUT/SUT Configuration</name> | |||
<t>The same DUT/SUT configuration MUST be used for all benchmarking | <t>The same DUT/SUT configuration <bcp14>MUST</bcp14> be used for all be nchmarking | |||
tests described in <xref target="Benchmarking" format="default"/>. Since each DUT/SUT | tests described in <xref target="Benchmarking" format="default"/>. Since each DUT/SUT | |||
will have its own unique configuration, users MUST configure their | will have its own unique configuration, users <bcp14>MUST</bcp14> config ure their | |||
devices with the same parameters and security features that would be | devices with the same parameters and security features that would be | |||
used in the actual deployment of the device or a typical deployment. | used in the actual deployment of the device or a typical deployment. | |||
The DUT/SUT MUST be configured in "Inline" mode so that the traffic is | The DUT/SUT <bcp14>MUST</bcp14> be configured in "Inline" mode so that t he traffic is | |||
actively inspected by the DUT/SUT.</t> | actively inspected by the DUT/SUT.</t> | |||
<t><xref target="NGFW_Security_Features" format="default"/> and <xref ta | <t>Tables <xref target="NGFW_Security_Features" format="counter"/> and < | |||
rget="NGIPS_Security_Features" format="default"/> below describe the RECOMMENDED | xref target="NGIPS_Security_Features" format="counter"/> below describe the <bcp | |||
and | 14>RECOMMENDED</bcp14> and | |||
OPTIONAL sets of network security features for NGFW and NGIPS, | <bcp14>OPTIONAL</bcp14> sets of network security features for NGFWs and | |||
NGIPSs, | ||||
respectively. If the recommended security features are not enabled in | respectively. If the recommended security features are not enabled in | |||
the DUT/SUT for any reason, the reason MUST be reported with the | the DUT/SUT for any reason, the reason <bcp14>MUST</bcp14> be reported w ith the | |||
benchmarking test results. For example, one reason for not enabling | benchmarking test results. For example, one reason for not enabling | |||
the anti-virus feature in NGFW may be that this security feature was | the anti-virus feature in an NGFW may be that this security feature was | |||
not required for a particular customer deployment scenario. It MUST be | not required for a particular customer deployment scenario. It <bcp14>MU | |||
ST</bcp14> be | ||||
also noted in the benchmarking test report that not enabling the | also noted in the benchmarking test report that not enabling the | |||
specific recommended security features may impact the performance of | specific recommended security features may impact the performance of | |||
the DUT/SUT. The selected security features MUST be consistently | the DUT/SUT. The selected security features <bcp14>MUST</bcp14> be consi stently | |||
enabled on the DUT/SUT for all benchmarking tests described in <xref tar get="Benchmarking" format="default"/>.</t> | enabled on the DUT/SUT for all benchmarking tests described in <xref tar get="Benchmarking" format="default"/>.</t> | |||
<t>To improve repeatability, a summary of the DUT/SUT configuration | <t>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, <bcp14>MUST</bc | |||
p14> be | ||||
published with the benchmarking results.</t> | published with the benchmarking results.</t> | |||
<t>The following table provides a brief description of the security | <t>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 in currently deployed NGFW and NGIDS. The features provided by | found 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.</t> | have configuration settings that align with the taxonomy.</t> | |||
<table anchor="Security_Feature_Description" align="center"> | <table anchor="Security_Feature_Description" align="center"> | |||
<name>Security Feature Description</name> | <name>Security Feature Description</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">DUT/SUT Features</th> | <th align="left">DUT/SUT Features</th> | |||
<th align="left">Description</th> | <th align="left">Description</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">TLS Inspection</td> | <td align="left">TLS Inspection</td> | |||
<td align="left">DUT/SUT intercepts and decrypts inbound HTTPS tra ffic between | <td align="left">The DUT/SUT intercepts and decrypts inbound HTTPS traffic between | |||
servers and clients. Once the content inspection has been completed, | servers and clients. Once the content inspection has been completed, | |||
DUT/SUT encrypts the HTTPS traffic with ciphers and keys used by the | the DUT/SUT encrypts the HTTPS traffic with ciphers and keys used by t | |||
clients and servers. For TLS1.3, the DUT works as a middlebox | he | |||
(proxy) and it holds the certificates and Pre-Shared Keys (PSK) that | clients and servers. For TLS 1.3, the DUT works as a middlebox | |||
(proxy) and holds the certificates and Pre-Shared Keys (PSKs) that | ||||
are trusted by the client and represent the identity of the real | are trusted by the client and represent the identity of the real | |||
server.</td> | server.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">IDS/IPS</td> | <td align="left">IDS/IPS</td> | |||
<td align="left">DUT/SUT detects and blocks exploits targeting kno | <td align="left">The DUT/SUT detects and blocks exploits targeting | |||
wn and unknown | known and | |||
vulnerabilities across the monitored network.</td> | unknown vulnerabilities across the monitored network.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Anti-Malware</td> | <td align="left">Anti-Malware</td> | |||
<td align="left">DUT/SUT detects and prevents the transmission of malicious | <td align="left">The DUT/SUT detects and prevents the transmission of malicious | |||
executable code and any associated communications across the | executable code and any associated communications across the | |||
monitored network. This includes data exfiltration as well as | monitored network. This includes data exfiltration as well as | |||
command and control channels.</td> | command and control channels.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Anti-Spyware</td> | <td align="left">Anti-Spyware</td> | |||
<td align="left">Anti-Spyware is a subcategory of Anti Malware. Sp | <td align="left">Anti-Spyware is a subcategory of Anti-Malware. Sp | |||
yware transmits | yware transmits | |||
information without the user's knowledge or permission. DUT/SUT | information without the user's knowledge or permission. The DUT/SUT | |||
detects and blocks initial infection or transmission of data.</td> | detects and blocks the initial infection or transmission of data.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Anti-Botnet</td> | <td align="left">Anti-Botnet</td> | |||
<td align="left">DUT/SUT detects and blocks traffic to or from bot nets.</td> | <td align="left">The DUT/SUT detects and blocks traffic to or from botnets.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Anti-Evasion</td> | <td align="left">Anti-Evasion</td> | |||
<td align="left">DUT/SUT detects and mitigates attacks that have b een obfuscated | <td align="left">The DUT/SUT detects and mitigates attacks that ha ve been obfuscated | |||
in some manner.</td> | in some manner.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Web Filtering</td> | <td align="left">Web Filtering</td> | |||
<td align="left">DUT/SUT detects and blocks malicious websites inc luding defined | <td align="left">The DUT/SUT detects and blocks malicious websites , including defined | |||
classifications of websites across the monitored network.</td> | classifications of websites across the monitored network.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">DLP</td> | <td align="left">Data Loss Protection (DLP)</td> | |||
<td align="left">DUT/SUT detects and prevents data breaches and da | <td align="left">The DUT/SUT detects and prevents data breaches an | |||
ta exfiltration, | d data exfiltration, | |||
or it detects and blocks the transmission of sensitive data across | or it detects and blocks the transmission of sensitive data across | |||
the monitored network.</td> | the monitored network.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Certificate Validation</td> | <td align="left">Certificate Validation</td> | |||
<td align="left">DUT/SUT validates certificates used in encrypted communications | <td align="left">The DUT/SUT validates certificates used in encryp ted communications | |||
across the monitored network.</td> | across the monitored network.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Logging and Reporting</td> | <td align="left">Logging and Reporting</td> | |||
<td align="left">DUT/SUT logs and reports all traffic at the flow level across the | <td align="left">The DUT/SUT logs and reports all traffic at the f low level across the | |||
monitored network.</td> | monitored network.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Application Identification</td> | <td align="left">Application Identification</td> | |||
<td align="left">DUT/SUT detects known applications as defined wit hin the traffic | <td align="left">The DUT/SUT detects known applications as defined within the traffic | |||
mix selected across the monitored network.</td> | mix selected across the monitored network.</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">DPI</td> | <td align="left">Deep Packet Inspection (DPI)</td> | |||
<td align="left">DUT/SUT inspects the content of the data packet.< | <td align="left">The DUT/SUT inspects the content of the data pack | |||
/td> | et.</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<table anchor="NGFW_Security_Features" align="center"> | <table anchor="NGFW_Security_Features" align="center"> | |||
<name>NGFW Security Features</name> | <name>NGFW Security Features</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">DUT/SUT (NGFW) Features</th> | <th align="left">DUT/SUT (NGFW) Features</th> | |||
<th align="center">RECOMMENDED</th> | <th align="center"><bcp14>RECOMMENDED</bcp14></th> | |||
<th align="center">OPTIONAL</th> | <th align="center"><bcp14>OPTIONAL</bcp14></th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">TLS Inspection</td> | <td align="left">TLS Inspection</td> | |||
<td align="center">x</td> | <td align="center">x</td> | |||
<td align="center"/> | <td align="center"/> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">IDS/IPS</td> | <td align="left">IDS/IPS</td> | |||
skipping to change at line 383 ¶ | skipping to change at line 379 ¶ | |||
<td align="center">x</td> | <td align="center">x</td> | |||
<td align="center"/> | <td align="center"/> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<table anchor="NGIPS_Security_Features" align="center"> | <table anchor="NGIPS_Security_Features" align="center"> | |||
<name>NGIPS Security Features</name> | <name>NGIPS Security Features</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">DUT/SUT (NGIPS) Features</th> | <th align="left">DUT/SUT (NGIPS) Features</th> | |||
<th align="center">RECOMMENDED</th> | <th align="center"><bcp14>RECOMMENDED</bcp14></th> | |||
<th align="center">OPTIONAL</th> | <th align="center"><bcp14>OPTIONAL</bcp14></th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">TLS Inspection</td> | <td align="left">TLS Inspection</td> | |||
<td align="center">x</td> | <td align="center">x</td> | |||
<td align="center"/> | <td align="center"/> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Anti-Malware</td> | <td align="left">Anti-Malware</td> | |||
skipping to change at line 425 ¶ | skipping to change at line 421 ¶ | |||
<td align="center">x</td> | <td align="center">x</td> | |||
<td align="center"/> | <td align="center"/> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">Anti-Evasion</td> | <td align="left">Anti-Evasion</td> | |||
<td align="center">x</td> | <td align="center">x</td> | |||
<td align="center"/> | <td align="center"/> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
<t>Note: With respect to TLS Inspection, there are scenarios where it | <t>Note: With respect to TLS Inspection, there are scenarios where it | |||
will be optional.</t> | will be optional.</t> | |||
<t>Below is a summary of the DUT/SUT configuration:</t> | <t>Below is a summary of the DUT/SUT configuration:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li>The DUT/SUT <bcp14>MUST</bcp14> be configured in "Inline" mode.</l | |||
<t>DUT/SUT MUST be configured in "inline" mode.</t> | i> | |||
<t/> | <li>"Fail-Open" behavior <bcp14>MUST</bcp14> be disabled.</li> | |||
</li> | <li>All <bcp14>RECOMMENDED</bcp14> security features are enabled.</li> | |||
<li> | <li>Logging and reporting <bcp14>MUST</bcp14> be enabled. The DUT/SUT | |||
<t>"Fail-Open" behavior MUST be disabled.</t> | <bcp14>SHOULD</bcp14> log all | |||
<t/> | ||||
</li> | ||||
<li> | ||||
<t>All RECOMMENDED security features are enabled.</t> | ||||
<t/> | ||||
</li> | ||||
<li> | ||||
<t>Logging and reporting MUST be enabled. DUT/SUT SHOULD log all | ||||
traffic at the flow level (5-tuple). If the DUT/SUT is designed to | 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), it is | log all traffic at different levels (e.g., IP packet levels), it is | |||
acceptable to conduct tests. However, this MUST be noted in the | acceptable to conduct tests. However, this <bcp14>MUST</bcp14> be no | |||
ted in the | ||||
test report. Logging to an external device is | test report. Logging to an external device is | |||
permissible.</t> | permissible.</li> | |||
<t/> | <li>Geographical location filtering <bcp14>SHOULD</bcp14> be configure | |||
</li> | d. If the | |||
<li> | ||||
<t>Geographical location filtering SHOULD be configured. If the | ||||
DUT/SUT is not designed to perform geographical location | DUT/SUT is not designed to perform geographical location | |||
filtering, it is acceptable to conduct tests without this feature. | filtering, it is acceptable to conduct tests without this feature. | |||
However, this MUST be noted in the test report. </t> | However, this <bcp14>MUST</bcp14> be noted in the test report.</li> | |||
<t/> | <li>Application Identification and Control <bcp14>MUST</bcp14> be conf | |||
</li> | igured to | |||
<li>Application Identification and Control MUST be configured to | ||||
trigger applications from the defined traffic mix.</li> | trigger applications from the defined traffic mix.</li> | |||
</ul> | </ul> | |||
<t>In addition, a realistic number of access control rules (ACL) | <t>In addition, a realistic number of access control lists (ACLs) | |||
SHOULD be configured on the DUT/SUT where ACLs are configurable and | <bcp14>SHOULD</bcp14> be configured on the DUT/SUT where ACLs are config | |||
urable 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 (M), | different classes of the DUT/SUT: Extra Small (XS), Small (S), Medium (M ), | |||
and Large (L). A sample DUT/SUT classification is described in <xref tar get="DUT-Classification" format="default"/>.</t> | and Large (L). A sample DUT/SUT classification is described in <xref tar get="DUT-Classification" format="default"/>.</t> | |||
<t>The Access Control Rules (ACL) defined in <xref target="figure3" form | <t>The ACLs defined in <xref target="figure3" format="default"/> | |||
at="default"/> | <bcp14>MUST</bcp14> be configured from top to bottom in the correct orde | |||
MUST be configured from top to bottom in the correct order as shown in | r, as shown in | |||
the table. This is due to ACL types listed in specificity decreasing | the table. This is due to ACL types listed in specificity-decreasing | |||
order, with "block" first, followed by "allow", representing a typical | order, with "block" first, followed by "allow", representing a typical | |||
ACL-based security policy. The ACL entries MUST be configured with | ACL-based security policy. The ACL entries <bcp14>MUST</bcp14> be config ured with | |||
routable IP prefixes by the DUT/SUT, where applicable. (Note: There | routable IP prefixes by the DUT/SUT, where applicable. (Note: There | |||
will be differences between how security vendors implement ACL | will be differences between how security vendors implement ACL | |||
decision-making.) The configured ACL MUST NOT block the test traffic | decision making.) The configured ACL <bcp14>MUST NOT</bcp14> block the t est traffic | |||
used for the benchmarking tests.</t> | used for the benchmarking tests.</t> | |||
<figure anchor="figure3"> | ||||
<table anchor="figure3"> | ||||
<name>DUT/SUT Access List</name> | <name>DUT/SUT Access List</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | <thead> | |||
+---------------+ | <tr> | |||
| DUT/SUT | | <th rowspan="1" colspan="4"></th> | |||
| Classification| | <th rowspan="1" colspan="4">DUT/SUT Classification # Rules</th> | |||
| # Rules | | </tr> | |||
+-----------+-----------+--------------------+------+---+---+---+---+ | <tr> | |||
| | Match | | | | | | | | <th>Rules Type</th> | |||
| Rules Type| Criteria | Description |Action| XS| S | M | L | | <th>Match Criteria</th> | |||
+-------------------------------------------------------------------+ | <th>Description</th> | |||
|Application|Application| Any application | block| 5 | 10| 20| 50| | <th>Action</th> | |||
|layer | | not included in | | | | | | | <th>XS</th> | |||
| | | the measurement | | | | | | | <th>S</th> | |||
| | | traffic | | | | | | | <th>M</th> | |||
+-------------------------------------------------------------------+ | <th>L</th> | |||
|Transport |SRC IP and | Any SRC IP prefix | block| 25| 50|100|250| | </tr> | |||
|layer |TCP/UDP | used and any DST | | | | | | | </thead> | |||
| |DST ports | ports not used in | | | | | | | <tbody> | |||
| | | the measurement | | | | | | | <tr> | |||
| | | traffic | | | | | | | <td>Application layer</td> | |||
+-------------------------------------------------------------------+ | <td>Application</td> | |||
|IP layer |SRC/DST IP | Any SRC/DST IP | block| 25| 50|100|250| | <td>Any application not included in the measurement traffic</td> | |||
| | | subnet not used | | | | | | | <td>block</td> | |||
| | | in the measurement | | | | | | | <td>5</td> | |||
| | | traffic | | | | | | | <td>10</td> | |||
+-------------------------------------------------------------------+ | <td>20</td> | |||
|Application|Application| Half of the | allow| 10| 10| 10| 10| | <td>50</td> | |||
|layer | | applications | | | | | | | </tr> | |||
| | | included in the | | | | | | | <tr> | |||
| | | measurement traffic| | | | | | | <td>Transport layer</td> | |||
| | |(see the note below)| | | | | | | <td>SRC IP and TCP/UDP DST ports</td> | |||
+-------------------------------------------------------------------+ | <td>Any SRC IP prefix used and any DST ports not used in the measur | |||
|Transport |SRC IP and | Half of the SRC | allow| >1| >1| >1| >1| | ement traffic</td> | |||
|layer |TCP/UDP | IPs used and any | | | | | | | <td>block</td> | |||
| |DST ports | DST ports used in | | | | | | | <td>25</td> | |||
| | | the measurement | | | | | | | <td>50</td> | |||
| | | traffic | | | | | | | <td>100</td> | |||
| | | (one rule per | | | | | | | <td>250</td> | |||
| | | subnet) | | | | | | | </tr> | |||
+-------------------------------------------------------------------+ | <tr> | |||
|IP layer |SRC IP | The rest of the | allow| >1| >1| >1| >1| | <td>IP layer</td> | |||
| | | SRC IP prefix | | | | | | | <td>SRC/DST IP</td> | |||
| | | range used in the | | | | | | | <td>Any SRC/DST IP subnet not used in the measurement traffic</td> | |||
| | | measurement | | | | | | | <td>block</td> | |||
| | | traffic | | | | | | | <td>25</td> | |||
| | | (one rule per | | | | | | | <td>50</td> | |||
| | | subnet) | | | | | | | <td>100</td> | |||
+-----------+-----------+--------------------+------+---+---+---+---+]]></artwor | <td>250</td> | |||
k> | </tr> | |||
</figure> | <tr> | |||
<td>Application layer</td> | ||||
<td>Application</td> | ||||
<td>Half of the applications included in the measurement traffic (s | ||||
ee the note below)</td> | ||||
<td>allow</td> | ||||
<td>10</td> | ||||
<td>10</td> | ||||
<td>10</td> | ||||
<td>10</td> | ||||
</tr> | ||||
<tr> | ||||
<td>Transport layer</td> | ||||
<td>SRC IP and TCP/UDP DST ports</td> | ||||
<td>Half of the SRC IPs used and any DST ports used in the measurem | ||||
ent traffic (one rule per subnet)</td> | ||||
<td>allow</td> | ||||
<td>>1</td> | ||||
<td>>1</td> | ||||
<td>>1</td> | ||||
<td>>1</td> | ||||
</tr> | ||||
<tr> | ||||
<td>IP layer</td> | ||||
<td>SRC IP</td> | ||||
<td>The rest of the SRC IP prefix range used in the measurment traf | ||||
fic (one rule per subnet)</td> | ||||
<td>allow</td> | ||||
<td>>1</td> | ||||
<td>>1</td> | ||||
<td>>1</td> | ||||
<td>>1</td> | ||||
</tr> | ||||
</tbody> | ||||
</table> | ||||
<t>Note 1: Based on the test customer's specific use case, the testers | <t>Note 1: Based on the test customer's specific use case, the testers | |||
can increase the number of rules.</t> | can increase the number of rules.</t> | |||
<t>Note 2: If half of the applications included in the test traffic is | <t>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) can | |||
be | ||||
configured for any application traffic not included in the test | configured for any application traffic not included in the test | |||
traffic.</t> | traffic.</t> | |||
<t>Note 3: In the event, the DUT/SUT is designed to not use ACLs it is | <t>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 noted | is | |||
acceptable to conduct tests without them. However, this <bcp14>MUST</bcp | ||||
14> be noted | ||||
in the test report.</t> | in the test report.</t> | |||
<section anchor="security_effectiveness" numbered="true" toc="default"> | <section anchor="security_effectiveness" numbered="true" toc="default"> | |||
<name>Security Effectiveness Configuration</name> | <name>Security Effectiveness Configuration</name> | |||
<t>The selected security features (defined in <xref target="NGFW_Secur ity_Features" format="default"/> and <xref target="NGIPS_Security_Features" form at="default"/>) of the DUT/SUT MUST be | <t>The selected security features (defined in Tables <xref target="NGF W_Security_Features" format="counter"/> and <xref target="NGIPS_Security_Feature s" format="counter"/>) of the DUT/SUT <bcp14>MUST</bcp14> be | |||
configured effectively to detect, prevent, and report the defined | configured effectively to detect, prevent, and report the defined | |||
security vulnerability sets. This section defines the selection of | security vulnerability sets. This section defines the selection of | |||
the security vulnerability sets from the Common Vulnerabilities and | the security vulnerability sets from the Common Vulnerabilities and | |||
Exposures (CVE) list for testing. The vulnerability set should | Exposures (CVEs) list <xref target="CVE" format="default"/> for testin g. The vulnerability set should | |||
reflect a minimum of 500 CVEs from no older than 10 calendar years | reflect a minimum of 500 CVEs from no older than 10 calendar years | |||
to the current year. These CVEs should be selected with a focus on | to the current year. These CVEs should be selected with a focus on | |||
in-use software commonly found in business applications, with a | in-use software commonly found in business applications, with a | |||
Common Vulnerability Scoring System (CVSS) Severity of High | Common Vulnerability Scoring System (CVSS) Severity of High | |||
(7-10).</t> | (7-10).</t> | |||
<t>This document is primarily focused on performance benchmarking. | <t>This document is primarily focused on performance benchmarking. | |||
However, it is RECOMMENDED to validate the security features | However, it is <bcp14>RECOMMENDED</bcp14> to validate the security fea tures | |||
configuration of the DUT/SUT by evaluating the security | configuration of the DUT/SUT by evaluating the security | |||
effectiveness as a prerequisite for performance benchmarking tests | effectiveness as a prerequisite for performance benchmarking tests | |||
defined in section 7. In case the benchmarking tests are performed | defined in <xref target="Benchmarking" format="default"/>. In case the | |||
without evaluating security effectiveness, the test report MUST | benchmarking tests are performed | |||
without evaluating security effectiveness, the test report <bcp14>MUST | ||||
</bcp14> | ||||
explain the implications of this. The methodology for evaluating | explain the implications of this. The methodology for evaluating | |||
security effectiveness is defined in <xref target="Test-Methodology-Se curity-Effectiveness-Evaluation" format="default"/>.</t> | security effectiveness is defined in <xref target="Test-Methodology-Se curity-Effectiveness-Evaluation" format="default"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration" numbered="true" toc="defaul t"> | <section anchor="Test_Equipment_Configuration" numbered="true" toc="defaul t"> | |||
<name>Test Equipment Configuration</name> | <name>Test Equipment Configuration</name> | |||
<t>In general, test equipment allows configuring parameters in | <t>In general, test equipment allows configuring parameters in | |||
different protocol layers. Extensive proof of concept tests conducted | different protocol layers. Extensive proof-of-concept tests conducted | |||
to support preparation of this document showed that benchmarking | to support preparation of this document showed that benchmarking | |||
results are strongly affected by the choice of protocol stack | results are strongly affected by the choice of protocol stack | |||
parameters; especially OSI layer 4 transport protocol parameters. For | parameters, especially OSI layer 4 transport protocol parameters. For | |||
more information on how TCP and QUIC parameters will impact | more information on how TCP and QUIC parameters will impact | |||
performance review <xref target="fastly" format="default"/>. To achieve | performance, review <xref target="fastly" format="default"/>. To achieve | |||
reproducible | reproducible | |||
results that will be representative for real deployment scenarios, | results that will be representative of real deployment scenarios, | |||
careful specification and documentation of the parameters are | careful specification and documentation of the parameters are | |||
required.</t> | required.</t> | |||
<t>This section specifies common test equipment configuration | <t>This section specifies common test equipment configuration | |||
parameters applicable for all benchmarking tests defined in <xref target ="Benchmarking" format="default"/>. Any benchmarking test specific | parameters applicable for all benchmarking tests defined in <xref target ="Benchmarking" format="default"/>. Any benchmarking-test-specific | |||
parameters are described under the test setup section of each | parameters are described under the test setup section of each | |||
benchmarking test individually.</t> | benchmarking test individually.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Client Configuration</name> | <name>Client Configuration</name> | |||
<t>This section specifies which parameters should be considered | <t>This section specifies which parameters should be considered | |||
while configuring emulated client endpoints in the test equipment. | while configuring emulated client endpoints in the test equipment. | |||
Also, this section specifies the RECOMMENDED values for certain | Also, this section specifies the <bcp14>RECOMMENDED</bcp14> values for certain | |||
parameters. The values are the defaults typically used in most of | parameters. The values are the defaults typically used in most of | |||
the client operating system types.</t> | the client operating system types.</t> | |||
<t>Pre-standard evaluations have shown that it is possible to set a | <t>Pre-standard evaluations have shown that it is possible to set a | |||
wide range of arbitrary parameters for OSI layer 4 transport | wide range of arbitrary parameters for OSI layer 4 transport | |||
protocols on test equipment leading to client-specific results | protocols on test equipment leading to optimization of client-specific | |||
optimization; however, only well-defined common parameter sets help | results; | |||
however, only well-defined common parameter sets help | ||||
to establish meaningful and comparable benchmarking results. For | to establish meaningful and comparable benchmarking results. For | |||
these reasons, this document recommends specific sets of transport | these reasons, this document recommends specific sets of transport | |||
protocol parameters to be configured on test equipment used for | protocol parameters to be configured on test equipment used for | |||
benchmarking.</t> | benchmarking.</t> | |||
<section anchor="TCP_Stack_client" numbered="true" toc="default"> | <section anchor="TCP_Stack_client" numbered="true" toc="default"> | |||
<name>TCP Stack Attributes</name> | <name>TCP Stack Attributes</name> | |||
<t>The TCP stack of the emulated client endpoints MUST fulfill the | <t>The TCP stack of the emulated client endpoints | |||
TCP requirements defined in <xref target="RFC9293" format="default"/ | <bcp14>MUST</bcp14> fulfill the TCP requirements defined in <xref | |||
> (See Appendix | target="RFC9293" sectionFormat="of" section="B"/>. In addition, | |||
B.). In addition, this section specifies the RECOMMENDED values | this section specifies the <bcp14>RECOMMENDED</bcp14> values for | |||
for TCP parameters configured using the following parameters:</t> | TCP parameters configured using the parameters described below.</t> | |||
<t>The IPv4 and IPv6 Maximum Segment Size (MSS) are set to 1460 | <t>The IPv4 and IPv6 Maximum Segment Sizes (MSSs) are set to 1460 | |||
bytes and 1440 bytes respectively. TX and RX initial receive | bytes and 1440 bytes, respectively. TX and RX initial receive | |||
window sizes are set to 65535 bytes. The client's initial | window sizes are set to 65535 bytes. The client's initial | |||
congestion window should not exceed 10 times the MSS. Delayed ACKs | congestion window should not exceed 10 times the MSS. Delayed ACKs | |||
are permitted and the maximum client delayed ACK should not exceed | are permitted, and the maximum client delayed ACK should not exceed | |||
10 times of the MSS before a forced ACK also, the maximum delayed | 10 times of the MSS before a forced ACK; also, the maximum delayed | |||
ACK timer is allowed to be set to 200 ms. Up to three retries are | ACK timer is allowed to be set to 200 ms. Up to three retries are | |||
allowed before a timeout event is declared. TCP PSH flag is set to | allowed before a timeout event is declared. The TCP PSH flag is set | |||
high in all traffic. The source port range is in the range of 1024 | to | |||
- 65535. The clients initiate TCP connections via a three-way | high in all traffic. The source port range is 1024-65535. | |||
The clients initiate TCP connections via a three-way | ||||
handshake (SYN, SYN/ACK, ACK) and close TCP connections via either | handshake (SYN, SYN/ACK, ACK) and close TCP connections via either | |||
a TCP three-way close (FIN, FIN/ACK, ACK) or a TCP four-way close | a TCP three-way close (FIN, FIN/ACK, ACK) or a TCP four-way close | |||
(FIN, ACK, FIN, ACK).</t> | (FIN, ACK, FIN, ACK).</t> | |||
</section> | </section> | |||
<section anchor="QUIC_Spec_Client" numbered="true" toc="default"> | <section anchor="QUIC_Spec_Client" numbered="true" toc="default"> | |||
<name>QUIC Specification</name> | <name>QUIC Specification</name> | |||
<t>QUIC stack emulation on the test equipment MUST conform to | <t>QUIC stack emulation on the test equipment <bcp14>MUST</bcp14> | |||
<xref target="RFC9000" format="default"/> and <xref target="RFC9001" | conform to <xref target="RFC9000" format="default"/> and <xref | |||
format="default"/>. This | target="RFC9001" format="default"/>. This section specifies the | |||
section specifies the RECOMMENDED values for certain QUIC | <bcp14>RECOMMENDED</bcp14> values for certain QUIC parameters to | |||
parameters to be configured on test equipment used for | be configured on test equipment used for benchmarking purposes | |||
benchmarking purposes only. QUIC Stream type (defined in section | only. The QUIC stream type (defined in <xref target="RFC9000" | |||
2.1 of <xref target="RFC9000" format="default"/>) is set to "Client- | sectionFormat="of" section="2.1"/>) is set to "Client-Initiated, | |||
Initiated, | Bidirectional". 0-RTT and early data are disabled. The QUIC connecti | |||
Bidirectional". 0-RTT and early data are Disabled. QUIC Connection | on | |||
termination method is Immediate close (section 10.2 of <xref target= | termination method is an immediate close (<xref target="RFC9000" | |||
"RFC9000" format="default"/>. Flow control is enabled. UDP payloads are set | sectionFormat="of" section="10.2"/>). Flow control is enabled. UDP | |||
to datagram size of 1232 bytes for IPv6 and 1252 bytes for IPv4. | payloads are set to the datagram size of 1232 bytes for IPv6 and 125 | |||
In addition, transport parameters and default values defined in | 2 | |||
section 18.2 of <xref target="RFC9000" format="default"/> are RECOMM | bytes for IPv4. In addition, transport parameters and default | |||
ENDED to | values defined in <xref target="RFC9000" sectionFormat="of" | |||
configure on test equipment. Also, this document references | section="18.2"/> are <bcp14>RECOMMENDED</bcp14> to configure on | |||
Appendixes B.1 and B.2 of <xref target="RFC9002" format="default"/> | test equipment. Also, this document references Appendices <xref targ | |||
for congestion | et="RFC9002" | |||
control related constants and variables. Any configured QUIC and | section="B.1" sectionFormat="bare"/> and | |||
UDP parameter(s) MUST be documented in the test report.</t> | <xref target="RFC9002" section="B.2" sectionFormat="bare"/> of <xref | |||
target="RFC9002" format="default"/> for congestion-control-related | ||||
constants and variables. Any configured QUIC and | ||||
UDP parameter <bcp14>MUST</bcp14> be documented in the test | ||||
report.</t> | ||||
</section> | </section> | |||
<section anchor="Client_IP" numbered="true" toc="default"> | <section anchor="Client_IP" numbered="true" toc="default"> | |||
<name>Client IP Address Space</name> | <name>Client IP Address Space</name> | |||
<t>The client IP space contains the following attributes.</t> | <t>The client IP space contains the following attributes.</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>If multiple IP blocks are used, they MUST be consist of | <li>If multiple IP blocks are used, they <bcp14>MUST</bcp14> consi st of | |||
multiple unique, discontinuous static address blocks.</li> | multiple unique, discontinuous static address blocks.</li> | |||
<li>A default gateway MAY be used.</li> | <li>A default gateway <bcp14>MAY</bcp14> be used.</li> | |||
<li>The DSCP (differentiated services code point) marking | <li>The differentiated services code point (DSCP) marking | |||
should be set to DF (Default Forwarding) '000000' on IPv4 Type | should be set to Default Forwarding (DF) '000000' on the IPv4 Ty | |||
of Service (ToS) field and IPv6 traffic class field.</li> | pe | |||
<li>Extension header(s) MAY be used for IPv6 clients. If | of Service (ToS) field and IPv6 Traffic Class field.</li> | |||
<li>One or more extension headers <bcp14>MAY</bcp14> be used for I | ||||
Pv6 clients. If | ||||
multiple extension headers are needed for traffic emulation, | multiple extension headers are needed for traffic emulation, | |||
this document references <xref target="RFC8200" format="default" /> to choose | this document references <xref target="RFC8200" format="default" /> to choose | |||
the correct order of the extension headers within an IPv6 | the correct order of the extension headers within an IPv6 | |||
packet. Testing with extension header(s) may impact the | packet. Testing with one or more extension headers may impact th | |||
performance of the DUT. The extension headers MUST be | e | |||
performance of the DUT. The extension headers <bcp14>MUST</bcp14 | ||||
> be | ||||
documented and reported.</li> | documented and reported.</li> | |||
</ul> | </ul> | |||
<t>The following equation can be used to define the total number | <t>The following equation can be used to define the total number | |||
of client IP addresses that need to be configured on the test | of client IP addresses that need to be configured on the test | |||
equipment.</t> | equipment.</t> | |||
<t>Desired total number of client IP addresses = Target throughput | <t indent="3">Desired total number of client IP addresses = Target th roughput | |||
[Mbit/s] / Average throughput per IP address [Mbit/s]</t> | [Mbit/s] / Average throughput per IP address [Mbit/s]</t> | |||
<t>As shown in the example list below, the value for "Average | <t>As shown in the example list below, the value for "Average | |||
throughput per IP address" can be varied depending on the | throughput per IP address" can be varied depending on the | |||
deployment and use case scenario.</t> | deployment and use case scenario.</t> | |||
<ol spacing="normal" type="(Example %d)"><li>DUT/SUT deployment scen | <ol spacing="normal" type="Example %d"> | |||
ario 1 : 6-7 Mbit/s per IP (e.g. | <li>DUT/SUT deployment scenario 1: 6-7 Mbit/s per IP (e.g., | |||
1,400-1,700 IPs per 10Gbit/s of throughput)</li> | 1,400-1,700 IPs per 10 Gbit/s of throughput)</li> | |||
<li>DUT/SUT deployment scenario 2 : 0.1-0.2 Mbit/s per IP (e.g. | <li>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)</li> | 50,000-100,000 IPs per 10 Gbit/s of throughput)</li> | |||
</ol> | </ol> | |||
<t>Client IP addresses MUST be distributed between IPv4 and IPv6 | <t>Client IP addresses <bcp14>MUST</bcp14> be distributed between IP | |||
based on deployment and use case scenario. The following options | v4 and IPv6 | |||
MAY be considered for a selection of ratios for both IP addresses | based on the deployment and use case scenario. The following options | |||
<bcp14>MAY</bcp14> be considered for a selection of ratios for both | ||||
IP addresses | ||||
and traffic load distribution.</t> | and traffic load distribution.</t> | |||
<ol spacing="normal" type="(Option %d)"><li>100 % IPv4, no IPv6</li> | <ol spacing="normal" type="Option %d"> | |||
<li>100 % IPv4, no IPv6</li> | ||||
<li>80 % IPv4, 20% IPv6</li> | <li>80 % IPv4, 20% IPv6</li> | |||
<li>50 % IPv4, 50% IPv6</li> | <li>50 % IPv4, 50% IPv6</li> | |||
<li>20 % IPv4, 80% IPv6</li> | <li>20 % IPv4, 80% IPv6</li> | |||
<li>no IPv4, 100% IPv6</li> | <li>no IPv4, 100% IPv6</li> | |||
</ol> | </ol> | |||
<t>Note: IANA has assigned IP address ranges for testing purposes | <t>Note: IANA has assigned IP address ranges for testing purposes, | |||
as described in <xref target="IANA" format="default"/>. If the test scenario | as described in <xref target="IANA" format="default"/>. If the test scenario | |||
requires more IP addresses or subnets than IANA has assigned, this | requires more IP addresses or subnets than IANA has assigned, this | |||
document recommends using private IPv4 address ranges or Unique | document recommends using private IPv4 address ranges or Unique | |||
Local Address (ULA) IPv6 address ranges for the testing.</t> | Local Address (ULA) IPv6 address ranges for the testing.</t> | |||
</section> | </section> | |||
<section anchor="Emulated_web_Browser_attributes" numbered="true" toc= "default"> | <section anchor="Emulated_web_Browser_attributes" numbered="true" toc= "default"> | |||
<name>Emulated Web Browser Attributes</name> | <name>Emulated Web Browser Attributes</name> | |||
<t>The client (emulated web browser) contains attributes that will | <t>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.</t> | result set for typical deployment scenarios.</t> | |||
<t>The emulated browser MUST negotiate HTTP version 1.1 or higher. | <t>The emulated browser <bcp14>MUST</bcp14> negotiate HTTP version 1 | |||
The emulated browser SHOULD advertise a User-Agent header. The | .1 or higher. | |||
emulated browser MUST enforce content length validation. HTTP | The emulated browser <bcp14>SHOULD</bcp14> advertise a User-Agent he | |||
header compression MAY be set to enable. If HTTP header | ader. The | |||
compression is configurable in the test equipment, it MUST be | emulated browser <bcp14>MUST</bcp14> enforce content length validati | |||
on. HTTP | ||||
header compression <bcp14>MAY</bcp14> be set to enable. If HTTP head | ||||
er | ||||
compression is configurable in the test equipment, it <bcp14>MUST</b | ||||
cp14> be | ||||
documented if it was enabled or disabled. Depending on test | documented if it was enabled or disabled. Depending on test | |||
scenarios and chosen HTTP version, the emulated browser MAY open | scenarios and the chosen HTTP version, the emulated browser <bcp14>M | |||
multiple TCP or QUIC connections per Server endpoint IP at any | AY</bcp14> open | |||
time depending on how many sequential transactions need to be | multiple TCP or QUIC connections per server endpoint IP at any | |||
time, depending on how many sequential transactions need to be | ||||
processed.</t> | processed.</t> | |||
<t>For HTTP/2 traffic emulation, the emulated browser opens | <t>For HTTP/2 traffic emulation, the emulated browser opens | |||
multiple concurrent streams per connection (multiplexing). For | multiple concurrent streams per connection (multiplexing). For | |||
HTTPS requests, the emulated browser MUST send "h2" protocol | HTTPS requests, the emulated browser <bcp14>MUST</bcp14> send an "h2 | |||
identifier using the TLS extension Application Layer Protocol | " protocol | |||
Negotiation (ALPN). The following default values (see <xref target=" | identifier using the TLS extension Application-Layer Protocol | |||
Undertow" format="default"/>) are the RECOMMENDED setting for certain | Negotiation (ALPN). The following default values (see <xref target=" | |||
Undertow" format="default"/>) are the <bcp14>RECOMMENDED</bcp14> settings for ce | ||||
rtain | ||||
HTTP/2 parameters to be configured on test equipment used for | HTTP/2 parameters to be configured on test equipment used for | |||
benchmarking purposes only:</t> | benchmarking purposes only:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Maximum Frame size: 16384 bytes</li> | <li>Maximum frame size: 16384 bytes</li> | |||
<li>Initial Window size: 65535 bytes</li> | <li>Initial window size: 65535 bytes</li> | |||
<li>HPACK Header table size: 4096 bytes</li> | <li>HPACK header field table size: 4096 bytes</li> | |||
<li>Server PUSH enable: false (Note: in <xref target="Undertow" fo | <li>Server push enable: false (Note: In <xref target="Undertow" fo | |||
rmat="default"/> the default setting is true. However, for | rmat="default"/>, the default setting is true. However, for | |||
testing purposes, this document recommends setting the value | testing purposes, this document recommends setting the value to | |||
false for server push.)</li> | false for server push.)</li> | |||
</ul> | </ul> | |||
<t>This document refers to <xref target="RFC9113" format="default"/> for further | <t>This document refers to <xref target="RFC9113" format="default"/> for further | |||
details of HTTP/2. If any additional parameters are used to | details of HTTP/2. If any additional parameters are used to | |||
configure the test equipment, they MUST be documented.</t> | configure the test equipment, they <bcp14>MUST</bcp14> be documented .</t> | |||
<t>For HTTP/3 traffic emulation, the emulated browsers initiate | <t>For HTTP/3 traffic emulation, the emulated browsers initiate | |||
secure QUIC connections using TLS 1.3 (<xref target="RFC9001" format ="default"/> | secure QUIC connections using TLS 1.3 (<xref target="RFC9001" format ="default"/> | |||
describes how TLS is used to secure QUIC). This document refers to | describes how TLS is used to secure QUIC). This document refers to | |||
<xref target="RFC9114" format="default"/> for HTTP/3 specifications. The | <xref target="RFC9114" format="default"/> for HTTP/3 specifications. The | |||
specification for transport protocol parameters is defined in | specification for transport protocol parameters is defined in | |||
<xref target="QUIC_Spec_Client" format="default"/>. QPACK | <xref target="QUIC_Spec_Client" format="default"/>. QPACK | |||
configuration settings such as MAX_TABLE_CAPACITY and | configuration settings, such as MAX_TABLE_CAPACITY and | |||
QPACK_BLOCKED_STREAMS are set to zero (default) as defined in | QPACK_BLOCKED_STREAMS, are set to zero (default), as defined in | |||
<xref target="RFC9204" format="default"/>. Any HTTP/3 parameters use d for test | <xref target="RFC9204" format="default"/>. Any HTTP/3 parameters use d for test | |||
equipment configuration MUST be documented.</t> | equipment configuration <bcp14>MUST</bcp14> be documented.</t> | |||
<t>For encrypted traffic, the following attributes are defined as | <t>For encrypted traffic, the following attributes are defined as | |||
the negotiated encryption parameters. The test clients MUST use | the negotiated encryption parameters. The test clients <bcp14>MUST</ | |||
TLS version 1.2 or higher. The TLS record size MAY be optimized | bcp14> use | |||
for the HTTPS response object size up to a record size of 16 | TLS version 1.2 or higher. The TLS record size <bcp14>MAY</bcp14> be | |||
KBytes. If Server Name Indication (SNI) is required (especially if | optimized | |||
for the HTTPS response object size, up to a record size of 16 | ||||
KB. If Server Name Indication (SNI) is required (especially if | ||||
the server is identified by a domain name), the client endpoint | the server is identified by a domain name), the client endpoint | |||
MUST send TLS extension Server Name Indication (SNI) information | <bcp14>MUST</bcp14> send TLS extension SNI information | |||
when opening a security tunnel. Each client connection MUST | when opening a security tunnel. Each client connection <bcp14>MUST</ | |||
perform a full TLS handshake and session reuse or resumption MUST | bcp14> | |||
perform a full TLS handshake, and session reuse or resumption <bcp14 | ||||
>MUST</bcp14> | ||||
be disabled. (Note: Real web browsers use session reuse or | be disabled. (Note: Real web browsers use session reuse or | |||
resumption. However, for testing purposes, this feature must not | resumption. However, for testing purposes, this feature must not | |||
be used to measure the DUT/SUT performance in the worst-case | be used to measure the DUT/SUT performance in the worst-case | |||
scenario.)</t> | scenario.)</t> | |||
<t>The following TLS 1.2 supported ciphers and keys are | <t>The following ciphers and keys supported by TLS 1.2 are | |||
RECOMMENDED for HTTPS based benchmarking tests defined in <xref targ | <bcp14>RECOMMENDED</bcp14> for the HTTPS-based benchmarking tests de | |||
et="Benchmarking" format="default"/>.</t> | fined in <xref target="Benchmarking" format="default"/>.</t> | |||
<ol spacing="normal" type="1"><li>ECDHE-ECDSA-AES128-GCM-SHA256 with | <ol spacing="normal" type="1"> | |||
Prime256v1 (Signature | <li>ECDHE-ECDSA-AES128-GCM-SHA256 with Prime256v1 (Signature | |||
Hash Algorithm: ecdsa_secp256r1_sha256 and Supported group: | Hash Algorithm: ecdsa_secp256r1_sha256 and Supported group: | |||
secp256r1)</li> | secp256r1)</li> | |||
<li>ECDHE-RSA-AES128-GCM-SHA256 with RSA 2048 (Signature Hash | <li>ECDHE-RSA-AES128-GCM-SHA256 with RSA 2048 (Signature Hash | |||
Algorithm: rsa_pkcs1_sha256 and Supported group: | Algorithm: rsa_pkcs1_sha256 and Supported group: | |||
secp256r1)</li> | secp256r1)</li> | |||
<li>ECDHE-ECDSA-AES256-GCM-SHA384 with Secp384r1 (Signature | <li>ECDHE-ECDSA-AES256-GCM-SHA384 with Secp384r1 (Signature | |||
Hash Algorithm: ecdsa_secp384r1_sha384 and Supported group: | Hash Algorithm: ecdsa_secp384r1_sha384 and Supported group: | |||
secp384r1)</li> | secp384r1)</li> | |||
<li>ECDHE-RSA-AES256-GCM-SHA384 with RSA 4096 (Signature Hash | <li>ECDHE-RSA-AES256-GCM-SHA384 with RSA 4096 (Signature Hash | |||
Algorithm: rsa_pkcs1_sha384 and Supported group: | Algorithm: rsa_pkcs1_sha384 and Supported group: | |||
secp384r1)</li> | secp384r1)</li> | |||
</ol> | </ol> | |||
<t>Note: The above ciphers and keys were those commonly used for | <t>Note: The above ciphers and keys were those commonly used for | |||
enterprise-grade encryption cipher suites for TLS 1.2 as of the | enterprise-grade encryption cipher suites for TLS 1.2 at of the | |||
time of publication (2022). Individual certification bodies should | time of publication (2023). Individual certification bodies should | |||
use ciphers and keys that reflect evolving use cases. These | use ciphers and keys that reflect evolving use cases. These | |||
choices MUST be documented in the resulting test reports with | choices <bcp14>MUST</bcp14> be documented in the resulting test repo | |||
detailed information on the ciphers and keys used along with | rts with | |||
detailed information on the ciphers and keys used, along with | ||||
reasons for the choices.</t> | reasons for the choices.</t> | |||
<t>IANA recommends the following cipher suites for use with TLS | <t>IANA recommends the following cipher suites for use with TLS | |||
1.3 defined in <xref target="RFC8446" format="default"/>.</t> | 1.3, as defined in <xref target="RFC8446" format="default"/>.</t> | |||
<ol spacing="normal" type="1"><li>TLS_AES_128_GCM_SHA256</li> | <ol spacing="normal" type="1"> | |||
<li>TLS_AES_128_GCM_SHA256</li> | ||||
<li>TLS_AES_256_GCM_SHA384</li> | <li>TLS_AES_256_GCM_SHA384</li> | |||
<li>TLS_CHACHA20_POLY1305_SHA256</li> | <li>TLS_CHACHA20_POLY1305_SHA256</li> | |||
<li>TLS_AES_128_CCM_SHA256</li> | <li>TLS_AES_128_CCM_SHA256</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Backend Server Configuration</name> | <name>Backend Server Configuration</name> | |||
<t>This section specifies which parameters should be considered | <t>This section specifies which parameters should be considered | |||
while configuring emulated backend servers using test equipment.</t> | while configuring emulated backend servers using test equipment.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>TCP Stack Attributes</name> | <name>TCP Stack Attributes</name> | |||
<t>The TCP stack on the server-side MUST be configured similar to | <t>The TCP stack on the server-side <bcp14>MUST</bcp14> be configure | |||
the client-side configuration described in <xref target="TCP_Stack_c | d similarly to | |||
lient" format="default"/></t> | the client-side configuration described in <xref target="TCP_Stack_c | |||
lient" format="default"/>.</t> | ||||
</section> | </section> | |||
<section anchor="QUIC_Spec_Server" numbered="true" toc="default"> | <section anchor="QUIC_Spec_Server" numbered="true" toc="default"> | |||
<name>QUIC Specification</name> | <name>QUIC Specification</name> | |||
<t>The QUIC parameters on the server-side MUST be configured | <t>The QUIC parameters on the server-side <bcp14>MUST</bcp14> be con | |||
similar to the client-side configuration. Any configured QUIC | figured | |||
Parameter(s) MUST be documented in the report.</t> | similarly to the client-side configuration. Any configured QUIC | |||
parameter <bcp14>MUST</bcp14> be documented in the report.</t> | ||||
</section> | </section> | |||
<section anchor="Server_IP" numbered="true" toc="default"> | <section anchor="Server_IP" numbered="true" toc="default"> | |||
<name>Server Endpoint IP Addressing</name> | <name>Server Endpoint IP Addressing</name> | |||
<t>The sum of the server IP space MUST contain the following | <t>The sum of the server IP space <bcp14>MUST</bcp14> contain the fo llowing | |||
attributes.</t> | attributes.</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>The server IP blocks MUST consist of unique, discontinuous | <li>The server IP blocks <bcp14>MUST</bcp14> consist of unique, di scontinuous | |||
static address blocks with one IP per server Fully Qualified | static address blocks with one IP per server Fully Qualified | |||
Domain Name (FQDN) endpoint per test port.</li> | Domain Name (FQDN) endpoint per test port.</li> | |||
<li>A default gateway is permitted. The DSCP (differentiated | <li>A default gateway is permitted. The | |||
services code point) marking is set to DF (Default Forwarding) | DSCP marking is set to DF | |||
'000000' on IPv4 Type of Service (ToS) field and IPv6 traffic | '000000' on the IPv4 ToS field and IPv6 Traffic | |||
class field. Extension header(s) for the IPv6 server is | Class field. One or more extension headers for the IPv6 server a | |||
re | ||||
permitted. If multiple extension headers are required, this | permitted. If multiple extension headers are required, this | |||
document referenced <xref target="RFC8200" format="default"/> to choose the | document references <xref target="RFC8200" format="default"/> to choose the | |||
correct order of the extension headers within an IPv6 | correct order of the extension headers within an IPv6 | |||
packet.</li> | packet.</li> | |||
<li>The server IP address distribution between IPv4 and IPv6 | <li>The server IP address distribution between IPv4 and IPv6 | |||
MUST be identical to the client IP address distribution | <bcp14>MUST</bcp14> be identical to the client IP address distri bution | |||
ratio.</li> | ratio.</li> | |||
</ul> | </ul> | |||
<t>Note: The IANA has assigned IP address blocks for the testing | <t>Note: IANA has assigned IP address blocks for the testing | |||
purpose as described in <xref target="IANA" format="default"/>. If t | purpose described in <xref target="IANA" format="default"/>. If the | |||
he test | test | |||
scenario requires more IP addresses or address blocks than the | scenario requires more IP addresses or address blocks than | |||
IANA assigned, this document recommends using private IPv4 address | IANA has assigned, this document recommends using private IPv4 addre | |||
ss | ||||
ranges or Unique Local Address (ULA) IPv6 address ranges for the | ranges or Unique Local Address (ULA) IPv6 address ranges for the | |||
testing.</t> | testing.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>HTTP / HTTPS Server Pool Endpoint Attributes</name> | <name>HTTP/HTTPS Server Pool Endpoint Attributes</name> | |||
<t>The HTTP 1.1 and HTTP/2 server pools listen on TCP ports 80 and | <t>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 | 443 for HTTP and HTTPS. | |||
or any port. The server MUST emulate the same HTTP version (HTTP | The HTTP/3 server pool listens on any UDP port. The server <bcp14>MUS | |||
1.1 or HTTP/2 or HTTP/3) and settings chosen by the client | T</bcp14> emulate the same HTTP version (HTTP | |||
(emulated web browser). For the HTTPS server, TLS 1.2 or higher | 1.1, HTTP/2, or HTTP/3) and settings chosen by the client | |||
MUST be used with a maximum record size of 16 KByte. Ticket | (emulated web browser). For the HTTPS server, TLS version 1.2 or hig | |||
resumption or session ID reuse MUST NOT be used for TLS 1.2 and | her | |||
also session Ticket or session cache MUST NOT be used for TLS 1.3. | <bcp14>MUST</bcp14> be used with a maximum record size of 16 KB. Tic | |||
The server MUST serve a certificate to the client. Cipher suite | ket | |||
and key size on the server-side MUST be configured similar to the | resumption or session ID reuse <bcp14>MUST NOT</bcp14> be used for T | |||
LS 1.2; | ||||
also, session ticket or session cache <bcp14>MUST NOT</bcp14> be use | ||||
d for TLS 1.3. | ||||
The server <bcp14>MUST</bcp14> serve a certificate to the client. Th | ||||
e cipher suite | ||||
and key size on the server-side <bcp14>MUST</bcp14> be configured si | ||||
milarly to the | ||||
client-side configuration described in <xref target="Emulated_web_Br owser_attributes" format="default"/>.</t> | client-side configuration described in <xref target="Emulated_web_Br owser_attributes" format="default"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Traffic Flow Definition</name> | <name>Traffic Flow Definition</name> | |||
<t>This section describes the traffic pattern between client and | <t> At the beginning of the test (the init phase; see <xref target=" | |||
server endpoints. At the beginning of the test, the server endpoint | Traffic_Load_Profile"/>), | |||
initializes and will be ready to accept connection states including | the server endpoint initializes, and the server endpoint will be | |||
initialization of the TCP or QUIC stack as well as bound HTTP and | ready to accept TCP or QUIC connections as well as inbound HTTP and | |||
HTTPS servers. When a client endpoint is needed, it will initialize | HTTPS requests. The client endpoints initialize and are given | |||
and be given attributes such as a MAC and IP address. The behavior | attributes such as a MAC and IP address. After the init phase of | |||
of the client is to sweep through the given server IP space, | the test, each client sweeps through the given server IP space, | |||
generating a recognizable service by the DUT. Sequential and | generating a service recognizable by the DUT. Sequential and | |||
pseudorandom sweep methods are acceptable. The method used MUST be | pseudorandom sweep methods are acceptable. The method used <bcp14>MUST | |||
</bcp14> be | ||||
stated in the final report. Thus, a balanced mesh between client | stated in the final report. Thus, a balanced mesh between client | |||
endpoints and server endpoints will be generated in a client IP and | endpoints and server endpoints will be generated in a client IP and | |||
port to server IP and port combination. Each client endpoint | port to server IP and port combination. Each client endpoint | |||
performs the same actions as other endpoints, with the difference | performs the same actions as other endpoints, with the difference | |||
being the source IP of the client endpoint and the target server IP | being the source IP of the client endpoint and the target server IP | |||
pool. The client MUST use the server IP address or FQDN in the host | pool. The client <bcp14>MUST</bcp14> use the server IP address or FQDN in the host | |||
header.</t> | header.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Description of Intra-Client Behavior</name> | <name>Description of Intra-Client Behavior</name> | |||
<t>Client endpoints are independent of other clients that are | <t>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 | (HTTP 1.1 or HTTP/2) will either open a new TCP connection or | |||
connect to an HTTP persistent connection still open to that | connect to an HTTP persistent connection that is still open to that | |||
specific server. HTTP/3 clients will open UDP streams within QUIC | specific server. HTTP/3 clients will open UDP streams within QUIC | |||
connections. At any point that the traffic profile may require | connections. At any point that the traffic profile may require | |||
encryption, a TLS encryption tunnel will form presenting the URL | encryption, a TLS encryption tunnel will form, presenting the URL | |||
or IP address request to the server. If using SNI, the server MUST | or IP address request to the server. If using SNI, the server | |||
then perform an SNI name check with the proposed FQDN compared to | <bcp14>MUST</bcp14> then perform an SNI name check | |||
the domain embedded in the certificate. Only when correct, will | by comparing the proposed FQDN to the domain embedded in | |||
the certificate. Only when correct will | ||||
the server process the HTTPS response object. The initial response | the server process the HTTPS response object. The initial response | |||
object to the server is based on benchmarking tests described in | object to the server is based on benchmarking tests described in | |||
<xref target="Benchmarking" format="default"/>. Multiple additional | <xref target="Benchmarking" format="default"/>. Multiple additional | |||
sub-URLs (response objects on the service page) MAY be requested | sub-URLs (response objects on the service page) <bcp14>MAY</bcp14> b | |||
simultaneously. This MAY be to the same server IP as the initial | e requested | |||
simultaneously. This <bcp14>MAY</bcp14> be to the same server IP as | ||||
the initial | ||||
URL. Each sub-object will also use a canonical FQDN and URL | URL. Each sub-object will also use a canonical FQDN and URL | |||
path.</t> | path.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Traffic_Load_Profile" numbered="true" toc="default"> | <section anchor="Traffic_Load_Profile" numbered="true" toc="default"> | |||
<name>Traffic Load Profile</name> | <name>Traffic Load Profile</name> | |||
<t>The loading of traffic is described in this section. The loading | <t>The loading of traffic is described in this section. The loading | |||
of a traffic load profile has five phases: Init, ramp up, sustain, | of a traffic load profile has five phases: Init, ramp up, sustain, | |||
ramp down, and collection.</t> | ramp down, and collection.</t> | |||
<ol spacing="normal" type="1"><li>Init phase: Testbed devices includin | <dl newline="true" spacing="normal"> | |||
g the client and server | <dt>Init phase:</dt> | |||
endpoints should negotiate layer 2-3 connectivity such as MAC | <dd>Testbed devices, including the client and server | |||
endpoints, should negotiate layer 2-3 connectivity, such as MAC | ||||
learning and ARP/ND. Only after successful MAC learning or | learning and ARP/ND. Only after successful MAC learning or | |||
ARP/ND SHALL the test iteration move to the next phase. No | ARP/ND <bcp14>SHALL</bcp14> the test iteration move to the next ph ase. No | |||
measurements are made in this phase. The minimum recommended | measurements are made in this phase. The minimum recommended | |||
time for the Init phase is 5 seconds. During this phase, the | time for the Init phase is 5 seconds. During this phase, the | |||
emulated clients MUST NOT initiate any sessions with the | emulated clients <bcp14>MUST NOT</bcp14> initiate any sessions wit | |||
DUT/SUT, in contrast, the emulated servers should be ready to | h the | |||
accept requests from DUT/SUT or emulated clients.</li> | DUT/SUT; in contrast, the emulated servers should be ready to | |||
<li>Ramp up phase: The test equipment MUST start to generate the | accept requests from the DUT/SUT or emulated clients.</dd> | |||
test traffic. It MUST use a set of the approximate number of | <dt>Ramp Up phase:</dt> | |||
unique client IP addresses to generate traffic. The traffic MUST | <dd>The test equipment <bcp14>MUST</bcp14> start to generate the | |||
ramp up from zero to desired target objective. The target | test traffic. It <bcp14>MUST</bcp14> use a set of the approximate | |||
objective is defined for each benchmarking test. The duration | number of unique client IP addresses to generate traffic. The | |||
for the ramp up phase MUST be configured long enough that the | traffic <bcp14>MUST</bcp14> ramp up from zero to the desired target | |||
test equipment does not overwhelm the DUT/SUTs stated | objective. The target objective is defined for each benchmarking | |||
performance metrics defined in <xref target="Key_Performance_Indic | test. The duration for the ramp up phase <bcp14>MUST</bcp14> be | |||
ators" format="default"/> namely, TCP or QUIC | configured long enough that the test equipment does not overwhelm | |||
Connections Per Second, Inspected Throughput, Concurrent TCP or | the DUT's/SUT's stated performance metrics defined in <xref | |||
QUIC Connections, and Application Transactions Per Second. No | target="Key_Performance_Indicators" format="default"/>, namely TCP or | |||
measurements are made in this phase.</li> | QUIC | |||
<li>Sustain phase: Starts when all required clients are active | connections per second, inspected throughput, concurrent | |||
TCP or QUIC connections, and application transactions per | ||||
second. No measurements are made in this phase.</dd> | ||||
<dt>Sustain phase:</dt> | ||||
<dd>This phase starts when all required clients are active | ||||
and operating at their desired load condition. In the sustain | and operating at their desired load condition. In the sustain | |||
phase, the test equipment MUST continue generating traffic to a | phase, the test equipment <bcp14>MUST</bcp14> continue generating traffic to a | |||
constant target value for a constant number of active clients. | constant target value for a constant number of active clients. | |||
The minimum RECOMMENDED time duration for sustain phase is 300 | The minimum <bcp14>RECOMMENDED</bcp14> time duration for the susta in phase is 300 | |||
seconds. This is the phase where measurements occur. The test | seconds. This is the phase where measurements occur. The test | |||
equipment MUST measure and record statistics continuously. The | equipment <bcp14>MUST</bcp14> measure and record statistics contin uously. The | |||
sampling interval for collecting the raw results and calculating | sampling interval for collecting the raw results and calculating | |||
the statistics MUST be less than 2 seconds.</li> | the statistics <bcp14>MUST</bcp14> be less than 2 seconds.</dd> | |||
<li>Ramp down phase: The test traffic slows down from the target | <dt>Ramp Down phase:</dt> | |||
number to 0, and no measurements are made.</li> | <dd>The test traffic slows down from the target | |||
<li>Collection phase: The last phase is administrative and will | number to 0, and no measurements are made.</dd> | |||
<dt>Collection phase:</dt> | ||||
<dd>The last phase is administrative and will | ||||
occur when the test equipment merges and collates the report | occur when the test equipment merges and collates the report | |||
data.</li> | data.</dd> | |||
</ol> | </dl> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Testbed Considerations</name> | <name>Testbed Considerations</name> | |||
<t>This section describes steps for a reference test (pre-test) that | <t>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 the RECOMMENDED steps for the reference test.</t> | Below are the <bcp14>RECOMMENDED</bcp14> steps for the reference test.</t> | |||
<ol spacing="normal" type="1"><li>Perform the reference test either by con | <ol spacing="normal" type="1"> | |||
figuring the DUT/SUT in | <li>Perform the reference test either by configuring the DUT/SUT in | |||
the most trivial setup (fast forwarding) or without the presence of | the most trivial setup (fast forwarding) or without the presence of | |||
the DUT/SUT.</li> | the DUT/SUT.</li> | |||
<li>Generate traffic from traffic generator. Choose a traffic profile | <li>Generate traffic from the traffic generator. Choose a traffic profil e | |||
used for the HTTP or HTTPS throughput performance test with the | used for the HTTP or HTTPS throughput performance test with the | |||
smallest object size.</li> | smallest object size.</li> | |||
<li>Ensure that any ancillary switching or routing functions added in | <li>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 | |||
network metrics such as packet loss and latency. This is | packet loss or latency. This is | |||
specifically important for virtualized components (e.g., vSwitches, | specifically important for virtualized components (e.g., vSwitches or | |||
vRouters).</li> | vRouters).</li> | |||
<li>Verify that the generated traffic (performance) of the test | <li>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.</li> | performance of the DUT/SUT.</li> | |||
<li>Record the network performance metrics packet loss and latency | <li>Record the network performance metrics packet loss and latency | |||
introduced by the test environment (without DUT/SUT).</li> | introduced by the test environment (without the DUT/SUT).</li> | |||
<li>Assert that the testbed characteristics are stable during the | <li>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 of | workloads in a virtualized system, load balancing, and movement of | |||
virtual machines during the test, or simple issues such as | 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.</li> | CPU performance reduction.</li> | |||
</ol> | </ol> | |||
<t>The reference test MUST be performed before the benchmarking tests | <t>The reference test <bcp14>MUST</bcp14> be performed before the benchmar | |||
(described in section 7) start.</t> | king tests | |||
(described in <xref target="Benchmarking" format="default"/>) start.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Reporting</name> | <name>Reporting</name> | |||
<t>This section describes how the benchmarking test report should be | <t>This section describes how the benchmarking test report should be | |||
formatted and presented. It is RECOMMENDED to include two main sections | formatted and presented. It is <bcp14>RECOMMENDED</bcp14> to include two m ain sections | |||
in the report: the introduction and the detailed test results | in the report: the introduction and the detailed test results | |||
sections.</t> | sections.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Introduction</name> | <name>Introduction</name> | |||
<t>The following attributes should be present in the introduction | <t>The following attributes should be present in the introduction | |||
section of the test report.</t> | section of the test report.</t> | |||
<ol spacing="normal" type="1"><li>The time and date of the execution of | <ol spacing="normal" type="1"> | |||
the tests</li> | <li>Time and date of the execution of the tests</li> | |||
<li> | <li> | |||
<t>Summary of testbed software and hardware details</t> | <t>Summary of testbed software and hardware details</t> | |||
<ol spacing="normal" type="a"><li> | <ol spacing="normal" type="a"><li> | |||
<t>DUT/SUT hardware/virtual configuration</t> | <t>DUT/SUT hardware/virtual configuration</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>This section should clearly identify the make and model | <li>Make and model | |||
of the DUT/SUT</li> | of the DUT/SUT, which should be clearly identified</li> | |||
<li>The port interfaces, including speed and link | <li>Port interfaces, including speed and link | |||
information</li> | information</li> | |||
<li>If the DUT/SUT is a Virtual Network Function (VNF), | <li>If the DUT/SUT is a Virtual Network Function (VNF)</li> | |||
host (server) hardware and software details, interface | <li>Host (server) hardware and software details</li> | |||
acceleration type such as DPDK and SR-IOV, used CPU cores, | <li>Interface acceleration type (such as Data Plane Development | |||
used RAM, resource sharing (e.g. Pinning details and NUMA | Kit (DPDK) and single-root input/output | |||
Node) configuration details, hypervisor version, virtual | virtualization (SR-IOV))</li> | |||
switch version</li> | <li>Used CPU cores</li> | |||
<li>details of any additional hardware relevant to the | <li>Used RAM</li> | |||
DUT/SUT such as controllers</li> | <li>Resource sharing (e.g., pinning details and Non-Uniform Mem | |||
ory Access (NUMA) | ||||
node) configuration details</li> | ||||
<li>Hypervisor version</li> | ||||
<li>Virtual switch version</li> | ||||
<li>Details of any additional hardware relevant to the | ||||
DUT/SUT, such as controllers</li> | ||||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>DUT/SUT software</t> | <t>DUT/SUT software</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Operating system name</li> | <li>Operating system name</li> | |||
<li>Version</li> | <li>Version</li> | |||
<li>Specific configuration details (if any)</li> | <li>Specific configuration details (if any)</li> | |||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>DUT/SUT enabled features</t> | <t>DUT-/SUT-enabled features</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Configured DUT/SUT features (see <xref target="NGFW_Securi | <li>Configured DUT/SUT features (see Tables <xref target="NGFW | |||
ty_Features" format="default"/> and <xref target="NGIPS_Security_Features" forma | _Security_Features" format="counter"/> and <xref target="NGIPS_Security_Features | |||
t="default"/>)</li> | " format="counter"/>)</li> | |||
<li>Attributes of the above-mentioned features</li> | <li>Attributes of the abovementioned features</li> | |||
<li>Any additional relevant information about the | <li>Any additional relevant information about the | |||
features</li> | features</li> | |||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Test equipment hardware and software </t> | <t>Test equipment hardware and software </t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Test equipment vendor name</li> | <li>Test equipment vendor name</li> | |||
<li>Hardware details including model number, interface | <li>Hardware details, including model number and interface | |||
type</li> | type</li> | |||
<li>Test equipment firmware and test application software | <li>Test equipment firmware and test application software | |||
version</li> | version</li> | |||
<li>If the test equipment is a virtual solution, the host | <li>If the test equipment is a virtual solution</li> | |||
(server) hardware and software details, interface | <li>The host | |||
acceleration type such as DPDK and SR-IOV, used CPU cores, | (server) hardware and software details</li> | |||
used RAM, resource sharing (e.g. Pinning details and NUMA | <li>Interface acceleration type (such as DPDK and SR-IOV)</li | |||
Node) configuration details, hypervisor version, virtual | > | |||
switch version</li> | <li>Used CPU cores</li> | |||
<li>Used RAM</li> | ||||
<li>Resource sharing (e.g., pinning details and NUMA | ||||
node) configuration details</li> | ||||
<li>Hypervisor version</li> | ||||
<li>Virtual switch version</li> | ||||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Key test parameters</t> | <t>Key test parameters</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Used cipher suites and keys</li> | <li>Used cipher suites and keys</li> | |||
<li>IPv4 and IPv6 traffic distribution</li> | <li>IPv4 and IPv6 traffic distribution</li> | |||
<li>Number of configured ACL</li> | <li>Number of configured ACLs</li> | |||
<li>TCP, UDP stack parameter if tested</li> | <li>TCP and UDP stack parameter, if tested</li> | |||
<li>QUIC, HTTP/2, and HTTP/3 parameters if tested</li> | <li>QUIC, HTTP/2, and HTTP/3 parameters, if tested</li> | |||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Details of application traffic mix used in the benchmarking | <t>Details of the application traffic mix used in the benchmarki | |||
test <xref format="default" target="Throughput_Performance_With_ | ng | |||
Traffic_Mix">"Throughput | test <xref format="default" target="Throughput_Performance_With_ | |||
Performance with Application Traffic Mix"</xref></t> | Traffic_Mix">Throughput | |||
Performance with Application Traffic Mix</xref></t> | ||||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Name of applications and layer 7 protocols</li> | <li>Name of applications and layer 7 protocols</li> | |||
<li>Percentage of emulated traffic for each application and | <li>Percentage of emulated traffic for each application and | |||
layer 7 protocols</li> | layer 7 protocols</li> | |||
<li>Percentage of encrypted traffic and used cipher suites | <li>Percentage of encrypted traffic, used cipher suites, | |||
and keys (The RECOMMENDED ciphers and keys are defined in | and keys (the <bcp14>RECOMMENDED</bcp14> ciphers and keys ar | |||
e defined in | ||||
<xref target="Emulated_web_Browser_attributes" format="defau lt"/>)</li> | <xref target="Emulated_web_Browser_attributes" format="defau lt"/>)</li> | |||
<li>Used object sizes for each application and layer 7 | <li>Used object sizes for each application and layer 7 | |||
protocols</li> | protocols</li> | |||
</ul> | </ul> | |||
</li> | </li> | |||
</ol> | </ol> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Results Summary / Executive Summary</t> | <t>Results Summary / Executive Summary</t> | |||
<ol spacing="normal" type="a"><li>Results should be presented with a | <ol spacing="normal" type="a"> | |||
n introduction section | <li>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 | |||
read block.</li> | block.</li> | |||
</ol> | </ol> | |||
</li> | </li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Detailed Test Results</name> | <name>Detailed Test Results</name> | |||
<t>In the result section of the test report, the following attributes | <t>In the results section of the test report, the following attributes | |||
should be present for each benchmarking test.</t> | should be present for each benchmarking test.</t> | |||
<ol spacing="normal" type="a"><li>KPIs MUST be documented separately for | <ol spacing="normal" type="a"> | |||
each benchmarking test. | <li>KPIs <bcp14>MUST</bcp14> be documented separately for each benchmar | |||
The format of the KPI metrics MUST be presented as described in | king test. | |||
The format of the KPI metrics <bcp14>MUST</bcp14> be presented as de | ||||
scribed in | ||||
<xref target="Key_Performance_Indicators" format="default"/>.</li> | <xref target="Key_Performance_Indicators" format="default"/>.</li> | |||
<li>The next level of detail should be graphs showing each of these | <li>The next level of details should be graphs showing each of these | |||
metrics over the duration (sustain phase) of the test. This allows | metrics over the duration (sustain phase) of the test. This allows | |||
the user to see the measured performance stability changes over | the user to see the measured performance stability changes over | |||
time.</li> | time.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section anchor="Key_Performance_Indicators" numbered="true" toc="default" > | <section anchor="Key_Performance_Indicators" numbered="true" toc="default" > | |||
<name>Benchmarks and Key Performance Indicators</name> | <name>Benchmarks and Key Performance Indicators</name> | |||
<t>This section lists key performance indicators (KPIs) for overall | <t>This section lists key performance indicators (KPIs) for overall | |||
benchmarking tests. All KPIs MUST be measured during the sustain phase | benchmarking tests. All KPIs <bcp14>MUST</bcp14> be measured during the | |||
of the traffic load profile described in <xref target="Traffic_Load_Prof | sustain phase | |||
ile" format="default"/>. Also, the KPIs MUST be measured from | of the traffic load profile described in <xref target="Traffic_Load_Prof | |||
ile" format="default"/>. Also, the KPIs <bcp14>MUST</bcp14> be measured from | ||||
the result output of test equipment.</t> | the result output of test equipment.</t> | |||
<ul spacing="normal"> | <dl newline="true" spacing="normal"> | |||
<li> | <dt>Concurrent TCP Connections</dt> | |||
<t>Concurrent TCP Connections</t> | <dd>The aggregate number of simultaneous connections between hosts | |||
<t>The aggregate number of | across the DUT/SUT or between hosts and the DUT/SUT (defined in | |||
simultaneous connections between hosts across the DUT/SUT, or | <xref target="RFC2647" format="default"/>).</dd> | |||
between hosts and the DUT/SUT (defined in <xref target="RFC2647" for | <dt>Concurrent QUIC Connections</dt> | |||
mat="default"/>).</t> | <dd>The aggregate number of simultaneous connections between hosts | |||
</li> | across the DUT/SUT.</dd> | |||
<li> | <dt>TCP Connections Per Second</dt> | |||
<t>Concurrent QUIC Connections</t> | <dd>The average number of successfully established TCP connections | |||
<t>The aggregate number of | per second between hosts across the DUT/SUT or between hosts and | |||
simultaneous connections between hosts across the DUT/SUT.</t> | the DUT/SUT. As described in <xref target="TCP_Stack_client" | |||
</li> | format="default"/>, the TCP connections are initiated by clients | |||
<li> | via a TCP three-way handshake (SYN, SYN/ACK, ACK). Then, the TCP | |||
<t>TCP Connections Per Second</t> | session data is sent, and then the TCP sessions are closed via | |||
<t>The average number of | either a TCP three-way close (FIN, FIN/ACK, ACK) or a TCP four-way | |||
successfully established TCP connections per second between hosts | close (FIN, ACK, FIN, ACK). The TCP sessions <bcp14>MUST | |||
across the DUT/SUT, or between hosts and the DUT/SUT. As described | NOT</bcp14> be closed by RST.</dd> | |||
in <xref target="TCP_Stack_client" format="default"/>, the TCP conne | <dt>QUIC Connections Per Second</dt> | |||
ctions are | <dd><t>The average number of successfully established QUIC | |||
initiated by clients via a TCP three-way handshake (SYN, SYN/ACK, | connections per second between hosts across the DUT/SUT. As | |||
ACK). Then the TCP session data is sent and then the TCP sessions | described in <xref target="QUIC_Spec_Client" format="default"/>, | |||
are closed via either a TCP three-way close (FIN, FIN/ACK, ACK) or | the QUIC connections are initiated by clients. Then, the data is | |||
a TCP four-way close (FIN, ACK, FIN, ACK). The TCP sessions MUST | sent, and then the QUIC sessions are closed by the "immediate close" | |||
NOT be closed by RST.</t> | method.</t> | |||
</li> | <t>Since the QUIC specification defined in <xref | |||
<li> | target="QUIC_Spec_Client" format="default"/> recommends disabling | |||
<t>QUIC Connections Per Second</t> | 0-RTT and early data, this KPI is focused on the | |||
<t>The average number of | 1-RTT handshake. If | |||
successfully established QUIC connections per second between hosts | required, 0-RTT can be also measured in separate test runs while | |||
across the DUT/SUT. As described in <xref target="QUIC_Spec_Client" | enabling 0-RTT and early data in the test equipment.</t></dd> | |||
format="default"/>, the QUIC connections are initiated by | <dt>Application Transactions Per Second</dt> | |||
clients. Then the data is sent and then the QUIC sessions are | <dd>The average number of successfully completed transactions per | |||
closed by "immediate close" method.</t> | second. For a particular transaction to be considered successful, | |||
<t>Since QUIC | all data <bcp14>MUST</bcp14> have been transferred in its | |||
specification defined in <xref target="QUIC_Spec_Client" format="def | entirety. In case of an HTTP(S) transaction, it <bcp14>MUST</bcp14> | |||
ault"/> | have a valid status code (200 OK).</dd> | |||
recommends disabling 0-RTT and early data, this KPI focused on | <dt>TLS Handshake Rate</dt> | |||
1-RTT handshake. If required, 0-RTT can be also measured in | <dd><t>The average number of successfully established TLS connection | |||
separate test runs while enabling 0-RTT and early data in the test | s | |||
equipment.</t> | per second between hosts across the DUT/SUT or between hosts and | |||
</li> | the DUT/SUT.</t> | |||
<li> | <t>For TLS 1.3, the handshake rate can be measured with the 0-RTT or | |||
<t>Application Transactions Per Second</t> | 1-RTT handshake. The transport protocol can be either TCP or | |||
<t>The average number | QUIC.</t></dd> | |||
of successfully completed transactions per second. For a | <dt>Inspected Throughput</dt> | |||
particular transaction to be considered successful, all data MUST | <dd>The number of bits per second of examined and allowed traffic | |||
have been transferred in its entirety. In case of HTTP(S) | a network security device is able to transmit to the correct | |||
transactions, it MUST have a valid status code (200 OK).</t> | destination interface(s) in response to a specified offered | |||
</li> | load. The throughput benchmarking tests defined in <xref | |||
<li> | target="Benchmarking" format="default"/> <bcp14>SHOULD</bcp14> | |||
<t>TLS Handshake Rate</t> | measure the average layer 2 throughput value when the DUT/SUT is | |||
<t>The average number of successfully | "inspecting" traffic. It is also acceptable to measure other OSI | |||
established TLS connections per second between hosts across the | layer throughput. However, the measured layer (e.g., layer 3 | |||
DUT/SUT, or between hosts and the DUT/SUT.</t> | throughput) <bcp14>MUST</bcp14> be noted in the report, and the | |||
<t>For TLS1.3 the | user <bcp14>MUST</bcp14> be aware of the implication while | |||
handshake rate can be measured with 0-RTT or 1-RTT handshake. The | comparing the throughput performance of multiple DUTs/SUTs measured | |||
transport protocol can be either TCP or QUIC.</t> | in different OSI layers. This document recommends presenting the | |||
</li> | inspected throughput value in Gbit/s rounded to two places of | |||
<li> | precision with a more specific kbit/s in parenthesis.</dd> | |||
<t>Inspected Throughput</t> | <dt>Time to First Byte (TTFB)</dt> | |||
<t>The number of bits per second of | <dd>The elapsed time between the start of sending the TCP | |||
examined and allowed traffic a network security device is able to | SYN packet or QUIC initial Client Hello from the client and the | |||
transmit to the correct destination interface(s) in response to a | client receiving the first packet of application data from the | |||
specified offered load. The throughput benchmarking tests defined | server via the DUT/SUT. The benchmarking tests <xref | |||
in <xref target="Benchmarking" format="default"/> SHOULD measure the | target="HTTP-Latency" format="default">HTTP transaction | |||
average Layer 2 throughput value when the DUT/SUT is "inspecting" | latency</xref> and <xref target="HTTPS-Latency" | |||
traffic. It is also acceptable to measure other OSI Layer | format="default">HTTPS transaction latency</xref> measure the | |||
throughput. However, the measured layer (e.g. Layer 3 throughput) | minimum, average, and maximum TTFB. The value should be expressed | |||
MUST be noted in the report and the user MUST be aware of the | in milliseconds.</dd> | |||
implication while comparing the throughput performance of multiple | <dt>URL Response Time / Time to Last Byte (TTLB)</dt> | |||
DUT/SUTs measured in different OSI Layers. This document | <dd>The elapsed time between the start | |||
recommends presenting the inspected throughput value in Gbit/s | of sending the TCP SYN packet or QUIC initial Client Hello from | |||
rounded to two places of precision with a more specific Kbit/s in | the client and the client receiving the last packet of application | |||
parenthesis.</t> | data from the server via the DUT/SUT. The benchmarking tests <xref | |||
</li> | target="HTTP-Latency" format="default">HTTP transaction | |||
<li> | latency</xref> and <xref target="HTTPS-Latency" | |||
<t>Time to First Byte (TTFB)</t> | format="default">HTTPS transaction latency</xref> measure the | |||
<t>TTFB is the elapsed time | minimum, average, and maximum TTLB. The value should be expressed | |||
between the start of sending the TCP SYN packet or QUIC initial | in milliseconds.</dd> | |||
Client Hello from the client and the client receiving the first | </dl> | |||
packet of application data from the server via DUT/SUT. The | ||||
benchmarking tests <xref target="HTTP-Latency" format="default">HTTP | ||||
Transaction Latency</xref> and <xref target="HTTPS-Latency" format=" | ||||
default">HTTPS Transaction Latency</xref> measure | ||||
the minimum, average and maximum TTFB. The value should be | ||||
expressed in milliseconds.</t> | ||||
</li> | ||||
<li> | ||||
<t>URL Response time / Time to Last Byte (TTLB)</t> | ||||
<t>URL | ||||
Response time / TTLB is 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 last packet of application | ||||
data from the server via DUT/SUT. The benchmarking tests <xref targe | ||||
t="HTTP-Latency" format="default">HTTP Transaction | ||||
Latency</xref> and <xref target="HTTPS-Latency" format="default">HTT | ||||
PS Transaction Latency</xref> measure | ||||
the minimum, average and maximum TTLB. The value should be | ||||
expressed in milliseconds.</t> | ||||
</li> | ||||
</ul> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Benchmarking" numbered="true" toc="default"> | <section anchor="Benchmarking" numbered="true" toc="default"> | |||
<name>Benchmarking Tests</name> | <name>Benchmarking Tests</name> | |||
<t>This section mainly focuses on the benchmarking tests with HTTP/1.1 | <t>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 for | particular, this section does not define specific benchmarking tests for | |||
QUIC or HTTP/3 related KPIs. However, the test methodology defined in | KPIs related to QUIC or HTTP/3. | |||
the benchmarking tests <xref format="default" target="HTTPS_CPS">TCP/QUIC | However, the test methodology defined in | |||
Connections Per Second with HTTPS | the benchmarking tests <xref format="default" target="HTTPS_CPS">TCP or QU | |||
Traffic</xref>, <xref format="default" target="HTTPS-Latency">HTTPS | IC connections per second with HTTPS | |||
Transaction Latency</xref>, <xref format="default" target="HTTPS_TP">HTTPS | traffic</xref>, <xref format="default" target="HTTPS-Latency">HTTPS | |||
Throughput</xref>, and <xref format="default" target="HTTPS_CC">Concurrent TCP/ | transaction latency</xref>, <xref format="default" target="HTTPS_TP">HTTPS | |||
QUIC Connection Capacity with HTTPS | throughput</xref>, and <xref format="default" target="HTTPS_CC">concurrent TCP | |||
Traffic </xref> can be used to test QUIC or HTTP/3 related KPIs. The | or QUIC connection capacity with HTTPS | |||
traffic</xref> can be used to test KPIs related to QUIC or HTTP/3. The | ||||
throughput performance test with the application traffic mix defined in | throughput performance test with the application traffic mix defined in | |||
<xref target="Throughput_Performance_With_Traffic_Mix" format="default"/> | <xref target="Throughput_Performance_With_Traffic_Mix" format="default"/> | |||
can be performed with any other application traffic including | can be performed with any other application traffic, including | |||
HTTP/3.</t> | HTTP/3.</t> | |||
<section anchor="Throughput_Performance_With_Traffic_Mix" numbered="true" toc="default"> | <section anchor="Throughput_Performance_With_Traffic_Mix" numbered="true" toc="default"> | |||
<name>Throughput Performance with Application Traffic Mix</name> | <name>Throughput Performance with Application Traffic Mix</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Using a relevant application traffic mix, determine the | <t>Using a relevant application traffic mix, determine the | |||
sustainable inspected throughput supported by the DUT/SUT.</t> | sustainable inspected throughput supported by the DUT/SUT.</t> | |||
<t>Based on the test customer's specific use case, testers can | <t>Based on the test customer's specific use case, testers can | |||
choose the relevant application traffic mix for this test. The | choose the relevant application traffic mix for this test. The | |||
details about the traffic mix MUST be documented in the report. At | details about the traffic mix <bcp14>MUST</bcp14> be documented in the | |||
least the following traffic mix details MUST be documented and | report. At | |||
least, the following traffic mix details <bcp14>MUST</bcp14> be docume | ||||
nted and | ||||
reported together with the test results:</t> | reported together with the test results:</t> | |||
<ul empty="true" spacing="normal"> | <ul spacing="normal"> | |||
<li>Name of applications and layer 7 protocols</li> | <li>Name of applications and layer 7 protocols</li> | |||
<li>Percentage of emulated traffic for each application and layer | <li>Percentage of emulated traffic for each application and layer | |||
7 protocol</li> | 7 protocol</li> | |||
<li>Percentage of encrypted traffic and used cipher suites and | <li>Percentage of encrypted traffic and used cipher suites and | |||
keys (The RECOMMENDED ciphers and keys are defined in <xref target ="Emulated_web_Browser_attributes" format="default"/>.)</li> | keys (the <bcp14>RECOMMENDED</bcp14> ciphers and keys are defined in <xref target="Emulated_web_Browser_attributes" format="default"/>)</li> | |||
<li>Used object sizes for each application and layer 7 | <li>Used object sizes for each application and layer 7 | |||
protocols</li> | protocols</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any benchmarking test specific testbed | xref target="Test_Setup" format="default"/>. Any benchmarking-test-specific test | |||
configuration changes MUST be documented.</t> | bed | |||
configuration changes <bcp14>MUST</bcp14> be documented.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, the benchmarking test specific parameters are | <t>In this section, the benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented. In case | for this specific benchmarking test <bcp14>MUST</bcp14> be documente | |||
the DUT/SUT is configured without TLS inspection, the test report | d. If the DUT/SUT is configured without TLS inspection, the test report <bcp14>M | |||
MUST explain the implications of this to the relevant application | UST</bcp14> explain how this impacts the encrypted traffic of the relevant appli | |||
traffic mix encrypted traffic.</t> | cation traffic mix.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_TC_7_1" numbe red="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_TC_7_1" numbe red="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<ul empty="true" spacing="normal"> | <ul spacing="normal"> | |||
<li>Client IP address ranges defined in <xref target="Client_IP" f | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
ormat="default"/></li> | format="default"/></li> | |||
<li>Server IP address ranges defined in <xref target="Server_IP" f | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
ormat="default"/></li> | format="default"/></li> | |||
<li>Traffic distribution ratio between IPv4 and IPv6 defined in | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<xref target="Client_IP" format="default"/></li> | <xref target="Client_IP" format="default"/></li> | |||
<li>Target inspected throughput: Aggregated line rate of the | <li>Target inspected throughput: Aggregated line rate of one or | |||
interface(s) used in the DUT/SUT or the value defined based on | more interfaces used in the DUT/SUT or the value defined based o | |||
n | ||||
the requirement for a specific deployment scenario</li> | the requirement for a specific deployment scenario</li> | |||
<li>Initial throughput: 10% of the "Target inspected | <li><t>Initial throughput: 10% of the "Target inspected | |||
throughput" Note: Initial throughput is not a KPI to report. | throughput"</t> | |||
This value is configured on the traffic generator and used to | <t>Note: Initial throughput is not a KPI to report. This value | |||
perform Step 1: "Test Initialization and Qualification" | is configured on the traffic generator and used to perform Step | |||
described under <xref target="Test_Procedures_and_Expected_Resul | 1 (Test Initialization and Qualification) described in <xref | |||
ts_TC_7_1" format="default"/>.</li> | target="Test_Procedures_and_Expected_Results_TC_7_1" | |||
<li>One of the ciphers and keys defined in <xref target="Emulated_ | format="default"/>.</t></li> | |||
web_Browser_attributes" format="default"/> are RECOMMENDED to | <li>One of the ciphers and keys defined in <xref | |||
use for this benchmarking test.</li> | target="Emulated_web_Browser_attributes" format="default"/> is | |||
</ul> | <bcp14>RECOMMENDED</bcp14> to use for this benchmarking | |||
test.</li> | ||||
</ul> | ||||
</section> | </section> | |||
<section anchor="Traffic_Profile" numbered="true" toc="default"> | <section anchor="Traffic_Profile" numbered="true" toc="default"> | |||
<name>Traffic Profile</name> | <name>Traffic Profile</name> | |||
<t>Traffic profile: This test MUST be run with a relevant | <t>This test <bcp14>MUST</bcp14> be run with a relevant | |||
application traffic mix profile.</t> | application traffic mix profile.</t> | |||
</section> | </section> | |||
<section anchor="Test_Results_Validation_Criteria_7_1" numbered="true" toc="default"> | <section anchor="Test_Results_Validation_Criteria_7_1" numbered="true" toc="default"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions MUST be less than | <li>The number of failed application transactions <bcp14>MUST</bcp1 | |||
0.001% (1 out of 100,000 transactions) of total attempted | 4> be less than | |||
0.001% (1 out of 100,000 transactions) of the attempted | ||||
transactions.</li> | transactions.</li> | |||
<li>Number of Terminated TCP connections due to unexpected TCP | <li>The number of terminated TCP connections due to unexpected TCP | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | |||
connections) of total initiated TCP connections.</li> | (1 out of 100,000 | |||
connections) of the total initiated TCP connections.</li> | ||||
<li>If HTTP/3 is used, the number of failed QUIC connections | <li>If HTTP/3 is used, the number of failed QUIC connections | |||
due to unexpected HTTP/3 error codes MUST be less than 0.001% | due to unexpected HTTP/3 error codes <bcp14>MUST</bcp14> be less | |||
(1 out of 100,000 connections) of total initiated QUIC | than 0.001% | |||
(1 out of 100,000 connections) of the total initiated QUIC | ||||
connections.</li> | connections.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section anchor="Measurement_7_1" numbered="true" toc="default"> | <section anchor="Measurement_7_1" numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>The following KPI metrics MUST be reported for this | <t>The following KPI metrics <bcp14>MUST</bcp14> be reported for thi s | |||
benchmarking test:</t> | benchmarking test:</t> | |||
<t>Mandatory KPIs (benchmarks): Inspected Throughput and | <ul spacing="normal"> | |||
Application Transactions Per Second</t> | <li><t>Mandatory KPIs (benchmarks): inspected throughput and | |||
<t>Note: TTLB MUST be reported along with the object size used in | application transactions per second</t> | |||
the traffic profile.</t> | <t>Note: The TTLB <bcp14>MUST</bcp14> be reported along | |||
<t>Optional TCP stack related KPIs: TCP Connections Per Second, | with the object size used in the traffic profile.</t></li> | |||
TLS Handshake Rate, TTFB (minimum, average, and maximum), TTLB | <li>Optional TCP-stack-related KPIs: TCP connections per second, | |||
(minimum, average, and maximum)</t> | TLS handshake rate, TTFB (minimum, average, and maximum), TTLB | |||
<t>Optional QUIC stack related KPIs: QUIC connection per second | (minimum, average, and maximum)</li> | |||
and concurrent QUIC connections</t> | <li>Optional QUIC-stack-related KPIs: QUIC connections per second | |||
and concurrent QUIC connections</li></ul> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_1" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_1" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedures are designed to measure the inspected | <t>The test procedures are designed to measure the inspected | |||
throughput performance of the DUT/SUT at the sustaining period of | throughput performance of the DUT/SUT at the sustaining period of | |||
the traffic load profile. The test procedure consists of three major | the 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 throughput) and meets the test results validation | value (initial throughput) and meets the test results validation | |||
criteria when it was very minimally utilized. Step 2 determines | criteria when it was very minimally utilized. Step 2 determines | |||
whether the DUT/SUT is able to reach the target performance value | whether the DUT/SUT is able to reach the target performance value | |||
within the test results validation criteria. Step 3 determines the | within the test results validation criteria. Step 3 determines the | |||
maximum achievable performance value within the test results | maximum achievable performance value within the test results | |||
validation criteria.</t> | validation criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w ith different | |||
IP types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic | IP types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic | |||
distribution.</t> | distribution.</t> | |||
<section anchor="Step1_Test_Initialization" numbered="true" toc="defau lt"> | <section anchor="Step1_Test_Initialization" numbered="true" toc="defau lt"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
generate test traffic at the "Initial throughput" rate as | generate test traffic at the "initial throughput" rate, as | |||
described in <xref target="Test_Equipment_Configuration_Parameters_T C_7_1" format="default"/>. The | described in <xref target="Test_Equipment_Configuration_Parameters_T C_7_1" format="default"/>. The | |||
test equipment MUST follow the traffic load profile definition as | test equipment <bcp14>MUST</bcp14> follow the traffic load profile d efinition | |||
described in <xref target="Traffic_Load_Profile" format="default"/>. The DUT/SUT | described in <xref target="Traffic_Load_Profile" format="default"/>. The DUT/SUT | |||
MUST reach the "Initial throughput" during the sustain phase. | <bcp14>MUST</bcp14> reach the "initial throughput" during the sustai | |||
Measure all KPI as defined in <xref target="Measurement_7_1" format= | n phase. | |||
"default"/>. The measured KPIs during the sustain | Measure all KPIs, as defined in <xref target="Measurement_7_1" forma | |||
phase MUST meet all the test results validation criteria defined | t="default"/>. The measured KPIs during the sustain | |||
phase <bcp14>MUST</bcp14> meet all the test results validation crite | ||||
ria defined | ||||
in <xref target="Test_Results_Validation_Criteria_7_1" format="defau lt"/>.</t> | in <xref target="Test_Results_Validation_Criteria_7_1" format="defau lt"/>.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to step 2.</t> | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to Step 2.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to generate traffic at the "Target | <t>Configure test equipment to generate traffic at the "Target | |||
inspected throughput" rate defined in <xref target="Test_Equipment_C onfiguration_Parameters_TC_7_1" format="default"/>. The | inspected throughput" rate defined in <xref target="Test_Equipment_C onfiguration_Parameters_TC_7_1" format="default"/>. The | |||
test equipment MUST follow the traffic load profile definition as | test equipment <bcp14>MUST</bcp14> follow the traffic load profile d efinition | |||
described in <xref target="Traffic_Load_Profile" format="default"/>. The test | described in <xref target="Traffic_Load_Profile" format="default"/>. The test | |||
equipment MUST start to measure and record all specified KPIs. | equipment <bcp14>MUST</bcp14> start to measure and record all specif ied KPIs. | |||
Continue the test until all traffic profile phases are | Continue the test until all traffic profile phases are | |||
completed.</t> | completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective | expected to reach the desired value of the target objective | |||
("Target inspected throughput") in the sustain phase. Follow step | ("Target inspected throughput") in the sustain phase. Follow Step | |||
3, if the measured value does not meet the target value or does | 3 if the measured value does not meet the target value or does | |||
not fulfill the test results validation criteria.</t> | not fulfill the test results validation criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable average inspected throughput within | <t>Determine the achievable average inspected throughput within | |||
the test results validation criteria. The final test iteration | the test results validation criteria. The final test iteration | |||
MUST be performed for the test duration defined in <xref target="Tra ffic_Load_Profile" format="default"/>.</t> | <bcp14>MUST</bcp14> be performed for the test duration defined in <x ref target="Traffic_Load_Profile" format="default"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTP_CPS" numbered="true" toc="default"> | <section anchor="HTTP_CPS" numbered="true" toc="default"> | |||
<name>TCP/HTTP Connections Per Second</name> | <name>TCP Connections Per Second with HTTP Traffic</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Using HTTP traffic, determine the sustainable TCP connection | <t>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.</t> | throughput load conditions.</t> | |||
<t>To measure connections per second, test iterations MUST use | <t>To measure connections per second, test iterations <bcp14>MUST</bcp 14> use | |||
different fixed HTTP response object sizes (the different load | different fixed HTTP response object sizes (the different load | |||
conditions) defined in <xref target="Test_Equipment_Configuration_Para meters_HTTP_CPS" format="default"/>.</t> | conditions) defined in <xref target="Test_Equipment_Configuration_Para meters_HTTP_CPS" format="default"/>.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTP_CPS" num bered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTP_CPS" num bered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> | |||
requirements defined in <xref target="Test_Equipment_Configuration" | conform to the requirements defined in <xref | |||
format="default"/>. The following parameters | target="Test_Equipment_Configuration" format="default"/>. The | |||
MUST be documented for this benchmarking test:</t> | following parameters <bcp14>MUST</bcp14> be documented for this | |||
<t>Client IP address ranges defined in <xref target="Client_IP" form | benchmarking test:</t> | |||
at="default"/></t> | <ul spacing="normal"> | |||
<t>Server IP address ranges defined in <xref target="Server_IP" form | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
at="default"/></t> | format="default"/></li> | |||
<t>Traffic distribution ratio between IPv4 and IPv6 defined in | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
<xref target="Client_IP" format="default"/></t> | format="default"/></li> | |||
<t>Target connections per second: Initial value from product | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
datasheet or the value defined based on the requirement for a | <xref target="Client_IP" format="default"/></li> | |||
specific deployment scenario</t> | <li>Target connections per second: Initial value from the product | |||
<t>Initial connections per second: 10% of "Target connections per | datasheet or the value defined based on the requirement for a | |||
second" (Note: Initial connections per second is not a KPI to | specific deployment scenario</li> | |||
report. This value is configured on the traffic generator and used | <li><t>Initial connections per second: 10% of "Target connections | |||
to perform Step1: "Test Initialization and Qualification" | per second"</t> | |||
described under <xref target="Test_Procedures_and_Expected_Results_T | <t>Note: Initial connections per second is not a KPI | |||
C_7_2" format="default"/>.)</t> | to report. This value is configured on the traffic generator and | |||
<t>The client MUST negotiate HTTP and close the connection with | used to perform Step 1 (Test Initialization and Qualification) | |||
FIN immediately after the completion of one transaction. In each | described in <xref | |||
test iteration, the client MUST send a GET request requesting a | target="Test_Procedures_and_Expected_Results_TC_7_2" | |||
fixed HTTP response object size.</t> | format="default"/>.</t></li> | |||
<t>The RECOMMENDED response object sizes are 1, 2, 4, 16, and 64 | <li>The <bcp14>RECOMMENDED</bcp14> response object sizes are 1, | |||
KByte.</t> | 2, 4, 16, and 64 KB.</li> | |||
</ul> | ||||
<t>The client <bcp14>MUST</bcp14> negotiate HTTP and close the | ||||
connection with FIN immediately after the completion of one | ||||
transaction. In each test iteration, the client | ||||
<bcp14>MUST</bcp14> send a GET request requesting a fixed HTTP | ||||
response object size.</t> | ||||
</section> | </section> | |||
<section anchor="Validation_Criteria_HTTP_CPS" numbered="true" toc="de fault"> | <section anchor="Validation_Criteria_HTTP_CPS" numbered="true" toc="de fault"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The Test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of total attempted | s than 0.001% | |||
(1 out of 100,000 transactions) of the attempted | ||||
transactions.</li> | transactions.</li> | |||
<li>Number of terminated TCP connections due to unexpected TCP | <li>The number of terminated TCP connections due to unexpected TCP | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | |||
connections) of total initiated TCP connections.</li> | (1 out of 100,000 | |||
<li>During the sustain phase, traffic MUST be forwarded at a | connections) of the total initiated TCP connections.</li> | |||
constant rate (considered as a constant rate if any deviation | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwa | |||
of traffic forwarding rate is less than 5%).</li> | rded at a | |||
<li>Concurrent TCP connections MUST be constant during steady | constant rate (it is considered as a constant rate if any deviat | |||
state and any deviation of concurrent TCP connections MUST be | ion | |||
of the traffic forwarding rate is less than 5%).</li> | ||||
<li>Concurrent TCP connections <bcp14>MUST</bcp14> be constant dur | ||||
ing steady | ||||
state, and any deviation of concurrent TCP connections <bcp14>MU | ||||
ST</bcp14> be | ||||
less than 10%. This confirms the DUT opens and closes TCP | less than 10%. This confirms the DUT opens and closes TCP | |||
connections at approximately the same rate.</li> | connections at approximately the same rate.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>TCP Connections Per Second MUST be reported for each test | <t>TCP connections per second <bcp14>MUST</bcp14> be reported for ea ch test | |||
iteration (for each object size).</t> | iteration (for each object size).</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_2" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_2" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure the TCP connections per | <t> The test procedure is designed to measure the DUT/SUT's rate of | |||
second rate of the DUT/SUT at the sustaining period of the traffic | TCP | |||
load profile. The test procedure consists of three major steps: Step | connections per second during the sustaining period of the traffic | |||
load profile. The test procedure consists of three major steps. Step | ||||
1 ensures the DUT/SUT is able to reach the performance value | 1 ensures the DUT/SUT is able to reach the performance value | |||
(Initial connections per second) and meets the test results | (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 | 3 determines the maximum achievable performance value within the | |||
test results validation criteria.</t> | test results validation criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w ith different | |||
IP types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic | IP types: IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic | |||
distribution.</t> | distribution.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
establish "Initial connections per second" as defined in <xref targe | establish "Initial connections per second", as defined in <xref targ | |||
t="Test_Equipment_Configuration_Parameters_HTTP_CPS" format="default"/>. The | et="Test_Equipment_Configuration_Parameters_HTTP_CPS" format="default"/>. The | |||
traffic load profile MUST be defined as described in <xref target="T | traffic load profile <bcp14>MUST</bcp14> be defined as described in | |||
raffic_Load_Profile" format="default"/>.</t> | <xref target="Traffic_Load_Profile" format="default"/>.</t> | |||
<t>The DUT/SUT MUST reach the "Initial connections per second" | <t>The DUT/SUT <bcp14>MUST</bcp14> reach the "Initial connections pe | |||
r second" | ||||
before the sustain phase. The measured KPIs during the sustain | before the sustain phase. The measured KPIs during the sustain | |||
phase MUST meet all the test results validation criteria defined | phase <bcp14>MUST</bcp14> meet all the test results validation crite ria defined | |||
in <xref target="Validation_Criteria_HTTP_CPS" format="default"/>.</ t> | in <xref target="Validation_Criteria_HTTP_CPS" format="default"/>.</ t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT continue to "Step 2".</t> | criteria, the test procedure <bcp14>MUST NOT</bcp14> continue to Ste p 2.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the target objective | <t>Configure test equipment to establish the target objective | |||
("Target connections per second") defined in <xref target="Test_Equi pment_Configuration_Parameters_HTTP_CPS" format="default"/>. The | ("Target connections per second") defined in <xref target="Test_Equi pment_Configuration_Parameters_HTTP_CPS" format="default"/>. The | |||
test equipment MUST follow the traffic load profile definition as | test equipment <bcp14>MUST</bcp14> follow the traffic load profile d efinition | |||
described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | |||
<t>During the ramp up and sustain phase of each test iteration, | <t>During the ramp up and sustain phases of each test iteration, | |||
other KPIs such as inspected throughput, concurrent TCP | other KPIs, such as inspected throughput, concurrent TCP | |||
connections, and application transactions per second MUST NOT | connections, and application transactions per second, <bcp14>MUST NO | |||
T</bcp14> | ||||
reach the maximum value the DUT/SUT can support. The test results | reach the maximum value the DUT/SUT can support. The test results | |||
for specific test iterations MUST NOT be reported as valid results | for specific test iterations <bcp14>MUST NOT</bcp14> be reported as | |||
if the above mentioned KPI (especially inspected throughput) | valid results | |||
reaches the maximum value. (Example: If the test iteration with 64 | if the abovementioned KPI (especially inspected throughput) | |||
KByte of HTTP response object size reached the maximum inspected | reaches the maximum value. (For example, if the test iteration with | |||
throughput limitation of the DUT/SUT, the test iteration MAY be | 64 | |||
interrupted and the result for 64 KByte must not be reported.)</t> | KB of HTTP response object size reached the maximum inspected | |||
<t>The test equipment MUST start to measure and record all | throughput limitation of the DUT/SUT, the test iteration <bcp14>MAY< | |||
/bcp14> be | ||||
interrupted and the result for 64 KB must not be reported.)</t> | ||||
<t>The test equipment <bcp14>MUST</bcp14> start to measure and recor | ||||
d all | ||||
specified KPIs. Continue the test until all traffic profile phases | specified KPIs. Continue the test until all traffic profile phases | |||
are completed.</t> | are completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective | expected to reach the desired value of the target objective | |||
("Target connections per second") in the sustain phase. Follow | ("Target connections per second") in the sustain phase. Follow | |||
step 3, if the measured value does not meet the target value or | Step 3 if the measured value does not meet the target value or | |||
does not fulfill the test results validation criteria.</t> | does not fulfill the test results validation criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable TCP connections per second within the | <t>Determine the achievable TCP connections per second within the | |||
test results validation criteria.</t> | test results validation criteria.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTP_TP" numbered="true" toc="default"> | <section anchor="HTTP_TP" numbered="true" toc="default"> | |||
<name>HTTP Throughput</name> | <name>HTTP Throughput</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Determine the sustainable inspected throughput of the DUT/SUT for | <t>Determine the sustainable inspected throughput of the DUT/SUT for | |||
HTTP transactions varying the HTTP response object size.</t> | HTTP transactions varying the HTTP response object size.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTP_TP" numb ered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTP_TP" numb ered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<t>Client IP address ranges defined in <xref target="Client_IP" form | <ul> | |||
at="default"/></t> | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
<t>Server IP address ranges defined in <xref target="Server_IP" form | format="default"/></li> | |||
at="default"/></t> | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
<t>Traffic distribution ratio between IPv4 and IPv6 defined in | format="default"/></li> | |||
<xref target="Client_IP" format="default"/></t> | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<t>Target inspected throughput: Aggregated line rate of the | <xref target="Client_IP" format="default"/></li> | |||
interface(s) used in the DUT/SUT or the value defined based on the | <li>Target inspected throughput: Aggregated line rate of one | |||
requirement for a specific deployment scenario</t> | or more interfaces used in the DUT/SUT or the value defined based o | |||
<t>Initial throughput: 10% of "Target inspected throughput" Note: | n | |||
Initial throughput is not a KPI to report. This value is | the requirement for a specific deployment scenario</li> | |||
configured on the traffic generator and used to perform Step 1: | <li><t>Initial throughput: 10% of "Target inspected throughput"</t> | |||
"Test Initialization and Qualification" described under <xref target | <t>Note: Initial throughput is not a KPI to report. This value is | |||
="Test_Procedures_and_Expected_Results_TC_7_3" format="default"/>.</t> | configured on the traffic generator and used to perform Step 1 | |||
<t>Number of HTTP response object requests (transactions) per | (Test Initialization and Qualification) described in <xref | |||
connection: 10</t> | target="Test_Procedures_and_Expected_Results_TC_7_3" | |||
<t>RECOMMENDED HTTP response object size: 1, 16, 64, 256 KByte, | format="default"/>.</t></li> | |||
and mixed objects defined in <xref target="table4" format="default"/ | <li>Number of HTTP response object requests (transactions) per | |||
>.</t> | connection: 10</li> | |||
<li><bcp14>RECOMMENDED</bcp14> HTTP response object size: 1, 16, | ||||
64, and 256 KB and mixed objects defined in <xref | ||||
target="table4" format="default"/></li> | ||||
</ul> | ||||
<table anchor="table4" align="center"> | <table anchor="table4" align="center"> | |||
<name>Mixed Objects</name> | <name>Mixed Objects</name> | |||
<thead> | <thead> | |||
<tr> | <tr> | |||
<th align="left">Object size (KByte)</th> | <th align="left">Object size (KB)</th> | |||
<th align="left">Number of requests/ Weight</th> | <th align="left">Number of requests / Weight</th> | |||
</tr> | </tr> | |||
</thead> | </thead> | |||
<tbody> | <tbody> | |||
<tr> | <tr> | |||
<td align="left">0.2</td> | <td align="left">0.2</td> | |||
<td align="left">1</td> | <td align="left">1</td> | |||
</tr> | </tr> | |||
<tr> | <tr> | |||
<td align="left">6</td> | <td align="left">6</td> | |||
<td align="left">1</td> | <td align="left">1</td> | |||
skipping to change at line 1555 ¶ | skipping to change at line 1608 ¶ | |||
<tr> | <tr> | |||
<td align="left">347</td> | <td align="left">347</td> | |||
<td align="left">1</td> | <td align="left">1</td> | |||
</tr> | </tr> | |||
</tbody> | </tbody> | |||
</table> | </table> | |||
</section> | </section> | |||
<section anchor="Validation_Criteria_HTTP_TP" numbered="true" toc="def ault"> | <section anchor="Validation_Criteria_HTTP_TP" numbered="true" toc="def ault"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of attempt transactions.</li> | s than 0.001% | |||
<li>Traffic MUST be forwarded at a constant rate (considered as | (1 out of 100,000 transactions) of the total attempted transacti | |||
a constant rate if any deviation of traffic forwarding rate is | ons.</li> | |||
<li>Traffic <bcp14>MUST</bcp14> be forwarded at a constant rate (i | ||||
t is considered as | ||||
a constant rate if any deviation of the traffic forwarding rate | ||||
is | ||||
less than 5%).</li> | less than 5%).</li> | |||
<li>Concurrent TCP connections MUST be constant during steady | <li>Concurrent TCP connections <bcp14>MUST</bcp14> be constant dur | |||
state and any deviation of concurrent TCP connections MUST be | ing steady | |||
state, and any deviation of concurrent TCP connections <bcp14>MU | ||||
ST</bcp14> be | ||||
less than 10%. This confirms the DUT opens and closes TCP | less than 10%. This confirms the DUT opens and closes TCP | |||
connections at approximately the same rate.</li> | connections at approximately the same rate.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section anchor="Measurement_TP" numbered="true" toc="default"> | <section anchor="Measurement_TP" numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>Inspected Throughput and HTTP Transactions per Second MUST be | <t>Inspected throughput and HTTP transactions per second <bcp14>MUST </bcp14> be | |||
reported for each object size.</t> | reported for each object size.</t> | |||
<t/> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_3" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_3" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure HTTP throughput of the | <t>The test procedure is designed to measure HTTP throughput of the | |||
DUT/ SUT. The test procedure consists of three major steps: Step 1 | DUT/ 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 is | |||
able to reach the target performance value within the test results | 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.</t> | performance value within the test results validation criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple | |||
IPv4 and IPv6 traffic distribution and HTTP response object | times with different IPv4 and IPv6 traffic distributions and HTTP | |||
sizes.</t> | response object sizes.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
establish "Initial inspected throughput" as defined in <xref target= | establish "initial throughput", as defined in <xref target="Test_Equ | |||
"Test_Equipment_Configuration_Parameters_HTTP_TP" format="default"/>.</t> | ipment_Configuration_Parameters_HTTP_TP" format="default"/>.</t> | |||
<t>The traffic load profile MUST be defined as described in <xref ta | <t>The traffic load profile <bcp14>MUST</bcp14> be defined as descri | |||
rget="Traffic_Load_Profile" format="default"/>. The DUT/SUT MUST reach the | bed in <xref target="Traffic_Load_Profile" format="default"/>. The DUT/SUT <bcp1 | |||
"Initial inspected throughput" during the sustain phase. Measure | 4>MUST</bcp14> reach the | |||
all KPI as defined in <xref target="Measurement_TP" format="default" | "initial throughput" during the sustain phase. Measure | |||
/>.</t> | all KPIs, as defined in <xref target="Measurement_TP" format="defaul | |||
<t>The measured KPIs during the sustain phase MUST meet the test | t"/>.</t> | |||
<t>The measured KPIs during the sustain phase <bcp14>MUST</bcp14> me | ||||
et the test | ||||
results validation criteria "a" defined in <xref target="Validation_ Criteria_HTTP_TP" format="default"/>. The test results | results validation criteria "a" defined in <xref target="Validation_ Criteria_HTTP_TP" format="default"/>. The test results | |||
validation criteria "b" and "c" are OPTIONAL for step 1.</t> | validation criteria "b" and "c" are <bcp14>OPTIONAL</bcp14> for Step 1.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the target objective | <t>Configure test equipment to establish the target objective | |||
("Target inspected throughput") defined in <xref target="Test_Equipm ent_Configuration_Parameters_HTTP_TP" format="default"/>. The | ("Target inspected throughput") defined in <xref target="Test_Equipm ent_Configuration_Parameters_HTTP_TP" format="default"/>. The | |||
test equipment MUST start to measure and record all specified | test equipment <bcp14>MUST</bcp14> start to measure and record all s pecified | |||
KPIs. Continue the test until all traffic profile phases are | KPIs. Continue the test until all traffic profile phases are | |||
completed.</t> | completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective in the | expected to reach the desired value of the target objective in the | |||
sustain phase. Follow step 3, if the measured value does not meet | sustain phase. Follow Step 3 if the measured value does not meet | |||
the target value or does not fulfill the test results validation | the target value or does not fulfill the test results validation | |||
criteria.</t> | criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable inspected throughput within the test | <t>Determine the achievable inspected throughput within the test | |||
results validation criteria and measure the KPI metric | results validation criteria and measure the KPI metric | |||
Transactions per Second. The final test iteration MUST be | transactions per second. The final test iteration <bcp14>MUST</bcp14 > be | |||
performed for the test duration defined in <xref target="Traffic_Loa d_Profile" format="default"/>.</t> | performed for the test duration defined in <xref target="Traffic_Loa d_Profile" format="default"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTP-Latency" numbered="true" toc="default"> | <section anchor="HTTP-Latency" numbered="true" toc="default"> | |||
<name>HTTP Transaction Latency</name> | <name>HTTP Transaction Latency</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Using HTTP traffic, determine the HTTP transaction latency when | <t>Using HTTP traffic, determine the HTTP transaction latency when the | |||
DUT is running with sustainable HTTP transactions per second | DUT is running with sustainable HTTP transactions per second | |||
supported by the DUT/SUT under different HTTP response object | supported by the DUT/SUT under different HTTP response object | |||
sizes.</t> | sizes.</t> | |||
<t>Test iterations MUST be performed with different HTTP response | <t>Test iterations <bcp14>MUST</bcp14> be performed with different HTT | |||
object sizes in two different scenarios. One with a single | P response | |||
object sizes in two different scenarios: one with a single | ||||
transaction and the other with multiple transactions within a single | transaction and the other with multiple transactions within a single | |||
TCP connection. For consistency, both the single and multiple | TCP connection. For consistency, both the single and multiple | |||
transaction tests MUST be configured with the same HTTP version</t> | transaction tests <bcp14>MUST</bcp14> be configured with the same HTTP | |||
<t>Scenario 1: The client MUST negotiate HTTP and close the | version.</t> | |||
<t>Scenario 1: The client <bcp14>MUST</bcp14> negotiate HTTP and close | ||||
the | ||||
connection with FIN immediately after the completion of a single | connection with FIN immediately after the completion of a single | |||
transaction (GET and RESPONSE).</t> | transaction (GET and RESPONSE).</t> | |||
<t>Scenario 2: The client MUST negotiate HTTP and close the | <t>Scenario 2: The client <bcp14>MUST</bcp14> negotiate HTTP and close | |||
connection FIN immediately after the completion of 10 transactions | the | |||
connection with FIN immediately after the completion of 10 transaction | ||||
s | ||||
(GET and RESPONSE) within a single TCP connection.</t> | (GET and RESPONSE) within a single TCP connection.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTP_latency" numbered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTP_latency" numbered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<t>Client IP address ranges defined in <xref target="Client_IP" form | <ul spacing="normal"> | |||
at="default"/></t> | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
<t>Server IP address ranges defined in <xref target="Server_IP" form | format="default"/></li> | |||
at="default"/></t> | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
<t>Traffic distribution ratio between IPv4 and IPv6 defined in | format="default"/></li> | |||
<xref target="Client_IP" format="default"/></t> | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<t/> | <xref target="Client_IP" format="default"/></li> | |||
<t>Target objective for scenario 1: 50% of the connections per | <li>Target objective for scenario 1: 50% of the connections per | |||
second measured in benchmarking test <xref format="default" target=" | second measured in the benchmarking test <xref format="default" | |||
HTTP_CPS">TCP/HTTP Connections Per Second</xref></t> | target="HTTP_CPS">TCP connections per second with HTTP traffic</xre | |||
<t>Target objective for scenario 2: 50% of the inspected | f></li> | |||
throughput measured in benchmarking test <xref format="default" targ | <li>Target objective for scenario 2: 50% of the inspected | |||
et="HTTP_TP">HTTP Throughput</xref></t> | throughput measured in the benchmarking test <xref format="default" | |||
<t>Initial objective for scenario 1: 10% of "Target objective for | target="HTTP_TP">HTTP throughput</xref></li> | |||
scenario 1"</t> | <li>Initial objective for scenario 1: 10% of "Target objective | |||
<t>Initial objective for scenario 2: 10% of "Target objective for | for scenario 1"</li> | |||
scenario 2"</t> | <li><t>Initial objective for scenario 2: 10% of "Target objective | |||
<t>Note: The Initial objectives are not a KPI to report. These | for scenario 2"</t> | |||
values are configured on the traffic generator and used to perform | <t>Note: The initial objectives are not KPIs to | |||
Step1: "Test Initialization and Qualification" described under | report. These values are configured on the traffic generator and | |||
<xref target="Test_Procedures_and_Expected_Results_TC_7_4" format="d | used to perform Step 1 (Test Initialization and Qualification) | |||
efault"/>.</t> | described in <xref | |||
<t>HTTP transaction per TCP connection: Test scenario 1 with a | target="Test_Procedures_and_Expected_Results_TC_7_4" | |||
single transaction and test scenario 2 with 10 transactions.</t> | format="default"/>.</t></li> | |||
<t>HTTP with GET request requesting a single object. The | <li>HTTP transaction per TCP connection: Test scenario 1 with a | |||
RECOMMENDED object sizes are 1, 16, and 64 KByte. For each test | single transaction and test scenario 2 with 10 transactions</li> | |||
iteration, the client MUST request a single HTTP response object | <li>HTTP with GET request requesting a single object: The | |||
size.</t> | <bcp14>RECOMMENDED</bcp14> object sizes are 1, 16, and 64 | |||
KB. For each test iteration, the client <bcp14>MUST</bcp14> | ||||
request a single HTTP response object size.</li> | ||||
</ul> | ||||
</section> | </section> | |||
<section anchor="Validation_Criteria_HTTP_Latency" numbered="true" toc ="default"> | <section anchor="Validation_Criteria_HTTP_Latency" numbered="true" toc ="default"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The Test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of attempt transactions.</li> | s than 0.001% | |||
<li>Number of terminated TCP connections due to unexpected TCP | (1 out of 100,000 transactions) of the total attempted transacti | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | ons.</li> | |||
connections) of total initiated TCP connections.</li> | <li>The number of terminated TCP connections due to unexpected TCP | |||
<li>During the sustain phase, traffic MUST be forwarded at a | RST sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | |||
constant rate (considered as a constant rate if any deviation | (1 out of 100,000 | |||
of traffic forwarding rate is less than 5%).</li> | connections) of the total initiated TCP connections.</li> | |||
<li>Concurrent TCP connections MUST be constant during steady | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwa | |||
state and any deviation of concurrent TCP connections MUST be | rded at a | |||
constant rate (it is considered as a constant rate if any deviat | ||||
ion | ||||
of the traffic forwarding rate is less than 5%).</li> | ||||
<li>Concurrent TCP connections <bcp14>MUST</bcp14> be constant dur | ||||
ing steady | ||||
state, and any deviation of concurrent TCP connections <bcp14>MU | ||||
ST</bcp14> be | ||||
less than 10%. This confirms the DUT opens and closes TCP | less than 10%. This confirms the DUT opens and closes TCP | |||
connections at approximately the same rate.</li> | connections at approximately the same rate.</li> | |||
<li>After ramp up the DUT MUST achieve the "Target objective" | <li>After ramp up, the DUT <bcp14>MUST</bcp14> achieve the target objectives | |||
defined in <xref target="Test_Equipment_Configuration_Parameters _HTTP_latency" format="default"/> | defined in <xref target="Test_Equipment_Configuration_Parameters _HTTP_latency" format="default"/> | |||
and remain in that state for the entire test duration (sustain | and remain in that state for the entire test duration (sustain | |||
phase).</li> | phase).</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>TTFB (minimum, average, and maximum) and TTLB (minimum, | <t>The TTFB (minimum, average, and maximum) and TTLB (minimum, | |||
average, and maximum) MUST be reported for each object size.</t> | average, and maximum) <bcp14>MUST</bcp14> be reported for each objec | |||
t size.</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_4" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_4" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure TTFB or TTLB when the | <t>The test procedure is designed to measure the TTFB or TTLB when the | |||
DUT/SUT is operating close to 50% of its maximum achievable | DUT/SUT is operating close to 50% of its maximum achievable | |||
connections per second or inspected throughput. The test procedure | connections per second or inspected throughput. The test procedure | |||
consists of two major steps: Step 1 ensures the DUT/SUT is able to | consists of two major steps. Step 1 ensures the DUT/SUT is able to | |||
reach the initial performance values and meets the test results | reach the initial performance values 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 | |||
measures the latency values within the test results validation | measures the latency values within the test results validation | |||
criteria.</t> | criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times | |||
IP types (IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic | with different IP types (IPv4 only, IPv6 only, and IPv4 and IPv6 | |||
distribution), HTTP response object sizes, and single and multiple | mixed traffic distribution), HTTP response object sizes, and single | |||
transactions per connection scenarios.</t> | and multiple transactions per connection scenarios.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
establish the "Initial objective" as defined in <xref target="Test_E | establish the initial objectives, as defined in <xref target="Test_E | |||
quipment_Configuration_Parameters_HTTP_latency" format="default"/>. | quipment_Configuration_Parameters_HTTP_latency" format="default"/>. | |||
The traffic load profile MUST be defined as described in <xref targe | The traffic load profile <bcp14>MUST</bcp14> be defined as described | |||
t="Traffic_Load_Profile" format="default"/>.</t> | in <xref target="Traffic_Load_Profile" format="default"/>.</t> | |||
<t>The DUT/SUT MUST reach the "Initial objective" before the | <t>The DUT/SUT <bcp14>MUST</bcp14> reach the initial objectives befo | |||
sustain phase. The measured KPIs during the sustain phase MUST | re the | |||
sustain phase. The measured KPIs during the sustain phase <bcp14>MUS | ||||
T</bcp14> | ||||
meet all the test results validation criteria defined in <xref targe t="Validation_Criteria_HTTP_Latency" format="default"/>.</t> | meet all the test results validation criteria defined in <xref targe t="Validation_Criteria_HTTP_Latency" format="default"/>.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the "Target objective" | <t>Configure test equipment to establish the target objectives | |||
defined in <xref target="Test_Equipment_Configuration_Parameters_HTT P_latency" format="default"/>. | defined in <xref target="Test_Equipment_Configuration_Parameters_HTT P_latency" format="default"/>. | |||
The test equipment MUST follow the traffic load profile definition | The test equipment <bcp14>MUST</bcp14> follow the traffic load profi | |||
as described in <xref target="Traffic_Load_Profile" format="default" | le definition | |||
/>.</t> | described in <xref target="Traffic_Load_Profile" format="default"/>. | |||
<t>The test equipment MUST start to measure and record all | </t> | |||
<t>The test equipment <bcp14>MUST</bcp14> start to measure and recor | ||||
d all | ||||
specified KPIs. Continue the test until all traffic profile phases | specified KPIs. Continue the test until all traffic profile phases | |||
are completed.</t> | are completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT MUST | <t>Within the test results validation criteria, the DUT/SUT <bcp14>M UST</bcp14> | |||
reach the desired value of the target objective in the sustain | reach the desired value of the target objective in the sustain | |||
phase.</t> | phase.</t> | |||
<t>Measure the minimum, average, and maximum values of TTFB and | <t>Measure the minimum, average, and maximum values of the TTFB and | |||
TTLB.</t> | TTLB.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Concurrent TCP/HTTP Connection Capacity</name> | <name>Concurrent TCP Connection Capacity with HTTP Traffic</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Determine the number of concurrent TCP connections that the DUT/ | <t>Determine the number of concurrent TCP connections that the DUT/SUT | |||
SUT sustains when using HTTP traffic.</t> | sustains when | |||
using HTTP traffic.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section anchor="CC_parameter" numbered="true" toc="default"> | <section anchor="CC_parameter" numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTP_CC" numb ered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTP_CC" numb ered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be noted for this benchmarking test:</t> | <bcp14>MUST</bcp14> be noted for this benchmarking test:</t> | |||
<ul empty="true" spacing="normal"> | <ul spacing="normal"> | |||
<li>Client IP address ranges defined in <xref target="Client_IP" f | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
ormat="default"/></li> | format="default"/></li> | |||
<li>Server IP address ranges defined in <xref target="Server_IP" f | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
ormat="default"/></li> | format="default"/></li> | |||
<li>Traffic distribution ratio between IPv4 and IPv6 defined in | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<xref target="Client_IP" format="default"/></li> | <xref target="Client_IP" format="default"/></li> | |||
<li>Target concurrent connection: Initial value from product | <li>Target concurrent connection: 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.</li> | specific deployment scenario</li> | |||
<li>Initial concurrent connection: 10% of "Target concurrent | <li><t>Initial concurrent connection: 10% of "Target concurrent | |||
connection" Note: Initial concurrent connection is not a KPI | connection"</t> | |||
to report. This value is configured on the traffic generator | <t>Note: Initial concurrent connection is not a KPI to | |||
and used to perform Step1: "Test Initialization and | report. This value is configured on the traffic generator and | |||
Qualification" described under <xref target="Test_Procedures_and | used to perform Step 1 (Test Initialization and Qualification) | |||
_Expected_Results_TC_7_5" format="default"/>.</li> | described in <xref | |||
target="Test_Procedures_and_Expected_Results_TC_7_5" | ||||
format="default"/>.</t></li> | ||||
<li>Maximum connections per second during ramp up phase: 50% of | <li>Maximum connections per second during ramp up phase: 50% of | |||
maximum connections per second measured in benchmarking test | maximum connections per second measured in the benchmarking test | |||
<xref target="HTTP_CPS" format="default">TCP/HTTP Connections pe | <xref target="HTTP_CPS" format="default">TCP connections per | |||
r | second with HTTP traffic</xref></li> | |||
second</xref></li> | ||||
<li>Ramp up time (in traffic load profile for "Target | <li>Ramp up time (in traffic load profile for "Target | |||
concurrent connection"): "Target concurrent connection" / | concurrent connection"): "Target concurrent connection" / | |||
"Maximum connections per second during ramp up phase"</li> | "Maximum connections per second during ramp up phase"</li> | |||
<li>Ramp up time (in traffic load profile for "Initial | <li>Ramp up time (in traffic load profile for "Initial | |||
concurrent connection"): "Initial concurrent connection" / | concurrent connection"): "Initial concurrent connection" / | |||
"Maximum connections per second during ramp up phase"</li> | "Maximum connections per second during ramp up phase"</li></ul> | |||
</ul> | <t>The client <bcp14>MUST</bcp14> negotiate HTTP, and each | |||
<t>The client MUST negotiate HTTP and each client MAY open | client <bcp14>MAY</bcp14> open multiple concurrent TCP | |||
multiple concurrent TCP connections per server endpoint IP.</t> | connections per server endpoint IP.</t> | |||
<t>Each client sends 10 GET requests requesting 1 KByte HTTP | <t>Each client sends 10 GET requests requesting 1 KB HTTP | |||
response object in the same TCP connection (10 transactions/TCP | response object in the same TCP connection (10 | |||
connection) and the delay (think time) between each transaction | transactions / TCP connections), and the delay (think time) | |||
MUST be X seconds.</t> | between each transaction <bcp14>MUST</bcp14> be X seconds, where | |||
<t>X = ("Ramp up time" + "steady state time") /10</t> | X is as follows.</t> | |||
<t>The established connections MUST remain open until the ramp | <t indent="3">X = ("Ramp up time" + "steady state time") / 10</t> | |||
<t>The established connections <bcp14>MUST</bcp14> remain open until | ||||
the ramp | ||||
down phase of the test. During the ramp down phase, all | down phase of the test. During the ramp down phase, all | |||
connections MUST be successfully closed with FIN.</t> | connections <bcp14>MUST</bcp14> be successfully closed with FIN.</t> | |||
</section> | </section> | |||
<section anchor="CC_Test_Results_Validation_Criteria" numbered="true" toc="default"> | <section anchor="CC_Test_Results_Validation_Criteria" numbered="true" toc="default"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The Test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of total attempted | s than 0.001% | |||
(1 out of 100,000 transactions) of the total attempted | ||||
transactions.</li> | transactions.</li> | |||
<li>Number of terminated TCP connections due to unexpected TCP | <li>The number of terminated TCP connections due to unexpected TCP | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RST sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | |||
connections) of total initiated TCP connections.</li> | (1 out of 100,000 | |||
<li>During the sustain phase, traffic MUST be forwarded at a | connections) of the total initiated TCP connections.</li> | |||
constant rate (considered as a constant rate if any deviation | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwa | |||
of traffic forwarding rate is less than 5%).</li> | rded at a | |||
constant rate (it is considered as a constant rate if any deviat | ||||
ion | ||||
of the traffic forwarding rate is less than 5%).</li> | ||||
</ol> | </ol> | |||
</section> | </section> | |||
<section anchor="CC_Measurement" numbered="true" toc="default"> | <section anchor="CC_Measurement" numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>Average Concurrent TCP Connections MUST be reported for this | <t>Average concurrent TCP connections <bcp14>MUST</bcp14> be reporte d for this | |||
benchmarking test.</t> | benchmarking test.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_5" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_5" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure the concurrent TCP | <t>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 | 3 determines the maximum achievable performance value within the | |||
test results validation criteria.</t> | test results validation criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w ith different | |||
IPv4 and IPv6 traffic distributions.</t> | IPv4 and IPv6 traffic distributions.</t> | |||
<section anchor="CC_Step1_Test_Initialization" numbered="true" toc="de fault"> | <section anchor="CC_Step1_Test_Initialization" numbered="true" toc="de fault"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure test equipment to establish "Initial concurrent TCP | <t>Configure test equipment to establish "Initial concurrent | |||
connections" defined in <xref target="Test_Equipment_Configuration_P arameters_HTTP_CC" format="default"/>. Except | connections" defined in <xref target="Test_Equipment_Configuration_P arameters_HTTP_CC" format="default"/>. Except | |||
ramp up time, the traffic load profile MUST be defined as | ramp up time, the traffic load profile <bcp14>MUST</bcp14> be define d as | |||
described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | |||
<t>During the sustain phase, the DUT/SUT MUST reach the "Initial | <t>During the sustain phase, the DUT/SUT <bcp14>MUST</bcp14> reach t | |||
concurrent TCP connections". The measured KPIs during the sustain | he "Initial | |||
phase MUST meet all the test results validation criteria defined | concurrent connections". The measured KPIs during the sustain | |||
phase <bcp14>MUST</bcp14> meet all the test results validation crite | ||||
ria defined | ||||
in <xref target="CC_Test_Results_Validation_Criteria" format="defaul t"/>.</t> | in <xref target="CC_Test_Results_Validation_Criteria" format="defaul t"/>.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the target objective | <t>Configure test equipment to establish the target objective | |||
("Target concurrent TCP connections"). The test equipment MUST | ("Target concurrent TCP connections"). The test equipment <bcp14>MUS T</bcp14> | |||
follow the traffic load profile definition (except ramp up time) | follow the traffic load profile definition (except ramp up time) | |||
as described in <xref target="Traffic_Load_Profile" format="default" />.</t> | as described in <xref target="Traffic_Load_Profile" format="default" />.</t> | |||
<t>During the ramp up and sustain phase, the other KPIs such as | <t>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 | transactions per second, <bcp14>MUST NOT</bcp14> reach the maximum v alue the | |||
DUT/SUT can support.</t> | DUT/SUT can support.</t> | |||
<t>The test equipment MUST start to measure and record KPIs | <t>The test equipment <bcp14>MUST</bcp14> start to measure and recor d KPIs | |||
defined in <xref target="CC_Measurement" format="default"/>. Continu e the test | defined in <xref target="CC_Measurement" format="default"/>. Continu e the test | |||
until all traffic profile phases are completed.</t> | until all traffic profile phases are completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective in the | expected to reach the desired value of the target objective in the | |||
sustain phase. Follow step 3, if the measured value does not meet | sustain phase. Follow Step 3 if the measured value does not meet | |||
the target value or does not fulfill the test results validation | the target value or does not fulfill the test results validation | |||
criteria.</t> | criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable concurrent TCP connections capacity | <t>Determine the achievable concurrent TCP connections capacity | |||
within the test results validation criteria.</t> | within the test results validation criteria.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTPS_CPS" numbered="true" toc="default"> | <section anchor="HTTPS_CPS" numbered="true" toc="default"> | |||
<name>TCP/QUIC Connections per Second with HTTPS Traffic</name> | <name>TCP or QUIC Connections per Second with HTTPS Traffic</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Using HTTPS traffic, determine the sustainable TLS session | <t>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.</t> | throughput load conditions.</t> | |||
<t>Test iterations MUST include common cipher suites and key | <t>Test iterations <bcp14>MUST</bcp14> include common cipher suites an | |||
strengths as well as forward looking stronger keys. Specific test | d key | |||
iterations MUST include ciphers and keys defined in <xref target="Test | strengths, as well as forward-looking stronger keys. Specific test | |||
_Equipment_Configuration_Parameters_HTTPS_CPS" format="default"/>.</t> | iterations <bcp14>MUST</bcp14> include ciphers and keys defined in <xr | |||
<t>For each cipher suite and key strengths, test iterations MUST use | ef target="Test_Equipment_Configuration_Parameters_HTTPS_CPS" format="default"/> | |||
.</t> | ||||
<t>For each cipher suite and key strength, test iterations <bcp14>MUST | ||||
</bcp14> use | ||||
a single HTTPS response object size defined in <xref target="Test_Equi pment_Configuration_Parameters_HTTPS_CPS" format="default"/> to | a single HTTPS response object size defined in <xref target="Test_Equi pment_Configuration_Parameters_HTTPS_CPS" format="default"/> to | |||
measure connections per second performance under a variety of | measure connections per second performance under a variety of | |||
DUT/SUT security inspection load conditions.</t> | DUT/SUT security inspection load conditions.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTPS_CPS" nu mbered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTPS_CPS" nu mbered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<t>Client IP address ranges defined in <xref target="Client_IP" form | <ul spacing="normal"> | |||
at="default"/></t> | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
<t>Server IP address ranges defined in <xref target="Server_IP" form | format="default"/></li> | |||
at="default"/></t> | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
<t>Traffic distribution ratio between IPv4 and IPv6 defined in | format="default"/></li> | |||
<xref target="Client_IP" format="default"/></t> | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<t>Target connections per second: Initial value from product | <xref target="Client_IP" format="default"/></li> | |||
datasheet or the value defined based on the requirement for a | <li>Target connections per second: Initial value from the product | |||
specific deployment scenario.</t> | datasheet or the value defined based on the requirement for a | |||
<t>Initial connections per second: 10% of "Target connections per | specific deployment scenario</li> | |||
second" (Note: Initial connections per second is not a KPI to | <li><t>Initial connections per second: 10% of "Target connections | |||
report. This value is configured on the traffic generator and used | per second"</t> | |||
to perform Step1: "Test Initialization and Qualification" | <t>Note: Initial connections per second is not a KPI | |||
described under <xref target="Test_Procedures_and_Expected_Results_T | to report. This value is configured on the traffic generator and | |||
C_7_6" format="default"/>.)</t> | used to perform Step 1 (Test Initialization and Qualification) | |||
<t>RECOMMENDED ciphers and keys defined in <xref target="Emulated_we | described in <xref | |||
b_Browser_attributes" format="default"/></t> | target="Test_Procedures_and_Expected_Results_TC_7_6" | |||
<t>The client MUST negotiate HTTPS and close the connection | format="default"/>.)</t></li> | |||
<li><bcp14>RECOMMENDED</bcp14> ciphers and keys defined in <xref | ||||
target="Emulated_web_Browser_attributes" format="default"/></li> | ||||
<li>The <bcp14>RECOMMENDED</bcp14> | ||||
object sizes are 1, 2, 4, 16, and 64 KB.</li> | ||||
</ul> | ||||
<t>The client <bcp14>MUST</bcp14> negotiate HTTPS and close the conn | ||||
ection | ||||
without error immediately after the completion of one transaction. | without error immediately after the completion of one transaction. | |||
In each test iteration, the client MUST send a GET request | In each test iteration, the client <bcp14>MUST</bcp14> send a GET re | |||
requesting a fixed HTTPS response object size. The RECOMMENDED | quest | |||
object sizes are 1, 2, 4, 16, and 64 KByte.</t> | requesting a fixed HTTPS response object size.</t> | |||
</section> | </section> | |||
<section anchor="Validation_Criteria_HTTPS_CPS" numbered="true" toc="d efault"> | <section anchor="Validation_Criteria_HTTPS_CPS" numbered="true" toc="d efault"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole test duration.</t> | during the whole test duration.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of attempt transactions.</li> | s than 0.001% | |||
<li>Number of terminated TCP connections due to unexpected TCP | (1 out of 100,000 transactions) of the attempted transactions.</ | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | li> | |||
connections) of total initiated TCP connections. If HTTP/3 is | <li>The number of terminated TCP connections due to unexpected TCP | |||
RST sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | ||||
(1 out of 100,000 | ||||
connections) of the total initiated TCP connections. If HTTP/3 i | ||||
s | ||||
used, the number of terminated QUIC connections due to | used, the number of terminated QUIC connections due to | |||
unexpected errors MUST be less than 0.001% (1 out of 100,000 | unexpected errors <bcp14>MUST</bcp14> be less than 0.001% (1 out | |||
connections) of total initiated QUIC connections.</li> | of 100,000 | |||
<li>During the sustain phase, traffic MUST be forwarded at a | connections) of the total initiated QUIC connections.</li> | |||
constant rate (considered as a constant rate if any deviation | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwa | |||
of traffic forwarding rate is less than 5%).</li> | rded at a | |||
<li>Concurrent TCP connections generation rate MUST be constant | constant rate (it is considered as a constant rate if any deviat | |||
during steady state and any deviation of concurrent TCP | ion | |||
connections MUST be less than 10%. If HTTP/3 is used, the | of the traffic forwarding rate is less than 5%).</li> | |||
concurrent QUIC connections generation rate MUST be constant | <li>The concurrent TCP connections generation rate <bcp14>MUST</bc | |||
during steady state and any deviation of concurrent QUIC | p14> be constant | |||
connections MUST be less than 10%. This confirms the DUT opens | during steady state, and any deviation of concurrent TCP | |||
connections <bcp14>MUST</bcp14> be less than 10%. If HTTP/3 is u | ||||
sed, the | ||||
concurrent QUIC connections generation rate <bcp14>MUST</bcp14> | ||||
be constant | ||||
during steady state, and any deviation of concurrent QUIC | ||||
connections <bcp14>MUST</bcp14> be less than 10%. This confirms | ||||
the DUT opens | ||||
and closes connections at approximately the same rate.</li> | and closes connections at approximately the same rate.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>If HTTP 1.1 or HTTP/2 is used, TCP connections per second MUST | <t>If HTTP 1.1 or HTTP/2 is used, TCP connections per second <bcp14> MUST</bcp14> | |||
be reported for each test iteration (for each object size).</t> | be reported for each test iteration (for each object size).</t> | |||
<t>If HTTP/3 is used, QUIC connections per second MUST be measured | <t>If HTTP/3 is used, QUIC connections per second <bcp14>MUST</bcp14 > be measured | |||
and reported for each test iteration (for each object size).</t> | and reported for each test iteration (for each object size).</t> | |||
<t>The KPI metric TLS Handshake Rate can be measured in the test | <t>The KPI metric TLS handshake rate can be measured in the test | |||
using 1 KByte object size.</t> | using 1 KB object size.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_6" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_6" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure the TCP or QUIC | <t> The test procedure is designed to measure the DUT/SUT's rate of | |||
connections per second rate of the DUT/SUT at the sustaining period | TCP | |||
of the traffic load profile. The test procedure consists of three | or QUIC connections per second during the sustaining period of the | |||
major steps: Step 1 ensures the DUT/SUT is able to reach the | traffic load profile. The test procedure consists of three | |||
major steps. Step 1 ensures the DUT/SUT is able to reach the | ||||
performance value (Initial connections per second) and meets the | performance value (Initial connections per second) and meets the | |||
test results validation criteria when it was very minimally | test results validation criteria when it was very minimally | |||
utilized. Step 2 determines whether the DUT/SUT is able to reach the | utilized. Step 2 determines whether the DUT/SUT is able to reach | |||
target performance value within the test results validation | 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 | |||
within the test results validation criteria.</t> | value within the test results validation criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w | |||
ith different | ||||
IPv4 and IPv6 traffic distributions.</t> | IPv4 and IPv6 traffic distributions.</t> | |||
<section anchor="TLS_Handshake_Step1_Test_Initialization" numbered="tr ue" toc="default"> | <section anchor="TLS_Handshake_Step1_Test_Initialization" numbered="tr ue" toc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
establish "Initial connections per second" as defined in <xref targe | establish "Initial connections per second", as defined in <xref targ | |||
t="Test_Equipment_Configuration_Parameters_HTTPS_CPS" format="default"/>. The | et="Test_Equipment_Configuration_Parameters_HTTPS_CPS" format="default"/>. The | |||
traffic load profile MUST be defined as described in <xref target="T | traffic load profile <bcp14>MUST</bcp14> be defined as described in | |||
raffic_Load_Profile" format="default"/>.</t> | <xref target="Traffic_Load_Profile" format="default"/>.</t> | |||
<t>The DUT/SUT MUST reach the "Initial connections per second" | <t>The DUT/SUT <bcp14>MUST</bcp14> reach the "Initial connections pe | |||
r second" | ||||
before the sustain phase. The measured KPIs during the sustain | before the sustain phase. The measured KPIs during the sustain | |||
phase MUST meet all the test results validation criteria defined | phase <bcp14>MUST</bcp14> meet all the test results validation crite ria defined | |||
in <xref target="Validation_Criteria_HTTPS_CPS" format="default"/>.< /t> | in <xref target="Validation_Criteria_HTTPS_CPS" format="default"/>.< /t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish "Target connections per | <t>Configure test equipment to establish "Target connections per | |||
second" as defined in <xref target="Test_Equipment_Configuration_Par | second", as defined in <xref target="Test_Equipment_Configuration_Pa | |||
ameters_HTTPS_CPS" format="default"/>. The | rameters_HTTPS_CPS" format="default"/>. The | |||
test equipment MUST follow the traffic load profile definition as | test equipment <bcp14>MUST</bcp14> follow the traffic load profile d | |||
efinition | ||||
described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | |||
<t>During the ramp up and sustain phase, other KPIs such as | <t>During the ramp up and sustain phases, other KPIs, such as | |||
inspected throughput, concurrent TCP/QUIC connections, and | inspected throughput, concurrent TCP or QUIC connections, and | |||
application transactions per second MUST NOT reach the maximum | application transactions per second, <bcp14>MUST NOT</bcp14> reach t | |||
he maximum | ||||
value the DUT/SUT can support. The test results for the specific | value the DUT/SUT can support. The test results for the specific | |||
test iteration MUST NOT be reported as valid results, if the above | test iteration <bcp14>MUST NOT</bcp14> be reported as valid results | |||
mentioned KPI (especially inspected throughput) reaches the | if the | |||
maximum value. (Example: If the test iteration with 64 KByte of | abovementioned KPI (especially inspected throughput) reaches the | |||
maximum value. (For example, if the test iteration with 64 KB of | ||||
HTTPS response object size reached the maximum inspected | HTTPS response object size reached the maximum inspected | |||
throughput limitation of the DUT, the test iteration MAY be | throughput limitation of the DUT, the test iteration <bcp14>MAY</bcp | |||
interrupted, and the result for 64 KByte should not be | 14> be | |||
interrupted, and the result for 64 KB should not be | ||||
reported).</t> | reported).</t> | |||
<t>The test equipment MUST start to measure and record all | <t>The test equipment <bcp14>MUST</bcp14> start to measure and recor d all | |||
specified KPIs. Continue the test until all traffic profile phases | specified KPIs. Continue the test until all traffic profile phases | |||
are completed.</t> | are completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective | expected to reach the desired value of the target objective | |||
("Target connections per second") in the sustain phase. Follow | ("Target connections per second") in the sustain phase. Follow | |||
step 3, if the measured value does not meet the target value or | Step 3 if the measured value does not meet the target value or | |||
does not fulfill the test results validation criteria.</t> | does not fulfill the test results validation criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable connections per second within the test | <t>Determine the achievable connections per second within the test | |||
results validation criteria.</t> | results validation criteria.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTPS_TP" numbered="true" toc="default"> | <section anchor="HTTPS_TP" numbered="true" toc="default"> | |||
<name>HTTPS Throughput</name> | <name>HTTPS Throughput</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Determine the sustainable inspected throughput of the DUT/SUT for | <t>Determine the sustainable inspected throughput of the DUT/SUT for | |||
HTTPS transactions varying the HTTPS response object size.</t> | HTTPS transactions by varying the HTTPS response object size.</t> | |||
<t>Test iterations MUST include common cipher suites and key | <t>Test iterations <bcp14>MUST</bcp14> include common cipher suites an | |||
strengths as well as forward looking stronger keys. Specific test | d key | |||
iterations MUST include the ciphers and keys defined in <xref target=" | strengths, as well as forward-looking stronger keys. Specific test | |||
Test_Equipment_Configuration_Parameters_HTTPS_TP" format="default"/>.</t> | iterations <bcp14>MUST</bcp14> include the ciphers and keys defined in | |||
<xref target="Test_Equipment_Configuration_Parameters_HTTPS_TP" format="default | ||||
"/>.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTPS_TP" num bered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTPS_TP" num bered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<t>Client IP address ranges defined in <xref target="Client_IP" form | <ul spacing="normal"> | |||
at="default"/></t> | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
<t>Server IP address ranges defined in <xref target="Server_IP" form | format="default"/></li> | |||
at="default"/></t> | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
<t>Traffic distribution ratio between IPv4 and IPv6 defined in | format="default"/></li> | |||
<xref target="Client_IP" format="default"/></t> | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<t>Target inspected throughput: Aggregated line rate of the | <xref target="Client_IP" format="default"/></li> | |||
interface(s) used in the DUT/SUT or the value defined based on the | <li>Target inspected throughput: Aggregated line rate of one or mor | |||
requirement for a specific deployment scenario.</t> | e | |||
<t>Initial throughput: 10% of "Target inspected throughput" Note: | interfaces used in the DUT/SUT or the value defined based on | |||
Initial throughput is not a KPI to report. This value is | the requirement for a specific deployment scenario</li> | |||
configured on the traffic generator and used to perform Step1: | <li><t>Initial throughput: 10% of "Target inspected throughput"</t> | |||
"Test Initialization and Qualification" described under <xref target | <t>Note: Initial throughput is not a KPI to report. This value is | |||
="Test_Procedures_and_Expected_Results_TC_7_7" format="default"/>.</t> | configured on the traffic generator and used to perform Step 1 | |||
<t>Number of HTTPS response object requests (transactions) per | (Test Initialization and Qualification) described in <xref | |||
connection: 10</t> | target="Test_Procedures_and_Expected_Results_TC_7_7" | |||
<t>RECOMMENDED ciphers and keys defined in <xref target="Emulated_we | format="default"/>.</t></li> | |||
b_Browser_attributes" format="default"/></t> | <li>Number of HTTPS response object requests (transactions) per | |||
<t>RECOMMENDED HTTPS response object size: 1, 16, 64, 256 KByte, | connection: 10</li> | |||
and mixed objects defined in <xref target="table4" format="default"/ | <li><bcp14>RECOMMENDED</bcp14> ciphers and keys defined in <xref | |||
> under <xref target="Test_Equipment_Configuration_Parameters_HTTP_TP" format="d | target="Emulated_web_Browser_attributes" format="default"/></li> | |||
efault"/>.</t> | <li><bcp14>RECOMMENDED</bcp14> HTTPS response object size: 1, | |||
16, 64, and 256 KB and mixed objects defined in <xref | ||||
target="table4" format="default"/> of <xref | ||||
target="Test_Equipment_Configuration_Parameters_HTTP_TP" | ||||
format="default"/></li> | ||||
</ul> | ||||
</section> | </section> | |||
<section anchor="Validation_Criteria_HTTPS_TP" numbered="true" toc="de fault"> | <section anchor="Validation_Criteria_HTTPS_TP" numbered="true" toc="de fault"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed Application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of attempt transactions.</li> | s than 0.001% | |||
<li>Traffic MUST be generated at a constant rate (considered as | (1 out of 100,000 transactions) of the attempted transactions.</ | |||
a constant rate if any deviation of traffic forwarding rate is | li> | |||
<li>Traffic <bcp14>MUST</bcp14> be generated at a constant rate (i | ||||
t is considered as | ||||
a constant rate if any deviation of the traffic forwarding rate | ||||
is | ||||
less than 5%).</li> | less than 5%).</li> | |||
<li>Concurrent generated TCP connections MUST be constant | <li>The concurrent generated TCP connections <bcp14>MUST</bcp14> b | |||
during steady state and any deviation of concurrent TCP | e constant | |||
connections MUST be less than 10%. If HTTP/3 is used, the | during steady state, and any deviation of concurrent TCP | |||
concurrent generated QUIC connections MUST be constant during | connections <bcp14>MUST</bcp14> be less than 10%. If HTTP/3 is u | |||
steady state and any deviation of concurrent QUIC connections | sed, the | |||
MUST be less than 10%. This confirms the DUT opens and closes | concurrent generated QUIC connections <bcp14>MUST</bcp14> be con | |||
stant during | ||||
steady state, and any deviation of concurrent QUIC connections | ||||
<bcp14>MUST</bcp14> be less than 10%. This confirms the DUT open | ||||
s and closes | ||||
connections at approximately the same rate.</li> | connections at approximately the same rate.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section anchor="Measurement_HTTPS_TP" numbered="true" toc="default"> | <section anchor="Measurement_HTTPS_TP" numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>Inspected Throughput and HTTPS Transactions per Second MUST be | <t>Inspected throughput and HTTPS transactions per second <bcp14>MUS T</bcp14> be | |||
reported for each object size.</t> | reported for each object size.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_7" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_7" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure consists of three major steps: Step 1 ensures | <t>The test procedure consists of three major steps. Step 1 ensures | |||
the DUT/SUT is able to reach the performance value (Initial | 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 minimally utilized. Step 2 determines whether the DUT/SUT | was very minimally utilized. Step 2 determines whether the DUT/SUT | |||
is able to reach the target performance value within the test | is able to reach the target performance value within the test | |||
results validation criteria. Step 3 determines the maximum | results validation criteria. Step 3 determines the maximum | |||
achievable performance value within the test results validation | achievable performance value within the test results validation | |||
criteria.</t> | criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w | |||
IPv4 and IPv6 traffic distribution and HTTPS response object | ith different | |||
IPv4 and IPv6 traffic distributions and HTTPS response object | ||||
sizes.</t> | sizes.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
establish "Initial throughput" as defined in <xref target="Test_Equi | establish "initial throughput", as defined in <xref target="Test_Equ | |||
pment_Configuration_Parameters_HTTPS_TP" format="default"/>.</t> | ipment_Configuration_Parameters_HTTPS_TP" format="default"/>.</t> | |||
<t>The traffic load profile MUST be defined as described in <xref ta | <t>The traffic load profile <bcp14>MUST</bcp14> be defined as descri | |||
rget="Traffic_Load_Profile" format="default"/>. The DUT/SUT MUST reach the | bed in <xref target="Traffic_Load_Profile" format="default"/>. The DUT/SUT <bcp1 | |||
"Initial throughput" during the sustain phase. Measure all KPI as | 4>MUST</bcp14> reach the | |||
"initial throughput" during the sustain phase. Measure all KPIs, as | ||||
defined in <xref target="Measurement_HTTPS_TP" format="default"/>.</ t> | defined in <xref target="Measurement_HTTPS_TP" format="default"/>.</ t> | |||
<t>The measured KPIs during the sustain phase MUST meet the test | <t>The measured KPIs during the sustain phase <bcp14>MUST</bcp14> me et the test | |||
results validation criteria "a" defined in <xref target="Validation_ Criteria_HTTPS_TP" format="default"/>. The test results | results validation criteria "a" defined in <xref target="Validation_ Criteria_HTTPS_TP" format="default"/>. The test results | |||
validation criteria "b", and "c" are OPTIONAL for step 1.</t> | validation criteria "b" and "c" are <bcp14>OPTIONAL</bcp14> for Step 1.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the target objective | <t>Configure test equipment to establish the target objective | |||
("Target inspected throughput") defined in <xref target="Test_Equipm ent_Configuration_Parameters_HTTPS_TP" format="default"/>. The | ("Target inspected throughput") defined in <xref target="Test_Equipm ent_Configuration_Parameters_HTTPS_TP" format="default"/>. The | |||
test equipment MUST start to measure and record all specified | test equipment <bcp14>MUST</bcp14> start to measure and record all s pecified | |||
KPIs. Continue the test until all traffic profile phases are | KPIs. Continue the test until all traffic profile phases are | |||
completed.</t> | completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective in the | expected to reach the desired value of the target objective in the | |||
sustain phase. Follow step 3, if the measured value does not meet | sustain phase. Follow Step 3 if the measured value does not meet | |||
the target value or does not fulfill the test results validation | the target value or does not fulfill the test results validation | |||
criteria.</t> | criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable average inspected throughput within | <t>Determine the achievable average inspected throughput within | |||
the test results validation criteria. The final test iteration | the test results validation criteria. The final test iteration | |||
MUST be performed for the test duration defined in <xref target="Tra ffic_Load_Profile" format="default"/>.</t> | <bcp14>MUST</bcp14> be performed for the test duration defined in <x ref target="Traffic_Load_Profile" format="default"/>.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTPS-Latency" numbered="true" toc="default"> | <section anchor="HTTPS-Latency" numbered="true" toc="default"> | |||
<name>HTTPS Transaction Latency</name> | <name>HTTPS Transaction Latency</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Using HTTPS traffic, determine the HTTPS transaction latency when | <t>Using HTTPS traffic, determine the HTTPS transaction latency when | |||
DUT/SUT is running with sustainable HTTPS transactions per second | the DUT/SUT is running with sustainable HTTPS transactions per second | |||
supported by the DUT/SUT under different HTTPS response object | supported by the DUT/SUT under different HTTPS response object | |||
sizes.</t> | sizes.</t> | |||
<t>Scenario 1: The client MUST negotiate HTTPS and close the | <t>Scenario 1: The client <bcp14>MUST</bcp14> negotiate HTTPS and clos e the | |||
connection immediately after the completion of a single transaction | connection immediately after the completion of a single transaction | |||
(GET and RESPONSE).</t> | (GET and RESPONSE).</t> | |||
<t>Scenario 2: The client MUST negotiate HTTPS and close the | <t>Scenario 2: The client <bcp14>MUST</bcp14> negotiate HTTPS and clos e the | |||
connection immediately after the completion of 10 transactions (GET | connection immediately after the completion of 10 transactions (GET | |||
and RESPONSE) within a single TCP or QUIC connection.</t> | and RESPONSE) within a single TCP or QUIC connection.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTPS_Latency " numbered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTPS_Latency " numbered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<t>Client IP address ranges defined in <xref target="Client_IP" form | <ul spacing="normal"> | |||
at="default"/></t> | <li>Client IP address ranges defined in <xref target="Client_IP" | |||
<t>Server IP address ranges defined in <xref target="Server_IP" form | format="default"/></li> | |||
at="default"/></t> | <li>Server IP address ranges defined in <xref target="Server_IP" | |||
<t>Traffic distribution ratio between IPv4 and IPv6 defined in | format="default"/></li> | |||
<xref target="Client_IP" format="default"/></t> | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<t>RECOMMENDED cipher suites and key sizes defined in <xref target=" | <xref target="Client_IP" format="default"/></li> | |||
Emulated_web_Browser_attributes" format="default"/></t> | <li><bcp14>RECOMMENDED</bcp14> cipher suites and key sizes | |||
<t>Target objective for scenario 1: 50% of the connections per | defined in <xref target="Emulated_web_Browser_attributes" | |||
second measured in benchmarking test <xref target="HTTPS_CPS" format | format="default"/></li> | |||
="default">TCP/QUIC Connections per Second with HTTPS | <li>Target objective for scenario 1: 50% of the connections per | |||
Traffic</xref></t> | second measured in the benchmarking test <xref target="HTTPS_CPS" | |||
<t>Target objective for scenario 2: 50% of the inspected | format="default">TCP or QUIC connections per second with HTTPS | |||
throughput measured in benchmarking test <xref format="default" targ | traffic</xref></li> | |||
et="HTTPS_TP">HTTPS Throughput</xref></t> | <li>Target objective for scenario 2: 50% of the inspected | |||
<t>Initial objective for scenario 1: 10% of "Target objective for | throughput measured in the benchmarking test <xref format="default" | |||
scenario 1"</t> | target="HTTPS_TP">HTTPS throughput</xref></li> | |||
<t>Initial objective for scenario 2: 10% of "Target objective for | <li>Initial objective for scenario 1: 10% of "Target objective | |||
scenario 2"</t> | for scenario 1"</li> | |||
<t>Note: The Initial objectives are not a KPI to report. These | <li><t>Initial objective for scenario 2: 10% of "Target objective | |||
values are configured on the traffic generator and used to perform | for scenario 2"</t> | |||
Step1: "Test Initialization and Qualification" described under | <t>Note: The initial objectives are not KPIs to | |||
<xref target="Test_Procedures_and_Expected_Results_TC_7_8" format="d | report. These values are configured on the traffic generator and | |||
efault"/>.</t> | used to perform Step 1 (Test Initialization and Qualification) | |||
<t>HTTPS transaction per TCP or QUIC connection: Test scenario 1 | described in <xref | |||
with a single transaction and scenario 2 with 10 transactions</t> | target="Test_Procedures_and_Expected_Results_TC_7_8" | |||
<t>HTTPS with GET request requesting a single object. The | format="default"/>.</t></li> | |||
RECOMMENDED object sizes are 1, 16, and 64 KByte. For each test | <li>HTTPS transaction per TCP or QUIC connection: Test scenario | |||
iteration, the client MUST request a single HTTPS response object | 1 with a single transaction and scenario 2 with 10 | |||
size.</t> | transactions</li> | |||
<li>HTTPS with GET request requesting a single object: The | ||||
<bcp14>RECOMMENDED</bcp14> object sizes are 1, 16, and 64 | ||||
KB. For each test iteration, the client <bcp14>MUST</bcp14> | ||||
request a single HTTPS response object size.</li> | ||||
</ul> | ||||
</section> | </section> | |||
<section anchor="Validation_Criteria_HTTPS_Latency" numbered="true" to c="default"> | <section anchor="Validation_Criteria_HTTPS_Latency" numbered="true" to c="default"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The Test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of attempt transactions.</li> | s than 0.001% | |||
<li>Number of terminated TCP connections due to unexpected TCP | (1 out of 100,000 transactions) of the total attempted transacti | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | ons.</li> | |||
connections) of total initiated TCP connections. If HTTP/3 is | <li>The number of terminated TCP connections due to unexpected TCP | |||
RST sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | ||||
(1 out of 100,000 | ||||
connections) of the total initiated TCP connections. If HTTP/3 i | ||||
s | ||||
used, the number of terminated QUIC connections due to | used, the number of terminated QUIC connections due to | |||
unexpected errors MUST be less than 0.001% (1 out of 100,000 | unexpected errors <bcp14>MUST</bcp14> be less than 0.001% (1 out | |||
connections) of total initiated QUIC connections.</li> | of 100,000 | |||
<li>During the sustain phase, traffic MUST be forwarded at a | connections) of the total initiated QUIC connections.</li> | |||
constant rate (considered as a constant rate if any deviation | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwa | |||
of traffic forwarding rate is less than 5%).</li> | rded at a | |||
<li>Concurrent TCP or QUIC connections MUST be constant during | constant rate (it is considered as a constant rate if any deviat | |||
steady state and any deviation of concurrent TCP connections | ion | |||
MUST be less than 10%. If HTTP/3 is used, the concurrent | of the traffic forwarding rate is less than 5%).</li> | |||
generated QUIC connections MUST be constant during steady | <li>Concurrent TCP or QUIC connections <bcp14>MUST</bcp14> be cons | |||
state and any deviation of concurrent QUIC connections MUST be | tant during | |||
steady state, and any deviation of concurrent TCP connections | ||||
<bcp14>MUST</bcp14> be less than 10%. If HTTP/3 is used, the con | ||||
current | ||||
generated QUIC connections <bcp14>MUST</bcp14> be constant durin | ||||
g steady | ||||
state, and any deviation of concurrent QUIC connections <bcp14>M | ||||
UST</bcp14> be | ||||
less than 10%. This confirms the DUT opens and closes | less than 10%. This confirms the DUT opens and closes | |||
connections at approximately the same rate.</li> | connections at approximately the same rate.</li> | |||
<li>After ramp up the DUT/SUT MUST achieve the "Target | <li>After ramp up, the DUT/SUT <bcp14>MUST</bcp14> achieve the tar | |||
objective" defined in the parameter <xref target="Test_Equipment | get | |||
_Configuration_Parameters_HTTPS_Latency" format="default"/> | objectives defined in the parameters in <xref target="Test_Equip | |||
ment_Configuration_Parameters_HTTPS_Latency" format="default"/> | ||||
and remain in that state for the entire test duration (sustain | and remain in that state for the entire test duration (sustain | |||
phase).</li> | phase).</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>TTFB (minimum, average, and maximum) and TTLB (minimum, | <t>The TTFB (minimum, average, and maximum) and TTLB (minimum, | |||
average, and maximum) MUST be reported for each object size.</t> | average, and maximum) <bcp14>MUST</bcp14> be reported for each objec | |||
t size.</t> | ||||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_8" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_8" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure TTFB or TTLB when the | <t>The test procedure is designed to measure the TTFB or TTLB when the | |||
DUT/SUT is operating close to 50% of its maximum achievable | DUT/SUT is operating close to 50% of its maximum achievable | |||
connections per second or inspected throughput. The test procedure | connections per second or inspected throughput. The test procedure | |||
consists of two major steps: Step 1 ensures the DUT/SUT is able to | consists of two major steps. Step 1 ensures the DUT/SUT is able to | |||
reach the initial performance values and meets the test results | reach the initial performance values and meets the test results | |||
validation criteria when it was very minimally utilized. Step 2 | validation criteria when it is very minimally utilized. Step 2 | |||
measures the latency values within the test results validation | measures the latency values within the test results validation | |||
criteria.</t> | criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w ith different | |||
IP types (IPv4 only, IPv6 only, and IPv4 and IPv6 mixed traffic | IP 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.</t> | transactions per connection scenarios.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure the traffic load profile of the test equipment to | <t>Configure the traffic load profile of the test equipment to | |||
establish the "Initial objective" as defined in <xref target="Test_E | establish the initial objectives, as defined in <xref target="Test_E | |||
quipment_Configuration_Parameters_HTTPS_Latency" format="default"/>. | quipment_Configuration_Parameters_HTTPS_Latency" format="default"/>. | |||
The traffic load profile MUST be defined as described in <xref targe | The traffic load profile <bcp14>MUST</bcp14> be defined as described | |||
t="Traffic_Load_Profile" format="default"/>.</t> | in <xref target="Traffic_Load_Profile" format="default"/>.</t> | |||
<t>The DUT/SUT MUST reach the "Initial objective" before the | <t>The DUT/SUT <bcp14>MUST</bcp14> reach the initial objectives befo | |||
sustain phase. The measured KPIs during the sustain phase MUST | re the | |||
sustain phase. The measured KPIs during the sustain phase <bcp14>MUS | ||||
T</bcp14> | ||||
meet all the test results validation criteria defined in <xref targe t="Validation_Criteria_HTTPS_Latency" format="default"/>.</t> | meet all the test results validation criteria defined in <xref targe t="Validation_Criteria_HTTPS_Latency" format="default"/>.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the "Target objective" | <t>Configure test equipment to establish the target objectives | |||
defined in <xref target="Test_Equipment_Configuration_Parameters_HTT PS_Latency" format="default"/>. | defined in <xref target="Test_Equipment_Configuration_Parameters_HTT PS_Latency" format="default"/>. | |||
The test equipment MUST follow the traffic load profile definition | The test equipment <bcp14>MUST</bcp14> follow the traffic load profi | |||
as described in <xref target="Traffic_Load_Profile" format="default" | le definition | |||
/>.</t> | described in <xref target="Traffic_Load_Profile" format="default"/>. | |||
<t>The test equipment MUST start to measure and record all | </t> | |||
<t>The test equipment <bcp14>MUST</bcp14> start to measure and recor | ||||
d all | ||||
specified KPIs. Continue the test until all traffic profile phases | specified KPIs. Continue the test until all traffic profile phases | |||
are completed.</t> | are completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT MUST | <t>Within the test results validation criteria, the DUT/SUT <bcp14>M UST</bcp14> | |||
reach the desired value of the target objective in the sustain | reach the desired value of the target objective in the sustain | |||
phase.</t> | phase.</t> | |||
<t>Measure the minimum, average, and maximum values of TTFB and | <t>Measure the minimum, average, and maximum values of the TTFB and | |||
TTLB.</t> | TTLB.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="HTTPS_CC" numbered="true" toc="default"> | <section anchor="HTTPS_CC" numbered="true" toc="default"> | |||
<name>Concurrent TCP/QUIC Connection Capacity with HTTPS Traffic</name> | <name>Concurrent TCP or QUIC Connection Capacity with HTTPS Traffic</na me> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Objective</name> | <name>Objective</name> | |||
<t>Determine the number of concurrent TCP/QUIC connections the | <t>Determine the number of concurrent TCP or QUIC connections the | |||
DUT/SUT sustains when using HTTPS traffic.</t> | DUT/SUT sustains when using HTTPS traffic.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Setup</name> | <name>Test Setup</name> | |||
<t>Testbed setup MUST be configured as defined in <xref target="Test_S | <t>The testbed setup <bcp14>MUST</bcp14> be configured as defined in < | |||
etup" format="default"/>. Any specific testbed configuration changes | xref target="Test_Setup" format="default"/>. Any specific testbed configuration | |||
(number of interfaces and interface type, etc.) MUST be | changes | |||
(number of interfaces, interface type, etc.) <bcp14>MUST</bcp14> be | ||||
documented.</t> | documented.</t> | |||
</section> | </section> | |||
<section anchor="HTTPS_CC_parameter" numbered="true" toc="default"> | <section anchor="HTTPS_CC_parameter" numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, benchmarking test specific parameters are | <t>In this section, benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT parameters MUST conform to the requirements defined in | <t>DUT/SUT parameters <bcp14>MUST</bcp14> conform to the requirement s defined in | |||
<xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | <xref target="DUT-SUT_Configuration" format="default"/>. Any configu ration changes | |||
for this specific benchmarking test MUST be documented.</t> | for this specific benchmarking test <bcp14>MUST</bcp14> be documente d.</t> | |||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_HTTPS_CC" num bered="true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_HTTPS_CC" num bered="true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> confo rm to the | |||
requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | requirements defined in <xref target="Test_Equipment_Configuration" format="default"/>. The following parameters | |||
MUST be documented for this benchmarking test:</t> | <bcp14>MUST</bcp14> be documented for this benchmarking test:</t> | |||
<ul empty="true" spacing="normal"> | <ul spacing="normal"> | |||
<li>Client IP address ranges defined in <xref target="Client_IP" f ormat="default"/></li> | <li>Client IP address ranges defined in <xref target="Client_IP" f ormat="default"/></li> | |||
<li>Server IP address ranges defined in <xref target="Server_IP" f ormat="default"/></li> | <li>Server IP address ranges defined in <xref target="Server_IP" f ormat="default"/></li> | |||
<li>Traffic distribution ratio between IPv4 and IPv6 defined in | <li>Traffic distribution ratio between IPv4 and IPv6 defined in | |||
<xref target="Client_IP" format="default"/></li> | <xref target="Client_IP" format="default"/></li> | |||
<li>RECOMMENDED cipher suites and key sizes defined in <xref targe | <li><bcp14>RECOMMENDED</bcp14> cipher suites and key sizes defined | |||
t="Emulated_web_Browser_attributes" format="default"/></li> | in <xref target="Emulated_web_Browser_attributes" format="default"/></li> | |||
<li>Target concurrent connections: Initial value from product | <li>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.</li> | specific deployment scenario</li> | |||
<li>Initial concurrent connections: 10% of "Target concurrent | <li><t>Initial concurrent connections: 10% of "Target concurrent | |||
connections" Note: Initial concurrent connection is not a KPI | connections"</t> | |||
<t>Note: Initial concurrent connections is not a KPI | ||||
to report. This value is configured on the traffic generator | to report. This value is configured on the traffic generator | |||
and used to perform Step1: "Test Initialization and | and used to perform Step 1 (Test Initialization and | |||
Qualification" described under <xref target="Test_Procedures_and | Qualification) described in <xref target="Test_Procedures_and_Ex | |||
_Expected_Results_TC_7_9" format="default"/>.</li> | pected_Results_TC_7_9" format="default"/>.</t></li> | |||
<li>Connections per second during ramp up phase: 50% of maximum | <li>Connections per second during ramp up phase: 50% of maximum | |||
connections per second measured in benchmarking test <xref targe | connections per second measured in the benchmarking test <xref t | |||
t="HTTPS_CPS" format="default">TCP/QUIC Connections per second with HTTPS | arget="HTTPS_CPS" format="default">TCP or QUIC connections per second with HTTPS | |||
Traffic</xref></li> | traffic</xref></li> | |||
<li>Ramp up time (in traffic load profile for "Target | <li>Ramp up time (in traffic load profile for "Target | |||
concurrent connections"): "Target concurrent connections" / | concurrent connections"): "Target concurrent connections" / | |||
"Maximum connections per second during ramp up phase"</li> | "Maximum connections per second during ramp up phase"</li> | |||
<li>Ramp up time (in traffic load profile for "Initial | <li>Ramp up time (in traffic load profile for "Initial | |||
concurrent connections"): "Initial concurrent connections" / | concurrent connections"): "Initial concurrent connections" / | |||
"Maximum connections per second during ramp up phase"</li> | "Maximum connections per second during ramp up phase"</li></ul> | |||
</ul> | <t>The client <bcp14>MUST</bcp14> perform HTTPS transactions with | |||
<t>The client MUST perform HTTPS transactions with persistence and | persistence, and each client can open multiple concurrent | |||
each client can open multiple concurrent connections per server | connections per server endpoint IP.</t> | |||
endpoint IP.</t> | <t>Each client sends 10 GET requests requesting 1 KB HTTPS | |||
<t>Each client sends 10 GET requests requesting 1 KByte HTTPS | response objects in the same TCP or QUIC connections (10 | |||
response objects in the same TCP/QUIC connections (10 | transactions/connections), and the delay (think time) between each | |||
transactions/connection) and the delay (think time) between each | transaction <bcp14>MUST</bcp14> be X seconds, where X is as follows. | |||
transaction MUST be X seconds.</t> | </t> | |||
<t>X = ("Ramp up time" + "steady state time") /10</t> | <t indent="3">X = ("Ramp up time" + "steady state time") / 10</t> | |||
<t>The established connections MUST remain open until the ramp | <t>The established connections <bcp14>MUST</bcp14> remain open until | |||
the ramp | ||||
down phase of the test. During the ramp down phase, all | down phase of the test. During the ramp down phase, all | |||
connections MUST be successfully closed with FIN.</t> | connections <bcp14>MUST</bcp14> be successfully closed with FIN.</t> | |||
</section> | </section> | |||
<section anchor="HTTPS_CC_Test_Results_Validation_Criteria" numbered=" true" toc="default"> | <section anchor="HTTPS_CC_Test_Results_Validation_Criteria" numbered=" true" toc="default"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation | <t>The following criteria are the test results validation | |||
criteria. The Test results validation criteria MUST be monitored | criteria. The test results validation criteria <bcp14>MUST</bcp14> b e monitored | |||
during the whole sustain phase of the traffic load profile.</t> | during the whole sustain phase of the traffic load profile.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application trans | <ol spacing="normal" type="a"> | |||
actions (receiving any | <li>The number of failed application transactions (receiving any | |||
HTTP response code other than 200 OK) MUST be less than 0.001% | HTTP response code other than 200 OK) <bcp14>MUST</bcp14> be les | |||
(1 out of 100,000 transactions) of total attempted | s than 0.001% | |||
(1 out of 100,000 transactions) of the total attempted | ||||
transactions.</li> | transactions.</li> | |||
<li>Number of terminated TCP connections due to unexpected TCP | <li>The number of terminated TCP connections due to unexpected TCP | |||
RST sent by DUT/SUT MUST be less than 0.001% (1 out of 100,000 | RSTs sent by the DUT/SUT <bcp14>MUST</bcp14> be less than 0.001% | |||
connections) of total initiated TCP connections. If HTTP/3 is | (1 out of 100,000 | |||
connections) of the total initiated TCP connections. If HTTP/3 i | ||||
s | ||||
used, the number of terminated QUIC connections due to | used, the number of terminated QUIC connections due to | |||
unexpected errors MUST be less than 0.001% (1 out of 100,000 | unexpected errors <bcp14>MUST</bcp14> be less than 0.001% (1 out | |||
connections) of total initiated QUIC connections</li> | of 100,000 | |||
<li>During the sustain phase, traffic MUST be forwarded at a | connections) of the total initiated QUIC connections.</li> | |||
constant rate (considered as a constant rate if any deviation | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwa | |||
of traffic forwarding rate is less than 5%).</li> | rded at a | |||
constant rate (it is considered as a constant rate if any deviat | ||||
ion | ||||
of the traffic forwarding rate is less than 5%).</li> | ||||
</ol> | </ol> | |||
</section> | </section> | |||
<section anchor="HTTPS_CC_Measurement" numbered="true" toc="default"> | <section anchor="HTTPS_CC_Measurement" numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>Average Concurrent TCP or QUIC Connections MUST be reported for | <t>Average concurrent TCP or QUIC connections <bcp14>MUST</bcp14> be reported for | |||
this benchmarking test.</t> | this benchmarking test.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="Test_Procedures_and_Expected_Results_TC_7_9" numbered=" true" toc="default"> | <section anchor="Test_Procedures_and_Expected_Results_TC_7_9" numbered=" true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure the concurrent TCP | <t>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 | 3 determines the maximum achievable performance value within the | |||
test results validation criteria.</t> | test results validation criteria.</t> | |||
<t>This test procedure MAY be repeated multiple times with different | <t>This test procedure <bcp14>MAY</bcp14> be repeated multiple times w ith different | |||
IPv4 and IPv6 traffic distributions.</t> | IPv4 and IPv6 traffic distributions.</t> | |||
<section anchor="HTTPS_CC_Step1_Test_Initialization" numbered="true" t oc="default"> | <section anchor="HTTPS_CC_Step1_Test_Initialization" numbered="true" t oc="default"> | |||
<name>Step 1: Test Initialization and Qualification</name> | <name>Step 1: Test Initialization and Qualification</name> | |||
<t>Verify the link status of all connected physical interfaces. | <t>Verify the link status of all connected physical interfaces. | |||
All interfaces are expected to be in "UP" status.</t> | All interfaces are expected to be in "UP" status.</t> | |||
<t>Configure test equipment to establish "Initial concurrent TCP | <t>Configure test equipment to establish "Initial concurrent | |||
connections" defined in <xref target="Test_Equipment_Configuration_P arameters_HTTPS_CC" format="default"/>. | connections" defined in <xref target="Test_Equipment_Configuration_P arameters_HTTPS_CC" format="default"/>. | |||
Except ramp up time, the traffic load profile MUST be defined as | Except ramp up time, the traffic load profile <bcp14>MUST</bcp14> be defined as | |||
described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | |||
<t>During the sustain phase, the DUT/SUT MUST reach the "Initial | <t>During the sustain phase, the DUT/SUT <bcp14>MUST</bcp14> reach t he "Initial | |||
concurrent connections". The measured KPIs during the sustain | concurrent connections". The measured KPIs during the sustain | |||
phase MUST meet the test results validation criteria "a", and "b" | phase <bcp14>MUST</bcp14> meet the test results validation criteria "a" and "b" | |||
defined in <xref target="HTTPS_CC_Test_Results_Validation_Criteria" format="default"/>.</t> | defined in <xref target="HTTPS_CC_Test_Results_Validation_Criteria" format="default"/>.</t> | |||
<t>If the KPI metrics do not meet the test results validation | <t>If the KPI metrics do not meet the test results validation | |||
criteria, the test procedure MUST NOT be continued to "Step | criteria, the test procedure <bcp14>MUST NOT</bcp14> be continued to | |||
2".</t> | Step | |||
2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: Test Run with Target Objective</name> | <name>Step 2: Test Run with Target Objective</name> | |||
<t>Configure test equipment to establish the target objective | <t>Configure test equipment to establish the target objective | |||
("Target concurrent connections"). The test equipment MUST follow | ("Target concurrent connections"). The test equipment <bcp14>MUST</b | |||
the traffic load profile definition (except ramp up time) as | cp14> follow | |||
the traffic load profile definition (except ramp up time) | ||||
described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | described in <xref target="Traffic_Load_Profile" format="default"/>. </t> | |||
<t>During the ramp up and sustain phase, the other KPIs such as | <t>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 | application transactions per second, <bcp14>MUST NOT</bcp14> reach t he maximum | |||
value that the DUT/SUT can support.</t> | value that the DUT/SUT can support.</t> | |||
<t>The test equipment MUST start to measure and record KPIs | <t>The test equipment <bcp14>MUST</bcp14> start to measure and recor d KPIs | |||
defined in <xref target="HTTPS_CC_Measurement" format="default"/>. C ontinue the | defined in <xref target="HTTPS_CC_Measurement" format="default"/>. C ontinue the | |||
test until all traffic profile phases are completed.</t> | test until all traffic profile phases are completed.</t> | |||
<t>Within the test results validation criteria, the DUT/SUT is | <t>Within the test results validation criteria, the DUT/SUT is | |||
expected to reach the desired value of the target objective in the | expected to reach the desired value of the target objective in the | |||
sustain phase. Follow step 3, if the measured value does not meet | sustain phase. Follow Step 3 if the measured value does not meet | |||
the target value or does not fulfill the test results validation | the target value or does not fulfill the test results validation | |||
criteria.</t> | criteria.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 3: Test Iteration</name> | <name>Step 3: Test Iteration</name> | |||
<t>Determine the achievable concurrent TCP/QUIC connections within | <t>Determine the achievable concurrent TCP or QUIC connections withi n | |||
the test results validation criteria.</t> | the test results validation criteria.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="IANA" numbered="true" toc="default"> | <section anchor="IANA" numbered="true" toc="default"> | |||
<name>IANA Considerations</name> | <name>IANA Considerations</name> | |||
<t>This document makes no specific request of IANA.</t> | <t>This document makes no specific request of IANA.</t> | |||
<t>The IANA has assigned IPv4 and IPv6 address blocks in <xref target="RFC 6890" format="default"/> that have been registered for special purposes. The | <t>IANA has assigned IPv4 and IPv6 address blocks in <xref target="RFC6890 " format="default"/> that have been registered for special purposes. The | |||
IPv6 address block 2001:2::/48 has been allocated for the purpose of | IPv6 address block 2001:2::/48 has been allocated for the purpose of | |||
IPv6 Benchmarking <xref target="RFC5180" format="default"/> and the IPv4 a | IPv6 benchmarking <xref target="RFC5180" format="default"/>, and the IPv4 | |||
ddress block | address block | |||
198.18.0.0/15 has been allocated for the purpose of IPv4 Benchmarking | 198.18.0.0/15 has been allocated for the purpose of IPv4 benchmarking | |||
<xref target="RFC2544" format="default"/>. This assignment was made to min imize the | <xref target="RFC2544" format="default"/>. This assignment was made to min imize the | |||
chance of conflict in case a testing device were to be accidentally | chance of conflict in case a testing device were to be accidentally | |||
connected to the part of the Internet.</t> | connected to the part of the Internet.</t> | |||
</section> | </section> | |||
<section anchor="Security_consieration" numbered="true" toc="default"> | <section anchor="Security_consieration" numbered="true" toc="default"> | |||
<name>Security Considerations</name> | <name>Security Considerations</name> | |||
<t>The primary goal of this document is to provide benchmarking | <t>The primary goal of this document is to provide benchmarking | |||
terminology and methodology for next-generation network security devices | terminology and methodology for next-generation network security devices | |||
for use in a laboratory isolated test environment. However, readers | for use in a laboratory-isolated test environment. However, readers | |||
should be aware that there is some overlap between performance and | should be aware that there is some overlap between performance and | |||
security issues. Specifically, the optimal configuration for network | security issues. Specifically, the optimal configuration for network | |||
security device performance may not be the most secure, and vice-versa. | security device performance may not be the most secure, and vice versa. | |||
Testing security platforms with working exploits and malware carries | Testing security platforms with working exploits and malware carries | |||
risks. Ensure proper access controls are implemented to prevent | risks. Ensure proper access controls are implemented to prevent | |||
unintended exposure to vulnerable networks or systems. The cipher suites | unintended exposure to vulnerable networks or systems. The cipher suites | |||
recommended in this document are for test purposes only. The cipher | recommended in this document are for test purposes only. The cipher | |||
suite recommendation for a real deployment is outside the scope of this | suite recommendation for a real deployment is outside the scope of this | |||
document.</t> | document.</t> | |||
<t>Security assessment of an NGFW/NGIPS product could also include an | <t>Security assessment of an NGFW/NGIPS product could also include an | |||
analysis whether any type of uncommon traffic characteristics would have | analysis whether any type of uncommon traffic characteristics would have | |||
a significant impact on performance. Such performance impacts would | a significant impact on performance. Such performance impacts would | |||
allow an attacker to use such specifically crafted traffic as a DoS | allow an attacker to use such specifically crafted traffic as a DoS | |||
attack to reduce the remaining performance available to other traffic | attack to reduce the remaining performance available to other traffic | |||
through the NGFW/NGIPS. Such uncommon traffic characteristics might | through the NGFW/NGIPS. Such uncommon traffic characteristics might | |||
include for example IP fragmented traffic, specific type of application | include, for example, IP-fragmented traffic, a specific type of applicatio n | |||
traffic, or uncommonly high HTTP transaction rate traffic.</t> | traffic, or uncommonly high HTTP transaction rate traffic.</t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<name>Contributors</name> | ||||
<t>The following individuals contributed significantly to the creation | ||||
of this document:</t> | ||||
<t>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.</t> | ||||
</section> | ||||
<section anchor="Acknowledgements" numbered="true" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
<t>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:</t> | ||||
<t>Anand Vijayan, Chris Marshall, Jay Lindenauer, Michael Shannon, Mike | ||||
Deichman, Ryan Riese, and Toulnay Orkun.</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | <references> | |||
<name>References</name> | <name>References</name> | |||
<references> | <references> | |||
<name>Normative References</name> | <name>Normative References</name> | |||
<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | ||||
119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2119. | |||
<front> | xml"/> | |||
<title>Key words for use in RFCs to Indicate Requirement Levels</tit | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8174. | |||
le> | xml"/> | |||
<author fullname="S. Bradner" initials="S." surname="Bradner"/> | ||||
<date month="March" year="1997"/> | ||||
<abstract> | ||||
<t>In many standards track documents several words are used to sig | ||||
nify the requirements in the specification. These words are often capitalized. | ||||
This document defines these words as they should be interpreted in IETF documen | ||||
ts. This document specifies an Internet Best Current Practices for the Internet | ||||
Community, and requests discussion and suggestions for improvements.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="2119"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | ||||
</reference> | ||||
<reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 | ||||
174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"> | ||||
<front> | ||||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti | ||||
tle> | ||||
<author fullname="B. Leiba" initials="B." surname="Leiba"/> | ||||
<date month="May" year="2017"/> | ||||
<abstract> | ||||
<t>RFC 2119 specifies common key words that may be used in protoco | ||||
l specifications. This document aims to reduce the ambiguity by clarifying that | ||||
only UPPERCASE usage of the key words have the defined special meanings.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="14"/> | ||||
<seriesInfo name="RFC" value="8174"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | ||||
</reference> | ||||
</references> | </references> | |||
<references> | <references> | |||
<name>Informative References</name> | <name>Informative References</name> | |||
<reference anchor="RFC3511" target="https://www.rfc-editor.org/info/rfc3 | ||||
511" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3511.xml"> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.3511. | |||
<front> | xml"/> | |||
<title>Benchmarking Methodology for Firewall Performance</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6815. | |||
<author fullname="B. Hickman" initials="B." surname="Hickman"/> | xml"/> | |||
<author fullname="D. Newman" initials="D." surname="Newman"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2647. | |||
<author fullname="S. Tadjudin" initials="S." surname="Tadjudin"/> | xml"/> | |||
<author fullname="T. Martin" initials="T." surname="Martin"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.2544. | |||
<date month="April" year="2003"/> | xml"/> | |||
<abstract> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.5180. | |||
<t>This document discusses and defines a number of tests that may | xml"/> | |||
be used to describe the performance characteristics of firewalls. In addition t | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.6890. | |||
o defining the tests, this document also describes specific formats for reportin | xml"/> | |||
g the results of the tests. This document is a product of the Benchmarking Meth | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8200. | |||
odology Working Group (BMWG) of the Internet Engineering Task Force (IETF). Thi | xml"/> | |||
s memo provides information for the Internet community.</t> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.8446. | |||
</abstract> | xml"/> | |||
</front> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9000. | |||
<seriesInfo name="RFC" value="3511"/> | xml"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC3511"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9001. | |||
</reference> | xml"/> | |||
<reference anchor="RFC6815" target="https://www.rfc-editor.org/info/rfc6 | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9002. | |||
815" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6815.xml"> | xml"/> | |||
<front> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9113. | |||
<title>Applicability Statement for RFC 2544: Use on Production Netwo | xml"/> | |||
rks Considered Harmful</title> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9114. | |||
<author fullname="S. Bradner" initials="S." surname="Bradner"/> | xml"/> | |||
<author fullname="K. Dubray" initials="K." surname="Dubray"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9293. | |||
<author fullname="J. McQuaid" initials="J." surname="McQuaid"/> | xml"/> | |||
<author fullname="A. Morton" initials="A." surname="Morton"/> | <xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml/reference.RFC.9204. | |||
<date month="November" year="2012"/> | xml"/> | |||
<abstract> | ||||
<t>The Benchmarking Methodology Working Group (BMWG) has been deve | <reference anchor="Wiki-NGFW" target="https://en.wikipedia.org/w/index.p | |||
loping key performance metrics and laboratory test methods since 1990, and conti | hp?title=Next-generation_firewall&oldid=1133673904"> | |||
nues this work at present. The methods described in RFC 2544 are intended to ge | ||||
nerate traffic that overloads network device resources in order to assess their | ||||
capacity. Overload of shared resources would likely be harmful to user traffic | ||||
performance on a production network, and there are further negative consequences | ||||
identified with production application of the methods. This memo clarifies the | ||||
scope of RFC 2544 and other IETF BMWG benchmarking work for isolated test envir | ||||
onments only, and it encourages new standards activity for measurement methods a | ||||
pplicable outside that scope. This document is not an Internet Standards Track | ||||
specification; it is published for informational purposes.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="6815"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6815"/> | ||||
</reference> | ||||
<reference anchor="RFC2647" target="https://www.rfc-editor.org/info/rfc2 | ||||
647" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2647.xml"> | ||||
<front> | ||||
<title>Benchmarking Terminology for Firewall Performance</title> | ||||
<author fullname="D. Newman" initials="D." surname="Newman"/> | ||||
<date month="August" year="1999"/> | ||||
<abstract> | ||||
<t>This document defines terms used in measuring the performance o | ||||
f firewalls. It extends the terminology already used for benchmarking routers a | ||||
nd switches with definitions specific to firewalls. [STANDARDS-TRACK]</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="2647"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2647"/> | ||||
</reference> | ||||
<reference anchor="RFC2544" target="https://www.rfc-editor.org/info/rfc2 | ||||
544" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2544.xml"> | ||||
<front> | ||||
<title>Benchmarking Methodology for Network Interconnect Devices</ti | ||||
tle> | ||||
<author fullname="S. Bradner" initials="S." surname="Bradner"/> | ||||
<author fullname="J. McQuaid" initials="J." surname="McQuaid"/> | ||||
<date month="March" year="1999"/> | ||||
<abstract> | ||||
<t>This document is a republication of RFC 1944 correcting the val | ||||
ues for the IP addresses which were assigned to be used as the default addresses | ||||
for networking test equipment. This memo provides information for the Internet | ||||
community.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="2544"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC2544"/> | ||||
</reference> | ||||
<reference anchor="RFC5180" target="https://www.rfc-editor.org/info/rfc5 | ||||
180" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5180.xml"> | ||||
<front> | ||||
<title>IPv6 Benchmarking Methodology for Network Interconnect Device | ||||
s</title> | ||||
<author fullname="C. Popoviciu" initials="C." surname="Popoviciu"/> | ||||
<author fullname="A. Hamza" initials="A." surname="Hamza"/> | ||||
<author fullname="G. Van de Velde" initials="G." surname="Van de Vel | ||||
de"/> | ||||
<author fullname="D. Dugatkin" initials="D." surname="Dugatkin"/> | ||||
<date month="May" year="2008"/> | ||||
<abstract> | ||||
<t>The benchmarking methodologies defined in RFC 2544 are IP versi | ||||
on independent. However, RFC 2544 does not address some of the specificities of | ||||
IPv6. This document provides additional benchmarking guidelines, which in conj | ||||
unction with RFC 2544, lead to a more complete and realistic evaluation of the I | ||||
Pv6 performance of network interconnect devices. IPv6 transition mechanisms are | ||||
outside the scope of this document. This memo provides information for the Int | ||||
ernet community.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="5180"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC5180"/> | ||||
</reference> | ||||
<reference anchor="RFC6890" target="https://www.rfc-editor.org/info/rfc6 | ||||
890" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6890.xml"> | ||||
<front> | ||||
<title>Special-Purpose IP Address Registries</title> | ||||
<author fullname="M. Cotton" initials="M." surname="Cotton"/> | ||||
<author fullname="L. Vegoda" initials="L." surname="Vegoda"/> | ||||
<author fullname="R. Bonica" initials="R." role="editor" surname="Bo | ||||
nica"/> | ||||
<author fullname="B. Haberman" initials="B." surname="Haberman"/> | ||||
<date month="April" year="2013"/> | ||||
<abstract> | ||||
<t>This memo reiterates the assignment of an IPv4 address block (1 | ||||
92.0.0.0/24) to IANA. It also instructs IANA to restructure its IPv4 and IPv6 S | ||||
pecial-Purpose Address Registries. Upon restructuring, the aforementioned regis | ||||
tries will record all special-purpose address blocks, maintaining a common set o | ||||
f information regarding each address block.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="BCP" value="153"/> | ||||
<seriesInfo name="RFC" value="6890"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC6890"/> | ||||
</reference> | ||||
<reference anchor="RFC8200" target="https://www.rfc-editor.org/info/rfc8 | ||||
200" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml"> | ||||
<front> | ||||
<title>Internet Protocol, Version 6 (IPv6) Specification</title> | ||||
<author fullname="S. Deering" initials="S." surname="Deering"/> | ||||
<author fullname="R. Hinden" initials="R." surname="Hinden"/> | ||||
<date month="July" year="2017"/> | ||||
<abstract> | ||||
<t>This document specifies version 6 of the Internet Protocol (IPv | ||||
6). It obsoletes RFC 2460.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="STD" value="86"/> | ||||
<seriesInfo name="RFC" value="8200"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8200"/> | ||||
</reference> | ||||
<reference anchor="RFC8446" target="https://www.rfc-editor.org/info/rfc8 | ||||
446" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8446.xml"> | ||||
<front> | ||||
<title>The Transport Layer Security (TLS) Protocol Version 1.3</titl | ||||
e> | ||||
<author fullname="E. Rescorla" initials="E." surname="Rescorla"/> | ||||
<date month="August" year="2018"/> | ||||
<abstract> | ||||
<t>This document specifies version 1.3 of the Transport Layer Secu | ||||
rity (TLS) protocol. TLS allows client/server applications to communicate over t | ||||
he Internet in a way that is designed to prevent eavesdropping, tampering, and m | ||||
essage forgery.</t> | ||||
<t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 50 | ||||
77, 5246, and 6961. This document also specifies new requirements for TLS 1.2 im | ||||
plementations.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8446"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8446"/> | ||||
</reference> | ||||
<reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9 | ||||
000" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9000.xml"> | ||||
<front> | ||||
<title>QUIC: A UDP-Based Multiplexed and Secure Transport</title> | ||||
<author fullname="J. Iyengar" initials="J." role="editor" surname="I | ||||
yengar"/> | ||||
<author fullname="M. Thomson" initials="M." role="editor" surname="T | ||||
homson"/> | ||||
<date month="May" year="2021"/> | ||||
<abstract> | ||||
<t>This document defines the core of the QUIC transport protocol. | ||||
QUIC provides applications with flow-controlled streams for structured communic | ||||
ation, low-latency connection establishment, and network path migration. QUIC i | ||||
ncludes security measures that ensure confidentiality, integrity, and availabili | ||||
ty in a range of deployment circumstances. Accompanying documents describe the | ||||
integration of TLS for key negotiation, loss detection, and an exemplary congest | ||||
ion control algorithm.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9000"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9000"/> | ||||
</reference> | ||||
<reference anchor="RFC9001" target="https://www.rfc-editor.org/info/rfc9 | ||||
001" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9001.xml"> | ||||
<front> | ||||
<title>Using TLS to Secure QUIC</title> | ||||
<author fullname="M. Thomson" initials="M." role="editor" surname="T | ||||
homson"/> | ||||
<author fullname="S. Turner" initials="S." role="editor" surname="Tu | ||||
rner"/> | ||||
<date month="May" year="2021"/> | ||||
<abstract> | ||||
<t>This document describes how Transport Layer Security (TLS) is u | ||||
sed to secure QUIC.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9001"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9001"/> | ||||
</reference> | ||||
<reference anchor="RFC9002" target="https://www.rfc-editor.org/info/rfc9 | ||||
002" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9002.xml"> | ||||
<front> | ||||
<title>QUIC Loss Detection and Congestion Control</title> | ||||
<author fullname="J. Iyengar" initials="J." role="editor" surname="I | ||||
yengar"/> | ||||
<author fullname="I. Swett" initials="I." role="editor" surname="Swe | ||||
tt"/> | ||||
<date month="May" year="2021"/> | ||||
<abstract> | ||||
<t>This document describes loss detection and congestion control m | ||||
echanisms for QUIC.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9002"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9002"/> | ||||
</reference> | ||||
<reference anchor="RFC9113" target="https://www.rfc-editor.org/info/rfc9 | ||||
113" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9113.xml"> | ||||
<front> | ||||
<title>HTTP/2</title> | ||||
<author fullname="M. Thomson" initials="M." role="editor" surname="T | ||||
homson"/> | ||||
<author fullname="C. Benfield" initials="C." role="editor" surname=" | ||||
Benfield"/> | ||||
<date month="June" year="2022"/> | ||||
<abstract> | ||||
<t>This specification describes an optimized expression of the sem | ||||
antics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 | ||||
(HTTP/2). HTTP/2 enables a more efficient use of network resources and a reduced | ||||
latency by introducing field compression and allowing multiple concurrent excha | ||||
nges on the same connection.</t> | ||||
<t>This document obsoletes RFCs 7540 and 8740.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9113"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9113"/> | ||||
</reference> | ||||
<reference anchor="RFC9114" target="https://www.rfc-editor.org/info/rfc9 | ||||
114" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9114.xml"> | ||||
<front> | ||||
<title>HTTP/3</title> | ||||
<author fullname="M. Bishop" initials="M." role="editor" surname="Bi | ||||
shop"/> | ||||
<date month="June" year="2022"/> | ||||
<abstract> | ||||
<t>The QUIC transport protocol has several features that are desir | ||||
able in a transport for HTTP, such as stream multiplexing, per-stream flow contr | ||||
ol, and low-latency connection establishment. This document describes a mapping | ||||
of HTTP semantics over QUIC. This document also identifies HTTP/2 features tha | ||||
t are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP | ||||
/3.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9114"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9114"/> | ||||
</reference> | ||||
<reference anchor="RFC9293" target="https://www.rfc-editor.org/info/rfc9 | ||||
293" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9293.xml"> | ||||
<front> | ||||
<title>Transmission Control Protocol (TCP)</title> | ||||
<author fullname="W. Eddy" initials="W." role="editor" surname="Eddy | ||||
"/> | ||||
<date month="August" year="2022"/> | ||||
<abstract> | ||||
<t>This document specifies the Transmission Control Protocol (TCP) | ||||
. TCP is an important transport-layer protocol in the Internet protocol stack, | ||||
and it has continuously evolved over decades of use and growth of the Internet. | ||||
Over this time, a number of changes have been made to TCP as it was specified i | ||||
n RFC 793, though these have only been documented in a piecemeal fashion. This | ||||
document collects and brings those changes together with the protocol specificat | ||||
ion from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6 | ||||
093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 a | ||||
nd 1122, and it should be considered as a replacement for the portions of those | ||||
documents dealing with TCP requirements. It also updates RFC 5961 by adding a s | ||||
mall clarification in reset handling while in the SYN-RECEIVED state. The TCP h | ||||
eader control bits from RFC 793 have also been updated based on RFC 3168.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="STD" value="7"/> | ||||
<seriesInfo name="RFC" value="9293"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9293"/> | ||||
</reference> | ||||
<reference anchor="RFC9204" target="https://www.rfc-editor.org/info/rfc9 | ||||
204" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9204.xml"> | ||||
<front> | ||||
<title>QPACK: Field Compression for HTTP/3</title> | ||||
<author fullname="C. Krasic" initials="C." surname="Krasic"/> | ||||
<author fullname="M. Bishop" initials="M." surname="Bishop"/> | ||||
<author fullname="A. Frindell" initials="A." role="editor" surname=" | ||||
Frindell"/> | ||||
<date month="June" year="2022"/> | ||||
<abstract> | ||||
<t>This specification defines QPACK: a compression format for effi | ||||
ciently representing HTTP fields that is to be used in HTTP/3. This is a variat | ||||
ion of HPACK compression that seeks to reduce head-of-line blocking.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="9204"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC9204"/> | ||||
</reference> | ||||
<reference anchor="Wiki-NGFW" target="https://en.wikipedia.org/wiki/Next | ||||
-generation_firewall"> | ||||
<front> | <front> | |||
<title/> | <title>Next-generation firewall</title> | |||
<author/> | <author> | |||
<date/> | <organization>Wikipedia</organization> | |||
</author> | ||||
<date month="January" year="2023"/> | ||||
</front> | </front> | |||
</reference> | </reference> | |||
<reference anchor="fastly" target="https://www.fastly.com/blog/measuring -quic-vs-tcp-computational-efficiency"> | <reference anchor="fastly" target="https://www.fastly.com/blog/measuring -quic-vs-tcp-computational-efficiency"> | |||
<front> | <front> | |||
<title>Can QUIC match TCP's computational efficiency?</title> | <title>QUIC vs TCP: Which is Better?</title> | |||
<author fullname="Kazuho Oku"/> | <author fullname="Kazuho Oku"/> | |||
<author fullname="Jana Iyengar"/> | <author fullname="Jana Iyengar"/> | |||
<date day="30" month="April" year="2020"/> | <date month="April" year="2020"/> | |||
</front> | </front> | |||
</reference> | </reference> | |||
<reference anchor="Undertow" target="https://undertow.io/blog/2015/04/27 /An-in-depth-overview-of-HTTP2.html"> | <reference anchor="Undertow" target="https://undertow.io/blog/2015/04/27 /An-in-depth-overview-of-HTTP2.html"> | |||
<front> | <front> | |||
<title>An in depth overview of HTTP/2</title> | <title>An in depth overview of HTTP/2</title> | |||
<author/> | <author> | |||
<date/> | <organization>undertow</organization> | |||
</author> | ||||
</front> | </front> | |||
</reference> | </reference> | |||
<reference anchor="CVE" target="https://www.cvedetails.com/"> | ||||
<front> | ||||
<title>Current CVSS Score Distribution For All Vulnerabilities</titl | ||||
e> | ||||
<author> | ||||
<organization>CVE</organization> | ||||
</author> | ||||
</front> | ||||
</reference> | ||||
</references> | </references> | |||
</references> | </references> | |||
<section anchor="Test-Methodology-Security-Effectiveness-Evaluation" numbere d="true" toc="default"> | <section anchor="Test-Methodology-Security-Effectiveness-Evaluation" numbere d="true" toc="default"> | |||
<name>Test Methodology - Security Effectiveness Evaluation</name> | <name>Test Methodology - Security Effectiveness Evaluation</name> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Objective</name> | <name>Test Objective</name> | |||
<t>This test methodology verifies the DUT/SUT is able to detect, | <t>This test methodology verifies the DUT/SUT is able to detect, | |||
prevent, and report the vulnerabilities.</t> | prevent, and report the vulnerabilities.</t> | |||
<t>In this test, background test traffic will be generated to utilize | <t>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 DUT/SUT as encrypted and as well as clear text payload formats | to the DUT/SUT as encrypted and cleartext payload formats | |||
using a traffic generator. <xref target="security_effectiveness" format= "default"/> | using a traffic generator. <xref target="security_effectiveness" format= "default"/> | |||
defines the selection of the malicious traffic from the Common | defines the selection of the malicious traffic from the Common | |||
Vulnerabilities and Exposures (CVE) list for testing.</t> | Vulnerabilities and Exposures (CVEs) list for testing.</t> | |||
<t>The following KPIs are measured in this test:</t> | <t>The following KPIs are measured in this test:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Number of blocked CVEs</li> | <li>Number of blocked CVEs</li> | |||
<li>Number of bypassed (nonblocked) CVEs</li> | <li>Number of bypassed (non-blocked) CVEs</li> | |||
<li>Background traffic performance (verify if the background | <li>Background traffic performance (verify if the background | |||
traffic is impacted while sending CVE toward DUT/SUT)</li> | traffic is impacted while sending CVEs toward the DUT/SUT)</li> | |||
<li>Accuracy of DUT/SUT statistics in terms of vulnerabilities | <li>Accuracy of DUT/SUT statistics in terms of vulnerabilities | |||
reporting</li> | reporting</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Testbed Setup</name> | <name>Testbed Setup</name> | |||
<t>The same testbed MUST be used for security effectiveness tests and | <t>The same testbed <bcp14>MUST</bcp14> be used for security effectivene | |||
as well as for benchmarking test cases defined in <xref target="Benchmar | ss tests and | |||
king" format="default"/>.</t> | for benchmarking test cases defined in <xref target="Benchmarking" forma | |||
t="default"/>.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Parameters</name> | <name>Test Parameters</name> | |||
<t>In this section, the benchmarking test specific parameters are | <t>In this section, the benchmarking-test-specific parameters are | |||
defined.</t> | defined.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>DUT/SUT Configuration Parameters</name> | <name>DUT/SUT Configuration Parameters</name> | |||
<t>DUT/SUT configuration parameters MUST conform to the requirements | <t>DUT/SUT configuration parameters <bcp14>MUST</bcp14> conform to the requirements | |||
defined in <xref target="DUT-SUT_Configuration" format="default"/>. Th e same DUT | defined in <xref target="DUT-SUT_Configuration" format="default"/>. Th e same DUT | |||
configuration MUST be used for the security effectiveness test and | configuration <bcp14>MUST</bcp14> be used for the security effectivene | |||
as well as for benchmarking test cases defined in <xref target="Benchm | ss test and | |||
arking" format="default"/>. The DUT/SUT MUST be configured in inline | for benchmarking test cases defined in <xref target="Benchmarking" for | |||
mode and all detected attack traffic MUST be dropped and the session | mat="default"/>. The DUT/SUT <bcp14>MUST</bcp14> be configured in "Inline" | |||
MUST be reset</t> | mode, all detected attack traffic <bcp14>MUST</bcp14> be dropped, and | |||
the session | ||||
<bcp14>MUST</bcp14> be reset</t> | ||||
</section> | </section> | |||
<section anchor="Test_Equipment_Configuration_Parameters_CVE" numbered=" true" toc="default"> | <section anchor="Test_Equipment_Configuration_Parameters_CVE" numbered=" true" toc="default"> | |||
<name>Test Equipment Configuration Parameters</name> | <name>Test Equipment Configuration Parameters</name> | |||
<t>Test equipment configuration parameters MUST conform to the | <t>Test equipment configuration parameters <bcp14>MUST</bcp14> conform to the | |||
requirements defined in <xref format="default" target="Test_Equipment_ Configuration"/>. The same client and server | requirements defined in <xref format="default" target="Test_Equipment_ Configuration"/>. The same client and server | |||
IP ranges MUST be configured as used in the benchmarking test cases. | IP ranges <bcp14>MUST</bcp14> be configured as used in the benchmarkin | |||
In addition, the following parameters MUST be documented for this | g test cases. | |||
In addition, the following parameters <bcp14>MUST</bcp14> be documente | ||||
d for this | ||||
benchmarking test:</t> | benchmarking test:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Background Traffic: 45% of maximum HTTP throughput and 45% of | <li>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" defined in <xref target="HTTP_TP" format="default"/> | Throughput defined in Sections <xref target="HTTP_TP" format="coun | |||
and <xref target="HTTPS_TP" format="default"/>).</li> | ter"/> | |||
<li>RECOMMENDED CVE traffic transmission Rate: 10 CVEs per | and <xref target="HTTPS_TP" format="counter"/>)</li> | |||
<li><bcp14>RECOMMENDED</bcp14> CVE traffic transmission Rate: 10 CVE | ||||
s per | ||||
second</li> | second</li> | |||
<li>It is RECOMMENDED to generate each CVE multiple times | <li>It is <bcp14>RECOMMENDED</bcp14> to generate each CVE multiple t | |||
(sequentially) at 10 CVEs per second</li> | imes | |||
<li>Ciphers and keys for the encrypted CVE traffic MUST use the | (sequentially) at 10 CVEs per second.</li> | |||
same cipher configured for HTTPS traffic related benchmarking | <li>Ciphers and keys for the encrypted CVE traffic <bcp14>MUST</bcp1 | |||
tests (<xref target="HTTPS_CPS" format="default"/> - <xref target= | 4> use the | |||
"HTTPS_CC" format="default"/>)</li> | same cipher configured for HTTPS-traffic-related benchmarking | |||
tests (Sections <xref target="HTTPS_CPS" format="counter"/>-<xref | ||||
target="HTTPS_CC" format="counter"/>)</li> | ||||
</ul> | </ul> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="CVE_Criteria" numbered="true" toc="default"> | <section anchor="CVE_Criteria" numbered="true" toc="default"> | |||
<name>Test Results Validation Criteria</name> | <name>Test Results Validation Criteria</name> | |||
<t>The following criteria are the test results validation criteria. | <t>The following criteria are the test results validation criteria. | |||
The test results validation criteria MUST be monitored during the | The test results validation criteria <bcp14>MUST</bcp14> be monitored du ring the | |||
whole test duration.</t> | whole test duration.</t> | |||
<ol spacing="normal" type="a"><li>Number of failed application transacti | <ol spacing="normal" type="a"> | |||
ons in the background | <li>The number of failed application transactions in the background | |||
traffic MUST be less than 0.01% of attempted transactions.</li> | traffic <bcp14>MUST</bcp14> be less than 0.01% of the attempted tran | |||
<li>Number of terminated TCP or QUIC connections of the background | sactions.</li> | |||
traffic (due to unexpected errors) MUST be less than 0.01% of | <li>The number of terminated TCP or QUIC connections of the background | |||
traffic (due to unexpected errors) <bcp14>MUST</bcp14> be less than | ||||
0.01% of the | ||||
total initiated TCP connections in the background traffic.</li> | total initiated TCP connections in the background traffic.</li> | |||
<li>During the sustain phase, traffic MUST be forwarded at a | <li>During the sustain phase, traffic <bcp14>MUST</bcp14> be forwarded | |||
constant rate (considered as a constant rate if any deviation of | at a | |||
constant rate (it is considered as a constant rate if any deviation | ||||
of the | ||||
traffic forwarding rate is less than 5%).</li> | traffic forwarding rate is less than 5%).</li> | |||
<li>False positive MUST NOT occur in the background traffic.</li> | <li>A false positive <bcp14>MUST NOT</bcp14> occur in the background t raffic.</li> | |||
</ol> | </ol> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Measurement</name> | <name>Measurement</name> | |||
<t>The following KPI metrics MUST be reported for this test | <t>The following KPI metrics <bcp14>MUST</bcp14> be reported for this te st | |||
scenario:</t> | scenario:</t> | |||
<t>Mandatory KPIs:</t> | <t>Mandatory KPIs:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li> | <li> | |||
<t>Blocked CVEs: They MUST be represented in the following | <t>Blocked CVEs: They <bcp14>MUST</bcp14> be represented in the | |||
ways:</t> | following ways:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Number of blocked CVEs out of total CVEs</li> | <li>Number of blocked CVEs out of total CVEs</li> | |||
<li>Percentage of blocked CVEs</li> | <li>Percentage of blocked CVEs</li> | |||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Unblocked CVEs: They MUST be represented in the following | <t>Unblocked CVEs: They <bcp14>MUST</bcp14> be represented in the | |||
ways:</t> | following ways:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>Number of unblocked CVEs out of total CVEs</li> | <li>Number of unblocked CVEs out of total CVEs</li> | |||
<li>Percentage of unblocked CVEs</li> | <li>Percentage of unblocked CVEs</li> | |||
</ul> | </ul> | |||
</li> | </li> | |||
<li> | <li> | |||
<t>Background traffic behavior: It MUST be represented in one of | <t>Background traffic behavior: It <bcp14>MUST</bcp14> be | |||
the followings ways:</t> | represented in one of the followings ways:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>No impact: Considered as "no impact'" if any deviation of | <li>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)</li> | rate)</li> | |||
<li>Minor impact: Considered as "minor impact" if any deviation | <li>Minor impact: Considered as "minor impact" if any deviation | |||
of traffic forwarding rate is greater than 5% and less than or | of the traffic forwarding rate is greater than 5% and less than or | |||
equal to10% (i.e. small spikes)</li> | equal to 10% (i.e., small spikes)</li> | |||
<li>Heavily impacted: Considered as "Heavily impacted" if any | <li>Heavy impact: Considered as "heavy impact" if any | |||
deviation of traffic forwarding rate is greater than 10% (i.e. | deviation of the traffic forwarding rate is greater than 10% (i.e. | |||
large spikes) or reduced the background HTTP(S) throughput | , | |||
greater than 10%</li> | large spikes) or reduced the background HTTP(S) throughput | |||
greater than 10%</li> | ||||
</ul> | </ul> | |||
</li> | </li> | |||
<li>DUT/SUT reporting accuracy: DUT/SUT MUST report all detected | <li>DUT/SUT reporting accuracy: The DUT/SUT <bcp14>MUST</bcp14> report | |||
vulnerabilities.</li> | all detected vulnerabilities.</li> | |||
</ul> | </ul> | |||
<t>Optional KPIs:</t> | <t>Optional KPIs:</t> | |||
<ul spacing="normal"> | <ul spacing="normal"> | |||
<li>List of unblocked CVEs</li> | <li>List of unblocked CVEs</li> | |||
</ul> | </ul> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Test Procedures and Expected Results</name> | <name>Test Procedures and Expected Results</name> | |||
<t>The test procedure is designed to measure the security | <t>The test procedure is designed to measure the security | |||
effectiveness of the DUT/SUT at the sustaining period of the traffic | effectiveness of the DUT/SUT at the sustaining period of the traffic | |||
load profile. The test procedure consists of two major steps. This | load profile. The test procedure consists of two major steps. This | |||
test procedure MAY be repeated multiple times with different IPv4 and | test procedure <bcp14>MAY</bcp14> be repeated multiple times with differ ent IPv4 and | |||
IPv6 traffic distributions.</t> | IPv6 traffic distributions.</t> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 1: Background Traffic</name> | <name>Step 1: Background Traffic</name> | |||
<t>Generate background traffic at the transmission rate defined in | <t>Generate background traffic at the transmission rate defined in | |||
<xref format="default" target="Test_Equipment_Configuration_Parameters _CVE"/>.</t> | <xref format="default" target="Test_Equipment_Configuration_Parameters _CVE"/>.</t> | |||
<t>The DUT/SUT MUST reach the target objective (HTTP(S) throughput) | <t>The DUT/SUT <bcp14>MUST</bcp14> reach the target objective (HTTP(S) | |||
in sustain phase. The measured KPIs during the sustain phase MUST | throughput) | |||
in the sustain phase. The measured KPIs during the sustain phase <bcp1 | ||||
4>MUST</bcp14> | ||||
meet all the test results validation criteria defined in <xref target= "CVE_Criteria" format="default"/>.</t> | meet all the test results validation criteria defined in <xref target= "CVE_Criteria" format="default"/>.</t> | |||
<t>If the KPI metrics do not meet the acceptance criteria, the test | <t>If the KPI metrics do not meet the test results validation criteria | |||
procedure MUST NOT be continued to "Step 2".</t> | , the test | |||
procedure <bcp14>MUST NOT</bcp14> be continued to Step 2.</t> | ||||
</section> | </section> | |||
<section numbered="true" toc="default"> | <section numbered="true" toc="default"> | |||
<name>Step 2: CVE Emulation</name> | <name>Step 2: CVE Emulation</name> | |||
<t>While generating background traffic (in sustain phase), send the | <t>While generating background traffic (in the sustain phase), send th | |||
CVE traffic as defined in the parameter section.</t> | e | |||
<t>The test equipment MUST start to measure and record all specified | CVE traffic, as defined in the parameter section (<xref target="Test_E | |||
quipment_Configuration_Parameters_CVE"/>).</t> | ||||
<t>The test equipment <bcp14>MUST</bcp14> start to measure and record | ||||
all specified | ||||
KPIs. Continue the test until all CVEs are sent.</t> | KPIs. Continue the test until all CVEs are sent.</t> | |||
<t>The measured KPIs MUST meet all the test results validation | <t>The measured KPIs <bcp14>MUST</bcp14> meet all the test results val idation | |||
criteria defined in <xref target="CVE_Criteria" format="default"/>.</t > | criteria defined in <xref target="CVE_Criteria" format="default"/>.</t > | |||
<t>In addition, the DUT/SUT should either report the detected | <t>In addition, the DUT/SUT should report the detected | |||
vulnerabilities in the log correctly or if, for example, a different | vulnerabilities in the log correctly, or there <bcp14>MUST</bcp14> be referen | |||
naming convention is used, there MUST be reference material | ce | |||
available that will allow for verification that the correct | material available that will allow for verification that the correct | |||
vulnerability was detected. This reference material MUST be cited in | vulnerability was detected if, for example, a different naming | |||
convention is used. This reference material <bcp14>MUST</bcp14> be cited in | ||||
the report.</t> | the report.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="DUT-Classification" numbered="true" toc="default"> | <section anchor="DUT-Classification" numbered="true" toc="default"> | |||
<name>DUT/SUT Classification</name> | <name>DUT/SUT Classification</name> | |||
<t>This document aims to classify the DUT/SUT into four different | <t>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 classification | performance number defined in the vendor datasheet. This classification | |||
MAY help users to determine specific configuration scales (e.g., number | <bcp14>MAY</bcp14> help users to determine specific configuration scales ( e.g., number | |||
of ACL entries), traffic profiles, and attack traffic profiles, scaling | of ACL entries), traffic profiles, and attack traffic profiles, scaling | |||
those proportionally to DUT/SUT sizing category.</t> | those proportionally to the DUT/SUT sizing category.</t> | |||
<t>The four different categories are Extra Small (XS), Small (S), Medium | <t>The four different categories are Extra Small (XS), Small (S), Medium | |||
(M), and Large (L). The RECOMMENDED throughput values for the following | (M), and Large (L). The <bcp14>RECOMMENDED</bcp14> throughput values for t he following | |||
categories are:</t> | categories are:</t> | |||
<t>Extra Small (XS) - Supported throughput less than or equal | <dl newline="false" spacing="normal"> | |||
to1Gbit/s</t> | <dt>Extra Small (XS) -</dt> | |||
<t>Small (S) - Supported throughput greater than 1Gbit/s and less than | <dd>Supported throughput less than or equal to 1 Gbit/s</dd> | |||
or equal to 5Gbit/s</t> | <dt>Small (S) -</dt> | |||
<t>Medium (M) - Supported throughput greater than 5Gbit/s and less than | <dd>Supported throughput greater than 1 Gbit/s and less than or equal | |||
or equal to 10Gbit/s</t> | to 5Gbit/s</dd> | |||
<t>Large (L) - Supported throughput greater than 10Gbit/s</t> | <dt>Medium (M) -</dt> | |||
<dd>Supported throughput greater than 5 Gbit/s and less than or equal | ||||
to 10Gbit/s</dd> | ||||
<dt>Large (L) -</dt> | ||||
<dd>Supported throughput greater than 10 Gbit/s</dd> | ||||
</dl> | ||||
</section> | ||||
<section anchor="Acknowledgements" numbered="false" toc="default"> | ||||
<name>Acknowledgements</name> | ||||
<t>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:</t> | ||||
<t><contact fullname="Anand Vijayan"/>, <contact fullname="Chris | ||||
Marshall"/>, <contact fullname="Jay Lindenauer"/>, <contact | ||||
fullname="Michael Shannon"/>, <contact fullname="Mike Deichman"/>, | ||||
<contact fullname="Ryan Riese"/>, and <contact fullname="Toulnay | ||||
Orkun"/>.</t> | ||||
</section> | ||||
<section numbered="false" toc="default"> | ||||
<name>Contributors</name> | ||||
<t>The following individuals contributed significantly to the creation | ||||
of this document:</t> | ||||
<t><contact fullname="Alex Samonte"/>, <contact fullname="Amritam | ||||
Putatunda"/>, <contact fullname="Aria Eslambolchizadeh"/>, <contact | ||||
fullname="Chao Guo"/>, <contact fullname="Chris Brown"/>, <contact | ||||
fullname="Cory Ford"/>, <contact fullname="David DeSanto"/>, <contact | ||||
fullname="Jurrie Van Den Breekel"/>, <contact fullname="Michelle | ||||
Rhines"/>, <contact fullname="Mike Jack"/>, <contact fullname="Ryan | ||||
Liles"/>, <contact fullname="Samaresh Nair"/>, <contact | ||||
fullname="Stephen Goudreault"/>, <contact fullname="Tim Carlin"/>, and | ||||
<contact fullname="Tim Otto"/>.</t> | ||||
</section> | </section> | |||
</back> | </back> | |||
</rfc> | </rfc> | |||
End of changes. 433 change blocks. | ||||
1660 lines changed or deleted | 1655 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |