<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-yl-bmwg-cats-04" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title abbrev="Benchmarking Methodology for CATS ">Benchmarking Methodology for Computing-aware Traffic Steering</title>
    <seriesInfo name="Internet-Draft" value="draft-yl-bmwg-cats-04"/>
    <author initials="K." surname="Yao" fullname="Kehan Yao">
      <organization>China Mobile</organization>
      <address>
        <email>yaokehan@chinamobile.com</email>
      </address>
    </author>
    <author initials="P." surname="Liu" fullname="Peng Liu">
      <organization>China Mobile</organization>
      <address>
        <email>liupengyjy@chinamobile.com</email>
      </address>
    </author>
    <author initials="G." surname="Zeng" fullname="Guanming Zeng">
      <organization>Huawei</organization>
      <address>
        <email>zengguanming@huawei.com</email>
      </address>
    </author>
    <author initials="X." surname="Yi" fullname="Xinxin Yi">
      <organization>China Unicom</organization>
      <address>
        <email>yixx3@chinaunicom.cn</email>
      </address>
    </author>
    <author initials="Q." surname="Xiong" fullname="Quan Xiong">
      <organization>ZTE</organization>
      <address>
        <email>xiong.quan@zte.com.cn</email>
      </address>
    </author>
    <author initials="M.-N." surname="Tran" fullname="Minh-Ngoc Tran">
      <organization>ETRI</organization>
      <address>
        <email>mipearlska@etri.re.kr</email>
      </address>
    </author>
    <date year="2026" month="May" day="25"/>
    <workgroup>bmwg</workgroup>
    <abstract>
      <?line 48?>

