<?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-05" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.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-05"/>
    <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="July" day="31"/>
    <workgroup>bmwg</workgroup>
    <abstract>
      <?line 53?>

<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 57?>

<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>
          <t>
Tests must report the sequence number and source timestamp carried in each metric update. If timestamps from different devices are used for comparison and metric validation, benchmarking tests must report the synchronization method (e.g., NTP<xref target="RFC5905"/>, PTP<xref target="IEEE-1588-2008"/>) between the involved devices.</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 the above approaches, it is required that the edge servers from which CATS metrics are collected are time-synchronized. Each metric update must carry a sequence number and a source timestamp. The receiving DUT must check that the sequence numbers are strictly increasing to detect duplication or reordering, thereby validating the correctness and ordering of the metrics. To test whether metrics are received within the pre-defined time interval, implementors should compare the timestamp of the received current metric with the timestamp of the last arrival from the logs. If the time difference equals the pre-defined metric update interval, then the CATS metrics collection is considered correct.</t>
        <ul spacing="normal">
          <li>
            <t>Expected results:</t>
          </li>
        </ul>
        <t>** All CATS metrics are correctly received, and for metrics from the same collection source, the sequence numbers are strictly increasing with no duplication, reordering, or missing updates detected.</t>
        <t>** The interval between consecutive metric updates matches the predefined value.</t>
        <t>** If timestamps from multiple time-synchronized edge servers are compared, the relative ordering of updates from multiple sources is correctly preserved.</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>
      <t>Authors give thanks to Longlong Zhu for review comments.</t>
    </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="RFC5905">
          <front>
            <title>Network Time Protocol Version 4: Protocol and Algorithms Specification</title>
            <author fullname="D. Mills" initials="D." surname="Mills"/>
            <author fullname="J. Martin" initials="J." role="editor" surname="Martin"/>
            <author fullname="J. Burbank" initials="J." surname="Burbank"/>
            <author fullname="W. Kasch" initials="W." surname="Kasch"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Network Time Protocol (NTP) is widely used to synchronize computer clocks in the Internet. This document describes NTP version 4 (NTPv4), which is backwards compatible with NTP version 3 (NTPv3), described in RFC 1305, as well as previous versions of the protocol. NTPv4 includes a modified protocol header to accommodate the Internet Protocol version 6 address family. NTPv4 includes fundamental improvements in the mitigation and discipline algorithms that extend the potential accuracy to the tens of microseconds with modern workstations and fast LANs. It includes a dynamic server discovery scheme, so that in many cases, specific server configuration is not required. It corrects certain errors in the NTPv3 design and implementation and includes an optional extension mechanism.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5905"/>
          <seriesInfo name="DOI" value="10.17487/RFC5905"/>
        </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="22" month="June" 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-10"/>
        </reference>
        <reference anchor="IEEE-1588-2008">
          <front>
            <title>IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems</title>
            <author>
              <organization>IEEE</organization>
            </author>
            <date year="2008" month="July"/>
          </front>
        </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="29" month="May" 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-33"/>
        </reference>
      </references>
    </references>
    <?line 438?>

<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>
