<?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.35 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ldbc-cats-framework-02" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.3 -->
  <front>
    <title abbrev="CATS Framework">A Framework for Computing-Aware Traffic Steering (CATS)</title>
    <seriesInfo name="Internet-Draft" value="draft-ldbc-cats-framework-02"/>
    <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="June" day="22"/>
    <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>Edge computing architectures have been expanding from single edge nodes to multiple, sometimes collaborative, edge nodes to address various issues (e.g., long response times or suboptimal service and network resource usage).</t>
      <t>The underlying networking infrastructures that include edge 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 edge resource from a routing perspective without considering the actual network state (e.g., traffic congestion conditions).</t>
      <t>As described in <xref target="I-D.yao-cats-ps-usecases"/>, 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 edge computing 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 edge nodes. A single edge node may have limited computing resources available at a given time, whereas the various edge nodes may experience different resource availability issues over time. A single edge node may host one or multiple service contact instances.</t>
      <t>The CATS framework is an overlay framework for the selection of the suitable service contact instance(s) from a set of instance candidates. The exact characterization of 'suitable' is determined by a combination of networking and computing metrics. To that aim, the CATS framework assumes that edge nodes collaborate with each other under a single administrative domain to achieve a global objective of dispatching service demands (and thereby optimizing their processing by the most relevant edge computing resources) over the various and available edge computing resources, by taking into account both service contact instance status and network state (e.g., reachability considerations, path cost, and traffic congestion conditions).</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 provided by a service provider and which is delivered using one or more service functions <xref target="RFC7665"/>.</t>
        </dd>
        <dt/>
        <dd>
          <t>Whether these service functions reside in the same node or are distributed is implementation-specific. 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>Service contact instance:</dt>
        <dd>
          <t>A client-facing service function that is responsible for receiving and processing requests destined to a given service instance. One service can be accessed through multiple service contact instances running at the same or different locations.</t>
        </dd>
        <dt>Service demand:</dt>
        <dd>
          <t>The demand for a service identified by a CATS Service ID (CS-ID).</t>
        </dd>
        <dt>Service request:</dt>
        <dd>
          <t>The request for a specific service contact instance.</t>
        </dd>
        <dt>CATS-Router:</dt>
        <dd>
          <t>A network device (usually located at the edge of the network) that makes forwarding decisions based on CATS information to steer traffic specific to a  service demand 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 router may behave as Ingress or Egress CATS-Router.</t>
        </dd>
        <dt>Ingress CATS-Router:</dt>
        <dd>
          <t>A node that serves as a service access point for CATS clients. It steers service-specific traffic along a CATS-computed path that leads to an Egress CATS-Router that connects to the most suitable edge site that host the service contact instance selected to satisfy the initial service demand.</t>
        </dd>
        <dt>Egress CATS-Router:</dt>
        <dd>
          <t>A node 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 demands. 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>An agent 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 demand. It is also responsible for forwarding such packets along the 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 contact instances running on different edge nodes, and which provide a given service that is represented by the same service identifier (see <xref target="cats-ids"/>).</t>
      </section>
      <section anchor="cats-ids">
        <name>CATS Identifiers</name>
        <t>CATS introduces 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, rgardless of their location. The CS-ID is independent of which service contact instance serves the service demand. Service demands are spread over the service contact instances that can accommodate them, considering the location of the initiator of the service demand and the availability (in terms of resource/traffic load, for example) of the service contact 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 single 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 demand that has been received from a client according to both service contact instances and network status information. 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="464" viewBox="0 0 464 576" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <path d="M 8,48 L 8,80" fill="none" stroke="black"/>
                <path d="M 40,80 L 40,128" fill="none" stroke="black"/>
                <path d="M 40,320 L 40,368" 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,112 L 72,208" fill="none" stroke="black"/>
                <path d="M 72,464 L 72,512" fill="none" stroke="black"/>
                <path d="M 104,368 L 104,440" fill="none" stroke="black"/>
                <path d="M 120,152 L 120,176" fill="none" stroke="black"/>
                <path d="M 152,320 L 152,368" fill="none" stroke="black"/>
                <path d="M 176,48 L 176,80" fill="none" stroke="black"/>
                <path d="M 176,336 L 176,368" fill="none" stroke="black"/>
                <path d="M 176,464 L 176,512" fill="none" stroke="black"/>
                <path d="M 184,112 L 184,208" fill="none" stroke="black"/>
                <path d="M 184,376 L 184,440" fill="none" stroke="black"/>
                <path d="M 192,448 L 192,496" 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 240,336 L 240,368" fill="none" stroke="black"/>
                <path d="M 248,32 L 248,64" 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,512" fill="none" stroke="black"/>
                <path d="M 320,112 L 320,208" fill="none" stroke="black"/>
                <path d="M 336,48 L 336,80" fill="none" stroke="black"/>
                <path d="M 360,400 L 360,440" fill="none" stroke="black"/>
                <path d="M 368,80 L 368,112" fill="none" stroke="black"/>
                <path d="M 368,240 L 368,272" fill="none" stroke="black"/>
                <path d="M 392,48 L 392,80" fill="none" stroke="black"/>
                <path d="M 408,32 L 408,64" fill="none" stroke="black"/>
                <path d="M 408,320 L 408,400" fill="none" stroke="black"/>
                <path d="M 408,464 L 408,512" fill="none" stroke="black"/>
                <path d="M 424,448 L 424,496" fill="none" stroke="black"/>
                <path d="M 432,112 L 432,208" fill="none" stroke="black"/>
                <path d="M 432,240 L 432,272" 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 352,32 L 408,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 336,48 L 392,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 336,80 L 392,80" fill="none" stroke="black"/>
                <path d="M 72,112 L 184,112" fill="none" stroke="black"/>
                <path d="M 320,112 L 432,112" fill="none" stroke="black"/>
                <path d="M 40,128 L 72,128" fill="none" stroke="black"/>
                <path d="M 184,128 L 208,128" fill="none" stroke="black"/>
                <path d="M 264,128 L 320,128" fill="none" stroke="black"/>
                <path d="M 80,144 L 176,144" fill="none" stroke="black"/>
                <path d="M 328,144 L 424,144" fill="none" stroke="black"/>
                <path d="M 232,160 L 288,160" fill="none" stroke="black"/>
                <path d="M 120,176 L 176,176" fill="none" stroke="black"/>
                <path d="M 72,208 L 184,208" fill="none" stroke="black"/>
                <path d="M 232,208 L 288,208" fill="none" stroke="black"/>
                <path d="M 320,208 L 432,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 40,320 L 152,320" fill="none" stroke="black"/>
                <path d="M 296,320 L 408,320" fill="none" stroke="black"/>
                <path d="M 176,336 L 240,336" fill="none" stroke="black"/>
                <path d="M 40,368 L 152,368" fill="none" stroke="black"/>
                <path d="M 176,368 L 240,368" fill="none" stroke="black"/>
                <path d="M 296,368 L 408,368" fill="none" stroke="black"/>
                <path d="M 296,400 L 408,400" fill="none" stroke="black"/>
                <path d="M 88,448 L 192,448" fill="none" stroke="black"/>
                <path d="M 320,448 L 424,448" fill="none" stroke="black"/>
                <path d="M 72,464 L 176,464" fill="none" stroke="black"/>
                <path d="M 304,464 L 408,464" fill="none" stroke="black"/>
                <path d="M 72,512 L 176,512" fill="none" stroke="black"/>
                <path d="M 304,512 L 408,512" 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"/>
                <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="364" y="68">client</text>
                  <text x="400" y="68">-</text>
                  <text x="132" y="132">C-TC#1</text>
                  <text x="380" y="132">C-TC#2</text>
                  <text x="148" y="164">C-PS#1</text>
                  <text x="368" y="164">CATS-Router</text>
                  <text x="424" y="164">4</text>
                  <text x="36" y="180">........</text>
                  <text x="208" y="180">.....</text>
                  <text x="260" y="180">C-PS#2</text>
                  <text x="304" y="180">...</text>
                  <text x="448" y="180">...</text>
                  <text x="8" y="196">:</text>
                  <text x="120" y="196">CATS-Router</text>
                  <text x="176" y="196">2</text>
                  <text x="456" y="196">.</text>
                  <text x="8" y="212">:</text>
                  <text x="456" y="212">:</text>
                  <text x="8" y="228">:</text>
                  <text x="456" y="228">:</text>
                  <text x="8" y="244">:</text>
                  <text x="456" 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="456" y="260">:</text>
                  <text x="8" y="276">:</text>
                  <text x="244" y="276">Infrastructure</text>
                  <text x="456" y="276">:</text>
                  <text x="8" y="292">:</text>
                  <text x="456" y="292">:</text>
                  <text x="8" y="308">:</text>
                  <text x="456" y="308">:</text>
                  <text x="8" y="324">:</text>
                  <text x="456" y="324">:</text>
                  <text x="8" y="340">:</text>
                  <text x="88" y="340">CATS-Router</text>
                  <text x="144" y="340">1</text>
                  <text x="344" y="340">CATS-Router</text>
                  <text x="400" y="340">3</text>
                  <text x="456" y="340">:</text>
                  <text x="20" y="356">:...</text>
                  <text x="164" y="356">..</text>
                  <text x="208" y="356">C-SMA#1</text>
                  <text x="260" y="356">....</text>
                  <text x="288" y="356">.</text>
                  <text x="436" 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="124" y="500">instance</text>
                  <text x="184" y="500">-</text>
                  <text x="356" y="500">instance</text>
                  <text x="416" y="500">-</text>
                  <text x="100" y="548">edge</text>
                  <text x="140" y="548">site</text>
                  <text x="168" y="548">1</text>
                  <text x="340" y="548">edge</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-Router 4|
    ........|     +-------|.....|C-PS#2|...|             |...
    :       |CATS-Router 2|     |      |   |             |  .
    :       +-------------+     +------+   +-------------+  :
    :                                                       :
    :                                            +-------+  :
    :                         Underlay           | C-NMA |  :
    :                      Infrastructure        +-------+  :
    :                                                       :
    :                                                       :
    :   +-------------+                 +-------------+     :
    :   |CATS-Router 1|  +-------+      |CATS-Router 3|     :
    :...|             |..|C-SMA#1|.... .|             |.....:
        +-------+-----+  +-------+      +-------------+
                |         |             |   C-SMA#2   |
                |         |             +-------+-----+
                |         |                     |
                |         |                     |
              +------------+               +------------+
            +------------+ |             +------------+ |
            |  service   | |             |  service   | |
            |  instance  |-+             |  instance  |-+
            +------------+               +------------+

              edge site 1                   edge site 2
]]></artwork>
          </artset>
        </figure>
        <section anchor="sec-edges">
          <name>Edge Sites and Services Instances</name>
          <t>Edge sites (or edges for short) are the premises that provide access to edge 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 contact instances can be instantiated and accessed through different edge sites so that a single service can be represented and accessed by several contact instances that run in different regions of the network.</t>
          <t><xref target="fig-cats-fw"/> shows two edge nodes ("CATS-Router 1" and "CATS-Router 3") that provide access to service contact instances. These nodes behave as Egress CATS-Routers (<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 edge 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 can be hosted by the Egress CATS-Routers (<xref target="sec-ocr"/>) or located next to them.</t>
          <t><xref target="fig-cats-fw"/> shows one C-SMA embedded in "CATS-Router 3", and another C-SMA that is adjacent to "CATS-Router 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 network. The C-NMAs may be implemented as standalone components or may be hosted by other components, such as CATS-Routers 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-Routers (and potentially the service contact instances) where to forward traffic for a given service demand. 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-ID identifiers.</t>
          <t>There may be one or more C-PSes used to compute CATS paths in a CATS domain.</t>
          <t>A CS-PS can be integrated into CATS-Routers (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 with existing service demands. 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 routers that are located at the edge of the network.</t>
        </section>
        <section anchor="sec-ocr">
          <name>Overlay CATS-Routers</name>
          <t>The Egress CATS-Routers are the endpoints that behave as an overlay egress for service requests that are forwatded over a CATS infrastructure. An edge location that hosts service instances may be connected to one or more Egress CATS routers (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-Router 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-Router (i.e., traffic is marked only with the CS-ID). In such cases, the Egress CATS-Router selects a service
contact instance using its knowledge of service and network capabilities as well as the current load as observed by the CATS router, among other considerations. Absent explicit policy, an Egress CATS-Router must make sure to forward all packets that pertain to a given service demand 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-Routers 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-Routers (<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.yao-cats-ps-usecases"/> 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-Router to provide access to a service contact instance and invoke the compute function required by a service demand.</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-Router 1". There are three instances of the service with CS-ID "1": two are located at "Edge Site 2" attached via "CATS-Router 2" and have CIS-IDs "1" and "2"; the third service contact instance is located at "Edge Site 3" attached via "CATS-Router 3" and with CIS-ID "3". There is also a second service with CS-ID "2" with only one service contact instance located at "Edge Site 2".</t>
        <t>In <xref target="fig-cats-example-overlay"/>, the C-SMA collocated with "CATS-Router 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 "Edge Site 2" advertises the service metrics for the two services hosted by "Edge Site 2".</t>
        <t>The service metric advertisements are processed by the C-PS hosted by "CATS-Router 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-Router according to the initial  client's service demand, 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>Example CATS Metric Distribution</name>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="592" width="544" viewBox="0 0 544 592" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
                <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 168,304 L 168,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 240,256 L 240,288" fill="none" stroke="black"/>
                <path d="M 240,416 L 240,448" fill="none" stroke="black"/>
                <path d="M 272,144 L 272,208" fill="none" stroke="black"/>
                <path d="M 304,256 L 304,288" fill="none" stroke="black"/>
                <path d="M 352,416 L 352,448" fill="none" stroke="black"/>
                <path d="M 376,416 L 376,448" fill="none" stroke="black"/>
                <path d="M 384,144 L 384,208" fill="none" stroke="black"/>
                <path d="M 408,240 L 408,384" fill="none" stroke="black"/>
                <path d="M 424,128 L 424,192" 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 440,416 L 440,448" fill="none" stroke="black"/>
                <path d="M 448,96 L 448,144" fill="none" stroke="black"/>
                <path d="M 448,176 L 448,224" 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,144" fill="none" stroke="black"/>
                <path d="M 520,176 L 520,224" fill="none" stroke="black"/>
                <path d="M 520,464 L 520,496" 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 272,144 L 384,144" fill="none" stroke="black"/>
                <path d="M 448,144 L 520,144" fill="none" stroke="black"/>
                <path d="M 392,160 L 416,160" fill="none" stroke="black"/>
                <path d="M 272,176 L 384,176" fill="none" stroke="black"/>
                <path d="M 448,176 L 520,176" fill="none" stroke="black"/>
                <path d="M 424,192 L 440,192" fill="none" stroke="black"/>
                <path d="M 272,208 L 384,208" fill="none" stroke="black"/>
                <path d="M 8,224 L 80,224" fill="none" stroke="black"/>
                <path d="M 448,224 L 520,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 168,304" fill="none" stroke="black"/>
                <path d="M 176,320 L 216,320" fill="none" stroke="black"/>
                <path d="M 8,336 L 168,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 456,400 L 528,400" fill="none" stroke="black"/>
                <path d="M 240,416 L 352,416" fill="none" stroke="black"/>
                <path d="M 376,416 L 440,416" fill="none" stroke="black"/>
                <path d="M 240,448 L 352,448" fill="none" stroke="black"/>
                <path d="M 376,448 L 440,448" fill="none" stroke="black"/>
                <path d="M 456,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"/>
                <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="328" y="164">C-SMA</text>
                  <text x="468" y="164">Edge</text>
                  <text x="508" y="164">Site</text>
                  <text x="536" y="164">2</text>
                  <text x="136" y="180">:</text>
                  <text x="136" y="196">:</text>
                  <text x="320" y="196">CATS-Router</text>
                  <text x="376" y="196">2</text>
                  <text x="472" y="196">CS-ID</text>
                  <text x="504" y="196">1</text>
                  <text x="136" y="212">:</text>
                  <text x="476" y="212">CIS-ID</text>
                  <text x="512" 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="56" y="324">CATS-Router</text>
                  <text x="132" 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="288" y="436">CATS-Router</text>
                  <text x="344" y="436">3</text>
                  <text x="364" y="436">--</text>
                  <text x="408" y="436">C-SMA</text>
                  <text x="468" y="436">Edge</text>
                  <text x="508" y="436">Site</text>
                  <text x="536" 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    |----|   Edge Site 2
                   :                +-------------+    |  +--------+
                   :                |CATS-Router 2|    +--|CS-ID 1 |
                   :                +-------------+       |CIS-ID 2|
   +--------+      :                        |             +--------+
   | Client |      :  Network +----------------------+
   +--------+      :  metrics | +-------+            |
        |          : :<---------| C-NMA |            |
        |          : :        | +-------+            |
   +-------------------+      |                      |
   |CATS-Router 1|C-PS |------|                      |
   +-------------------+      |       Underlay       |
                   :          |     Infrastructure   |     +--------+
                   :          |                      |     |CS-ID 1 |
                   :          +----------------------+ +---|CIS-ID 3|
                   :                    |              |   +--------+
                   :            +-------------+  +-------+
                   :            |CATS-Router 3|--| C-SMA | Edge 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-Router to explicitly indicate the site the aggregated metrics come from.</t>
        <t>A CIS-ID is not required if the edge site can support consistently service contact instance selection.</t>
      </section>
      <section anchor="service-demand-processing">
        <name>Service Demand Processing</name>
        <t>A C-PS computes paths that lead to Egress CATS-Routers according to the service and network metrics that have been advertised. A C-PS may be collocated with an Ingress CATS-Router (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 demand 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 demand to "CATS-Router 1", the router solicits
the C-PS to select a service contact instance hosted by an edge site that can be accessed through a particular Egress CATS-Router. The C-PS also determines a path to that Egress CATS-Router. This information is provided to the Ingress CATS-Router ("CATS-Router 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-Router to which the client is connected to. The Ingress CATS-Router 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-Router encapsulates and forwards them to the C-PS selected Egress CATS-Router. When these packets reach the Egress CATS-Router, 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 domains 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-Router 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 demands.</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 edge 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-Routers. 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.yao-cats-ps-usecases">
        <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="22" month="June" year="2023"/>
          <abstract>
            <t>   Many service providers have been exploring distributed computing
   techniques to achieve better service response time and optimized
   energy consumption.  Such techniques rely upon the distribution of
   computing services and capabilities over many locations in the
   network, such as its edge, the metro region, virtualized central
   office, and other locations.  In such a distributed computing
   environment, providing services by utilizing computing resources
   hosted in various computing facilities (e.g., edges) is being
   considered, e.g., for computationally intensive and delay sensitive
   services.  Ideally, compute services are balanced across servers and
   network resources using 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.  For example, systematically directing end user-originated
   service requests to the geographically closest edge or some small
   computing units may lead to an unbalanced usage of computing
   resources, which may then degrade both the user experience and the
   overall service performance.  We have named this kind of network with
   dynamic sharing of edge compute resources "Computing-Aware Traffic
   Steering" (CATS).

   This document provides the problem statement and the typical
   scenarios of CATS, which is to show the necessity of considering more
   factors when steering the traffic to the appropriate service instance
   based on the basic edge computing deployment to provide the service
   equivalency.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-yao-cats-ps-usecases-02"/>
      </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="15" month="June" 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-24"/>
      </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 413?>

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

-->

</rfc>