<t>Computing-aware traffic steering (CATS) is a traffic engineering approach for steering service requests towards appropriate service instances based on the awareness of both computing and network information. This document proposes benchmarking methodologies for CATS.</t>
    </abstract>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Computing-aware traffic Steering(CATS) is a traffic engineering approach considering both computing and network metrics, in order to select appropriate service instances. Some of the latency-sensitive, throughput-sensitive applications or compute-intensive applications need CATS to guarantee effective instance selection, which are mentioned in <xref target="I-D.ietf-cats-usecases-requirements"/>. Considering there are many computing and network metrics that can be selected for traffic steering, as proposed in <xref target="I-D.ietf-cats-metric-definition"/>, some benchmarking test methods are required to validate the effectiveness of different CATS metrics. Besides, there are also different deployment models as described in the CATS framework <xref target="I-D.ietf-cats-framework"/>, i.e. the distributed model, the centralized model and the hybrid model, and there are also multiple objectives for instance selection, for example, instance with lowest end-to-end latency or the highest system utilization. The benchmarking methodology proposed in this document is essential for guiding CATS implementation.</t>
    </section>
    <section anchor="definition-of-terms">
      <name>Definition of Terms</name>
      <t>This document uses the following terms defined in <xref target="I-D.ietf-cats-framework"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Computing-aware Traffic Steering (CATS)</t>
        </li>
        <li>
          <t>CATS Path Selector (C-PS)</t>
        </li>
        <li>
          <t>CATS-Forwarder</t>
        </li>
        <li>
          <t>CATS Service Metric Agent (C-SMA)</t>
        </li>
        <li>
          <t>CATS Network Metric Agent (C-NMA)</t>
        </li>
      </ul>
    </section>
    <section anchor="test-methodology">
      <name>Test Methodology</name>
      <section anchor="test-setup">
        <name>Test Setup</name>
        <t>The test setup in general is compliant with <xref target="RFC2544"/>.  As is mentioned in the introduction, there are basically three models for CATS deployment. The centralized model, the distributed model, and the hybrid model.</t>
        <t>The difference primarily sits in how CATS metrics are collected and distributed into the network and accordingly, where the CATS path selector(C-PS) is placed to make decisions, as is defined in <xref target="I-D.ietf-cats-framework"/>.</t>
        <section anchor="test-setup-centralized-model">
          <name>Test Setup - Centralized Model</name>
          <t><xref target="centralized-test-setup"/> shows the test setup of the centralized model to implement CATS. The centralized test setup is similar to the Software Defined Networking(SDN) standalone mode test setup defined in <xref target="RFC8456"/>. The DUT locates at the same place with the SDN controller. In the centralized model, SDN controller takes the role of the decision making for instance selection as well as traffic steering. The application plane test emulator is connected with the forwarding plane test emulator via interface 2 (I2). The SDN controller is connected to Edge server manager via interface 4 (I4). The interface (I1) of the SDN controller is connected with the forwarding plane. Service request is sent from application to the ingress CATS-Forwarder through I2. CATS metrics are collected from Edge server manager via I4. The traffic steering policies are configured through I1.</t>
          <t>In the forwarding plane, CATS-Forwarder 1 serves as the ingress node and is connected with the host which is an application plane emulator. CATS-Forwarder 2 and CATS-Forwarder 3 serve as the egress nodes and are connected with two edge servers respectively. Both of the edge servers are connected with edge server manager via I3. I3 is an internal interface for CATS metrics collection within edge sites.</t>
          <t>To accommodate the CATS framework, the C-PS is placed at the SDN controller. The C-SMA is placed at the edge server manager. C-NMAs are placed at all CATS-Forwarders.</t>
          <figure anchor="centralized-test-setup">
            <name>Centralized Test Setup</name>
            <artwork><![CDATA[
      +-----------------------------------------------+
      |       Application-Plane Test Emulator         |
      |                                               |
      |   +-----------------+      +-------------+    |
      |   |   Application   |      |   Service   |    |
      |   +-----------------+      +-------------+    |
      |                                               |
      +-+(I2)-----------------------------------------+
        |
        |
        |   +-------------------------------+    +-------------+
        |   |       +----------------+      |    |             |
        |   |       | SDN Controller |      |    | Edge Server |
        |   |       |     (C-PS)     |      |----|   Manager   |
        |   |       +----------------+      | I4 |   (C-SMA)   |
        |   |    Device Under Test (DUT)    |    |             |
        |   +-------------------------------+    +--------+----+
        |             |                                   |
        |             |                                   |
      +-+------------+(I1)--------------------------+     |
      |                                             |     |
      |        +----------------+                   |     |
      |        |CATS-Forwarder 1|                   |     |
      |        |     (C-NMA)    |                   |     | I3
      |        +----------------+                   |     |
      |          /            \                     |     |
      |         /              \                    |     |
      |     l0 /                \ ln                |     |
      |       /                  \                  |     |
      |  +----------------+  +----------------+     |     |
      |  |CATS-Forwarder 2|  |CATS-Forwarder 3|     |     |
      |  |     (C-NMA)    |..|     (C-NMA)    |     |     |
      |  +----------------+  +----------------+     |     |
      |          |                |                 |     |
      |    +------------+  +------------+           |     |
      |    |   Edge     |  |   Edge     |           |     |
      |    |  Server 1  |  |  Server 2  |           |     |
      |    |   (ES1)    |  |   (ES2)    |           |     |
      |    +------------+  +------------+           |     |
      |          |               |                  |     |
      |          +---------------+------------------------+
      |     Forwarding-Plane Test Emulator          |
      +---------------------------------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="test-setup-distributed-model">
          <name>Test Setup - Distributed Model</name>
          <t><xref target="distributed-test-setup"/> shows the test setup of the distributed model to implement CATS. In the distributed test setup, The DUT is the group of CATS-Forwarders, since the decision maker is the CATS ingress node, namely CATS-Forwarder 1. CATS egress nodes, CATS-Forwarder 2 and CATS-Forwarder 3, take the role of collecting CATS metrics from edge servers and distribute these metrics towards other CATS-Forwarders. Service emulators from application plane is connected with the control-plane and forwarding-plane test emulator through the interface 1.</t>
          <t>To accommodate the CATS framework, the C-PS is placed at the ingress CATS-Forwarder 1. The C-NMAs and C-SMAs are placed at all egress CATS-Forwarders (CATS-Forwarder 2 and 3).</t>
          <figure anchor="distributed-test-setup">
            <name>Distributed Test Setup</name>
            <artwork><![CDATA[
      +---------------------------------------------+
      |       Application-Plane Test Emulator       |
      |                                             |
      |   +-----------------+      +-------------+  |
      |   |   Application   |      |   Service   |  |
      |   +-----------------+      +-------------+  |
      |                                             |
      +---------------+-----------------------------+
                      |
                      |
      +---------------+(I1)---------------------------+
      |                                               |
      |   +----------------------------------------+  |
      |   |        +----------------+              |  |
      |   |        |CATS-Forwarder 1|              |  |
      |   |        |     (C-PS)     |              |  |
      |   |        +----------------+              |  |
      |   |          /            \                |  |
      |   |         /              \               |  |
      |   |     l0 /                \ ln           |  |
      |   |       /                  \             |  |
      |   | +----------------+  +----------------+ |  |
      |   | |CATS-Forwarder 2|  |CATS-Forwarder 3| |  |
      |   | |(C-NMA & C-SMA) |..|(C-NMA & C-SMA) | |  |
      |   | +----------------+  +----------------+ |  |
      |   |      Device Under Test (DUT)           |  |
      |   +----------------------------------------+  |
      |              |                |               |
      |      +-------------+  +-------------+         |
      |      |Edge Server 1|  |Edge Server 2|         |
      |      |    (ES1)    |  |    (ES2)    |         |
      |      +-------------+  +-------------+         |
      |           Control-Plane and                   |
      |      Forwarding-Plane Test Emulator           |
      +-----------------------------------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="test-setup-hybrid-model">
          <name>Test Setup - Hybrid Model</name>
          <t><xref target="hybrid-test-setup"/> shows the test setup of the hybrid model to implement CATS. In hybrid model, some stable CATS metrics are distributed among involved network devices (i.e., CATS-Forwarders), while other frequent changing CATS metrics may be collected by a centralized SDN controller. At the mean time, Service scheduling function can be performed by a SDN controller and/or the ingress CATS-Forwarder. The entire or partial C-PS function may be implemented in the centralized control plane, depending on the specific implementation and deployment.</t>
          <t>To accommodate the CATS framework, the C-PSs are placed at the SDN controller and the ingress CATS-Forwarder 1. The C-SMAs are placed at the edge server manager and all egress CATS-Forwarders, The C-NMAs are placed at all egress CATS-Forwarders (CATS-Forwarder 2 and 3) too.</t>
          <figure anchor="hybrid-test-setup">
            <name>Hybrid Test Setup</name>
            <artwork><![CDATA[
      +-----------------------------------------------+
      |       Application-Plane Test Emulator         |
      |                                               |
      |   +-----------------+      +-------------+    |
      |   |   Application   |      |   Service   |    |
      |   +-----------------+      +-------------+    |
      |                                               |
      +-+(I2)-----------------------------------------+
        |
        |
        |   +-------------------------------+    +-------------+
        |   |       +----------------+      |    |             |
        |   |       | SDN Controller |      |    | Edge Server |
        |   |       |     (C-PS)     |      |----|   Manager   |
        |   |       +----------------+      | I4 |   (C-SMA)   |
        |   |    Device Under Test (DUT)    |    |             |
        |   +-------------------------------+    +--------+----+
        |             |                                   |
        |             |                                   |
      +-+------------+(I1)--------------------------+     |
      |                                             |     |
      |        +----------------+                   |     |
      |        |CATS-Forwarder 1|                   |     |
      |        |     (C-PS)     |                   |     | I3
      |        +----------------+                   |     |
      |          /            \                     |     |
      |         /              \                    |     |
      |     l0 /                \ ln                |     |
      |       /                  \                  |     |
      |  +----------------+  +----------------+     |     |
      |  |CATS-Forwarder 2|  |CATS-Forwarder 3|     |     |
      |  |(C-NMA & C-SMA) |..|(C-NMA & C-SMA) |     |     |
      |  +----------------+  +----------------+     |     |
      |          |                |                 |     |
      |    +------------+  +------------+           |     |
      |    |   Edge     |  |   Edge     |           |     |
      |    |  Server 1  |  |  Server 2  |           |     |
      |    |   (ES1)    |  |   (ES2)    |           |     |
      |    +------------+  +------------+           |     |
      |          |               |                  |     |
      |          +---------------+------------------------+
      |     Forwarding-Plane Test Emulator          |
      +---------------------------------------------+
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="control-plane-and-forwarding-plane-support">
        <name>Control Plane and Forwarding Plane Support</name>
        <t>In the centralized model, Both of the control plane and forwarding plane follow Segment Routing pattern, i.e. SRv6<xref target="RFC8986"/>. The SDN controller configure SRv6 policies based on the awareness of CATS metrics and traffic is steered through SRv6 tunnels built between CATS ingress nodes and CATS egress nodes. The collection of CATS metrics in control plane is through Restful API or similar signalling protocols built between the SDN controller and the edge server manager.</t>
        <t>In the distributed model, in terms of the control plane, EBGP<xref target="RFC4271"/> is established between CATS egress nodes and edge servers. IBGP<xref target="RFC4271"/> is established between CATS egress nodes with CATS ingress nodes. BGP is chosen to distribute CATS metrics in network domain, from edge servers to CATS ingress node. Carrying CATS metrics is implemented through the extension of BGP, and <xref target="I-D.ietf-idr-5g-edge-service-metadata"/> provides some examples by leveraging sub-TLVs extensions.</t>
        <t>In the hybrid model, the metric distribution follows the control plane settings in both centralized and distributed model, according to the actual choices in what metrics are required to be distributed centrally or distributedly.</t>
        <t>In terms of the forwarding plane, SRv6 tunnels are enabled between CATS ingress nodes with CATS egress nodes.</t>
        <t>Service flows are routed towards service instances by following anycast IP addresses in all of the models.</t>
      </section>
      <section anchor="topology">
        <name>Topology</name>
        <t>In terms of all of the approaches to test CATS performance in laboratory environments, implementors consider only single domain realization, that is all CATS-Forwarders are within the same AS. There is no further special requirement for specific topologies.</t>
      </section>
      <section anchor="device-configuration">
        <name>Device Configuration</name>
        <t>Before implementation, there are some pre-configurations need to be settled.</t>
        <t>** Application plane Setup</t>
        <t>Application plane functionalities must be setup in edge servers before the implementation, and hosts that send service requests must also be setup.</t>
        <t>** CATS Metrics Collector Setup</t>
        <t>In the centralized model and the hybrid model, the CATS metrics collector need to be first setup in the edge server manager. A typical example of the collector can be the monitoring components of Kubernetes. It can periodically collect different levels of CATS metrics. Then the connecton between the edge server manager and the SDN controller must be established, one example is to set restful API or ALTO protocol for CATS metrics publication and subscription.</t>
        <t>In the distributed model and the hybrid model, the CATS metrics collector need to be setup in each edge site. In this benchmark test, the collector is setup in each edge server which is directly connected with a CATS egress node. Implementors can use plugin software to collect CATS metrics. Then each edge server must set BGP peer with the CATS egress node that's directly connected. In each edge server, a BGP speaker is setup.</t>
        <t>** Control Plane and Fordwarding Plane functionality Setup</t>
        <t>In the centralized model and the hybrid model, the SDN controller need to be pre-configured and the interface between the SDN controller and CATS-Forwarders must be tested to validate if control plane policies can be correctly downloaded and it metrics from network side can be correctly uploaded. In the distributed model and the hybrid model, the control plane setup is the iBGP connections between CATS-Forwarders. For both models. the forwarding plane functions, SRv6 tunnels must be pre-established and tested.</t>
      </section>
    </section>
    <section anchor="reporting-format">
      <name>Reporting Format</name>
      <t>CATS benchmarking tests focus on data that can be measured and controllable.</t>
      <ul spacing="normal">
        <li>
          <t>Control plane configurations:
          </t>
          <ul spacing="normal">
            <li>
              <t>SDN controller types and versions;</t>
            </li>
            <li>
              <t>northbound and southbound protocols.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Forwarding plane configurations:
          </t>
          <ul spacing="normal">
            <li>
              <t>forwarding plane protocols (e.g., SRv6);</t>
            </li>
            <li>
              <t>the number of CATS-Forwarders;</t>
            </li>
            <li>
              <t>the number of edge servers;</t>
            </li>
            <li>
              <t>the number of links;</t>
            </li>
            <li>
              <t>edge server types, versions.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Application plane configurations:
          </t>
          <ul spacing="normal">
            <li>
              <t>Traffic types and configurations.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>CATS Metrics:
Each test must clearly state what CATS metrics it use for traffic steering, according to the CATS metrics definition in <xref target="I-D.ietf-cats-metric-definition"/>.  </t>
          <ul spacing="normal">
            <li>
              <t>For Level 0 metrics, benchmarking tests must declare metric types, units, statistics(e.g, mean, max, min), format, and metric sources(e.g, nominal, estimation, aggregation).</t>
            </li>
            <li>
              <t>For Level 1 metrics, benchmarking tests must declare metric types, statistics, units, format, aggregation functions, and metric sources.</t>
            </li>
            <li>
              <t>For the Level 2 metric, benchmarking tests must declare metric type, normalization functions, and metric source.</t>
            </li>
          </ul>
          <t>
For all metric levels, benchmarking tests must report the Measurement_Window parameter used for metric collection.</t>
        </li>
      </ul>
      <t><strong>Detailed normalization functions and aggregation functions are listed in appendix A.</strong></t>
      <t>The recommended metric levels are listed in <xref target="mapping"/> for the benchmark tests that are described in <xref target="benchmark-test"/>:</t>
      <figure anchor="mapping">
        <name>Mapping between Benchmarking Tests and Metric Levels</name>
        <artwork><![CDATA[
  +----------------+--------------------------+---------------------+
  | Test Objective | Recommended Metric Level | Example Metric_Type |
  +----------------+--------------------------+---------------------+
  | CATS Metrics   |                          | compute_CPU_util or |
  | Collection and |    All Metric Levels     | level1_composed  or |
  | Distribution   |                          | level2_global       |
  +----------------+--------------------------+---------------------+
  | Session        |      Level 1 or          | level1_composed  or |
  | Continuity     |      Level 2             | level2_global       |
  +----------------+--------------------------+---------------------+
  | End-to-end     |      Level 1 or          | level1_composed  or |
  | Service Latency|      Level 2             | level2_global       |
  +----------------+--------------------------+---------------------+
  | System         |      Level 1             | level1_computing    |
  | Utilization    |                          |                     |
  +----------------+--------------------------+---------------------+
  | Load Balancing |      Level 1 or          | level1_computing or |
  | Variance       |      Level 2             | level2_global       |
  +----------------+--------------------------+---------------------+
]]></artwork>
      </figure>
    </section>
    <section anchor="benchmark-test">
      <name>Benchmarking Tests</name>
      <section anchor="cats-metrics-collection-and-distribution">
        <name>CATS Metrics Collection and Distribution</name>
        <ul spacing="normal">
          <li>
            <t>Objective:
To determine that CATS metrics can be correctly collected and distributed to the DUTs which are the SDN controller in the centralized model and the CATS ingress node in the distributed model, as anticipated within a pre-defined time interval for CATS metrics update.</t>
          </li>
          <li>
            <t>Procedure:</t>
          </li>
        </ul>
        <t>In the centralized model and the hybrid model, the edge server manager periodically grasp CATS metrics from every edge server that can provide CATS service. Then it passes the information to the SDN controller through publish-subscription methods. Implementors then should log into the SDN controller to check if it can receive the CATS metrics from the edge server manager.</t>
        <t>In the distributed model and the hybrid model, the collectors within each edge server periodically grasp the CATS metrics of the edge server. Then it distributes the metrics to the CATS egress node it directly connected. Then Each CATS egress node further distributes the metrics to the CATS ingress node. Implementors then log into the CATS ingress node to check if metrics from all edge servers have been received.</t>
        <t>For all of these approaches, to test whether metrics can be received within the pre-defined time interval, implementors could compare the timestamp when receiving the current metric and the timestamp when the last metric arrives from the logs. If the time difference is exactly equal to the pre-defined metric update time interval, then CATS metrics collection is correct.</t>
        <ul spacing="normal">
          <li>
            <t>Expected results:</t>
          </li>
        </ul>
        <t>** All CATS metrics are correctly received without loss or error.</t>
        <t>** The interval between consecutive metric updates matches the predefined value.</t>
      </section>
      <section anchor="session-continuity">
        <name>Session continuity</name>
        <ul spacing="normal">
          <li>
            <t>Objective:
To determine that traffic can be correctly steered to the selected service instances and TCP sessions are maintained for specific service flows.</t>
          </li>
          <li>
            <t>Procedure:
Enable several hosts to send service requests. In distributed model, log into the CATS ingress node to check the forwarding table that route entries have been created for service instances. Implementors can see that a specific packet which hits the session table, is matched to a target service intance. Then manually increasing the load of the target edge server. From the host side, one can see that service is going normally, while in the interface of the CATS-Forwarder, one can see that the previous session table aging successfully which means CATS has steer the service traffic to another service instance.</t>
          </li>
        </ul>
        <t>In the centralized model and the hybrid model, implementors log into the management interface of the SDN controller and can check routes and sessions.</t>
        <ul spacing="normal">
          <li>
            <t>Expected results:</t>
          </li>
        </ul>
        <t>** Traffic is correctly forwarded to the selected edge server without blackholing.</t>
        <t>** Session entries are dynamically created and properly aged.</t>
        <t>** When the target server is overloaded, traffic is smoothly switched to another instance.</t>
        <t>** No session drop or service interruption occurs during steering.</t>
      </section>
      <section anchor="end-to-end-service-latency">
        <name>End-to-end Service Latency</name>
        <ul spacing="normal">
          <li>
            <t>Objective:
To determine that CATS works properly under the pre-defined test condition and prove its effectiveness in service end-to-end latency guarantee.</t>
          </li>
          <li>
            <t>Procedure:
Pre-define the CATS metrics distribution time to be T_1 seconds. Enable a host to send service requests. In distributed model, log into the CATS ingress node to check if route entries have been successfully created. Suppose the current selected edge server is ES1. Then manually increase the load of ES1, and check the CATS ingress node again. The selected instance has been changed to ES2. CATS works properly. Then print the logs of the ingress CATS-Forwarder to check the time it updates the route entries. The time difference delta_T between when the new route entry first appears and when the previous route entry last appears should equals to T_1. Then check if service SLA can be satisfied.</t>
          </li>
        </ul>
        <t>In the centralized model and the hybrid model, implementors log into the management interface of the SDN controller and can check routes and sessions.</t>
        <ul spacing="normal">
          <li>
            <t>Expected results:</t>
          </li>
        </ul>
        <t>** C-PS updates routing entries within delta_T, which is approximately equal to T1.</t>
        <t>** End-to-end latency remains within the predefined SLA threshold.</t>
        <t>** Latency after steering is not higher than before steering.</t>
        <t>** Service performance is stable during path switching.</t>
      </section>
      <section anchor="system-utilization">
        <name>System Utilization</name>
        <ul spacing="normal">
          <li>
            <t>Objective:
To determine that CATS can have better load balancing effect at server side than simple network load balancing mechanism, for example, Equal cost multi-path routing (ECMP).</t>
          </li>
          <li>
            <t>Procedure:
Enable several hosts to send service requests and enable ECMP at network side. Then measure the bias of the CPU utilization among different edge servers in time duration delta_T_2. Stop services. Then enable the same number of service requests and enable CATS at network side(the distributed model, the centralized model, and the hybrid model are tested separately.). Measure the bias of the CPU utilization among the same edge servers in time duration delta_T_2. Compare the bias value from two test setup.</t>
          </li>
          <li>
            <t>Expected results:</t>
          </li>
        </ul>
        <t>** CATS reduces CPU utilization bias compared to ECMP, and edge server resources are used more evenly.</t>
        <t>** No server is overloaded while others are underutilized.</t>
        <t>** Overall system resource utilization is improved.</t>
      </section>
      <section anchor="load-balancing-variance">
        <name>Load Balancing Variance</name>
        <ul spacing="normal">
          <li>
            <t>Objective:
To test the load balancing variance under different path selection algorithms, which could evaluate the traffic steering effectiveness of these algorithms. Low variance value means the algorithm performs better for traffic steering. Algorithms that are compared include ECMP, global-min, and Proportional-Integral-Derivative (PID).</t>
          </li>
          <li>
            <t>Procedure:
Three different path selection algorithm are tested one-by-one. In distributed model, pre-configure the control plane function C-PS in the ingress CATS-Forwarder, while in the centralized and hybrid model, the path selection function is configured in the SDN controller. For each test round, implementors initiate the same number of service flows to multiple service edge sites. For example, the number of service flows are set to M, while the number of service edge sites is N. Implementors need to record the number of service flows at each site, and calculate the load balancing variance, according to the following equations:</t>
          </li>
        </ul>
        <t>** n_avg = (n_s1 + n_s2 + .. + n_sN) / N **</t>
        <t>** var_alg = sqrt( sum_{i=1 to N} (n_si - n_avg)^2 / N ) **</t>
        <t>Where 'n_s1', 'n_s2', ..., 'n_sN' refer to the number of service flows that are steered to the corresponding edge site, while 'n_avg' refers to the average number of service flows per site. 'var_alg' is the standard deviation of service flows across all N edge sites, which is used to evaluate the load balancing effectiveness of each algorithm. A lower standard deviation indicates better load balancing, as traffic is more evenly distributed among edge sites.</t>
        <ul spacing="normal">
          <li>
            <t>Expected Results:</t>
          </li>
        </ul>
        <t>** CATS algorithms (global-min, PID) show lower variance than ECMP.</t>
        <t>** Traffic is distributed evenly without flow loss or service degradation.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The benchmarking characterization described in this document is constrained to a controlled environment (as a laboratory) and includes controlled stimuli. The network under benchmarking MUST NOT be connected to production networks.
Beyond these, there are no specific security considerations within the scope of this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2544">
          <front>
            <title>Benchmarking Methodology for Network Interconnect Devices</title>
            <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 values 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="RFC4271">
          <front>
            <title>A Border Gateway Protocol 4 (BGP-4)</title>
            <author fullname="Y. Rekhter" initials="Y." role="editor" surname="Rekhter"/>
            <author fullname="T. Li" initials="T." role="editor" surname="Li"/>
            <author fullname="S. Hares" initials="S." role="editor" surname="Hares"/>
            <date month="January" year="2006"/>
            <abstract>
              <t>This document discusses the Border Gateway Protocol (BGP), which is an inter-Autonomous System routing protocol.</t>
              <t>The primary function of a BGP speaking system is to exchange network reachability information with other BGP systems. This network reachability information includes information on the list of Autonomous Systems (ASes) that reachability information traverses. This information is sufficient for constructing a graph of AS connectivity for this reachability from which routing loops may be pruned, and, at the AS level, some policy decisions may be enforced.</t>
              <t>BGP-4 provides a set of mechanisms for supporting Classless Inter-Domain Routing (CIDR). These mechanisms include support for advertising a set of destinations as an IP prefix, and eliminating the concept of network "class" within BGP. BGP-4 also introduces mechanisms that allow aggregation of routes, including aggregation of AS paths.</t>
              <t>This document obsoletes RFC 1771. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4271"/>
          <seriesInfo name="DOI" value="10.17487/RFC4271"/>
        </reference>
        <reference anchor="RFC8456">
          <front>
            <title>Benchmarking Methodology for Software-Defined Networking (SDN) Controller Performance</title>
            <author fullname="V. Bhuvaneswaran" initials="V." surname="Bhuvaneswaran"/>
            <author fullname="A. Basil" initials="A." surname="Basil"/>
            <author fullname="M. Tassinari" initials="M." surname="Tassinari"/>
            <author fullname="V. Manral" initials="V." surname="Manral"/>
            <author fullname="S. Banks" initials="S." surname="Banks"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines methodologies for benchmarking the control-plane performance of Software-Defined Networking (SDN) Controllers. The SDN Controller is a core component in the SDN architecture that controls the behavior of the network. SDN Controllers have been implemented with many varying designs in order to achieve their intended network functionality. Hence, the authors of this document have taken the approach of considering an SDN Controller to be a black box, defining the methodology in a manner that is agnostic to protocols and network services supported by controllers. This document provides a method for measuring the performance of all controller implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8456"/>
          <seriesInfo name="DOI" value="10.17487/RFC8456"/>
        </reference>
        <reference anchor="RFC8986">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="I-D.ietf-cats-framework">
          <front>
            <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="John Drake" initials="J." surname="Drake">
              <organization>Independent</organization>
            </author>
            <date day="2" month="April" year="2026"/>
            <abstract>
              <t>   This document describes a framework for Computing-Aware Traffic
   Steering (CATS).  Specifically, the document identifies a set of CATS
   functional components, describes their interactions, and provides
   illustrative workflows of the control and data planes.  The framework
   covers only the case of a single service provider.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cats-framework-24"/>
        </reference>
        <reference anchor="I-D.ietf-cats-metric-definition">
          <front>
            <title>CATS Metrics Definition</title>
            <author fullname="Kehan Yao" initials="K." surname="Yao">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Jordi Ros-Giralt" initials="J." surname="Ros-Giralt">
              <organization>Qualcomm Europe, Inc.</organization>
            </author>
            <author fullname="Guanming Zeng" initials="G." surname="Zeng">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="15" month="May" year="2026"/>
            <abstract>
              <t>   Computing-Aware Traffic Steering (CATS) is a traffic engineering
   approach that optimizes the steering of traffic to a service instance
   by considering the dynamic state of computing and network resources.
   To enable such decisions, CATS components exchange metrics that
   describe resource conditions affecting service instance selection.
   This document focuses on compute and communication metrics for CATS
   and defines a hierarchical abstraction of these metrics to improve
   interoperability, scalability, and operational simplicity.  It does
   not aim to standardize raw infrastructure (Level 0) metrics; instead,
   it specifies higher-level representations that can be derived from
   raw measurements using aggregation and normalization functions.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cats-metric-definition-08"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-cats-usecases-requirements">
          <front>
            <title>Computing-Aware Traffic Steering (CATS) Problem Statement, Use Cases, and Requirements</title>
            <author fullname="Kehan Yao" initials="K." surname="Yao">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Shuai Zhang" initials="S." surname="Zhang">
              <organization>China Unicom</organization>
            </author>
            <author fullname="Qing An" initials="Q." surname="An">
              <organization>Alibaba Group</organization>
            </author>
            <date day="2" month="February" year="2026"/>
            <abstract>
              <t>   Distributed computing enhances service response time and energy
   efficiency by utilizing diverse computing facilities for compute-
   intensive and delay-sensitive services.  To optimize throughput and
   response time, "Computing-Aware Traffic Steering" (CATS) selects
   servers and directs traffic based on compute capabilities and
   resources, rather than static dispatch or connectivity metrics alone.
   This document outlines the problem statement and scenarios for CATS
   within a single domain, and drives requirements for the CATS
   framework.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cats-usecases-requirements-14"/>
        </reference>
        <reference anchor="I-D.ietf-idr-5g-edge-service-metadata">
          <front>
            <title>BGP Extension for 5G Edge Service Metadata</title>
            <author fullname="Linda Dunbar" initials="L." surname="Dunbar">
              <organization>Futurewei</organization>
            </author>
            <author fullname="Kausik Majumdar" initials="K." surname="Majumdar">
              <organization>Oracle</organization>
            </author>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Gyan Mishra" initials="G. S." surname="Mishra">
              <organization>Verizon</organization>
            </author>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <date day="27" month="April" year="2026"/>
            <abstract>
              <t>   This draft describes a new Edge Metadata Path Attribute and some Sub-
   TLVs for egress routers to advertise the Edge Metadata about the
   attached edge services (ES).  The edge service Metadata can be used
   by the ingress routers in the 5G Local Data Network to make path
   selections not only based on the routing cost but also the running
   environment of the edge services.  The goal is to improve latency and
   performance for 5G edge services.

   The extension enables an edge service at one specific location to be
   more preferred than the others with the same IP address (ANYCAST) to
   receive data flow from a specific source, like a specific User
   Equipment (UE).


              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-idr-5g-edge-service-metadata-32"/>
        </reference>
      </references>
    </references>
    <?line 427?>

<section anchor="agg-norm-functions">
      <name>Aggregation and Normalization Functions</name>
      <t>This appendix specifies the detailed aggregation functions (categorized by time-scale, spatial, and cross-category) and normalization functions for CATS metrics, aligned with <xref target="I-D.ietf-cats-metric-definition"/>.</t>
      <section anchor="time-agg">
        <name>Time-scale Aggregation</name>
        <t>Time-scale aggregation consolidates metric values over a specified time window to reflect temporal trends (e.g., average computing load over 1 minute). The following functions are defined for CATS benchmarking:</t>
        <t>** Time Average</t>
        <t>Time_Average = (Sample_1 + Sample_2 + ... + Sample_n) / n</t>
        <t>** Time Maximum</t>
        <t>Time_Max = Maximum value of all samples in the time window</t>
        <t>** Time Minimum</t>
        <t>Time_Min = Minimum value of all samples in the time window</t>
      </section>
      <section anchor="spatial-agg">
        <name>Spatial Aggregation</name>
        <t>Spatial aggregation consolidates metric values across multiple compute entities (e.g., multiple edge servers) to reflect regional/global status.</t>
        <t>** Spatial Sum</t>
        <t>Spatial_Sum = Entity_1_Value + Entity_2_Value + ... + Entity_m_Value</t>
        <t>** Spatial Average</t>
        <t>Spatial_Average = (Entity_1_Value + Entity_2_Value + ... + Entity_m_Value) / m</t>
        <t>** Spatial Median</t>
        <t>Spatial_Median = Middle value of sorted entity values</t>
      </section>
      <section anchor="cross-agg">
        <name>Cross-category Aggregation</name>
        <t>Cross-category aggregation combines metrics from different categories (e.g., type 1: CPU load; type 2: GPU memory) to generate metrics with level up for CATS decision-making. This documents adopts linear combination as the cross-category aggregation function.</t>
        <t>** Linear Combination</t>
        <t>Linear_Combination = alpha * Metric_1 + beta * Metric_2 + ...
(alpha + beta + ... = 1)</t>
      </section>
      <section anchor="norm">
        <name>Normalization</name>
        <t>Normalization scales CATS metrics to a uniform range (0-10) using min-max scaling, ensuring comparability while ensuring simplicity. The functions are defined as:</t>
        <t>** Standard Normalization</t>
        <t>Normalized_Value = 10 * (Raw_Value - Min_Value) / (Max_Value - Min_Value)</t>
        <t>** Inverse Normalization</t>
        <t>Inverse_Normalized_Value = 10 * (Max_Value - Raw_Value) / (Max_Value - Min_Value)</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
