<?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.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ldbc-cats-framework-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.5 -->
  <front>
    <title abbrev="CATS Framework">A Framework for Computing-Aware Traffic Steering (CATS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ldbc-cats-framework-03"/>
    <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="August" day="04"/>
    <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 eservice 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>Exposed by one or multiple processes (a.k.a. Service Functions (SFs) <xref target="RFC7665"/>).</li>
            <li>Provided by virtual instances, physical, or a combination thereof.</li>
            <li>Hosted within the same or distinct nodes.</li>
            <li>Hosted within the same or multiple service sites.</li>
            <li>Chained to provide a service using a variety of means.</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 steeting, 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>The request for a specific service. Such a request is steered to a service contact instance.</t>
        </dd>
        <dt>CATS-Forwarder:</dt>
        <dd>
          <t>A network device 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 CATS-based path computation. 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 computation logic that calculates 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>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).</t>
          <t>Service instances can be instantiated and accessed through different service sites so that a single service can be represented and accessed by 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 along the same path that leads to the 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 forwatded 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 overlay CATS-Forwarders (<xref target="sec-ocr"/>), and will not affect the underlay nodes.</t>
          <t>A CATS implementation may rely upon a control or management plane to distribute service metrics and network metrics - this document does not define a specific solution.</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 the aggregated metrics come from.</t>
        <t>A CIS-ID is not required if the service site can support consistently service contact instance selection.</t>
      </section>
      <section anchor="service-request-processing">
        <name>Service Request 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 to "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>A service transaction consists of one or more service packets sent by the client to 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. 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>
      <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="24" month="July" 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-00"/>
      </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="4" 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-26"/>
      </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="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="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 441?>

<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,
and Xinyue Zhang 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:
H4sIAAAAAAAAA7092XYbyXXv+Io61MOQEYCxpPH4mHYcMZRkcY41owxpj+2c
PBS6C0CNGt1IVzcpjCmf/EZ+L1+Su9XSG8hRFj5IZKOr6tatuy+FxWIxa2xT
mHN1od7UemfuqvqDWle1uqx2+7ax5WZxcadro25qvV7bTF03xtTwWJ1eXtxc
n830alWb23OFf8UpZpluzKaqD+fKlutqNsurrITPzlUO8zSLIl9lC3jHLdZ+
yOIXL2auXe2sc7Yqbw57ePnq9c2bWdnuVqY+n+Uw5fksq0pnSte6c9XUrZnB
0i9mAKA+V99XBLDCv2Y45aau2v25wnVmH8wBHuXnM7VQf3SmVq8/7mEjpswM
PrqsikKvqlo39taob02D42Ey/Oza1Lc2M6raN3Znf4JXqnIGgOTw+blq3UK7
zNrZ3p6rf22qbK5cVTe1WTv47bDDX/5tNtNts61qXH6mACcA/uVS/cHCH4yX
y60B0OlBVW90Keucq7etvjNW3ZhsW1ZFtbHGwTtmp20BW1sWL7f0wjKrdvC8
rvAwTW6bqoY/s6otGzyFy60tdbL4X5fqVRsW/2tVbva4Pj3rrk8j1btqZQsT
F87bn2TMywxf2NHnAsTYqkqt26Lg5d5VW/g/V/9ctZnOta3p8+6y39W63Bj6
oLenZH6gNzo/FeDa8dTLlZ/6ZUUTMWQESITjD6116t0SDh+mM7VGxPbAuDGF
WVelzfQsXfh6r205i8sWMNPOblpTwEIy2a6tbVFUL5swRQSCzuAbOINafzDh
GL6ptqV6HR52IfmmLS1QrKdNIK6rMlvGE/kxx2Evf+TXlqVp0pP4Y2kbwPh1
A0zkVLVWFzug/iwlid8vkdaQ5AWc3+Nfe+Qo/7wL0V9vXsflt/jKcuOHvPyp
IZwvs/IYGcKa76zb1jouetBlfNZd8E8AMpBdb+NbfdCr1umN273c4KM+FU7u
HZkYXrGrtgmsyVC8be2PsBX1F10xFFN8cNDVlt8d8kGc7i/2p23VBu5+gKkL
e6D3O5wdJ3tlQUTf1JUDOfio+XIYsGx4wMScwAkbq650WValeRyQOGJpecTE
rG+BGNT19nG7dlu7hfd/PZgrCssykZbw6p0miVkO6ORbc6fevricRG+Z+eHL
X3z11bOvXm5fZL31/rxUP6S88OfWuG1b+oc9EXl1eRPn/+hw5pdrC1prW+3M
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
UHGAAAA=

-->

</rfc>
