<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc category="info" consensus="true" docName="draft-ietf-cats-framework-12"
     ipr="trust200902" sortRefs="true" submissionType="IETF" symRefs="true"
     tocInclude="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->

  <front>
    <title abbrev="CATS Framework">A Framework for Computing-Aware Traffic
    Steering (CATS)</title>

    <seriesInfo name="Internet-Draft" value="draft-ietf-cats-framework-12"/>

    <author fullname="Cheng Li" initials="C." role="editor" surname="Li">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <country>China</country>
        </postal>

        <email>c.l@huawei.com</email>
      </address>
    </author>

    <author fullname="Zongpeng Du" initials="Z." surname="Du">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <country>China</country>
        </postal>

        <email>duzongpeng@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Mohamed Boucadair" role="editor">
      <organization>Orange</organization>

      <address>
        <postal>
          <country>France</country>
        </postal>

        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>

    <author fullname="Luis M. Contreras">
      <organization>Telefonica</organization>

      <address>
        <postal>
          <country>Spain</country>
        </postal>

        <email>luismiguel.contrerasmurillo@telefonica.com</email>
      </address>
    </author>

    <author fullname="John E Drake" initials="J." surname="Drake">
      <organization>Independent</organization>

      <address>
        <postal>
          <country>United States of America</country>
        </postal>

        <email>je_drake@yahoo.com</email>
      </address>
    </author>

    <date day="26" month="August" year="2025"/>

    <area>Routing area</area>

    <workgroup>cats</workgroup>

    <keyword>Computing Computing-Aware Traffic Steering</keyword>

    <keyword>User Experience</keyword>

    <keyword>Collaborative Networking</keyword>

    <keyword>Service optimization</keyword>

    <abstract>
      <?line 109?>

      <t>This document describes a framework for Computing-Aware Traffic
      Steering (CATS). Specifically, the document identifies a set of CATS
      components, describes their interactions, and provides illustrative
      workflows of the control and data planes.</t>
    </abstract>
  </front>

  <middle>
    <?line 113?>

    <section anchor="introduction">
      <name>Introduction</name>

      <t>Computing service architectures have evolved from single service site
      to multiple, sometimes collaborative, service sites to address various
      issues such as long response times or suboptimal utilization of service
      and network resources (e.g., resource under-utilization or
      exhaustion).</t>

      <t>The underlying networking infrastructures that include computing
      resources usually provide relatively static service dispatching, e.g.,
      the selection of the service instances for a request. In such
      infrastructures, service-specific traffic is often directed to the
      closest service site from a routing perspective without considering the
      actual network state (e.g., traffic congestion conditions) or the
      service site state.</t>

      <t>As described in <xref target="I-D.ietf-cats-usecases-requirements"/>,
      traffic steering that takes into account computing resource metrics
      would benefit several services, including latency-sensitive services
      such as immersive services that rely upon the use of augmented reality
      or virtual reality (AR/VR) techniques. This document provides an
      architectural framework that aims at facilitating the making of compute-
      and network-aware traffic steering decisions in networking environments
      where computing service resources are deployed.</t>

      <t>The Computing-Aware Traffic Steering (CATS) framework assumes that
      there might be multiple service instances that are providing one given
      service, which are running in one or more service sites. Each of these
      service instances can be accessed via a service contact instance, which
      is a client-facing service function instance. A single service site may
      host one or multiple service contact instances. A single service site
      may have limited computing resources available at a given time, whereas
      the various service sites may experience different resource availability
      issues over time. Therefore, steering traffic among different service
      sites can address the issues of lacking resources in a specific service
      site.</t>

      <t>Steering in CATS is about selecting the appropriate service contact
      instance that will service a request according to a set of network and
      computing metrics. This selection may not necessarily reveal the actual
      service instance that will be invoked, e.g., in hierarchical or
      recursive contexts. Therefore, the metrics of the service contact
      instance may be the aggregated metrics from multiple service
      instances.</t>

      <t>The CATS framework is an overlay framework for the selection of the
      suitable service contact instance(s) from a set of candidates. The exact
      characterization of 'suitable' is determined by a combination of
      networking and computing metrics.</t>

      <t>Furthermore, this document describes a workflow of the main CATS
      procedures in <xref target="sec-cats-workflow"/>, which are executed in
      both the control and data planes.</t>
    </section>

    <section anchor="terminology">
      <name>Terminology</name>

      <t>This document makes use of the following terms:</t>

      <dl>
        <dt>Client:</dt>

        <dd>
          <t>An endpoint that is connected to a service provider network.</t>
        </dd>

        <dt>Flow:</dt>

        <dd>
          <t>A flow is identified by the 5-tuple transport coordinates (source
          address and destination address, source and destination port
          numbers, and protocol).</t>
        </dd>

        <dt>Computing-Aware Traffic Steering (CATS):</dt>

        <dd>
          <t>A traffic engineering approach <xref target="RFC9522"/> that
          takes into account the dynamic nature of computing resources (e.g.,
          compute and storage) and network state to optimize service-specific
          traffic forwarding towards a given service contact instance. Various
          relevant metrics may be used to enable such computing-aware traffic
          steering policies.</t>
        </dd>

        <dt>Metric:</dt>

        <dd>
          <t>A piece of information that provides suitable input to a
          selection mechanism to determine a CATS egress node.</t>
        </dd>

        <dt>Computing metrics:</dt>

        <dd>
          <t>Computing metrics are the metrics that come specifically from the
          computing side of the system as distinct from other metrics that may
          be used in a CATS system, such as the metrics from network side. For
          details, a set of metrics from computing side used for CATS has been
          defined in <xref target="I-D.ietf-cats-metric-definition"/>.</t>
        </dd>

        <dt>Service:</dt>

        <dd>
          <t>An offering that is made available by a service provider by
          orchestrating a set of resources (networking, compute, storage,
          etc.).</t>
        </dd>

        <dt/>

        <dd>
          <t>Which and how these resources are used is part of the service
          logic which is internal to the service provider. For example, these
          resources may be:</t>

          <ul spacing="normal">
            <li>
              <t>Exposed by one or multiple processes.</t>
            </li>

            <li>
              <t>Provided by virtual instances, physical, or a combination
              thereof.</t>
            </li>

            <li>
              <t>Hosted within the same or distinct nodes.</t>
            </li>

            <li>
              <t>Hosted within the same or multiple service sites.</t>
            </li>

            <li>
              <t>Chained to provide a service using a variety of means.</t>
            </li>
          </ul>
        </dd>

        <dt/>

        <dd>
          <t>How a service is structured is out of the scope of CATS.</t>
        </dd>

        <dt/>

        <dd>
          <t>The same service can be provided in many locations; each of them
          constitutes a service instance.</t>
        </dd>

        <dt>Computing Service:</dt>

        <dd>
          <t>An offering is made available by a service provider by
          orchestrating a set of computing resources.</t>
        </dd>

        <dt>CATS Service ID (CS-ID):</dt>

        <dd>
          <t>An identifier representing a service, which the clients use to
          access it. See <xref target="cats-ids"/>.</t>
        </dd>

        <dt>Service instance:</dt>

        <dd>
          <t>An instance of running resources according to a given service
          logic.</t>
        </dd>

        <dt/>

        <dd>
          <t>Many such instances can be enabled by a service provider.
          Instances that adhere to the same service logic provide the same
          service.</t>
        </dd>

        <dt/>

        <dd>
          <t>An instance is running in a service site. Clients' requests are
          serviced by one or more of these instances.</t>
        </dd>

        <dt>Service site:</dt>

        <dd>
          <t>A location that hosts the resources that are required to offer a
          service.</t>
        </dd>

        <dt/>

        <dd>
          <t>A service site may be a node or a set of nodes.</t>
        </dd>

        <dt/>

        <dd>
          <t>A CATS-serviced site is a service site that is connected to a
          CATS-Forwarder.</t>
        </dd>

        <dt>Service contact instance:</dt>

        <dd>
          <t>A client-facing service function instance that is responsible for
          receiving requests in the context of a given service.</t>
        </dd>

        <dt/>

        <dd>
          <t>A service contact instance can handle one or more service
          instances.</t>
        </dd>

        <dt/>

        <dd>
          <t>Steering beyond a service contact instance is hidden to both
          clients and CATS components.</t>
        </dd>

        <dt/>

        <dd>
          <t>A service request is processed according to the service logic
          (e.g., handle locally or solicit backend resources).</t>
        </dd>

        <dt/>

        <dd>
          <t>A service contact instance is reachable via at least one Egress
          CATS-Forwarder.</t>
        </dd>

        <dt/>

        <dd>
          <t>A service can be accessed via multiple service contact instances
          running at the same or different locations (service sites).</t>
        </dd>

        <dt/>

        <dd>
          <t>A service contact instance may dispatch service requests to one
          or more service instances (e.g., a service contact instance that
          behaves as a service load-balancer).</t>
        </dd>

        <dt>CATS Service Contact Instance ID (CSCI-ID):</dt>

        <dd>
          <t>An identifier of a specific service contact instance. See <xref
          target="cats-ids"/>.</t>
        </dd>

        <dt>Service request:</dt>

        <dd>
          <t>A request to access or invoke a specific service. Such a request
          is steered to a service contact instance via CATS-Forwarders.</t>
        </dd>

        <dt/>

        <dd>
          <t>A service request is placed using service-specific protocols.</t>
        </dd>

        <dt/>

        <dd>
          <t>Service requests are not explicitly sent by clients to
          CATS-Forwarders.</t>
        </dd>

        <dt>CATS-Forwarder:</dt>

        <dd>
          <t>A network entity that steers traffic specific to a service
          request towards a corresponding yet selected service contact
          instance according to provisioned forwarding decisions. These
          decisions are supplied by a C-PS, which may or may not be on the
          CATS-Forwarder.</t>
        </dd>

        <dt/>

        <dd>
          <t>A CATS-Forwarder may behave as an Ingress or Egress
          CATS-Forwarder.</t>
        </dd>

        <dt>Ingress CATS-Forwarder:</dt>

        <dd>
          <t>An entity that steers service-specific traffic along a
          CATS-computed path that leads to an Egress CATS-Forwarder that
          connects to the most suitable service site that hosts the service
          contact instance selected to satisfy the initial service
          request.</t>
        </dd>

        <dt>Egress CATS-Forwarder:</dt>

        <dd>
          <t>An entity that is located at the end of a CATS-computed path and
          which connects to a CATS-serviced site.</t>
        </dd>

        <dt>CATS Path Selector (C-PS):</dt>

        <dd>
          <t>A functional entity that selects paths towards service locations
          and instances and which accommodates the requirements of service
          requests. Such a path selection engine takes into account the
          service and network status information. See <xref
          target="sec-cps"/>.</t>
        </dd>

        <dt>CATS Service Metric Agent (C-SMA):</dt>

        <dd>
          <t>A functional entity that is responsible for collecting service
          capabilities and status, and for reporting them to a CATS Path
          Selector (C-PS). See <xref target="sec-csma"/>.</t>
        </dd>

        <dt>CATS Network Metric Agent (C-NMA):</dt>

        <dd>
          <t>A functional entity that is responsible for collecting network
          capabilities and status, and for reporting them to a C-PS. See <xref
          target="sec-cnma"/>.</t>
        </dd>

        <dt>CATS Traffic Classifier (C-TC):</dt>

        <dd>
          <t>A functional entity that is responsible for determining which
          packets belong to a traffic flow for a specific service request. It
          is also responsible for forwarding such packets along a C-PS
          computed path that leads to the relevant service contact instance.
          See <xref target="sec-ctc"/>.</t>
        </dd>
      </dl>
    </section>

    <section anchor="Framework-and-concepts">
      <name>CATS Framework and Components</name>

      <section anchor="assumptions">
        <name>Assumptions</name>

        <t>CATS assumes that there are multiple service instances running on
        different service sites, which provide a given service that is
        represented by the same service identifier (see <xref
        target="cats-ids"/>). However, CATS does not make any assumption about
        these instances other than they are reachable via one or multiple
        service contact instances.</t>
      </section>

      <section anchor="cats-ids">
        <name>CATS Identifiers</name>

        <t>CATS uses the following identifiers:</t>

        <dl>
          <dt>CATS Service ID (CS-ID):</dt>

          <dd>
            <t>An identifier (ID) representing a service, which the clients
            use to access it. Such an ID identifies all the instances of a
            given service, regardless of their locations.</t>
          </dd>

          <dt/>

          <dd>
            <t>The CS-ID is independent of which service contact instance
            serves the service request.</t>
          </dd>

          <dt/>

          <dd>
            <t>Service requests are spread over the service contact instances
            that can accommodate them, considering the location of the
            initiator of the service request and the availability (in terms of
            resource/traffic load, for example) of the service instances
            resource-wise among other considerations like traffic congestion
            conditions.</t>
          </dd>

          <dt>CATS Service Contact Instance ID (CSCI-ID):</dt>

          <dd>
            <t>An identifier of a specific service contact instance.</t>
          </dd>
        </dl>
      </section>

      <section anchor="sec-cats-framework">
        <name>Framework Overview</name>

        <t>A high-level view of the CATS framework, without expanding the
        functional entities in the network, is illustrated in <xref
        target="fig-cats-fw"/>.</t>

        <figure anchor="fig-cats-fw">
          <name>Main CATS Interactions</name>

          <artset>
            <artwork type="svg"><svg class="diagram" font-family="monospace"
                font-size="13px" height="384" stroke-linecap="round"
                text-anchor="middle" version="1.1" viewBox="0 0 488 384"
                width="488" xmlns="http://www.w3.org/2000/svg">
                <path d="M 8,32 L 8,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 8,192" fill="none" stroke="black"/>
                <path d="M 288,32 L 288,96" fill="none" stroke="black"/>
                <path d="M 288,160 L 288,192" fill="none" stroke="black"/>
                <path d="M 312,32 L 312,336" fill="none" stroke="black"/>
                <path d="M 392,32 L 392,96" fill="none" stroke="black"/>
                <path d="M 392,160 L 392,208" fill="none" stroke="black"/>
                <path d="M 392,272 L 392,320" fill="none" stroke="black"/>
                <path d="M 408,176 L 408,240" fill="none" stroke="black"/>
                <path d="M 408,288 L 408,336" fill="none" stroke="black"/>
                <path d="M 424,96 L 424,152" fill="none" stroke="black"/>
                <path d="M 464,32 L 464,96" fill="none" stroke="black"/>
                <path d="M 480,176 L 480,240" fill="none" stroke="black"/>
                <path d="M 480,288 L 480,336" fill="none" stroke="black"/>
                <path d="M 8,32 L 288,32" fill="none" stroke="black"/>
                <path d="M 392,32 L 464,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 288,64" fill="none" stroke="black"/>
                <path d="M 320,62 L 384,62" fill="none" stroke="black"/>
                <path d="M 320,66 L 384,66" fill="none" stroke="black"/>
                <path d="M 8,96 L 288,96" fill="none" stroke="black"/>
                <path d="M 392,96 L 464,96" fill="none" stroke="black"/>
                <path d="M 8,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 392,160 L 464,160" fill="none" stroke="black"/>
                <path d="M 408,176 L 480,176" fill="none" stroke="black"/>
                <path d="M 8,192 L 288,192" fill="none" stroke="black"/>
                <path d="M 320,190 L 384,190" fill="none" stroke="black"/>
                <path d="M 320,194 L 384,194" fill="none" stroke="black"/>
                <path d="M 408,240 L 480,240" fill="none" stroke="black"/>
                <path d="M 392,272 L 464,272" fill="none" stroke="black"/>
                <path d="M 408,288 L 480,288" fill="none" stroke="black"/>
                <path d="M 408,336 L 480,336" fill="none" stroke="black"/>
                <polygon class="arrowhead" fill="black"
                  points="392,192 380,186.4 380,197.6"
                  transform="rotate(0,384,192)"/>
                <polygon class="arrowhead" fill="black"
                  points="392,64 380,58.4 380,69.6"
                  transform="rotate(0,384,64)"/>
                <polygon class="arrowhead" fill="black"
                  points="328,192 316,186.4 316,197.6"
                  transform="rotate(180,320,192)"/>
                <polygon class="arrowhead" fill="black"
                  points="328,64 316,58.4 316,69.6"
                  transform="rotate(180,320,64)"/>
                <g class="text">
                  <text x="124" y="52">Management</text>
                  <text x="192" y="52">Plane</text>
                  <text x="424" y="68">C-SMA</text>
                  <text x="128" y="84">Control</text>
                  <text x="184" y="84">Plane</text>
                  <text x="140" y="116">/\</text>
                  <text x="140" y="132">||</text>
                  <text x="140" y="148">\/</text>
                  <text x="116" y="180">Data</text>
                  <text x="160" y="180">Plane</text>
                  <text x="440" y="196">Service</text>
                  <text x="400" y="212">-</text>
                  <text x="440" y="212">Contact</text>
                  <text x="444" y="228">Instance</text>
                  <text x="448" y="260">|</text>
                  <text x="440" y="308">Service</text>
                  <text x="400" y="324">-</text>
                  <text x="444" y="324">Instance</text>
                </g>
              </svg><![CDATA[
            ]]></artwork>

            <artwork type="ascii-art"><![CDATA[
   +----------------------------------+  |         +--------+
   |         Management Plane         |  |         |        |
   +----------------------------------+  |<=======>| C-SMA  |
   |           Control Plane          |  |         |        |
   +----------------------------------+  |         +---+----+
                   /\                    |             |
                   ||                    |             |
                   \/                    |             |
   +----------------------------------+  |         +--------+
   |           Data Plane             |  |         | +--------+
   +----------------------------------+  |<=======>| |Service |
                                         |         +-|Contact |
                                         |           |Instance|
                                         |           +--------+
                                         |                |
                                         |         +--------+
                                         |         | +--------+
                                         |         | |Service |
                                         |         +-|Instance|
                                         |           +--------+

]]></artwork>
          </artset>
        </figure>

        <t>For the sake of illustration, "Service Instance" is shown as a
        single box in <xref target="fig-cats-fw"/>. However, this does not
        imply that a service instance is hosted in a single node. Whether a
        service instance is realized by invoking resources within a same node
        or by chaining resources exposed by several nodes is deployment
        specific.</t>

        <t>The following planes are defined:</t>

        <ul spacing="normal">
          <li>
            <t>CATS Management Plane: Responsible for monitoring, configuring,
            and maintaining CATS network devices.</t>
          </li>

          <li>
            <t>CATS Control Plane: Responsible for scheduling services based
            on computing and network information. It is also responsible for
            making decisions about how packets should be forwarded by involved
            forwarding nodes and communicating such decisions to the CATS Data
            Plane for execution.</t>
          </li>

          <li>
            <t>CATS Data Plane: Responsible for computing-aware routing,
            including handling packets in the data path, such as packet
            forwarding.</t>
          </li>
        </ul>

        <t>Depending on implementation and deployment, these planes may
        consist of several functional elements/components, and the details
        will be described in the following sections. For example, the control
        plane may consist of C-PS, C-NMA, etc. The data plane may consist of
        CATS-Forwarders, C-TC, etc.</t>
      </section>

      <section anchor="sec-cats-arch">
        <name>CATS Functional Components</name>

        <t>CATS nodes make forwarding decisions for a given service request
        that has been received from a client according to the capabilities and
        status information of both service contact instances and network. The
        main CATS functional elements and their interactions are shown in
        <xref target="fig-cats-components"/>.</t>

        <figure anchor="fig-cats-components">
          <name>CATS Functional Components</name>

          <artset>
            <artwork type="svg"><svg class="diagram" font-family="monospace"
                font-size="13px" height="688" stroke-linecap="round"
                text-anchor="middle" version="1.1" viewBox="0 0 480 688"
                width="480" xmlns="http://www.w3.org/2000/svg">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 24,320 L 24,368" fill="none" stroke="black"/>
                <path d="M 40,80 L 40,128" fill="none" stroke="black"/>
                <path d="M 56,112 L 56,208" fill="none" stroke="black"/>
                <path d="M 64,48 L 64,80" fill="none" stroke="black"/>
                <path d="M 72,32 L 72,64" fill="none" stroke="black"/>
                <path d="M 72,464 L 72,528" fill="none" stroke="black"/>
                <path d="M 104,152 L 104,176" fill="none" stroke="black"/>
                <path d="M 104,368 L 104,440" fill="none" stroke="black"/>
                <path d="M 104,592 L 104,640" fill="none" stroke="black"/>
                <path d="M 160,320 L 160,368" fill="none" stroke="black"/>
                <path d="M 176,48 L 176,80" fill="none" stroke="black"/>
                <path d="M 176,464 L 176,552" fill="none" stroke="black"/>
                <path d="M 184,336 L 184,448" fill="none" stroke="black"/>
                <path d="M 192,112 L 192,208" fill="none" stroke="black"/>
                <path d="M 192,464 L 192,512" fill="none" stroke="black"/>
                <path d="M 192,592 L 192,640" fill="none" stroke="black"/>
                <path d="M 208,80 L 208,128" fill="none" stroke="black"/>
                <path d="M 208,576 L 208,624" fill="none" stroke="black"/>
                <path d="M 224,560 L 224,608" fill="none" stroke="black"/>
                <path d="M 232,48 L 232,80" fill="none" stroke="black"/>
                <path d="M 232,160 L 232,208" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,64" fill="none" stroke="black"/>
                <path d="M 248,336 L 248,368" fill="none" stroke="black"/>
                <path d="M 264,128 L 264,152" fill="none" stroke="black"/>
                <path d="M 288,160 L 288,208" fill="none" stroke="black"/>
                <path d="M 296,320 L 296,400" fill="none" stroke="black"/>
                <path d="M 304,464 L 304,528" fill="none" stroke="black"/>
                <path d="M 312,112 L 312,208" fill="none" stroke="black"/>
                <path d="M 328,48 L 328,80" fill="none" stroke="black"/>
                <path d="M 328,576 L 328,624" fill="none" stroke="black"/>
                <path d="M 360,80 L 360,112" fill="none" stroke="black"/>
                <path d="M 360,400 L 360,440" fill="none" stroke="black"/>
                <path d="M 368,240 L 368,272" fill="none" stroke="black"/>
                <path d="M 384,48 L 384,80" fill="none" stroke="black"/>
                <path d="M 400,32 L 400,64" fill="none" stroke="black"/>
                <path d="M 408,464 L 408,528" fill="none" stroke="black"/>
                <path d="M 416,576 L 416,624" fill="none" stroke="black"/>
                <path d="M 424,464 L 424,512" fill="none" stroke="black"/>
                <path d="M 432,240 L 432,272" fill="none" stroke="black"/>
                <path d="M 432,320 L 432,400" fill="none" stroke="black"/>
                <path d="M 432,560 L 432,608" fill="none" stroke="black"/>
                <path d="M 448,112 L 448,208" fill="none" stroke="black"/>
                <path d="M 24,32 L 72,32" fill="none" stroke="black"/>
                <path d="M 192,32 L 248,32" fill="none" stroke="black"/>
                <path d="M 344,32 L 400,32" fill="none" stroke="black"/>
                <path d="M 8,48 L 56,48" fill="none" stroke="black"/>
                <path d="M 176,48 L 232,48" fill="none" stroke="black"/>
                <path d="M 328,48 L 384,48" fill="none" stroke="black"/>
                <path d="M 8,80 L 56,80" fill="none" stroke="black"/>
                <path d="M 176,80 L 232,80" fill="none" stroke="black"/>
                <path d="M 328,80 L 384,80" fill="none" stroke="black"/>
                <path d="M 56,112 L 192,112" fill="none" stroke="black"/>
                <path d="M 312,112 L 448,112" fill="none" stroke="black"/>
                <path d="M 40,128 L 56,128" fill="none" stroke="black"/>
                <path d="M 192,128 L 208,128" fill="none" stroke="black"/>
                <path d="M 264,128 L 312,128" fill="none" stroke="black"/>
                <path d="M 64,144 L 184,144" fill="none" stroke="black"/>
                <path d="M 320,144 L 440,144" fill="none" stroke="black"/>
                <path d="M 232,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 104,176 L 184,176" fill="none" stroke="black"/>
                <path d="M 56,208 L 192,208" fill="none" stroke="black"/>
                <path d="M 232,208 L 288,208" fill="none" stroke="black"/>
                <path d="M 312,208 L 448,208" fill="none" stroke="black"/>
                <path d="M 368,240 L 432,240" fill="none" stroke="black"/>
                <path d="M 368,272 L 432,272" fill="none" stroke="black"/>
                <path d="M 24,320 L 160,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 432,320" fill="none" stroke="black"/>
                <path d="M 184,336 L 248,336" fill="none" stroke="black"/>
                <path d="M 24,368 L 160,368" fill="none" stroke="black"/>
                <path d="M 184,368 L 248,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 432,368" fill="none" stroke="black"/>
                <path d="M 296,400 L 432,400" fill="none" stroke="black"/>
                <path d="M 88,448 L 176,448" fill="none" stroke="black"/>
                <path d="M 320,448 L 408,448" fill="none" stroke="black"/>
                <path d="M 72,464 L 168,464" fill="none" stroke="black"/>
                <path d="M 304,464 L 400,464" fill="none" stroke="black"/>
                <path d="M 72,528 L 176,528" fill="none" stroke="black"/>
                <path d="M 304,528 L 408,528" fill="none" stroke="black"/>
                <path d="M 136,560 L 224,560" fill="none" stroke="black"/>
                <path d="M 344,560 L 432,560" fill="none" stroke="black"/>
                <path d="M 120,576 L 208,576" fill="none" stroke="black"/>
                <path d="M 328,576 L 416,576" fill="none" stroke="black"/>
                <path d="M 104,592 L 192,592" fill="none" stroke="black"/>
                <path d="M 328,624 L 416,624" fill="none" stroke="black"/>
                <path d="M 104,640 L 192,640" fill="none" stroke="black"/>
                <path d="M 56,48 C 64.83064,48 72,55.16936 72,64" fill="none"
                  stroke="black"/>
                <path d="M 56,48 C 64.83064,48 72,40.83064 72,32" fill="none"
                  stroke="black"/>
                <path d="M 56,80 C 64.83064,80 72,72.83064 72,64" fill="none"
                  stroke="black"/>
                <path d="M 88,448 C 79.16936,448 72,455.16936 72,464"
                  fill="none" stroke="black"/>
                <path d="M 176,448 C 184.83064,448 192,455.16936 192,464"
                  fill="none" stroke="black"/>
                <path d="M 320,448 C 311.16936,448 304,455.16936 304,464"
                  fill="none" stroke="black"/>
                <path d="M 408,448 C 416.83064,448 424,455.16936 424,464"
                  fill="none" stroke="black"/>
                <path d="M 168,464 C 176.83064,464 184,456.83064 184,448"
                  fill="none" stroke="black"/>
                <path d="M 400,464 C 408.83064,464 416,456.83064 416,448"
                  fill="none" stroke="black"/>
                <g class="text">
                  <text x="36" y="68">client</text>
                  <text x="204" y="68">client</text>
                  <text x="240" y="68">-</text>
                  <text x="356" y="68">client</text>
                  <text x="392" y="68">-</text>
                  <text x="116" y="132">C-TC#1</text>
                  <text x="372" y="132">C-TC#2</text>
                  <text x="132" y="164">C-PS#1</text>
                  <text x="372" y="164">CATS-Forwarder</text>
                  <text x="440" y="164">4</text>
                  <text x="28" y="180">......</text>
                  <text x="212" y="180">....</text>
                  <text x="260" y="180">C-PS#2</text>
                  <text x="300" y="180">..</text>
                  <text x="464" y="180">...</text>
                  <text x="8" y="196">:</text>
                  <text x="116" y="196">CATS-Forwarder</text>
                  <text x="184" y="196">2</text>
                  <text x="472" y="196">.</text>
                  <text x="8" y="212">:</text>
                  <text x="472" y="212">:</text>
                  <text x="8" y="228">:</text>
                  <text x="472" y="228">:</text>
                  <text x="8" y="244">:</text>
                  <text x="472" y="244">:</text>
                  <text x="8" y="260">:</text>
                  <text x="244" y="260">Underlay</text>
                  <text x="400" y="260">C-NMA</text>
                  <text x="472" y="260">:</text>
                  <text x="8" y="276">:</text>
                  <text x="244" y="276">Infrastructure</text>
                  <text x="472" y="276">:</text>
                  <text x="8" y="292">:</text>
                  <text x="472" y="292">:</text>
                  <text x="8" y="308">:</text>
                  <text x="472" y="308">:</text>
                  <text x="8" y="324">:</text>
                  <text x="472" y="324">:</text>
                  <text x="8" y="340">:</text>
                  <text x="84" y="340">CATS-Forwarder</text>
                  <text x="152" y="340">1</text>
                  <text x="356" y="340">CATS-Forwarder</text>
                  <text x="424" y="340">3</text>
                  <text x="472" y="340">:</text>
                  <text x="12" y="356">:.</text>
                  <text x="172" y="356">..</text>
                  <text x="216" y="356">C-SMA#1</text>
                  <text x="268" y="356">....</text>
                  <text x="456" y="356">....:</text>
                  <text x="352" y="388">C-SMA#2</text>
                  <text x="120" y="484">Service</text>
                  <text x="352" y="484">Service</text>
                  <text x="120" y="500">Contact</text>
                  <text x="352" y="500">Contact</text>
                  <text x="124" y="516">Instance</text>
                  <text x="184" y="516">-</text>
                  <text x="356" y="516">Instance</text>
                  <text x="416" y="516">-</text>
                  <text x="384" y="548">|</text>
                  <text x="368" y="596">Service</text>
                  <text x="144" y="612">Service</text>
                  <text x="216" y="612">-</text>
                  <text x="372" y="612">Instance</text>
                  <text x="424" y="612">-</text>
                  <text x="148" y="628">Instance</text>
                  <text x="200" y="628">-</text>
                  <text x="104" y="660">Service</text>
                  <text x="156" y="660">Site</text>
                  <text x="184" y="660">1</text>
                  <text x="328" y="660">Service</text>
                  <text x="380" y="660">Site</text>
                  <text x="408" y="660">2</text>
                </g>
              </svg><![CDATA[
            ]]></artwork>

            <artwork type="ascii-art"><![CDATA[
    +-----+              +------+           +------+
  +------+|            +------+ |         +------+ |
  |client|+            |client|-+         |client|-+
  +---+--+             +---+--+           +---+--+
      |                    |                  |
      | +----------------+ |            +-----+----------+
      '-+    C-TC#1      +-'      .-----+    C-TC#2      |
        |----------------|        |     |----------------|
        |     |C-PS#1    |    +------+  |CATS-Forwarder 4|
  ......|     +----------|....|C-PS#2|..|                |...
  :     |CATS-Forwarder 2|    |      |  |                |  .
  :     +----------------+    +------+  +----------------+  :
  :                                                         :
  :                                            +-------+    :
  :                         Underlay           | C-NMA |    :
  :                      Infrastructure        +-------+    :
  :                                                         :
  :                                                         :
  : +----------------+                +----------------+    :
  : |CATS-Forwarder 1|  +-------+     |CATS-Forwarder 3|    :
  :.|                |..|C-SMA#1|.... |                |....:
    +---------+------+  +-------+     +----------------+
              |         |             |   C-SMA#2      |
              |         |             +-------+--------+
              |         |                     |
              |         |                     |
           +------------+               +------------+
          +------------+ |             +------------+ |
          |  Service   | |             |  Service   | |
          |  Contact   | |             |  Contact   | |
          |  Instance  |-+             |  Instance  |-+
          +------------+               +------------+
                       |                         |
                  +----------+              +----------+
                +----------+ |            +----------+ |
              +----------+ | |            | Service  | |
              | Service  | |-+            | Instance |-+
              | Instance |-+              +----------+
              +----------+
           Service Site 1              Service Site 2
]]></artwork>
          </artset>
        </figure>

        <section anchor="sec-service-sites">
          <name>Service Sites, Service Instances, and Service Contact
          Instances</name>

          <t>Service sites are locations that host resources (including
          computing resources) that are required to offer a service.</t>

          <t>A compute service (e.g., for face recognition purposes or a game
          server) is identified by a CATS Service Identifier (CS-ID). The
          CS-ID does not need to be globally unique, but must be sufficiently
          unique to unambiguously identify the service at all of the
          components of a CATS system.</t>

          <t>A single service can be represented and accessed via several
          contact instances that run in same or different regions of a
          network.</t>

          <t>As service instances are accessed via a service contact instance,
          a client will not see the service instances but only the service
          contact instance.</t>

          <t><xref target="fig-cats-components"/> shows two CATS nodes
          ("CATS-Forwarder 1" and "CATS-Forwarder 3") that provide access to
          service contact instances. These nodes behave as Egress
          CATS-Forwarders (<xref target="sec-ocr"/>).</t>

          <ul empty="true">
            <li>
              <t>Note: "Egress" is used here in reference to the direction of
              the service request placement. The directionality is called to
              explicitly identify the exit node of the CATS
              infrastructure.</t>
            </li>
          </ul>
        </section>

        <section anchor="sec-csma">
          <name>CATS Service Metric Agent (C-SMA)</name>

          <t>The CATS Service Metric Agent (C-SMA) is a functional component
          that gathers information about service sites and server resources,
          as well as the status of the different service instances. A C-SMA
          may be co-located or located adjacent to a service contact instance,
          hosted by or adjacent to an Egress CATS-Forwarder (<xref
          target="sec-ocr"/>), etc.</t>

          <t><xref target="fig-cats-components"/> shows one C-SMA embedded in
          "CATS-Forwarder 3", and another C-SMA that is adjacent to
          "CATS-Forwarder 1".</t>
        </section>

        <section anchor="sec-cnma">
          <name>CATS Network Metric Agent (C-NMA)</name>

          <t>The CATS Network Metric Agent (C-NMA) is a functional component
          that gathers information about the state of the underlay network.
          The C-NMAs may be implemented as standalone components or may be
          hosted by other components, such as CATS-Forwarders or CATS Path
          Selectors (C-PS) (<xref target="sec-cps"/>).</t>

          <t>C-NMA is likely to leverage existing techniques (e.g., <xref
          target="RFC7471"/>, <xref target="RFC8570"/>, and <xref
          target="RFC8571"/>).</t>

          <t><xref target="fig-cats-components"/> shows a single, standalone
          C-NMA within the underlay network. There may be one or more C-NMAs
          for an underlay network.</t>
        </section>

        <section anchor="sec-cps">
          <name>CATS Path Selector (C-PS)</name>

          <t>The C-SMAs and C-NMAs share the collected information with CATS
          Path Selectors (C-PSes) that use such information to select the
          Egress CATS-Forwarders (and potentially the service contact
          instances) where to forward traffic for a given service request.
          C-PSes also determine the best paths (possibly using tunnels) to
          forward traffic, according to various criteria that include network
          state and traffic congestion conditions. The collected information
          is encoded into one or more metrics that feed the C-PS path
          selection logic. Such information also includes CS-ID and possibly
          CSCI-IDs.</t>

          <t>There might be one or more C-PSes used to select CATS paths in a
          CATS infrastructure.</t>

          <t>A C-PS can be integrated into CATS-Forwarders (e.g., "C-PS#1" in
          <xref target="fig-cats-components"/>) or may be deployed as a
          standalone component (e.g., "C-PS#2" in <xref
          target="fig-cats-components"/>). Generally, a standalone C-PS can be
          a functional component of a centralized controller (e.g., a Path
          Computation Element (PCE) <xref target="RFC4655"/>).</t>

          <t>Refer to <xref target="sec-met-dist"/> for a discussion on metric
          distribution (including interaction with routing protocols).</t>
        </section>

        <section anchor="sec-ctc">
          <name>CATS Traffic Classifier (C-TC)</name>

          <t>The CATS Traffic Classifier (C-TC) is a functional component that
          is responsible for associating incoming packets from clients with
          service requests. CATS classifiers also ensure that packets that are
          bound to a specific service contact instance are all forwarded
          towards that same service contact instance, as instructed by a C-PS.
          To that aim, a C-TC uses CS-IDs (or their resolution of CS-ID to
          network locators) to calssify service requests. Refer to <xref
          target="sec-cats-provisioning"/> for more details about provisioning
          of classification rules.</t>

          <t>Note that CS-IDs may be carried in packets if mechanisms such as
          TLS Server Name Indication extension (SNI) (<xref section="3"
          sectionFormat="of" target="RFC6066"/>) are used.</t>

          <t>CATS classifiers are typically hosted in CATS-Forwarders.</t>
        </section>

        <section anchor="sec-ocr">
          <name>CATS-Forwarders</name>

          <t>Ingress CATS-Forwarder are resposnible for steering
          service-specific traffic along a CATS-computed path that leads to an
          Egress CATS- Forwarder. Egress CATS-Forwarders are the endpoints
          that behave as an egress for service requests that are forwarded
          over a CATS infrastructure. A service site that hosts service
          instances may be connected to one or more Egress CATS-Forwarders
          (e.g., multi-homing design). If a C-PS has selected a specific
          service contact instance and the C-TC has marked the traffic with
          the CSCI-ID related information, the Egress CATS-Forwarder then
          forwards traffic to the relevant service contact instance
          accordingly. In some cases, the choice of the service contact
          instance may be left open to the Egress CATS-Forwarder (i.e.,
          traffic is marked only with the CS-ID). In such cases, the Egress
          CATS-Forwarder selects a service contact instance using its
          knowledge of service and network capabilities as well as the current
          load as observed by the CATS-Forwarder, among other considerations.
          In the absence of an explicit policy, an Egress CATS-Forwarder must
          make sure to forward all packets that pertain to a given service
          request towards the same service contact instance.</t>

          <t>Note that, depending on the design considerations and service
          requirements, per-service contact instance computing-related metrics
          or aggregated per-site computing related metrics (and a combination
          thereof) can be used by a C-PS. Using aggregated per-site computing
          related metrics appears as a preferred option scalability-wise, but
          relies on Egress CATS-Forwarders that connect to various service
          contact instances to select the proper service contact instance. An
          Egress CATS-Forwarder may choose to aggregate the metrics from
          different sites as well. In this case, the Egress CATS-Forwarder
          will choose the best site by itself when the packets arrive at
          it.</t>
        </section>

        <section anchor="underlay-infrastructure">
          <name>Underlay Infrastructure</name>

          <t>The "underlay infrastructure" in <xref
          target="fig-cats-components"/> indicates an IP and/or MPLS network
          that is not necessarily CATS-aware. The CATS paths that are computed
          by a C-PS will be distributed among the CATS-Forwarders (<xref
          target="sec-ocr"/>), and will not affect the underlay nodes.
          Underlay nodes are typically P routers (<xref section="5.3.1"
          sectionFormat="of" target="RFC4026"/>).</t>
        </section>
      </section>
    </section>

    <section anchor="sec-cats-workflow">
      <name>CATS Framework Workflow</name>

      <t>The following subsections provide an overview of a typical CATS
      workflow. In order to enable CATS in a given domain, some provisioning
      is needed; see more details in <xref target="sec-cats-provisioning"/>.
      <xref target="sec-cats-deployment"/> describes several deployment
      options (distributed, centralized, and hybrid model) to accommodate a
      variety of contexts.</t>

      <section anchor="service-announcement">
        <name>Service Announcement</name>

        <t>A service is associated by the service provider with a unique
        identifier called a CS-ID. A CS-ID may be a network identifier, such
        as an IP address. The mapping of CS-IDs to network identifiers may be
        learned through a name resolution service (e.g., DNS <xref
        target="RFC1034"/>). Note that CATS framework does not assume nor
        preclude any specific name resolution service.</t>
      </section>

      <section anchor="sec-met-dist">
        <name>Metrics Distribution</name>

        <t>As described in <xref target="sec-cats-arch"/>, a C-SMA collects
        both computing-related capabilities and metrics, and associates them
        with a CS-ID that identifies the service. The C-SMA may aggregate the
        metrics for multiple service contact instances, or maintain them
        separately or both.</t>

        <t>The C-SMA then advertises CS-IDs along with metrics to related
        C-PSes in the network. Depending on the deployment choice, CS-IDs with
        metrics may be distributed in different ways.</t>

        <t>For example, in a distributed model, CS-IDs with metrics can be
        distributed from the C-SMA to an Egress CATS-Forwarder firstly and
        then be redistributed by the Egress CATS-Forwarder to related C-PSes
        that are integrated into Ingress CATS-Forwarders.</t>

        <t>In the centralized model, CS-IDs with metrics can be distributed
        from the C-SMA to a centralized control plane, for instance, a
        standalone C-PS.</t>

        <t>In the hybrid model, the metrics can be distributed to C-PSes in
        combination of distributed and centralized ways. The specific
        combination of metric distribution is an implementation choice, which
        is determined by the requirements of specific services.</t>

        <t>The Computing metrics include computing-related metrics and
        potentially other service-specific metrics like the number of
        end-users who access the service contact instance at any given time,
        etc.</t>

        <t>Computing metrics may change very frequently (see <xref
        target="I-D.ietf-cats-usecases-requirements"/> for a discussion). How
        frequently such information is distributed is to be determined as part
        of the specification of any communication protocol (including routing
        protocols) that may be used to distribute the information. Various
        options can be considered, such as (but not limited to) interval-based
        updates, threshold-triggered updates, policy-based updates, or using
        normalized metrics <xref target="I-D.ietf-cats-metric-definition"/>.
        Regarding using the normalized metrics, <xref
        target="sec-metric-implementation"/> provides some suggestions to
        implement computing metrics normalization and aggregation in CATS
        framework, to reduce the impact of the routing system.</t>

        <t>Additionally, the C-NMA collects network-related capabilities and
        metrics. These may be collected and distributed by existing
        measurement protocols and/or routing protocols, although extensions to
        such protocols may be required to carry additional information (e.g.,
        link latency). The C-NMA distributes the network metrics to the C-PSes
        so that they can use the combination of service and network metrics to
        determine the best Egress CATS-Forwarder to provide access to a
        service contact instance and invoke the compute function required by a
        service request. Similar to computing-related metrics, the
        network-related metrics can be distributed using distributed,
        centralized, or hybrid schemes. This document does not describe such
        details since this is deployment-specific.</t>

        <t>Network metrics may also change over time. Dynamic routing
        protocols may take advantage of some information or capabilities to
        prevent the network from being flooded with state change information
        (e.g., Partial Route Computation (PRC) of OSPFv3 <xref
        target="RFC5340"/>). C-NMAs should also be configured or instructed
        like C-SMAs to determine when and how often updates should be notified
        to the C-PSes.</t>

        <t><xref target="fig-cats-example-overlay"/> shows an example of how
        CATS metrics can be disseminated in the distributed model. There is a
        client attached to the network via "CATS-Forwarder 1". There are three
        service contact instances of the service with CS-ID "1": two service
        contact instances with CSCI-IDs "1" and "2", respectively, are located
        at "Service Site 2" attached via "CATS-Forwarder 2"; the third service
        contact instance is located at "Service Site 3" attached via
        "CATS-Forwarder 3" and with CSCI-ID "3". There is also a second
        service with CS-ID "2" with only one service contact instance located
        at "Service Site 3".</t>

        <t>In <xref target="fig-cats-example-overlay"/>, the C-SMA collocated
        with "CATS-Forwarder 2" distributes the computing metrics for both
        service contact instances (i.e., (CS-ID 1, CSCI-ID 1) and (CS-ID 1,
        CSCI-ID 2)). Note that this information may be aggregated into a
        single advertisement, but in this case, the metrics for each service
        contact instance are indicated separately. Similarly, the C-SMA agent
        located at "Service Site 3" advertises the computing metrics for the
        two services hosted by "Service Site 3".</t>

        <t>The computing metric advertisements are processed by the C-PS
        hosted by "CATS-Forwarder 1". The C-PS also processes network metric
        advertisements sent by the C-NMA. All metrics are used by the C-PS to
        select the most relevant path that leads to the Egress CATS-Forwarder
        according to the initial client's service request, the service that is
        requested ("CS-ID 1" or "CS-ID 2"), the state of the service contact
        instances as reported by the metrics, and the state of the
        network.</t>

        <figure anchor="fig-cats-example-overlay">
          <name>An Example of CATS Metric Dissemination in the Distributed
          Model</name>

          <artset>
            <artwork type="svg"><svg class="diagram" font-family="monospace"
                font-size="13px" height="592" stroke-linecap="round"
                text-anchor="middle" version="1.1" viewBox="0 0 584 592"
                width="584" xmlns="http://www.w3.org/2000/svg">
                <path d="M 8,224 L 8,256" fill="none" stroke="black"/>
                <path d="M 8,304 L 8,336" fill="none" stroke="black"/>
                <path d="M 48,264 L 48,296" fill="none" stroke="black"/>
                <path d="M 80,224 L 80,256" fill="none" stroke="black"/>
                <path d="M 184,304 L 184,336" fill="none" stroke="black"/>
                <path d="M 224,240 L 224,264" fill="none" stroke="black"/>
                <path d="M 224,280 L 224,384" fill="none" stroke="black"/>
                <path d="M 224,416 L 224,448" fill="none" stroke="black"/>
                <path d="M 240,256 L 240,288" fill="none" stroke="black"/>
                <path d="M 256,144 L 256,208" fill="none" stroke="black"/>
                <path d="M 304,256 L 304,288" fill="none" stroke="black"/>
                <path d="M 360,416 L 360,448" fill="none" stroke="black"/>
                <path d="M 384,416 L 384,448" fill="none" stroke="black"/>
                <path d="M 392,144 L 392,208" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,384" fill="none" stroke="black"/>
                <path d="M 424,384 L 424,408" fill="none" stroke="black"/>
                <path d="M 424,456 L 424,496" fill="none" stroke="black"/>
                <path d="M 432,128 L 432,192" fill="none" stroke="black"/>
                <path d="M 440,416 L 440,448" fill="none" stroke="black"/>
                <path d="M 456,96 L 456,144" fill="none" stroke="black"/>
                <path d="M 456,176 L 456,224" fill="none" stroke="black"/>
                <path d="M 456,352 L 456,400" fill="none" stroke="black"/>
                <path d="M 456,480 L 456,512" fill="none" stroke="black"/>
                <path d="M 520,480 L 520,512" fill="none" stroke="black"/>
                <path d="M 536,96 L 536,144" fill="none" stroke="black"/>
                <path d="M 536,176 L 536,224" fill="none" stroke="black"/>
                <path d="M 536,352 L 536,400" fill="none" stroke="black"/>
                <path d="M 144,80 L 320,80" fill="none" stroke="black"/>
                <path d="M 456,96 L 536,96" fill="none" stroke="black"/>
                <path d="M 432,128 L 448,128" fill="none" stroke="black"/>
                <path d="M 256,144 L 392,144" fill="none" stroke="black"/>
                <path d="M 456,144 L 536,144" fill="none" stroke="black"/>
                <path d="M 400,160 L 424,160" fill="none" stroke="black"/>
                <path d="M 256,176 L 392,176" fill="none" stroke="black"/>
                <path d="M 456,176 L 536,176" fill="none" stroke="black"/>
                <path d="M 432,192 L 448,192" fill="none" stroke="black"/>
                <path d="M 256,208 L 392,208" fill="none" stroke="black"/>
                <path d="M 8,224 L 80,224" fill="none" stroke="black"/>
                <path d="M 456,224 L 536,224" fill="none" stroke="black"/>
                <path d="M 224,240 L 408,240" fill="none" stroke="black"/>
                <path d="M 8,256 L 80,256" fill="none" stroke="black"/>
                <path d="M 240,256 L 304,256" fill="none" stroke="black"/>
                <path d="M 160,272 L 232,272" fill="none" stroke="black"/>
                <path d="M 240,288 L 304,288" fill="none" stroke="black"/>
                <path d="M 8,304 L 184,304" fill="none" stroke="black"/>
                <path d="M 192,320 L 216,320" fill="none" stroke="black"/>
                <path d="M 8,336 L 184,336" fill="none" stroke="black"/>
                <path d="M 456,352 L 536,352" fill="none" stroke="black"/>
                <path d="M 224,384 L 408,384" fill="none" stroke="black"/>
                <path d="M 424,384 L 448,384" fill="none" stroke="black"/>
                <path d="M 456,400 L 536,400" fill="none" stroke="black"/>
                <path d="M 224,416 L 360,416" fill="none" stroke="black"/>
                <path d="M 384,416 L 440,416" fill="none" stroke="black"/>
                <path d="M 224,448 L 360,448" fill="none" stroke="black"/>
                <path d="M 384,448 L 440,448" fill="none" stroke="black"/>
                <path d="M 456,480 L 520,480" fill="none" stroke="black"/>
                <path d="M 424,496 L 448,496" fill="none" stroke="black"/>
                <path d="M 456,512 L 520,512" fill="none" stroke="black"/>
                <path d="M 144,528 L 392,528" fill="none" stroke="black"/>
                <polygon class="arrowhead" fill="black"
                  points="168,272 156,266.4 156,277.6"
                  transform="rotate(180,160,272)"/>
                <polygon class="arrowhead" fill="black"
                  points="152,528 140,522.4 140,533.6"
                  transform="rotate(180,144,528)"/>
                <polygon class="arrowhead" fill="black"
                  points="152,80 140,74.4 140,85.6"
                  transform="rotate(180,144,80)"/>
                <g class="text">
                  <text x="104" y="36">Service</text>
                  <text x="160" y="36">CS-ID</text>
                  <text x="196" y="36">1,</text>
                  <text x="240" y="36">contact</text>
                  <text x="308" y="36">instance</text>
                  <text x="376" y="36">CSCI-ID</text>
                  <text x="416" y="36">1</text>
                  <text x="468" y="36">&lt;computing</text>
                  <text x="548" y="36">metrics&gt;</text>
                  <text x="104" y="52">Service</text>
                  <text x="160" y="52">CS-ID</text>
                  <text x="196" y="52">1,</text>
                  <text x="240" y="52">contact</text>
                  <text x="308" y="52">instance</text>
                  <text x="376" y="52">CSCI-ID</text>
                  <text x="416" y="52">2</text>
                  <text x="468" y="52">&lt;computing</text>
                  <text x="548" y="52">metrics&gt;</text>
                  <text x="136" y="84">:</text>
                  <text x="328" y="84">:</text>
                  <text x="136" y="100">:</text>
                  <text x="328" y="100">:</text>
                  <text x="136" y="116">:</text>
                  <text x="328" y="116">:</text>
                  <text x="480" y="116">CS-ID</text>
                  <text x="512" y="116">1</text>
                  <text x="136" y="132">:</text>
                  <text x="328" y="132">:</text>
                  <text x="488" y="132">CSCI-ID</text>
                  <text x="528" y="132">1</text>
                  <text x="136" y="148">:</text>
                  <text x="136" y="164">:</text>
                  <text x="312" y="164">C-SMA</text>
                  <text x="488" y="164">Service</text>
                  <text x="540" y="164">Site</text>
                  <text x="568" y="164">2</text>
                  <text x="136" y="180">:</text>
                  <text x="136" y="196">:</text>
                  <text x="316" y="196">CATS-Forwarder</text>
                  <text x="384" y="196">2</text>
                  <text x="480" y="196">CS-ID</text>
                  <text x="512" y="196">1</text>
                  <text x="136" y="212">:</text>
                  <text x="488" y="212">CSCI-ID</text>
                  <text x="528" y="212">2</text>
                  <text x="136" y="228">:</text>
                  <text x="336" y="228">|</text>
                  <text x="44" y="244">Client</text>
                  <text x="136" y="244">:</text>
                  <text x="184" y="244">Network</text>
                  <text x="136" y="260">:</text>
                  <text x="184" y="260">metrics</text>
                  <text x="136" y="276">:</text>
                  <text x="152" y="276">:</text>
                  <text x="272" y="276">C-NMA</text>
                  <text x="136" y="292">:</text>
                  <text x="152" y="292">:</text>
                  <text x="68" y="324">CATS-Forwarder</text>
                  <text x="156" y="324">1|C-PS</text>
                  <text x="316" y="340">Underlay</text>
                  <text x="136" y="356">:</text>
                  <text x="324" y="356">Infrastructure</text>
                  <text x="136" y="372">:</text>
                  <text x="480" y="372">CS-ID</text>
                  <text x="512" y="372">1</text>
                  <text x="136" y="388">:</text>
                  <text x="488" y="388">CSCI-ID</text>
                  <text x="528" y="388">3</text>
                  <text x="136" y="404">:</text>
                  <text x="304" y="404">|</text>
                  <text x="136" y="420">:</text>
                  <text x="136" y="436">:</text>
                  <text x="284" y="436">CATS-Forwarder</text>
                  <text x="352" y="436">3</text>
                  <text x="372" y="436">--</text>
                  <text x="408" y="436">C-SMA</text>
                  <text x="480" y="436">Service</text>
                  <text x="532" y="436">Site</text>
                  <text x="560" y="436">3</text>
                  <text x="136" y="452">:</text>
                  <text x="136" y="468">:</text>
                  <text x="400" y="468">:</text>
                  <text x="136" y="484">:</text>
                  <text x="400" y="484">:</text>
                  <text x="136" y="500">:</text>
                  <text x="400" y="500">:</text>
                  <text x="480" y="500">CS-ID</text>
                  <text x="512" y="500">2</text>
                  <text x="136" y="516">:</text>
                  <text x="400" y="516">:</text>
                  <text x="136" y="532">:</text>
                  <text x="400" y="532">:</text>
                  <text x="104" y="548">Service</text>
                  <text x="160" y="548">CS-ID</text>
                  <text x="196" y="548">1,</text>
                  <text x="240" y="548">contact</text>
                  <text x="308" y="548">instance</text>
                  <text x="376" y="548">CSCI-ID</text>
                  <text x="416" y="548">3</text>
                  <text x="468" y="548">&lt;computing</text>
                  <text x="548" y="548">metrics&gt;</text>
                  <text x="104" y="564">Service</text>
                  <text x="160" y="564">CS-ID</text>
                  <text x="196" y="564">2,</text>
                  <text x="252" y="564">&lt;computing</text>
                  <text x="332" y="564">metrics&gt;</text>
                </g>
              </svg><![CDATA[
            ]]></artwork>

            <artwork type="ascii-art"><![CDATA[
          Service CS-ID 1, contact instance CSCI-ID 1 <computing metrics>
          Service CS-ID 1, contact instance CSCI-ID 2 <computing metrics>

                 :<----------------------:
                 :                       :               +---------+
                 :                       :               |CS-ID 1  |
                 :                       :            .--|CSCI-ID 1|
                 :              +----------------+    |  +---------+
                 :              |    C-SMA       |----|   Service Site 2
                 :              +----------------+    |  +---------+
                 :              |CATS-Forwarder 2|    '--|CS-ID 1  |
                 :              +----------------+       |CSCI-ID 2|
 +--------+      :                        |              +---------+
 | Client |      :  Network +----------------------+
 +--------+      :  metrics | +-------+            |
      |          : :<---------| C-NMA |            |
      |          : :        | +-------+            |
 +---------------------+    |                      |
 |CATS-Forwarder 1|C-PS|----|                      |
 +---------------------+    |       Underlay       |
                 :          |     Infrastructure   |     +---------+
                 :          |                      |     |CS-ID 1  |
                 :          +----------------------+ .---|CSCI-ID 3|
                 :                    |              |   +---------+
                 :          +----------------+  +------+
                 :          |CATS-Forwarder 3|--|C-SMA | Service Site 3
                 :          +----------------+  +------+
                 :                                :  |
                 :                                :  |   +-------+
                 :                                :  '---|CS-ID 2|
                 :                                :      +-------+
                 :<-------------------------------:
          Service CS-ID 1, contact instance CSCI-ID 3 <computing metrics>
          Service CS-ID 2, <computing metrics>
]]></artwork>
          </artset>
        </figure>

        <t>The example in <xref target="fig-cats-example-overlay"/> mainly
        describes a per-instance computing-related metric distribution. In the
        case of distributing aggregated per-site computing-related metrics,
        the per-instance CSCI-ID information will not be included in the
        advertisement. Instead, a per-site CSCI-ID may be used in case
        multiple sites are connected to the Egress CATS-Forwarder to
        explicitly indicate the site from where the aggregated metrics
        come.</t>

        <t>If the CATS framework is implemented using a centralized model, the
        metric can be, e.g., distributed as illustrated in <xref
        target="fig-cats-centralized"/>.</t>

        <figure anchor="fig-cats-centralized">
          <name>An Example of CATS Metric Distribution in the Centralized
          Model</name>

          <artset>
            <artwork type="svg"><svg class="diagram" font-family="monospace"
                font-size="13px" height="592" stroke-linecap="round"
                text-anchor="middle" version="1.1" viewBox="0 0 608 592"
                width="608" xmlns="http://www.w3.org/2000/svg">
                <path d="M 8,288 L 8,320" fill="none" stroke="black"/>
                <path d="M 8,368 L 8,416" fill="none" stroke="black"/>
                <path d="M 48,328 L 48,360" fill="none" stroke="black"/>
                <path d="M 80,288 L 80,320" fill="none" stroke="black"/>
                <path d="M 144,368 L 144,416" fill="none" stroke="black"/>
                <path d="M 160,112 L 160,160" fill="none" stroke="black"/>
                <path d="M 176,496 L 176,528" fill="none" stroke="black"/>
                <path d="M 184,168 L 184,336" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,272" fill="none" stroke="black"/>
                <path d="M 208,304 L 208,328" fill="none" stroke="black"/>
                <path d="M 208,344 L 208,376" fill="none" stroke="black"/>
                <path d="M 208,392 L 208,464" fill="none" stroke="black"/>
                <path d="M 216,112 L 216,160" fill="none" stroke="black"/>
                <path d="M 224,320 L 224,352" fill="none" stroke="black"/>
                <path d="M 248,360 L 248,384" fill="none" stroke="black"/>
                <path d="M 280,144 L 280,200" fill="none" stroke="black"/>
                <path d="M 288,320 L 288,352" fill="none" stroke="black"/>
                <path d="M 288,536 L 288,560" fill="none" stroke="black"/>
                <path d="M 312,496 L 312,528" fill="none" stroke="black"/>
                <path d="M 344,208 L 344,272" fill="none" stroke="black"/>
                <path d="M 376,176 L 376,256" fill="none" stroke="black"/>
                <path d="M 392,304 L 392,464" fill="none" stroke="black"/>
                <path d="M 408,160 L 408,208" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,288" fill="none" stroke="black"/>
                <path d="M 408,544 L 408,576" fill="none" stroke="black"/>
                <path d="M 432,432 L 432,480" fill="none" stroke="black"/>
                <path d="M 440,320 L 440,384" fill="none" stroke="black"/>
                <path d="M 448,488 L 448,512" fill="none" stroke="black"/>
                <path d="M 472,544 L 472,576" fill="none" stroke="black"/>
                <path d="M 480,392 L 480,424" fill="none" stroke="black"/>
                <path d="M 488,160 L 488,208" fill="none" stroke="black"/>
                <path d="M 488,240 L 488,288" fill="none" stroke="black"/>
                <path d="M 488,320 L 488,384" fill="none" stroke="black"/>
                <path d="M 512,432 L 512,480" fill="none" stroke="black"/>
                <path d="M 536,128 L 536,336" fill="none" stroke="black"/>
                <path d="M 536,368 L 536,560" fill="none" stroke="black"/>
                <path d="M 160,112 L 216,112" fill="none" stroke="black"/>
                <path d="M 104,128 L 152,128" fill="none" stroke="black"/>
                <path d="M 224,128 L 536,128" fill="none" stroke="black"/>
                <path d="M 224,144 L 280,144" fill="none" stroke="black"/>
                <path d="M 160,160 L 216,160" fill="none" stroke="black"/>
                <path d="M 408,160 L 488,160" fill="none" stroke="black"/>
                <path d="M 376,176 L 400,176" fill="none" stroke="black"/>
                <path d="M 208,208 L 344,208" fill="none" stroke="black"/>
                <path d="M 408,208 L 488,208" fill="none" stroke="black"/>
                <path d="M 352,224 L 368,224" fill="none" stroke="black"/>
                <path d="M 208,240 L 344,240" fill="none" stroke="black"/>
                <path d="M 408,240 L 488,240" fill="none" stroke="black"/>
                <path d="M 376,256 L 400,256" fill="none" stroke="black"/>
                <path d="M 208,272 L 344,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 80,288" fill="none" stroke="black"/>
                <path d="M 408,288 L 488,288" fill="none" stroke="black"/>
                <path d="M 208,304 L 392,304" fill="none" stroke="black"/>
                <path d="M 8,320 L 80,320" fill="none" stroke="black"/>
                <path d="M 224,320 L 288,320" fill="none" stroke="black"/>
                <path d="M 440,320 L 488,320" fill="none" stroke="black"/>
                <path d="M 184,336 L 216,336" fill="none" stroke="black"/>
                <path d="M 496,336 L 536,336" fill="none" stroke="black"/>
                <path d="M 224,352 L 288,352" fill="none" stroke="black"/>
                <path d="M 8,368 L 144,368" fill="none" stroke="black"/>
                <path d="M 496,368 L 536,368" fill="none" stroke="black"/>
                <path d="M 152,384 L 248,384" fill="none" stroke="black"/>
                <path d="M 440,384 L 488,384" fill="none" stroke="black"/>
                <path d="M 152,400 L 200,400" fill="none" stroke="black"/>
                <path d="M 8,416 L 144,416" fill="none" stroke="black"/>
                <path d="M 432,432 L 512,432" fill="none" stroke="black"/>
                <path d="M 208,464 L 392,464" fill="none" stroke="black"/>
                <path d="M 432,480 L 512,480" fill="none" stroke="black"/>
                <path d="M 176,496 L 312,496" fill="none" stroke="black"/>
                <path d="M 320,512 L 448,512" fill="none" stroke="black"/>
                <path d="M 176,528 L 312,528" fill="none" stroke="black"/>
                <path d="M 408,544 L 472,544" fill="none" stroke="black"/>
                <path d="M 288,560 L 400,560" fill="none" stroke="black"/>
                <path d="M 480,560 L 536,560" fill="none" stroke="black"/>
                <path d="M 408,576 L 472,576" fill="none" stroke="black"/>
                <polygon class="arrowhead" fill="black"
                  points="504,368 492,362.4 492,373.6"
                  transform="rotate(180,496,368)"/>
                <polygon class="arrowhead" fill="black"
                  points="488,392 476,386.4 476,397.6"
                  transform="rotate(270,480,392)"/>
                <polygon class="arrowhead" fill="black"
                  points="232,144 220,138.4 220,149.6"
                  transform="rotate(180,224,144)"/>
                <polygon class="arrowhead" fill="black"
                  points="232,128 220,122.4 220,133.6"
                  transform="rotate(180,224,128)"/>
                <polygon class="arrowhead" fill="black"
                  points="192,168 180,162.4 180,173.6"
                  transform="rotate(270,184,168)"/>
                <polygon class="arrowhead" fill="black"
                  points="160,384 148,378.4 148,389.6"
                  transform="rotate(180,152,384)"/>
                <polygon class="arrowhead" fill="black"
                  points="112,128 100,122.4 100,133.6"
                  transform="rotate(180,104,128)"/>
                <g class="text">
                  <text x="192" y="36">Service</text>
                  <text x="248" y="36">CS-ID</text>
                  <text x="284" y="36">1,</text>
                  <text x="332" y="36">instance</text>
                  <text x="400" y="36">CSCI-ID</text>
                  <text x="440" y="36">1</text>
                  <text x="492" y="36">&lt;computing</text>
                  <text x="572" y="36">metrics&gt;</text>
                  <text x="192" y="52">Service</text>
                  <text x="248" y="52">CS-ID</text>
                  <text x="284" y="52">1,</text>
                  <text x="332" y="52">instance</text>
                  <text x="400" y="52">CSCI-ID</text>
                  <text x="440" y="52">2</text>
                  <text x="492" y="52">&lt;computing</text>
                  <text x="572" y="52">metrics&gt;</text>
                  <text x="192" y="68">Service</text>
                  <text x="248" y="68">CS-ID</text>
                  <text x="284" y="68">1,</text>
                  <text x="332" y="68">instance</text>
                  <text x="400" y="68">CSCI-ID</text>
                  <text x="440" y="68">3</text>
                  <text x="492" y="68">&lt;computing</text>
                  <text x="572" y="68">metrics&gt;</text>
                  <text x="192" y="84">Service</text>
                  <text x="248" y="84">CS-ID</text>
                  <text x="284" y="84">2,</text>
                  <text x="340" y="84">&lt;computing</text>
                  <text x="420" y="84">metrics&gt;</text>
                  <text x="96" y="132">:</text>
                  <text x="188" y="132">C-PS</text>
                  <text x="96" y="148">:</text>
                  <text x="96" y="164">:</text>
                  <text x="96" y="180">:</text>
                  <text x="432" y="180">CS-ID</text>
                  <text x="464" y="180">1</text>
                  <text x="96" y="196">:</text>
                  <text x="440" y="196">CSCI-ID</text>
                  <text x="480" y="196">1</text>
                  <text x="96" y="212">:</text>
                  <text x="96" y="228">:</text>
                  <text x="264" y="228">C-SMA</text>
                  <text x="416" y="228">Service</text>
                  <text x="468" y="228">Site</text>
                  <text x="496" y="228">2</text>
                  <text x="96" y="244">:</text>
                  <text x="96" y="260">:</text>
                  <text x="268" y="260">CATS-Forwarder</text>
                  <text x="336" y="260">2</text>
                  <text x="432" y="260">CS-ID</text>
                  <text x="464" y="260">1</text>
                  <text x="96" y="276">:</text>
                  <text x="440" y="276">CSCI-ID</text>
                  <text x="480" y="276">2</text>
                  <text x="96" y="292">:</text>
                  <text x="288" y="292">|</text>
                  <text x="44" y="308">Client</text>
                  <text x="96" y="308">:</text>
                  <text x="144" y="308">Network</text>
                  <text x="96" y="324">:</text>
                  <text x="144" y="324">metrics</text>
                  <text x="96" y="340">:</text>
                  <text x="256" y="340">C-NMA</text>
                  <text x="96" y="356">:</text>
                  <text x="464" y="356">C-SMA</text>
                  <text x="68" y="388">CATS-Forwarder</text>
                  <text x="136" y="388">1</text>
                  <text x="300" y="420">Underlay</text>
                  <text x="308" y="436">Infrastructure</text>
                  <text x="456" y="452">CS-ID</text>
                  <text x="488" y="452">1</text>
                  <text x="464" y="468">CSCI-ID</text>
                  <text x="504" y="468">3</text>
                  <text x="288" y="484">|</text>
                  <text x="236" y="516">CATS-Forwarder</text>
                  <text x="304" y="516">3</text>
                  <text x="416" y="532">Service</text>
                  <text x="468" y="532">Site</text>
                  <text x="496" y="532">3</text>
                  <text x="432" y="564">CS-ID</text>
                  <text x="464" y="564">2</text>
                </g>
              </svg><![CDATA[
            ]]></artwork>

            <artwork type="ascii-art"><![CDATA[
                    Service CS-ID 1, instance CSCI-ID 1 <computing metrics>
                    Service CS-ID 1, instance CSCI-ID 2 <computing metrics>
                    Service CS-ID 1, instance CSCI-ID 3 <computing metrics>
                    Service CS-ID 2, <computing metrics>

                   +------+
           :<------| C-PS |<--------------------------------------.
           :       |      |<------.                               |
           :       +------+       |               +---------+     |
           :          ^           |           +---|CS-ID 1  |     |
           :          |           |           |   |CSCI-ID 1|     |
           :          |  +----------------+   |   +---------+     |
           :          |  |    C-SMA       |---| Service Site 2    |
           :          |  +----------------+   |   +---------+     |
           :          |  |CATS-Forwarder 2|   +---|CS-ID 1  |     |
           :          |  +----------------+       |CSCI-ID 2|     |
+--------+ :          |            |              +---------+     |
| Client | :  Network |  +----------------------+                 |
+--------+ :  metrics |  | +-------+            |     +-----+     |
     |     :          +----| C-NMA |            |     |     |-----+
     |     :             | +-------+            |     |C-SMA|
+----------------+       |    |                 |     |     |<----+
|CATS-Forwarder 1|<-----------+                 |     +-----+     |
|                |-------|                      |          ^      |
+----------------+       |       Underlay       |          |      |
                         |     Infrastructure   |    +---------+  |
                         |                      |    |CS-ID 1  |  |
                         +----------------------+    |CSCI-ID 3|  |
                                   |                 +---------+  |
                     +----------------+                |          |
                     |CATS-Forwarder 3|----------------+          |
                     +----------------+         Service Site 3    |
                                   |              +-------+       |
                                   +--------------|CS-ID 2|-------+
                                                  +-------+
]]></artwork>
          </artset>
        </figure>

        <t>In <xref target="fig-cats-centralized"/>, the C-SMA collocated with
        "CATS-Forwarder 2" distributes the computing metrics for both service
        contact instances (i.e., (CS-ID 1, CSCI-ID 1) and (CS-ID 1, CSCI-ID
        2)) to the centralized C-PS. In this case, the C-PS is a logically
        centralized element deployed independently with the CATS-Forwarder 1.
        Similarly, the C-SMA agent located at "Service Site 3" advertises the
        computing metrics for the two services hosted by "Service Site 3" to
        the centralized C-PS as well. Furthermore, the C-PS receives the
        network metrics sent from the C-NMA. All metrics are used by the C-PS
        to select the most relevant path that leads to the Egress
        CATS-Forwarder. The selected paths will be sent from the C-PS to
        CATS-Forwarder 1 to indicate traffic steering.</t>

        <t>If the CATS framework is implemented in the hybrid model, the
        metric can be distributed, e.g., as illustrated in the <xref
        target="fig-cats-hybrid"/>. For example, the metrics 1,2,3 associated
        with the CS-ID1 are collected by the centralized C-PS, and the metrics
        4 and 5 are distributed via distributed protocols to the ingress
        CATS-Forwarder directly. For a service with CS-ID2, all the metrics
        are collected by the centralized C-PS. The CATS-computed path result
        will be distributed to the Ingress CATS-Forwarders from the C-PS by
        considering both the metrics from the C-SMA and C-NMA. Furthermore,
        the Ingress CATS-Forwarder may also have some ability to compute the
        path for the subsequent service accessing packets.</t>

        <figure anchor="fig-cats-hybrid">
          <name>An Example of CATS Metric Distribution in the Hybrid
          Model</name>

          <artset>
            <artwork type="svg"><svg class="diagram" font-family="monospace"
                font-size="13px" height="624" stroke-linecap="round"
                text-anchor="middle" version="1.1" viewBox="0 0 592 624"
                width="592" xmlns="http://www.w3.org/2000/svg">
                <path d="M 8,272 L 8,304" fill="none" stroke="black"/>
                <path d="M 8,368 L 8,448" fill="none" stroke="black"/>
                <path d="M 48,312 L 48,360" fill="none" stroke="black"/>
                <path d="M 48,424 L 48,448" fill="none" stroke="black"/>
                <path d="M 80,272 L 80,304" fill="none" stroke="black"/>
                <path d="M 144,368 L 144,416" fill="none" stroke="black"/>
                <path d="M 168,96 L 168,144" fill="none" stroke="black"/>
                <path d="M 192,152 L 192,320" fill="none" stroke="black"/>
                <path d="M 192,480 L 192,512" fill="none" stroke="black"/>
                <path d="M 224,96 L 224,144" fill="none" stroke="black"/>
                <path d="M 224,192 L 224,256" fill="none" stroke="black"/>
                <path d="M 224,288 L 224,312" fill="none" stroke="black"/>
                <path d="M 224,328 L 224,376" fill="none" stroke="black"/>
                <path d="M 224,392 L 224,448" fill="none" stroke="black"/>
                <path d="M 240,304 L 240,336" fill="none" stroke="black"/>
                <path d="M 264,344 L 264,384" fill="none" stroke="black"/>
                <path d="M 296,128 L 296,184" fill="none" stroke="black"/>
                <path d="M 304,304 L 304,336" fill="none" stroke="black"/>
                <path d="M 304,520 L 304,544" fill="none" stroke="black"/>
                <path d="M 328,480 L 328,512" fill="none" stroke="black"/>
                <path d="M 360,192 L 360,256" fill="none" stroke="black"/>
                <path d="M 392,160 L 392,240" fill="none" stroke="black"/>
                <path d="M 408,288 L 408,448" fill="none" stroke="black"/>
                <path d="M 424,144 L 424,192" fill="none" stroke="black"/>
                <path d="M 424,224 L 424,272" fill="none" stroke="black"/>
                <path d="M 424,528 L 424,560" fill="none" stroke="black"/>
                <path d="M 432,416 L 432,464" fill="none" stroke="black"/>
                <path d="M 448,472 L 448,496" fill="none" stroke="black"/>
                <path d="M 464,304 L 464,368" fill="none" stroke="black"/>
                <path d="M 488,528 L 488,560" fill="none" stroke="black"/>
                <path d="M 496,376 L 496,408" fill="none" stroke="black"/>
                <path d="M 504,144 L 504,192" fill="none" stroke="black"/>
                <path d="M 504,224 L 504,272" fill="none" stroke="black"/>
                <path d="M 512,304 L 512,368" fill="none" stroke="black"/>
                <path d="M 512,416 L 512,464" fill="none" stroke="black"/>
                <path d="M 536,112 L 536,320" fill="none" stroke="black"/>
                <path d="M 536,352 L 536,544" fill="none" stroke="black"/>
                <path d="M 552,336 L 552,576" fill="none" stroke="black"/>
                <path d="M 168,96 L 224,96" fill="none" stroke="black"/>
                <path d="M 112,112 L 160,112" fill="none" stroke="black"/>
                <path d="M 232,112 L 536,112" fill="none" stroke="black"/>
                <path d="M 232,128 L 296,128" fill="none" stroke="black"/>
                <path d="M 168,144 L 224,144" fill="none" stroke="black"/>
                <path d="M 424,144 L 504,144" fill="none" stroke="black"/>
                <path d="M 392,160 L 416,160" fill="none" stroke="black"/>
                <path d="M 224,192 L 360,192" fill="none" stroke="black"/>
                <path d="M 424,192 L 504,192" fill="none" stroke="black"/>
                <path d="M 368,208 L 384,208" fill="none" stroke="black"/>
                <path d="M 224,224 L 360,224" fill="none" stroke="black"/>
                <path d="M 424,224 L 504,224" fill="none" stroke="black"/>
                <path d="M 392,240 L 416,240" fill="none" stroke="black"/>
                <path d="M 224,256 L 360,256" fill="none" stroke="black"/>
                <path d="M 8,272 L 80,272" fill="none" stroke="black"/>
                <path d="M 424,272 L 504,272" fill="none" stroke="black"/>
                <path d="M 224,288 L 408,288" fill="none" stroke="black"/>
                <path d="M 8,304 L 80,304" fill="none" stroke="black"/>
                <path d="M 240,304 L 304,304" fill="none" stroke="black"/>
                <path d="M 464,304 L 512,304" fill="none" stroke="black"/>
                <path d="M 192,320 L 232,320" fill="none" stroke="black"/>
                <path d="M 520,320 L 536,320" fill="none" stroke="black"/>
                <path d="M 240,336 L 304,336" fill="none" stroke="black"/>
                <path d="M 520,336 L 552,336" fill="none" stroke="black"/>
                <path d="M 520,352 L 536,352" fill="none" stroke="black"/>
                <path d="M 8,368 L 144,368" fill="none" stroke="black"/>
                <path d="M 464,368 L 512,368" fill="none" stroke="black"/>
                <path d="M 152,384 L 264,384" fill="none" stroke="black"/>
                <path d="M 152,400 L 216,400" fill="none" stroke="black"/>
                <path d="M 16,416 L 144,416" fill="none" stroke="black"/>
                <path d="M 432,416 L 512,416" fill="none" stroke="black"/>
                <path d="M 8,448 L 48,448" fill="none" stroke="black"/>
                <path d="M 224,448 L 408,448" fill="none" stroke="black"/>
                <path d="M 432,464 L 512,464" fill="none" stroke="black"/>
                <path d="M 192,480 L 328,480" fill="none" stroke="black"/>
                <path d="M 336,496 L 448,496" fill="none" stroke="black"/>
                <path d="M 192,512 L 328,512" fill="none" stroke="black"/>
                <path d="M 424,528 L 488,528" fill="none" stroke="black"/>
                <path d="M 304,544 L 416,544" fill="none" stroke="black"/>
                <path d="M 496,544 L 536,544" fill="none" stroke="black"/>
                <path d="M 424,560 L 488,560" fill="none" stroke="black"/>
                <path d="M 112,576 L 552,576" fill="none" stroke="black"/>
                <polygon class="arrowhead" fill="black"
                  points="528,352 516,346.4 516,357.6"
                  transform="rotate(180,520,352)"/>
                <polygon class="arrowhead" fill="black"
                  points="504,376 492,370.4 492,381.6"
                  transform="rotate(270,496,376)"/>
                <polygon class="arrowhead" fill="black"
                  points="240,128 228,122.4 228,133.6"
                  transform="rotate(180,232,128)"/>
                <polygon class="arrowhead" fill="black"
                  points="240,112 228,106.4 228,117.6"
                  transform="rotate(180,232,112)"/>
                <polygon class="arrowhead" fill="black"
                  points="200,152 188,146.4 188,157.6"
                  transform="rotate(270,192,152)"/>
                <polygon class="arrowhead" fill="black"
                  points="160,384 148,378.4 148,389.6"
                  transform="rotate(180,152,384)"/>
                <polygon class="arrowhead" fill="black"
                  points="120,576 108,570.4 108,581.6"
                  transform="rotate(180,112,576)"/>
                <polygon class="arrowhead" fill="black"
                  points="120,112 108,106.4 108,117.6"
                  transform="rotate(180,112,112)"/>
                <g class="text">
                  <text x="136" y="36">Service</text>
                  <text x="192" y="36">CS-ID</text>
                  <text x="228" y="36">1,</text>
                  <text x="276" y="36">instance</text>
                  <text x="344" y="36">CSCI-ID</text>
                  <text x="384" y="36">1</text>
                  <text x="436" y="36">&lt;computing</text>
                  <text x="508" y="36">metric</text>
                  <text x="564" y="36">1,2,3&gt;</text>
                  <text x="136" y="52">Service</text>
                  <text x="192" y="52">CS-ID</text>
                  <text x="228" y="52">1,</text>
                  <text x="276" y="52">instance</text>
                  <text x="344" y="52">CSCI-ID</text>
                  <text x="384" y="52">2</text>
                  <text x="436" y="52">&lt;computing</text>
                  <text x="508" y="52">metric</text>
                  <text x="564" y="52">1,2,3&gt;</text>
                  <text x="136" y="68">Service</text>
                  <text x="192" y="68">CS-ID</text>
                  <text x="228" y="68">1,</text>
                  <text x="276" y="68">instance</text>
                  <text x="344" y="68">CSCI-ID</text>
                  <text x="384" y="68">3</text>
                  <text x="436" y="68">&lt;computing</text>
                  <text x="508" y="68">metric</text>
                  <text x="564" y="68">1,2,3&gt;</text>
                  <text x="136" y="84">Service</text>
                  <text x="192" y="84">CS-ID</text>
                  <text x="228" y="84">2,</text>
                  <text x="284" y="84">&lt;computing</text>
                  <text x="364" y="84">metrics&gt;</text>
                  <text x="104" y="116">:</text>
                  <text x="196" y="116">C-PS</text>
                  <text x="104" y="132">:</text>
                  <text x="104" y="148">:</text>
                  <text x="104" y="164">:</text>
                  <text x="448" y="164">CS-ID</text>
                  <text x="480" y="164">1</text>
                  <text x="104" y="180">:</text>
                  <text x="456" y="180">CSCI-ID</text>
                  <text x="496" y="180">1</text>
                  <text x="104" y="196">:</text>
                  <text x="104" y="212">:</text>
                  <text x="280" y="212">C-SMA</text>
                  <text x="432" y="212">Service</text>
                  <text x="484" y="212">Site</text>
                  <text x="512" y="212">2</text>
                  <text x="104" y="228">:</text>
                  <text x="104" y="244">:</text>
                  <text x="284" y="244">CATS-Forwarder</text>
                  <text x="352" y="244">2</text>
                  <text x="448" y="244">CS-ID</text>
                  <text x="480" y="244">1</text>
                  <text x="104" y="260">:</text>
                  <text x="456" y="260">CSCI-ID</text>
                  <text x="496" y="260">2</text>
                  <text x="104" y="276">:</text>
                  <text x="304" y="276">|</text>
                  <text x="44" y="292">Client</text>
                  <text x="104" y="292">:</text>
                  <text x="152" y="292">Network</text>
                  <text x="104" y="308">:</text>
                  <text x="152" y="308">metrics</text>
                  <text x="104" y="324">:</text>
                  <text x="272" y="324">C-NMA</text>
                  <text x="104" y="340">:</text>
                  <text x="488" y="340">C-SMA</text>
                  <text x="104" y="356">:</text>
                  <text x="68" y="388">CATS-Forwarder</text>
                  <text x="136" y="388">1</text>
                  <text x="316" y="404">Underlay</text>
                  <text x="324" y="420">Infrastructure</text>
                  <text x="28" y="436">C-PS</text>
                  <text x="104" y="436">:</text>
                  <text x="456" y="436">CS-ID</text>
                  <text x="488" y="436">1</text>
                  <text x="104" y="452">:</text>
                  <text x="464" y="452">CSCI-ID</text>
                  <text x="504" y="452">3</text>
                  <text x="104" y="468">:</text>
                  <text x="304" y="468">|</text>
                  <text x="104" y="484">:</text>
                  <text x="104" y="500">:</text>
                  <text x="252" y="500">CATS-Forwarder</text>
                  <text x="320" y="500">3</text>
                  <text x="104" y="516">:</text>
                  <text x="432" y="516">Service</text>
                  <text x="484" y="516">Site</text>
                  <text x="512" y="516">3</text>
                  <text x="104" y="532">:</text>
                  <text x="104" y="548">:</text>
                  <text x="448" y="548">CS-ID</text>
                  <text x="480" y="548">2</text>
                  <text x="104" y="564">:</text>
                  <text x="104" y="580">:</text>
                  <text x="72" y="596">Service</text>
                  <text x="128" y="596">CS-ID</text>
                  <text x="164" y="596">1,</text>
                  <text x="208" y="596">contact</text>
                  <text x="276" y="596">instance</text>
                  <text x="344" y="596">CSCI-ID</text>
                  <text x="388" y="596">3,</text>
                  <text x="444" y="596">&lt;computing</text>
                  <text x="516" y="596">metric</text>
                  <text x="564" y="596">4,5&gt;</text>
                </g>
              </svg><![CDATA[
            ]]></artwork>

            <artwork type="ascii-art"><![CDATA[
              Service CS-ID 1, instance CSCI-ID 1 <computing metric 1,2,3>
              Service CS-ID 1, instance CSCI-ID 2 <computing metric 1,2,3>
              Service CS-ID 1, instance CSCI-ID 3 <computing metric 1,2,3>
              Service CS-ID 2, <computing metrics>
                     +------+
             :<------| C-PS |<-------------------------------------.
             :       |      |<-------.                             |
             :       +------+        |               +---------+   |
             :          ^            |           +---|CS-ID 1  |   |
             :          |            |           |   |CSCI-ID 1|   |
             :          |   +----------------+   |   +---------+   |
             :          |   |    C-SMA       |---| Service Site 2  |
             :          |   +----------------+   |   +---------+   |
             :          |   |CATS-Forwarder 2|   +---|CS-ID 1  |   |
             :          |   +----------------+       |CSCI-ID 2|   |
 +--------+  :          |             |              +---------+   |
 | Client |  :  Network |   +----------------------+               |
 +--------+  :  metrics |   | +-------+            |      +-----+  |
      |      :          +-----| C-NMA |            |      |     |--+
      |      :              | +-------+            |      |C-SMA|----+
      |      :              |    |                 |      |     |<-+ |
 +----------------+         |    |                 |      +-----+  | |
 |CATS-Forwarder 1|<-------------+                 |          ^    | |
 |                |---------|       Underlay       |          |    | |
 |----------------+         |     Infrastructure   |  +---------+  | |
 |C-PS|      :              |                      |  |CS-ID 1  |  | |
 +----+      :              +----------------------+  |CSCI-ID 3|  | |
             :                        |               +---------+  | |
             :          +----------------+              |          | |
             :          |CATS-Forwarder 3|--------------+          | |
             :          +----------------+         Service Site 3  | |
             :                        |              +-------+     | |
             :                        '-------+------|CS-ID 2|-----+ |
             :                                       +-------+       |
             :<------------------------------------------------------+
      Service CS-ID 1, contact instance CSCI-ID 3, <computing metric 4,5>
]]></artwork>
          </artset>
        </figure>
      </section>

      <section anchor="service-access-processing">
        <name>Service Access Processing</name>

        <t>A C-PS selects paths that lead to Egress CATS-Forwarders according
        to both service and network metrics that were advertised. A C-PS may
        be collocated with an Ingress CATS-Forwarder (as shown in <xref
        target="fig-cats-example-overlay"/>) or logically centralized (in the
        centralized model or hybrid model).</t>

        <t>This document does not specify any specific algorithm for path
        selection purposes to be supported by C-PSes in order to not constrain
        the CATS framework to one possible selection only. Instead, it is
        expected that a service request or local policy may feed the C-PS with
        appropriate information on that selection logic that takes the
        suitable metric information as input and the selected service contact
        instance as output. Such "appropriate information" may be utilized to
        differentiate selection mechanisms to enable service-specific
        selections.</t>

        <t>In the example shown in <xref target="fig-cats-example-overlay"/>,
        the client sends a service access via the network through the
        "CATS-Forwarder 1", which is an Ingress CATS-Forwarder. Note that, a
        service access may consist of one or more service packets (e.g.,
        Session Initiation Protocol (SIP) <xref target="RFC3261"/>, HTTP <xref
        target="RFC9112"/>, IPv6 <xref target="RFC8200"/>, SRv6 <xref
        target="RFC8754"/> or Real-Time Streaming Protocol (RTSP) <xref
        target="RFC7826"/>) that carry the CS-ID and potential parameters. The
        Ingress CATS-Forwarder classifies the packets using the information
        provided by the CATS classifier (C-TC). When a matching classification
        entry is found for the packets, the Ingress CATS-Forwarder
        encapsulates and forwards them to the C-PS selected Egress
        CATS-Forwarder. When these packets reach the Egress CATS-Forwarder,
        the outer header of the possible overlay encapsulation will be removed
        and the inner packets will be sent to the relevant service contact
        instance.</t>

        <ul empty="true">
          <li>
            <t>Note that multi-homed clients may be connected to multiple CATS
            infrastructures that may be operated by the same or distinct
            service providers. This version of the framework does not cover
            multihoming specifics.</t>
          </li>
        </ul>
      </section>

      <section anchor="service-contact-instance-affinity">
        <name>Service Contact Instance Affinity</name>

        <t>Service contact instance affinity means that packets that belong to
        a flow associated with a service should always be sent to the same
        service contact instance. Furthermore, packets of a given flow should
        be forwarded along the same path to avoid mis-ordering and to prevent
        the introduction of unpredictable latency variations. The CATS
        framework must ensure that service instance selection and path
        steering decisions remain consistent for a flow. Specifically, the
        same Egress CATS-Forwarder needs to be solicited to forward the
        packets.</t>

        <t>The affinity is configured on the C-PS when the service is
        deployed, or is determined at the time of newly formulated service
        requests.</t>

        <t>Note that different services may have different notions of what
        constitutes a 'flow' and may, thus, identify a flow differently.
        Typically, a flow is identified by the 5-tuple transport coordinates
        (source address and destination address, source and destination port
        numbers, and protocol). However, for instance, an RTP video stream may
        use different port numbers for video and audio channels: in that case,
        affinity may be identified as a combination of the two 5-tuple flow
        identifiers so that both flows are addressed to the same service
        contact instance.</t>

        <t>Hence, when specifying a protocol to communicate information about
        service contact instance affinity, the protocol should support
        flexible mechanisms for identifying flows. Or, from a more general
        perspective, there should be a mechanism to specify and identify the
        set of packets that are subject to a service contact instance
        affinity.</t>

        <t>More importantly, the means for identifying a flow for ensuring
        instance affinity should be application-independent to avoid the need
        for service-specific instance affinity methods. However, service
        contact instance affinity information may be configurable on a
        per-service basis. For each service, the information can include the
        flow/packets identification type and means, affinity timeout value,
        etc.</t>

        <t>This document does not define any mechanism for defining or
        enforcing service contact instance affinity.</t>
      </section>
    </section>

    <section anchor="operational-and-mangeability-considerations">
      <name>Operational and Mangeability Considerations</name>

      <section anchor="sec-cats-provisioning">
        <name>Provisioning of CATS Components</name>

        <t>Enabling CATS in a network can be done incrementally. That is, not
        all ingress routers need to be upgraded to support CATS.</t>

        <t>In addition to the CATS steering policies that are communicated by
        a C-PS to an Ingress CATS-Forwarder, some provisioning tasks are
        required. This includes, but not limited to:</t>

        <ul spacing="normal">
          <li>
            <t>Provide C-PS elements with the locators of available Ingress
            CATS-Forwarder. Such locators may also be discovered from the
            network.</t>
          </li>

          <li>
            <t>Enable required setup to connect C-PS elements with C-NMA and
            C-SMA.</t>
          </li>

          <li>
            <t>Allocate various identifiers CS-ID/CSCI-ID and bind them to
            specific service contact instances.</t>
          </li>

          <li>
            <t>Provide C-PS element with the set of optimization metrics (per
            service) and an optimization policy.</t>
          </li>

          <li>
            <t>Expose encapsulation capabilities supported by
            CATS-Frowarders.</t>
          </li>

          <li>
            <t>Configure specific encapsulation capabilities of
            CATS-Forwarders for use, including any credentials for mutual
            authentication between peer CATS-Forwarders.</t>
          </li>

          <li>
            <t>Expose classification capabilities of C-TC elements.</t>
          </li>

          <li>
            <t>Retrieve active classification table of C-TC elements.</t>
          </li>

          <li>
            <t>Reset the classification table of C-TC elements.</t>
          </li>

          <li>
            <t>Set the traffic counters at CATS-Forwarders to ease correlation
            between both Ingress and Egress CATS-Forwarders. Such correlation
            is needed to help identify issues induced by the underlying
            encapsulation.</t>
          </li>

          <li>
            <t>Enable tools to check the correct behavior of various entities
            (e.g., classification rules, steering rules, and forwarding
            behavior)</t>
          </li>
        </ul>

        <t>The above task can be enabled using a variety of means (NETCONF
        <xref target="RFC6241"/>, IPFIX <xref target="RFC7011"/>, etc.). It is
        out of scope to discuss required CATS extension to these
        protocols.</t>
      </section>

      <section anchor="sec-cats-deployment">
        <name>Deployment Considerations</name>

        <t>This document does not make any assumption about how the various
        CATS functional elements are implemented and deployed. Concretely,
        whether a CATS deployment follows a fully distributed design or relies
        upon a mix of centralized (e.g., a C-PS) and distributed CATS
        functions (e.g., CATS traffic classifiers) is deployment-specific and
        may reflect the preferences and policies of the (CATS) service
        provider.</t>

        <t>For example, in a centralized design, both the computing related
        metrics from the C-SMAs and the network metrics are collected by a
        (logically) centralized path computation logic (e.g., a PCE). In this
        case, the CATS computation logic may process incoming service requests
        to compute paths to service contact instances. More generally, the
        paths might be computed before the service request comes. Based on the
        metrics and computed paths, the C-PS can select the most appropriate
        path and then synchronize with CATS traffic classifiers (C-TCs).</t>

        <t>According to the method of distributing and collecting the
        computing related metrics, three deployment models can be considered
        for the deployment of the CATS framework:</t>

        <ul spacing="normal">
          <li>
            <dl>
              <dt><strong>Distributed model</strong>:</dt>

              <dd>
                <t>Computing metrics are distributed among network devices
                directly using distributed protocols without interactions with
                a centralized control plane. Service scheduling function is
                performed by the CATS-Forwarders in the distribution model,
                therefore, the C-PS is integrated into an Ingress
                CATS-Forwarder.</t>
              </dd>
            </dl>
          </li>

          <li>
            <dl>
              <dt><strong>Centralized model</strong>:</dt>

              <dd>
                <t>Computing metrics are collected by a centralized control
                plane, and then the centralized control plane computes the
                forwarding path for service requests and syncs up with the
                Ingress CATS-Forwarder. In this model, C-PS is implemented in
                the centralized control plane.</t>
              </dd>
            </dl>
          </li>

          <li>
            <dl>
              <dt><strong>Hybrid model</strong>:</dt>

              <dd>
                <t>Is a combination of distributed and centralized models.</t>
              </dd>

              <dt/>

              <dd>
                <t>A part of computing metrics are distributed among involved
                network devices, and others may be collected by a centralized
                control plane. For example, some static information (e.g.,
                capabilities information) can be distributed among network
                devices since they are quite stable (change infrequently).
                Frequent changing information (e.g., resource utilization) can
                be collected by a centralized control plane to avoid frequent
                flooding in the distributed control plane. Service scheduling
                function can be performed by a centralized control plane
                and/or the 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>
              </dd>
            </dl>
          </li>
        </ul>
      </section>

      <section anchor="sec-metric-implementation">
        <name>Implementation Consideration on Using CATS Metrics</name>

        <t>According to the metric definition in <xref
        target="I-D.ietf-cats-metric-definition"/>, computing metrics need to
        be normalized and/or aggregated in order to low down the scalability
        impact of the existing route system while providing sufficient detail
        for effective decision-making.</t>

        <t>Depeding on the resources and processing capabilities of CATS
        components, the normalization and aggregation functions can be located
        in different CATS components. The suggested solution is to implement
        the normalization and aggregation functions located away from the
        decision maker, CATS Path Selector (C-PS), especially when C-PS is
        co-located with CATS-Forwarders. With this in mind, the normalization
        and aggregation functions of CATS metrics can be placed at Service
        contact instance or CATS Service Metric Agent (C-SMA).</t>

        <t>When the C-SMA is co-located with CATS-Forwarders where there is
        limited resource for processing, the placement of normalization
        functions in the C-SMA may bring too much overhead and may influence
        the routing efficiency. Therefore, this document suggests to implement
        the normalization function at the service contact instance. Regarding
        the aggregation functions, it can be implemented in the C-SMA, or the
        service contact instance.</t>

        <t>In the case of service contact instances and C-SMAs are provided by
        different vendors, it is needed to use the same common normalization
        function and aggregation functions, so that the service contact
        instance selection result can be fair among all the service contact
        instances.</t>
      </section>

      <section anchor="verifying-correct-operations">
        <name>Verifying Correct Operations</name>

        <t>CATS may be implemented by extending some existing control plane
        protocols, such as BGP or PCEP. A CATS implementation must log error
        events for better network management and operation. Means to assess
        the reachability and trace CATS paths should be supported.</t>
      </section>

      <section anchor="impact-on-network-operations">
        <name>Impact on Network Operations</name>

        <t>Computing metrics are collected and distributed in CATS. A new
        function is needed to be deployed to manage the cooperation between
        network elements and computing elements. For example, this function
        may be provided by an orchestrator connecting with C-SMA and C-NMA.
        This might bring more complexity of the network management, especially
        if this function is not leveraged for other purposes beyond CATS.</t>
      </section>
    </section>

    <section anchor="security-considerations">
      <name>Security Considerations</name>

      <t>The computing resource information changes over time very frequently,
      especially with the creation and termination of service instances. When
      such information is carried in a routing protocol, too many updates may
      affect network stability. This issue could be exploited by an attacker
      (e.g., by spawning and deleting service contact instances very rapidly).
      CATS solutions must support guards against such misbehaviors. For
      example, these solutions should support aggregation techniques,
      dampening mechanisms, and threshold-triggered distribution updates.</t>

      <t>The information distributed by the C-SMAs and C-NMAs may be
      sensitive. Such information could indeed disclose intelligence about the
      network and the location of compute resources hosted in service sites.
      This information may be used by an attacker to identify weak spots in an
      operator's network. Furthermore, such information may be modified by an
      attacker resulting in disrupted service delivery for the clients, even
      including misdirection of traffic to an attacker's service
      implementation. CATS solutions must support authentication and
      integrity-protection mechanisms between C-SMAs/C-NMAs and C-PSes, and
      between C-PSes and Ingress CATS-Forwarders. Also, C-SMA agents need to
      support a mechanism to authenticate the services for which they provide
      information to C-PS computation logics, among other CATS functions.</t>
    </section>

    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>

      <t>CATS solutions must support preventing on-path nodes in the underlay
      infrastructure to fingerprint and track clients (e.g., determining which
      client accesses which service). More generally, personal data must not
      be exposed to external parties by CATS beyond what is carried in the
      packet that was originally issued by the client.</t>

      <t>In some cases, the service will need to know about applications,
      clients, and even user identity. This information is sensitive and
      should be encrypted. To prevent the information leaking between CATS
      components, the C-PS computed path information should be encrypted in
      distribution. The specific encryption method may be applied at the
      network layer, transport layer, or at the application/protocol level
      depending on the implementation, so this is out of the scope of this
      document.</t>

      <t>For more discussion about privacy, refer to <xref target="RFC6462"/>
      and <xref target="RFC6973"/>.</t>
    </section>

    <section anchor="iana-considerations">
      <name>IANA Considerations</name>

      <t>This document makes no request for IANA action.</t>
    </section>
  </middle>

  <back>
    <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="10" month="June" year="2025"/>

          <abstract>
            <t>Distributed computing is a computing pattern that service
            providers can follow and use to achieve better service response
            time and optimized energy consumption. In such a distributed
            computing environment, compute intensive and delay sensitive
            services can be improved by utilizing computing resources hosted
            in various computing facilities. Ideally, compute services are
            balanced across servers and network resources to enable higher
            throughput and lower response time. To achieve this, the choice of
            server and network resources should consider metrics that are
            oriented towards compute capabilities and resources instead of
            simply dispatching the service requests in a static way or
            optimizing solely on connectivity metrics. The process of
            selecting servers or service instance locations, and of directing
            traffic to them on chosen network resources is called
            "Computing-Aware Traffic Steering" (CATS). This document provides
            the problem statement and the typical scenarios for CATS, which
            shows the necessity of considering more factors when steering
            traffic to the appropriate computing resource to better meet the
            customer's expectations.</t>
          </abstract>
        </front>

        <seriesInfo name="Internet-Draft"
                    value="draft-ietf-cats-usecases-requirements-07"/>
      </reference>

      <reference anchor="RFC9522">
        <front>
          <title>Overview and Principles of Internet Traffic
          Engineering</title>

          <author fullname="A. Farrel" initials="A." role="editor"
                  surname="Farrel"/>

          <date month="January" year="2024"/>

          <abstract>
            <t>This document describes the principles of traffic engineering
            (TE) in the Internet. The document is intended to promote better
            understanding of the issues surrounding traffic engineering in IP
            networks and the networks that support IP networking and to
            provide a common basis for the development of traffic-engineering
            capabilities for the Internet. The principles, architectures, and
            methodologies for performance evaluation and performance
            optimization of operational networks are also discussed.</t>

            <t>This work was first published as RFC 3272 in May 2002. This
            document obsoletes RFC 3272 by making a complete update to bring
            the text in line with best current practices for Internet traffic
            engineering and to include references to the latest relevant work
            in the IETF.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="9522"/>

        <seriesInfo name="DOI" value="10.17487/RFC9522"/>
      </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="Hang Shi" initials="H." surname="Shi">
            <organization>Huawei Technologies</organization>
          </author>

          <date day="7" month="July" year="2025"/>

          <abstract>
            <t>Computing-Aware Traffic Steering (CATS) is a traffic
            engineering approach that optimizes the steering of traffic to a
            given service instance by considering the dynamic nature of
            computing and network resources. In order to consider the
            computing and network resources, a system needs to share
            information (metrics) that describes the state of the resources.
            Metrics from network domain have been in use in network systems
            for a long time. This document defines a set of metrics from the
            computing domain used for CATS.</t>
          </abstract>
        </front>

        <seriesInfo name="Internet-Draft"
                    value="draft-ietf-cats-metric-definition-03"/>
      </reference>

      <reference anchor="RFC7471">
        <front>
          <title>OSPF Traffic Engineering (TE) Metric Extensions</title>

          <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>

          <author fullname="D. Ward" initials="D." surname="Ward"/>

          <author fullname="J. Drake" initials="J." surname="Drake"/>

          <author fullname="A. Atlas" initials="A." surname="Atlas"/>

          <author fullname="S. Previdi" initials="S." surname="Previdi"/>

          <date month="March" year="2015"/>

          <abstract>
            <t>In certain networks, such as, but not limited to, financial
            information networks (e.g., stock market data providers), network
            performance information (e.g., link propagation delay) is becoming
            critical to data path selection.</t>

            <t>This document describes common extensions to RFC 3630 "Traffic
            Engineering (TE) Extensions to OSPF Version 2" and RFC 5329
            "Traffic Engineering Extensions to OSPF Version 3" to enable
            network performance information to be distributed in a scalable
            fashion. The information distributed using OSPF TE Metric
            Extensions can then be used to make path selection decisions based
            on network performance.</t>

            <t>Note that this document only covers the mechanisms by which
            network performance information is distributed. The mechanisms for
            measuring network performance information or using that
            information, once distributed, are outside the scope of this
            document.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="7471"/>

        <seriesInfo name="DOI" value="10.17487/RFC7471"/>
      </reference>

      <reference anchor="RFC8570">
        <front>
          <title>IS-IS Traffic Engineering (TE) Metric Extensions</title>

          <author fullname="L. Ginsberg" initials="L." role="editor"
                  surname="Ginsberg"/>

          <author fullname="S. Previdi" initials="S." role="editor"
                  surname="Previdi"/>

          <author fullname="S. Giacalone" initials="S." surname="Giacalone"/>

          <author fullname="D. Ward" initials="D." surname="Ward"/>

          <author fullname="J. Drake" initials="J." surname="Drake"/>

          <author fullname="Q. Wu" initials="Q." surname="Wu"/>

          <date month="March" year="2019"/>

          <abstract>
            <t>In certain networks, such as, but not limited to, financial
            information networks (e.g., stock market data providers),
            network-performance criteria (e.g., latency) are becoming as
            critical to data-path selection as other metrics.</t>

            <t>This document describes extensions to IS-IS Traffic Engineering
            Extensions (RFC 5305). These extensions provide a way to
            distribute and collect network-performance information in a
            scalable fashion. The information distributed using IS-IS TE
            Metric Extensions can then be used to make path-selection
            decisions based on network performance.</t>

            <t>Note that this document only covers the mechanisms with which
            network-performance information is distributed. The mechanisms for
            measuring network performance or acting on that information, once
            distributed, are outside the scope of this document.</t>

            <t>This document obsoletes RFC 7810.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="8570"/>

        <seriesInfo name="DOI" value="10.17487/RFC8570"/>
      </reference>

      <reference anchor="RFC8571">
        <front>
          <title>BGP - Link State (BGP-LS) Advertisement of IGP Traffic
          Engineering Performance Metric Extensions</title>

          <author fullname="L. Ginsberg" initials="L." role="editor"
                  surname="Ginsberg"/>

          <author fullname="S. Previdi" initials="S." surname="Previdi"/>

          <author fullname="Q. Wu" initials="Q." surname="Wu"/>

          <author fullname="J. Tantsura" initials="J." surname="Tantsura"/>

          <author fullname="C. Filsfils" initials="C." surname="Filsfils"/>

          <date month="March" year="2019"/>

          <abstract>
            <t>This document defines new BGP - Link State (BGP-LS) TLVs in
            order to carry the IGP Traffic Engineering Metric Extensions
            defined in the IS-IS and OSPF protocols.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="8571"/>

        <seriesInfo name="DOI" value="10.17487/RFC8571"/>
      </reference>

      <reference anchor="RFC4655">
        <front>
          <title>A Path Computation Element (PCE)-Based Architecture</title>

          <author fullname="A. Farrel" initials="A." surname="Farrel"/>

          <author fullname="J.-P. Vasseur" initials="J.-P." surname="Vasseur"/>

          <author fullname="J. Ash" initials="J." surname="Ash"/>

          <date month="August" year="2006"/>

          <abstract>
            <t>Constraint-based path computation is a fundamental building
            block for traffic engineering systems such as Multiprotocol Label
            Switching (MPLS) and Generalized Multiprotocol Label Switching
            (GMPLS) networks. Path computation in large, multi-domain,
            multi-region, or multi-layer networks is complex and may require
            special computational components and cooperation between the
            different network domains.</t>

            <t>This document specifies the architecture for a Path Computation
            Element (PCE)-based model to address this problem space. This
            document does not attempt to provide a detailed description of all
            the architectural components, but rather it describes a set of
            building blocks for the PCE architecture from which solutions may
            be constructed. This memo provides information for the Internet
            community.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="4655"/>

        <seriesInfo name="DOI" value="10.17487/RFC4655"/>
      </reference>

      <reference anchor="RFC6066">
        <front>
          <title>Transport Layer Security (TLS) Extensions: Extension
          Definitions</title>

          <author fullname="D. Eastlake 3rd" initials="D."
                  surname="Eastlake 3rd"/>

          <date month="January" year="2011"/>

          <abstract>
            <t>This document provides specifications for existing TLS
            extensions. It is a companion document for RFC 5246, "The
            Transport Layer Security (TLS) Protocol Version 1.2". The
            extensions specified are server_name, max_fragment_length,
            client_certificate_url, trusted_ca_keys, truncated_hmac, and
            status_request. [STANDARDS-TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="6066"/>

        <seriesInfo name="DOI" value="10.17487/RFC6066"/>
      </reference>

      <reference anchor="RFC4026">
        <front>
          <title>Provider Provisioned Virtual Private Network (VPN)
          Terminology</title>

          <author fullname="L. Andersson" initials="L." surname="Andersson"/>

          <author fullname="T. Madsen" initials="T." surname="Madsen"/>

          <date month="March" year="2005"/>

          <abstract>
            <t>The widespread interest in provider-provisioned Virtual Private
            Network (VPN) solutions lead to memos proposing different and
            overlapping solutions. The IETF working groups (first Provider
            Provisioned VPNs and later Layer 2 VPNs and Layer 3 VPNs) have
            discussed these proposals and documented specifications. This has
            lead to the development of a partially new set of concepts used to
            describe the set of VPN services.</t>

            <t>To a certain extent, more than one term covers the same
            concept, and sometimes the same term covers more than one concept.
            This document seeks to make the terminology in the area clearer
            and more intuitive. This memo provides information for the
            Internet community.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="4026"/>

        <seriesInfo name="DOI" value="10.17487/RFC4026"/>
      </reference>

      <reference anchor="RFC1034">
        <front>
          <title>Domain names - concepts and facilities</title>

          <author fullname="P. Mockapetris" initials="P."
                  surname="Mockapetris"/>

          <date month="November" year="1987"/>

          <abstract>
            <t>This RFC is the revised basic definition of The Domain Name
            System. It obsoletes RFC-882. This memo describes the domain style
            names and their used for host address look up and electronic mail
            forwarding. It discusses the clients and servers in the domain
            name system and the protocol used between them.</t>
          </abstract>
        </front>

        <seriesInfo name="STD" value="13"/>

        <seriesInfo name="RFC" value="1034"/>

        <seriesInfo name="DOI" value="10.17487/RFC1034"/>
      </reference>

      <reference anchor="RFC5340">
        <front>
          <title>OSPF for IPv6</title>

          <author fullname="R. Coltun" initials="R." surname="Coltun"/>

          <author fullname="D. Ferguson" initials="D." surname="Ferguson"/>

          <author fullname="J. Moy" initials="J." surname="Moy"/>

          <author fullname="A. Lindem" initials="A." surname="Lindem"/>

          <date month="July" year="2008"/>

          <abstract>
            <t>This document describes the modifications to OSPF to support
            version 6 of the Internet Protocol (IPv6). The fundamental
            mechanisms of OSPF (flooding, Designated Router (DR) election,
            area support, Short Path First (SPF) calculations, etc.) remain
            unchanged. However, some changes have been necessary, either due
            to changes in protocol semantics between IPv4 and IPv6, or simply
            to handle the increased address size of IPv6. These modifications
            will necessitate incrementing the protocol version from version 2
            to version 3. OSPF for IPv6 is also referred to as OSPF version 3
            (OSPFv3).</t>

            <t>Changes between OSPF for IPv4, OSPF Version 2, and OSPF for
            IPv6 as described herein include the following. Addressing
            semantics have been removed from OSPF packets and the basic Link
            State Advertisements (LSAs). New LSAs have been created to carry
            IPv6 addresses and prefixes. OSPF now runs on a per-link basis
            rather than on a per-IP-subnet basis. Flooding scope for LSAs has
            been generalized. Authentication has been removed from the OSPF
            protocol and instead relies on IPv6's Authentication Header and
            Encapsulating Security Payload (ESP).</t>

            <t>Even with larger IPv6 addresses, most packets in OSPF for IPv6
            are almost as compact as those in OSPF for IPv4. Most fields and
            packet- size limitations present in OSPF for IPv4 have been
            relaxed. In addition, option handling has been made more
            flexible.</t>

            <t>All of OSPF for IPv4's optional capabilities, including demand
            circuit support and Not-So-Stubby Areas (NSSAs), are also
            supported in OSPF for IPv6. [STANDARDS-TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="5340"/>

        <seriesInfo name="DOI" value="10.17487/RFC5340"/>
      </reference>

      <reference anchor="RFC3261">
        <front>
          <title>SIP: Session Initiation Protocol</title>

          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>

          <author fullname="H. Schulzrinne" initials="H."
                  surname="Schulzrinne"/>

          <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>

          <author fullname="A. Johnston" initials="A." surname="Johnston"/>

          <author fullname="J. Peterson" initials="J." surname="Peterson"/>

          <author fullname="R. Sparks" initials="R." surname="Sparks"/>

          <author fullname="M. Handley" initials="M." surname="Handley"/>

          <author fullname="E. Schooler" initials="E." surname="Schooler"/>

          <date month="June" year="2002"/>

          <abstract>
            <t>This document describes Session Initiation Protocol (SIP), an
            application-layer control (signaling) protocol for creating,
            modifying, and terminating sessions with one or more participants.
            These sessions include Internet telephone calls, multimedia
            distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="3261"/>

        <seriesInfo name="DOI" value="10.17487/RFC3261"/>
      </reference>

      <reference anchor="RFC9112">
        <front>
          <title>HTTP/1.1</title>

          <author fullname="R. Fielding" initials="R." role="editor"
                  surname="Fielding"/>

          <author fullname="M. Nottingham" initials="M." role="editor"
                  surname="Nottingham"/>

          <author fullname="J. Reschke" initials="J." role="editor"
                  surname="Reschke"/>

          <date month="June" year="2022"/>

          <abstract>
            <t>The Hypertext Transfer Protocol (HTTP) is a stateless
            application-level protocol for distributed, collaborative,
            hypertext information systems. This document specifies the
            HTTP/1.1 message syntax, message parsing, connection management,
            and related security concerns.</t>

            <t>This document obsoletes portions of RFC 7230.</t>
          </abstract>
        </front>

        <seriesInfo name="STD" value="99"/>

        <seriesInfo name="RFC" value="9112"/>

        <seriesInfo name="DOI" value="10.17487/RFC9112"/>
      </reference>

      <reference anchor="RFC8200">
        <front>
          <title>Internet Protocol, Version 6 (IPv6) Specification</title>

          <author fullname="S. Deering" initials="S." surname="Deering"/>

          <author fullname="R. Hinden" initials="R." surname="Hinden"/>

          <date month="July" year="2017"/>

          <abstract>
            <t>This document specifies version 6 of the Internet Protocol
            (IPv6). It obsoletes RFC 2460.</t>
          </abstract>
        </front>

        <seriesInfo name="STD" value="86"/>

        <seriesInfo name="RFC" value="8200"/>

        <seriesInfo name="DOI" value="10.17487/RFC8200"/>
      </reference>

      <reference anchor="RFC8754">
        <front>
          <title>IPv6 Segment Routing Header (SRH)</title>

          <author fullname="C. Filsfils" initials="C." role="editor"
                  surname="Filsfils"/>

          <author fullname="D. Dukes" initials="D." role="editor"
                  surname="Dukes"/>

          <author fullname="S. Previdi" initials="S." surname="Previdi"/>

          <author fullname="J. Leddy" initials="J." surname="Leddy"/>

          <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>

          <author fullname="D. Voyer" initials="D." surname="Voyer"/>

          <date month="March" year="2020"/>

          <abstract>
            <t>Segment Routing can be applied to the IPv6 data plane using a
            new type of Routing Extension Header called the Segment Routing
            Header (SRH). This document describes the SRH and how it is used
            by nodes that are Segment Routing (SR) capable.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="8754"/>

        <seriesInfo name="DOI" value="10.17487/RFC8754"/>
      </reference>

      <reference anchor="RFC7826">
        <front>
          <title>Real-Time Streaming Protocol Version 2.0</title>

          <author fullname="H. Schulzrinne" initials="H."
                  surname="Schulzrinne"/>

          <author fullname="A. Rao" initials="A." surname="Rao"/>

          <author fullname="R. Lanphier" initials="R." surname="Lanphier"/>

          <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>

          <author fullname="M. Stiemerling" initials="M." role="editor"
                  surname="Stiemerling"/>

          <date month="December" year="2016"/>

          <abstract>
            <t>This memorandum defines the Real-Time Streaming Protocol (RTSP)
            version 2.0, which obsoletes RTSP version 1.0 defined in RFC
            2326.</t>

            <t>RTSP is an application-layer protocol for the setup and control
            of the delivery of data with real-time properties. RTSP provides
            an extensible framework to enable controlled, on-demand delivery
            of real-time data, such as audio and video. Sources of data can
            include both live data feeds and stored clips. This protocol is
            intended to control multiple data delivery sessions; provide a
            means for choosing delivery channels such as UDP, multicast UDP,
            and TCP; and provide a means for choosing delivery mechanisms
            based upon RTP (RFC 3550).</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="7826"/>

        <seriesInfo name="DOI" value="10.17487/RFC7826"/>
      </reference>

      <reference anchor="RFC6241">
        <front>
          <title>Network Configuration Protocol (NETCONF)</title>

          <author fullname="R. Enns" initials="R." role="editor"
                  surname="Enns"/>

          <author fullname="M. Bjorklund" initials="M." role="editor"
                  surname="Bjorklund"/>

          <author fullname="J. Schoenwaelder" initials="J." role="editor"
                  surname="Schoenwaelder"/>

          <author fullname="A. Bierman" initials="A." role="editor"
                  surname="Bierman"/>

          <date month="June" year="2011"/>

          <abstract>
            <t>The Network Configuration Protocol (NETCONF) defined in this
            document provides mechanisms to install, manipulate, and delete
            the configuration of network devices. It uses an Extensible Markup
            Language (XML)-based data encoding for the configuration data as
            well as the protocol messages. The NETCONF protocol operations are
            realized as remote procedure calls (RPCs). This document obsoletes
            RFC 4741. [STANDARDS-TRACK]</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="6241"/>

        <seriesInfo name="DOI" value="10.17487/RFC6241"/>
      </reference>

      <reference anchor="RFC7011">
        <front>
          <title>Specification of the IP Flow Information Export (IPFIX)
          Protocol for the Exchange of Flow Information</title>

          <author fullname="B. Claise" initials="B." role="editor"
                  surname="Claise"/>

          <author fullname="B. Trammell" initials="B." role="editor"
                  surname="Trammell"/>

          <author fullname="P. Aitken" initials="P." surname="Aitken"/>

          <date month="September" year="2013"/>

          <abstract>
            <t>This document specifies the IP Flow Information Export (IPFIX)
            protocol, which serves as a means for transmitting Traffic Flow
            information over the network. In order to transmit Traffic Flow
            information from an Exporting Process to a Collecting Process, a
            common representation of flow data and a standard means of
            communicating them are required. This document describes how the
            IPFIX Data and Template Records are carried over a number of
            transport protocols from an IPFIX Exporting Process to an IPFIX
            Collecting Process. This document obsoletes RFC 5101.</t>
          </abstract>
        </front>

        <seriesInfo name="STD" value="77"/>

        <seriesInfo name="RFC" value="7011"/>

        <seriesInfo name="DOI" value="10.17487/RFC7011"/>
      </reference>

      <reference anchor="RFC6462">
        <front>
          <title>Report from the Internet Privacy Workshop</title>

          <author fullname="A. Cooper" initials="A." surname="Cooper"/>

          <date month="January" year="2012"/>

          <abstract>
            <t>On December 8-9, 2010, the IAB co-hosted an Internet privacy
            workshop with the World Wide Web Consortium (W3C), the Internet
            Society (ISOC), and MIT's Computer Science and Artificial
            Intelligence Laboratory (CSAIL). The workshop revealed some of the
            fundamental challenges in designing, deploying, and analyzing
            privacy-protective Internet protocols and systems. Although
            workshop participants and the community as a whole are still far
            from understanding how best to systematically address privacy
            within Internet standards development, workshop participants
            identified a number of potential next steps. For the IETF, these
            included the creation of a privacy directorate to review
            Internet-Drafts, further work on documenting privacy
            considerations for protocol developers, and a number of
            exploratory efforts concerning fingerprinting and anonymized
            routing. Potential action items for the W3C included investigating
            the formation of a privacy interest group and formulating guidance
            about fingerprinting, referrer headers, data minimization in APIs,
            usability, and general considerations for non-browser-based
            protocols.</t>

            <t>Note that this document is a report on the proceedings of the
            workshop. The views and positions documented in this report are
            those of the workshop participants and do not necessarily reflect
            the views of the IAB, W3C, ISOC, or MIT CSAIL. This document is
            not an Internet Standards Track specification; it is published for
            informational purposes.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="6462"/>

        <seriesInfo name="DOI" value="10.17487/RFC6462"/>
      </reference>

      <reference anchor="RFC6973">
        <front>
          <title>Privacy Considerations for Internet Protocols</title>

          <author fullname="A. Cooper" initials="A." surname="Cooper"/>

          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>

          <author fullname="B. Aboba" initials="B." surname="Aboba"/>

          <author fullname="J. Peterson" initials="J." surname="Peterson"/>

          <author fullname="J. Morris" initials="J." surname="Morris"/>

          <author fullname="M. Hansen" initials="M." surname="Hansen"/>

          <author fullname="R. Smith" initials="R." surname="Smith"/>

          <date month="July" year="2013"/>

          <abstract>
            <t>This document offers guidance for developing privacy
            considerations for inclusion in protocol specifications. It aims
            to make designers, implementers, and users of Internet protocols
            aware of privacy-related design choices. It suggests that whether
            any individual RFC warrants a specific privacy considerations
            section will depend on the document's content.</t>
          </abstract>
        </front>

        <seriesInfo name="RFC" value="6973"/>

        <seriesInfo name="DOI" value="10.17487/RFC6973"/>
      </reference>

      <reference anchor="I-D.yao-cats-awareness-architecture">
        <front>
          <title>Computing and Network Information Awareness (CNIA) system
          architecture for CATS</title>

          <author fullname="Huijuan Yao" initials="H." surname="Yao">
            <organization>China Mobile</organization>
          </author>

          <author fullname="xuewei wang" initials="X." surname="wang">
            <organization>Ruijie Networks</organization>
          </author>

          <author fullname="Zhiqiang Li" initials="Z." surname="Li">
            <organization>China Mobile</organization>
          </author>

          <author fullname="Daniel Huang" initials="D." surname="Huang">
            <organization>New H3C Technologies</organization>
          </author>

          <author fullname="Changwang Lin" initials="C." surname="Lin">
            <organization>New H3C Technologies</organization>
          </author>

          <date day="22" month="October" year="2023"/>

          <abstract>
            <t>This document describes a Computing and Network Information
            Awareness (CNIA)system architecture for Computing-Aware Traffic
            Steering (CATS). Based on the CATS framework, this document
            further describes a proposal detailed awareness architecture about
            the network information and computing information. It includes a
            new component and the corresponding interfaces and workflows in
            the CATS control plane.</t>
          </abstract>
        </front>

        <seriesInfo name="Internet-Draft"
                    value="draft-yao-cats-awareness-architecture-02"/>
      </reference>
    </references>

    <?line 648?>

    <section anchor="acknowledgements">
      <name>Acknowledgements</name>

      <t>The authors would like to thank Joel Halpern, John Scudder, Dino
      Farinacci, Adrian Farrel, Cullen Jennings, Linda Dunbar, Jeffrey Zhang,
      Peng Liu, Fang Gao, Aijun Wang, Cong Li, Xinxin Yi, Jari Arkko, Mingyu
      Wu, Haibo Wang, Xia Chen, Jianwei Mao, Guofeng Qian, Zhenbin Li, Xinyue
      Zhang, Weier Li, Quan Xiong, Ines Robles and Nagendra Kumar for their
      comments and suggestions.</t>

      <t>Some text about various deployment models was originally documented
      in <xref target="I-D.yao-cats-awareness-architecture"/>.</t>
    </section>

    <section anchor="contributors" numbered="false" removeInRFC="false"
             toc="include">
      <name>Contributors</name>

      <contact fullname="Guangping Huang" initials="G." surname="Huang">
        <organization>ZTE</organization>

        <address>
          <email>huang.guangping@zte.com.cn</email>
        </address>
      </contact>

      <contact fullname="Gyan Mishra" initials="G." surname="Mishra">
        <organization>Verizon Inc.</organization>

        <address>
          <email>hayabusagsm@gmail.com</email>
        </address>
      </contact>

      <contact fullname="Huijuan Yao" initials="H." surname="Yao">
        <organization>China Mobile</organization>

        <address>
          <email>yaohuijuan@chinamobile.com</email>
        </address>
      </contact>

      <contact fullname="Yizhou Li" initials="Y." surname="Li">
        <organization>Huawei Technologies</organization>

        <address>
          <email>liyizhou@huawei.com</email>
        </address>
      </contact>

      <contact fullname="Dirk Trossen" initials="D." surname="Trossen">
        <organization>Huawei Technologies</organization>

        <address>
          <email>dirk.trossen@huawei.com</email>
        </address>
      </contact>

      <contact fullname="Luigi Iannone" initials="L." surname="Iannone">
        <organization>Huawei Technologies</organization>

        <address>
          <email>luigi.iannone@huawei.com</email>
        </address>
      </contact>

      <contact fullname="Hang Shi" initials="H." surname="Shi">
        <organization>Huawei Technologies</organization>

        <address>
          <email>shihang9@huawei.com</email>
        </address>
      </contact>

      <contact fullname="Changwang Lin" initials="C." surname="Lin">
        <organization>New H3C Technologies</organization>

        <address>
          <email>linchangwang.04414@h3c.com</email>
        </address>
      </contact>

      <contact fullname="Xueshun Wang" initials="X." surname="Wang">
        <organization>CICT</organization>

        <address>
          <email>xswang@fiberhome.com</email>
        </address>
      </contact>

      <contact fullname="Xuewei Wang" initials="X." surname="Wang">
        <organization>Ruijie Networks</organization>

        <address>
          <email>wangxuewei1@ruijie.com.cn</email>
        </address>
      </contact>

      <contact fullname="Christian Jacquenet" initials="C."
               surname="Jacquenet">
        <organization>Orange</organization>

        <address>
          <email>christian.jacquenet@orange.com</email>
        </address>
      </contact>
    </section>
  </back>

  <!-- ##markdown-source:
H4sIAAAAAAAAA9V923Ybx7XgO76iF/1g0QJgi5LsE8YnY4aSInosmSMycZI5
c2Y1gCLQVqMb0xdScKis8xvn9+ZLZl/r0l0NgHImawYPttjdddu1a9/3rslk
MmqyJjenyVnyqkrX5q6s3ic3ZZWcl+tN22TFcnJ2l1Ymua7Sm5tsnlw1xlTw
OHl0fnZ9dTxKZ7PK3J4m+JfrYjRPG7Msq+1pkhU35Wi0KOcFvDtNFtBPM8lM
czOBb+rJjTaZPDkZ1e1sndV1VhbX2w18fPHy+tWoaNczU52OFtDl6WheFrUp
6rY+TZqqNSMY+ukIJpieJu9KmnCCf42wy2VVtpvTBMcZvTdbeLQ4HSUTt7a9
q8Sv/1ibKnn5YQMPTDE33EGep7OySpvs1iRvTYOjyedXprrN5iYpN022zn6B
T8piBNNewPvTpK0naT3PstEmO03+e1POx0ldVk1lbmr413aN//gfo1HaNquy
wsmOEoAgLPZ8mvyQwR8MxfOVgdnTg7JapoWMc5q8btM7kyXXZr4qyrxcZqaG
b8w6zXIAxDT/bkUfTOflGp5XJW69WWRNWcGf87ItGtyz81VWpN7gf50mL1o7
+F/LYrnB8elZOD61TN6Usyw3buBF+4u0+W6OH6zpvUwiNmpy0+Y5j/amXMH/
F8nvy3aeLtIMJ9oZ9McqLZY4XHdBrm/ATNo7O6U1dzudabffldQLT6ozhx/a
rE7eTGHfoTdTpXV/DtcmNzdlkc3TYNyrTZoV3rA59LTOlq3JYSDpbN1WWZ6X
3zW2C28SBP/vAf5V+p7mzzP6vlwVyUv3NJzMRbEwAO2FKRpv7J/N/1zg999t
01VZCvTdVP9YZA3A+aqBc1Yn5U1ytgaUh/WMaKbZrG0sSvIk/tACxDZ4jl7j
vxgZAD+uX7qtX+Gb6VK//O6XhkA8nRdBT9u0SN5k9apKtZc/weCANbCW+dTr
Lt2ms7ZOl/X6uyU+cqDinl632c8wWPKXtNSe4ji5TcsVf9vHSdfdX7JfVmVr
T9qeA5ZnW/o+OGWusxcZENfrqqyBgh3U3wIaTBtuMNAnoOYySy7SoigLc9gk
scU04xYDvb6G7UquVoetul5lK/j+N72+HOEqPMoFn96lRL2KHvl4a+6S10/P
B8FbzLX59Ktnz548+271dN4Z78/T5CdGRh7wz62pV22hDzvk6uL82vX/ocae
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
VttZlQE9gT3JjyUzxCZDBKU9bJ0yCq5SC/FZUYBOwjZtcoqosFRbBclL7DFh
3Qfmwak6abykArGCp8ycybhL6oOrfqCBhbaNM+zJueHaUhoQtdmIEiAyvqeI
eLk3TsJIK6p7sgK8XOIcseqvr9F0fGIv3l6JYvzkq6fPSE331Iqwupr1aHHe
FfyzQtrNxhsqoaEi38CgvAVvhCC+8FVpPgJWB49VFQ1D3z6yEoc2ZTEB1VLV
oMcMe8FqQpLFPq3bXXPmn+ytqH1EsFx6kYcNau1V2/0A1T8oA2vMVhcOc+Vp
1GaTokWHSybgyqaebZLl2nQBx6fJPCWW9RpagjVzlZb7isEpTCiZJi/60ok9
jizgjrX/oGc1E3nUN/Pz6u7SLZWt88MpieT4LegEx/sXecP/2la7EijscGzc
ZFWNPijRMsTJ6Xcmp3tAceiBzXKirrUtrpnWlFPO4rBnuPrV642ZwTjSlD3c
vpO0Y2RzM/LJZ1i1MTIJNChazOmULQxYLwYse5Oj/eeKSEoYOq1jRjWu4diJ
EVY0tLWwwmqK0fTsjv5pS0b2Kq31Kkf3xOiu7Z01lZ51QT/n7DU8YlQCEGcD
BwzrIFdYUtemMe7UGRHZgKb6VVfZOddfAIufWI89AYKANeFQXaE4Ask9Pawi
c8/wyYmqfn8950VWhwSgllAHb4PSTnUzLV+nWIDL9ALdMShDjKa+hbVvUE16
Zeuw/J6djGQ8egH8WlVQZQzBddXCULZQXvwINQ7kdVogtymP2ch7m+YTzhpo
N1QcAM8PnP9VmS8mMPRySQVH7EvWULtNANCsa1PtfCENsp0H1btL3lEOK3Yh
XpiViXQ2dtZt7CI8VrDjrsIhVRZsl+JnoW20X/fLkdqhXAy/MkCundRLeCSC
umjnsi/rDWK7oITurYtSWbCTxxX2Z++gZfVa3Hofj9eyI9b0pd4iyjoImYF1
f65NisYCLc/N6KYKTQ8PgdDmmMsJ4pa1mrJq2XIeubSXKfjBS2ip3aLEJ4sN
TpZIaHlWvNfa5ceei9mbfe3zc5/xq2OL9jfRNPktIX5bqz8zIMkxU4/XY8Qp
OMg/+yEvOyxPXIaDKvtoEBOeYVuNy4ItqMRmHZdXcEzzlIYdJONjH0w9Gh9h
fHywhhURwAZhpJhatO7XdrcSs4qymsLD6hN0T8cBA838LKuJl2X1trMHJGqi
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

-->
</rfc>
