<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.4 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ldbc-cats-framework-04" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="CATS Framework">A Framework for Computing-Aware Traffic Steering (CATS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ldbc-cats-framework-04"/>
    <author initials="C." surname="Li" fullname="Cheng Li" role="editor">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Du" fullname="Zongpeng 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 initials="J." surname="Drake" fullname="John E Drake">
      <organization>Juniper Networks, Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>jdrake@juniper.net</email>
      </address>
    </author>
    <author initials="G." surname="Huang" fullname="Guangping Huang">
      <organization>ZTE</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>huang.guangping@zte.com.cn</email>
      </address>
    </author>
    <author initials="G." surname="Mishra" fullname="Gyan Mishra">
      <organization>Verizon Inc.</organization>
      <address>
        <postal>
          <country>United States of America</country>
        </postal>
        <email>hayabusagsm@gmail.com</email>
      </address>
    </author>
    <date year="2023" month="December" day="08"/>
    <area>Routing area</area>
    <workgroup>cats</workgroup>
    <keyword>User Experience</keyword>
    <keyword>Collaborative Networking</keyword>
    <keyword>Service optimization</keyword>
    <abstract>
      <?line 114?>

<t>This document describes a framework for Computing-Aware Traffic Steering (CATS). Particularly, the document identifies a set of CATS components, describes their interactions, and exemplifies the workflow of the control and data planes.</t>
    </abstract>
  </front>
  <middle>
    <?line 118?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Computing service architectures have been expanding from single service site to multiple, sometimes collaborative, service sites to address various issues (e.g., long response times or suboptimal service and network resource usage).</t>
      <t>The underlying networking infrastructures that include computing resources usually provide relatively static service dispatching (that is, the selection of the sevice instances that will be invoked 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).</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 service like 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 may be multiple service instances that are providing one given service. Each of these service instances can be accessed via a service contact instance running on different service sites. 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. A single service site may host one or multiple service contact instances.</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.
That selection may not necessarily reveal the actual service instance that will be invoked, e.g., in hierarchical or recursive contexts.
The metrics are aggerated; that is, they reflect the collective resources involved in a service instance.</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>Also, this document describes a workflow of the main CATS procedures that 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>Computing-Aware Traffic Steering (CATS):</dt>
        <dd>
          <t>A traffic engineering approach <xref target="I-D.ietf-teas-rfc3272bis"/> that takes into account the dynamic nature of computing resources and network state to optimize service-specific traffic forwarding towards a given service contact instance. Various relevant metrics may be used to enforce such computing-aware traffic steering policies.</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>CATS Instance Selector ID (CIS-ID):</dt>
        <dd>
          <t>An identifier of a specific service contact instance. See <xref target="cats-ids"/>.</t>
        </dd>
        <dt>Service:</dt>
        <dd>
          <t>An offering that is made available by a provider by orchestrating a set of resources (networking, compute, storage, etc.).</t>
        </dd>
        <dt/>
        <dd>
          <t>Which and how these resources are solicited is part of the service logic which is internal to the provider. For example, these resources may be:
