<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-yl-bpm-cats-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.35.0 -->
  <front>
    <title abbrev="Benchmarking Methodology for CATS ">Benchmarking Methodology for Computing-aware Traffic Steering</title>
    <seriesInfo name="Internet-Draft" value="draft-yl-bpm-cats-00"/>
    <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="October" day="30"/>
    <workgroup>bpm</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="20" month="October" 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-14"/>
        </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>Upscale AI</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="25" month="September" 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-34"/>
        </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>