</t>
          <ul spacing="normal">
            <li>
              <t>Exposed by one or multiple processes (a.k.a. Service Functions (SFs) <xref target="RFC7665"/>).</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 provider by orchestrating a set of computing resources (without networking resources).</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 provider. Instances that adhere to the same service logic provide the same service.</t>
        </dd>
        <dt/>
        <dd>
          <t>An instance is typically running in a service site. Clients' requests are serviced by one 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. A service request is processed according to the service logic (e.g., handle locally or solicit backend resources). Steering beyond the service contact instance is hidden to both clients and CATS components.</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>The same service contact instance may dispatch service requests to one or more service instances (e.g., an instance that behaves as a service load-balancer).</t>
        </dd>
        <dt>Computing-aware forwarding (or steering, computing):</dt>
        <dd>
          <t>A forwarding (or steeting, computing) scheme which takes as input a set of metrics that reflect the capabilities and state of computing resources.</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 makes forwarding decisions based on CATS information to steer traffic specific to a  service request towards a corresponding yet selected service contact instance. The selection of a service contact instance relies upon a multi-metric path computation.</t>
        </dd>
        <dt/>
        <dd>
          <t>A CATS-Forwarder may behave as 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 host 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 computes and selects paths towards service locations and instances and which accommodates the requirements of service requests. Such a path computation 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 particular 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>Framework and Components</name>
      <section anchor="assumptions">
        <name>Assumptions</name>
        <t>CATS assumes that there are multiple service instances running on different service sites, and 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 representing a service, which the clients use to access it. Such an ID identifies all the instances of a given service, regardless of their location.</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 Instance Selector ID (CIS-ID):</dt>
          <dd>
            <t>An identifier of a specific service contact instance.</t>
          </dd>
        </dl>
      </section>
      <section anchor="sec-cat-arch">
        <name>CATS Components</name>
        <t>In CATS, the network 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 instances and network. The main CATS functional elements and their interactions are shown in <xref target="fig-cats-fw"/>.</t>
        <figure anchor="fig-cats-fw">
          <name>CATS Functional Components</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="480" viewBox="0 0 480 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <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 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,528" 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 208,80 L 208,128" 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 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 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 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 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="104" y="548">service</text>
                  <text x="156" y="548">site</text>
                  <text x="184" y="548">1</text>
                  <text x="328" y="548">service</text>
                  <text x="380" y="548">site</text>
                  <text x="408" y="548">2</text>
                </g>
              </svg>
            </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 site 1              service site 2
]]></artwork>
          </artset>
        </figure>
        <section anchor="sec-service-sites">
          <name>Service Sites and Services Instances</name>
          <t>Service sites are the premises that host a set of computing resources. As mentioned in <xref target="cats-ids"/>, a compute service (e.g., for face recognition purposes or a game server) is uniquely identified by a CATS Service IDentifier (CS-ID). The CS-ID does not need to be globally unique, though.</t>
          <t>Service instances can be instantiated and accessed through different service sites so that a single service can be represented and accessed via several contact instances that run in different regions of a network.</t>
          <t><xref target="fig-cats-fw"/> 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. The C-SMAs are located adjacent to the service contact instances and may be hosted by the Egress CATS-Forwarders (<xref target="sec-ocr"/>) or located next to them.</t>
          <t><xref target="fig-cats-fw"/> 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>The 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><xref target="fig-cats-fw"/> 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 computation logic. Such an information also includes CS-ID and possibly CIS-IDs.</t>
          <t>There might be one or more C-PSes used to compute CATS paths in a CATS infrastructure.</t>
          <t>A CS-PS can be integrated into CATS-Forwarders (e.g., "C-PS#1" in <xref target="fig-cats-fw"/>) or may be deployed as a standalone component (e.g., "C-PS#2" in <xref target="fig-cats-fw"/>).</t>
        </section>
        <section anchor="sec-ctc">
          <name>CATS Traffic Classifier (C-TC)</name>
          <t>CATS Traffic Classifier (C-TC) is a functional component that is responsible for associating incoming packets from clients with existing 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.</t>
          <t>CATS classifiers are typically hosted in CATS-Forwarders.</t>
        </section>
        <section anchor="sec-ocr">
          <name>Overlay CATS-Forwarders</name>
          <t>The Egress CATS-Forwarders are the endpoints that behave as an overlay 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 (that is, multi-homing is of course a design option). If a C-PS has selected a specific service contact instance and the C-TC has marked the traffic with the CIS-ID, the Egress CATS-Forwarder then forwards traffic to the relevant service contact instance. 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. Absent 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 privileged option scalability-wise, but relies on Egress CATS-Forwarders that connect to various service  contact instances to select the proper service  contact instance.</t>
        </section>
        <section anchor="underlay-infrastructure">
          <name>Underlay Infrastructure</name>
          <t>The "underlay infrastructure" in <xref target="fig-cats-fw"/> indicates an IP/MPLS network that is not necessarily CATS-aware. The CATS paths that are computed by a P-CS 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 anchor="deployment-considerations">
        <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 savoir-faire of the (CATS) service provider.</t>
        <t>Centralized designs where the computing related metrics from the C-SMAs are collected by a (logically) centralized path computation logic (e.g., a Path Computation Element (PCE) <xref target="RFC4655"/>) that also collects network metrics may be adopted. In the latter case, the CATS computation logic may process incoming service requests to compute and select paths and, therefore, service contact instances. The outcomes of such a computation process may then be communicated to CATS traffic classifiers (C-TCs).</t>
      </section>
    </section>
    <section anchor="cats-framework-workflow">
      <name>CATS Framework Workflow</name>
      <t>The following subsections provide an overview of how the CATS workflow operates assuming a distributed CATS design.</t>
      <section anchor="provisioning-of-cats-components">
        <name>Provisioning of CATS Components</name>
        <t>TBC: --detail required provisioning at CAST elements (booptsrapping, credentials of peer CAST nodes, services, optimization metrics per service, etc.)--</t>
      </section>
      <section anchor="service-announcement">
        <name>Service Announcement</name>
        <t>A service is associated 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, such as DNS <xref target="RFC1034"/>.</t>
      </section>
      <section anchor="metrics-distribution">
        <name>Metrics Distribution</name>
        <t>As described in <xref target="sec-cat-arch"/>, a C-SMA collects both service-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. The C-SMA then advertises the CS-IDs along with the metrics to be received by all C-PSes in the network. The service 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, their location, 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, or policy-based updates.</t>
        <t>Additionally, the C-NMA collects network-related capabilities and metrics. These may be collected and distributed by existing 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.</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 distributed. There is a client attached to the netowrk via "CATS-Forwarder 1". There are three instances of the service with CS-ID "1": two are located at "Service Site 2" attached via "CATS-Forwarder 2" and have CIS-IDs "1" and "2"; the third service contact instance is located at "Service Site 3" attached via "CATS-Forwarder 3" and with CIS-ID "3". There is also a second service with CS-ID "2" with only one service contact instance located at "Service Site 2".</t>
        <t>In <xref target="fig-cats-example-overlay"/>, the C-SMA collocated with "CATS-Forwarder 2" distributes the service metrics for both service contact instances (i.e., (CS-ID 1, CIS-ID 1) and (CS-ID 1, CIS-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 2" advertises the service metrics for the two services hosted by "Service Site 2".</t>
        <t>The service 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 compute and 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 Distribution</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="576" width="576" viewBox="0 0 576 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <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,480" fill="none" stroke="black"/>
                <path d="M 432,136 L 432,192" fill="none" stroke="black"/>
                <path d="M 448,96 L 448,128" fill="none" stroke="black"/>
                <path d="M 448,416 L 448,448" fill="none" stroke="black"/>
                <path d="M 456,176 L 456,216" fill="none" stroke="black"/>
                <path d="M 456,352 L 456,400" fill="none" stroke="black"/>
                <path d="M 456,464 L 456,496" fill="none" stroke="black"/>
                <path d="M 520,96 L 520,136" fill="none" stroke="black"/>
                <path d="M 520,464 L 520,496" fill="none" stroke="black"/>
                <path d="M 528,176 L 528,208" fill="none" stroke="black"/>
                <path d="M 528,352 L 528,400" fill="none" stroke="black"/>
                <path d="M 144,80 L 320,80" fill="none" stroke="black"/>
                <path d="M 448,96 L 520,96" fill="none" stroke="black"/>
                <path d="M 424,128 L 440,128" fill="none" stroke="black"/>
                <path d="M 256,144 L 392,144" fill="none" stroke="black"/>
                <path d="M 464,144 L 528,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 528,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 448,224 L 512,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 528,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 464,400 L 528,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 464,464 L 520,464" fill="none" stroke="black"/>
                <path d="M 424,480 L 448,480" fill="none" stroke="black"/>
                <path d="M 456,496 L 520,496" fill="none" stroke="black"/>
                <path d="M 144,512 L 392,512" fill="none" stroke="black"/>
                <path d="M 464,144 C 455.16936,144 448,136.83064 448,128" fill="none" stroke="black"/>
                <path d="M 512,224 C 520.83064,224 528,216.83064 528,208" fill="none" stroke="black"/>
                <path d="M 464,400 C 455.16936,400 448,407.16936 448,416" fill="none" stroke="black"/>
                <path d="M 440,416 C 448.83064,416 456,408.83064 456,400" fill="none" stroke="black"/>
                <path d="M 440,448 C 448.83064,448 456,455.16936 456,464" fill="none" stroke="black"/>
                <path d="M 464,464 C 455.16936,464 448,456.83064 448,448" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="168,272 156,266.4 156,277.6" fill="black" transform="rotate(180,160,272)"/>
                <polygon class="arrowhead" points="152,512 140,506.4 140,517.6" fill="black" transform="rotate(180,144,512)"/>
                <polygon class="arrowhead" points="152,80 140,74.4 140,85.6" fill="black" 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="244" y="36">instance</text>
                  <text x="308" y="36">CIS-ID</text>
                  <text x="344" y="36">1</text>
                  <text x="392" y="36">&lt;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="244" y="52">instance</text>
                  <text x="308" y="52">CIS-ID</text>
                  <text x="344" y="52">2</text>
                  <text x="392" y="52">&lt;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="472" y="116">CS-ID</text>
                  <text x="504" y="116">1</text>
                  <text x="136" y="132">:</text>
                  <text x="328" y="132">:</text>
                  <text x="476" y="132">CIS-ID</text>
                  <text x="512" 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="484" y="212">CIS-ID</text>
                  <text x="520" 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="484" y="388">CIS-ID</text>
                  <text x="520" 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="416" y="436">C-SMA</text>
                  <text x="488" y="436">Service</text>
                  <text x="540" y="436">Site</text>
                  <text x="568" 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="480" y="484">CS-ID</text>
                  <text x="512" y="484">2</text>
                  <text x="136" y="500">:</text>
                  <text x="400" y="500">:</text>
                  <text x="136" y="516">:</text>
                  <text x="400" y="516">:</text>
                  <text x="104" y="532">Service</text>
                  <text x="160" y="532">CS-ID</text>
                  <text x="196" y="532">1,</text>
                  <text x="244" y="532">instance</text>
                  <text x="308" y="532">CIS-ID</text>
                  <text x="344" y="532">3</text>
                  <text x="392" y="532">&lt;metrics&gt;</text>
                  <text x="104" y="548">Service</text>
                  <text x="160" y="548">CS-ID</text>
                  <text x="196" y="548">2,</text>
                  <text x="248" y="548">&lt;metrics&gt;</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![CDATA[
          Service CS-ID 1, instance CIS-ID 1 <metrics>
          Service CS-ID 1, instance CIS-ID 2 <metrics>

                 :<----------------------:
                 :                       :              +--------+
                 :                       :              |CS-ID 1 |
                 :                       :           +--|CIS-ID 1|
                 :              +----------------+    |  +--------+
                 :              |    C-SMA       |----|   Service Site 2
                 :              +----------------+    |  +--------+
                 :              |CATS-Forwarder 2|    +--|CS-ID 1 |
                 :              +----------------+       |CIS-ID 2|
 +--------+      :                        |             +--------+
 | Client |      :  Network +----------------------+
 +--------+      :  metrics | +-------+            |
      |          : :<---------| C-NMA |            |
      |          : :        | +-------+            |
 +---------------------+    |                      |
 |CATS-Forwarder 1|C-PS|----|                      |
 +---------------------+    |       Underlay       |
                 :          |     Infrastructure   |     +--------+
                 :          |                      |     |CS-ID 1 |
                 :          +----------------------+ +---|CIS-ID 3|
                 :                    |              |   +--------+
                 :          +----------------+  +-------+
                 :          |CATS-Forwarder 3|--| C-SMA | Service Site 3
                 :          +----------------+  +-------+
                 :                                :  |   +-------+
                 :                                :  +---|CS-ID 2|
                 :                                :      +-------+
                 :<-------------------------------:
          Service CS-ID 1, instance CIS-ID 3 <metrics>
          Service CS-ID 2, <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 CIS-ID information will not be included in the advertisement. Instead, a per-site CIS-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>
      </section>
      <section anchor="service-access-processing">
        <name>Service Access Processing</name>
        <t>A C-PS computes paths that lead to Egress CATS-Forwarders according to the service and network metrics that have been advertised. A C-PS may be collocated with an Ingress CATS-Forwarder (as shown in <xref target="fig-cats-example-overlay"/>) or logically centralized.</t>
        <t>This document does not specify any algorithm for path computation and selection purposes to be supported by C-PSes. These algorithms are out of the scope of this document. However, it is expected that a service request or local policy may feed the C-PS computation logic with Objective Functions that provide some information about the path characteristics (e.g., in terms of maximum latency) and the selected service contact instance.</t>
        <t>In the example shown in <xref target="fig-cats-example-overlay"/>, when the client sends a service request via "CATS-Forwarder 1", the forwarder solicits
the C-PS to select a service contact instance hosted by a service site that can be accessed through a particular Egress CATS-Forwarder. The C-PS also determines a path to that Egress CATS-Forwarder. This information is provided to the Ingress CATS-Forwarder ("CATS-Forwarder 1") so that it can forward packets to their proper destination, as computed by the C-PS.</t>
        <t>Access to a service consists of one or more service-specific packets (e.g., Session Initiation Protocol (SIP) <xref target="RFC3261"/>, HTTP <xref target="RFC9112"/>, Real-Time Streaming Protocol (RTSP) <xref target="RFC7826"/>) sent by the client via an Ingress CATS-Forwarder to which the client is connected to. The Ingress CATS-Forwarder classifies incoming packets received from clients by soliciting 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. Then, when these packets reach the Egress CATS-Forwarder, the outer header of the possible overlay encapsulation is removed and inner packets are 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>Instance affinity means that packets that belong to a flow associated with a service should always be sent to the same Egress CATS-Forwarder which will forward them 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.</t>
        <t>The affinity 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 and destination addresses, 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, a certain level of flexibility for identifying flows should be supported. Or, from a more general perspective, there should be a flexible 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 the purpose of 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="security-considerations">
      <name>Security Considerations</name>
      <t>The computing resource information changes over time very frequently, especially with the creation and termination of service contact instances. When such an 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-SMA and C-NMA agents may be sensitive. Such information could indeed disclose intel 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, up to and 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>Means to prevent that on-path nodes in the underlay infrastructure to fingerprint and track clients (e.g., determine which client accesses which service) must be supported by CATS solutions. 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>Since the service will, in some cases, need to know about applications, clients, and even user identity, it is likely that the C-PS computed path information will need to be encrypted if the client/service communication is not already encrypted.</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 requests 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="Dirk Trossen" initials="D." surname="Trossen">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
            <organization>Orange</organization>
          </author>
          <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
            <organization>Telefonica</organization>
          </author>
          <author fullname="Hang Shi" initials="H." surname="Shi">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Yizhou Li" initials="Y." surname="Li">
            <organization>Huawei Technologies</organization>
          </author>
          <author fullname="Shuai Zhang" initials="S." surname="Zhang">
            <organization>China Unicom</organization>
          </author>
          <date day="23" month="October" year="2023"/>
          <abstract>
            <t>   Distributed computing is a tool that service providers can use to
   achieve better service response time and optimized energy
   consumption.  In such a distributed computing environment, providing
   services by utilizing computing resources hosted in various computing
   facilities aids support of services such as computationally intensive
   and delay sensitive services.  Ideally, compute services are balanced
   across servers and network resources to enable higher throughput and
   lower response times.  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 best meet the customer's expectations and deliver the requested
   service.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-cats-usecases-requirements-01"/>
      </reference>
      <reference anchor="I-D.ietf-teas-rfc3272bis">
        <front>
          <title>Overview and Principles of Internet Traffic Engineering</title>
          <author fullname="Adrian Farrel" initials="A." surname="Farrel">
            <organization>Old Dog Consulting</organization>
          </author>
          <date day="12" month="August" year="2023"/>
          <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.

   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="Internet-Draft" value="draft-ietf-teas-rfc3272bis-27"/>
      </reference>
      <reference anchor="RFC7665">
        <front>
          <title>Service Function Chaining (SFC) Architecture</title>
          <author fullname="J. Halpern" initials="J." role="editor" surname="Halpern"/>
          <author fullname="C. Pignataro" initials="C." role="editor" surname="Pignataro"/>
          <date month="October" year="2015"/>
          <abstract>
            <t>This document describes an architecture for the specification, creation, and ongoing maintenance of Service Function Chains (SFCs) in a network. It includes architectural concepts, principles, and components used in the construction of composite services through deployment of SFCs, with a focus on those to be standardized in the IETF. This document does not propose solutions, protocols, or extensions to existing protocols.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7665"/>
        <seriesInfo name="DOI" value="10.17487/RFC7665"/>
      </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="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="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="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="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>
    </references>
    <?line 440?>

<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, and Nagendra Kumar for their comments and suggestions.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="H." surname="Yao" fullname="Huijuan Yao">
        <organization>China Mobile</organization>
        <address>
          <email>yaohuijuan@chinamobile.com</email>
        </address>
      </contact>
      <contact initials="Y." surname="Li" fullname="Yizhou Li">
        <organization>Huawei Technologies</organization>
        <address>
          <email>liyizhou@huawei.com</email>
        </address>
      </contact>
      <contact initials="D." surname="Trossen" fullname="Dirk Trossen">
        <organization>Huawei Technologies</organization>
        <address>
          <email>dirk.trossen@huawei.com</email>
        </address>
      </contact>
      <contact initials="L." surname="Iannone" fullname="Luigi Iannone">
        <organization>Huawei Technologies</organization>
        <address>
          <email>luigi.iannone@huawei.com</email>
        </address>
      </contact>
      <contact initials="H." surname="Shi" fullname="Hang Shi">
        <organization>Huawei Technologies</organization>
        <address>
          <email>shihang9@huawei.com</email>
        </address>
      </contact>
      <contact initials="C." surname="Lin" fullname="Changwang Lin">
        <organization>New H3C Technologies</organization>
        <address>
          <email>linchangwang.04414@h3c.com</email>
        </address>
      </contact>
      <contact initials="X." surname="Wang" fullname="Xueshun Wang">
        <organization>CICT</organization>
        <address>
          <email>xswang@fiberhome.com</email>
        </address>
      </contact>
      <contact initials="X." surname="Wang" fullname="Xuewei Wang">
        <organization>Ruijie Networks</organization>
        <address>
          <email>wangxuewei1@ruijie.com.cn</email>
        </address>
      </contact>
      <contact initials="C." surname="Jacquenet" fullname="Christian Jacquenet">
        <organization>Orange</organization>
        <address>
          <email>christian.jacquenet@orange.com</email>
        </address>
      </contact>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
