<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.22 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-lbdd-cats-dp-sr-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="Anycast-based CATS">Computing-Aware Traffic Steering (CATS) Using Segment Routing</title>
    <seriesInfo name="Internet-Draft" value="draft-lbdd-cats-dp-sr-04"/>
    <author initials="C." surname="Li" fullname="Cheng Li">
      <organization>Huawei Technologies</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>c.l@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="peng" fullname="Zongpeng Du">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <country>China</country>
        </postal>
        <email>duzongpeng@chinamobile.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>je_drake@yahoo.com</email>
      </address>
    </author>
    <date year="2025" month="January" day="28"/>
    <area>Routing area</area>
    <workgroup>CATS</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 65?>

<t>This document describes a solution that adheres to the Computing-Aware Traffic Steering (CATS) framework.
The solution uses anycast IP addresses as the CATS service identifier 
and Segment Routing (SR) as the data plane encapsulation to achieve computing-aware traffic
steering among multiple services instances.</t>
    </abstract>
  </front>
  <middle>
    <?line 72?>

<section anchor="introduction">
      <name>Introduction</name>
      <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, e.g., latency-sensitive service like immersive services that rely upon the use of augmented reality or virtual reality (AR/VR) techniques.</t>
      <t><xref target="I-D.ietf-cats-framework"/> defines a framework for Computing-Aware Traffic Steering (CATS). Such a framework defines an approach for making compute- and network-aware traffic steering decisions in networking environments where services are deployed in many locations.</t>
      <t>The CATS framework is an overlay framework for the selection of the suitable service contact instance for placing a service request. The exact characterization of 'suitable' will be determined by a combination of networking and computing metrics.  The CATS framework does not assume any specific data plane and control plane solutions.</t>
      <t>This document proposes a data plane solution for the realization of CATS. The solution uses an anycast IP address as the Computing-aware Service ID (CS-ID) associated with a service. Also, the solution uses Segment Routing (SR) as the data plane encapsulation from an Ingress CATS-Router to an Egress CATS-Router.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document makes use of the terms defined in <xref target="I-D.ietf-cats-framework"/>.</t>
      <t>Note: Terms such as CATS Instance Selector ID (CIS-ID) may be updated to echo what will be agreed in the CATS framework <xref target="I-D.ietf-cats-framework"/>.</t>
    </section>
    <section anchor="solution-overview">
      <name>Solution Overview</name>
      <t>This section describes the details of realizing CATS identifiers, CATS components, and workflow.</t>
      <section anchor="realization-of-cats-framework-components">
        <name>Realization of CATS Framework Components</name>
        <section anchor="cats-identifiers">
          <name>CATS Identifiers</name>
          <t>A CATS Service ID (CS-ID) is an anycast IPv4 or IPv6 address. Such an IP address is associated with a specific service that is reachable via one or multiple service contact instances.</t>
          <t>The CATS overlay encapsulation is established from an Ingress CATS-Router to an Egress CATS-Router connected to a service contact instance. The service contact instance is typically hosted in a service site.</t>
          <t>Depending on the deployment requirements, CIS-IDs may be needed to indicate where to forward the packet to a specific interface pointing to a specific site in the case that multiple sites connect to the same Egress CATS-Router.</t>
        </section>
        <section anchor="cats-components">
          <name>CATS Components</name>
          <t>In the context of this document, CATS-Routers are required to support SR encapsulation, including SR-MPLS <xref target="RFC8660"/> and SRv6 <xref target="RFC8986"/>.</t>
          <t>The CATS Traffic Classifier (C-TC) is assumed to be running on Ingress CATS-Routers.</t>
          <t>For each service site, one or multiple C-SMAs and C-NMAs can be implemented within the site to collect the metrics of the service instances.</t>
        </section>
      </section>
      <section anchor="realization-of-the-cats-framework-workflow">
        <name>Realization of the CATS Framework Workflow</name>
        <section anchor="service-announcement">
          <name>Service Announcement</name>
          <t>The service anycast IP address may announced using a rendezvous service (DNS, for example). Clients can obtain the CS-ID of the service from the rendezvous service used by the application (e.g., DNS). 
It is out of scope of this document to provide a comprehensive list of all candidate rendezvous services.</t>
        </section>
        <section anchor="metrics-distribution">
          <name>Metrics Distribution</name>
          <t>As per the CATS framework, CS-ID routes with metrics are distributed among the overlay CATS Routers. The detailed control plane solutions of metrics distribution are out of the scope of this document. However, a sample procedure is provided for the readers convenience.</t>
          <t>For example, BGP can be used to distribute CS-ID routes with metrics.</t>
          <t>In the case of the C-SMA running as stand alone outside an Egress CATS-Router, the C-SMA collects the metrics
of computing resource within a service site and distributes the CS-ID routes with the collected metrics to
the Egress CATS-Router. Egress CATS-Routers will generate the new metrics combined with network metrics and
computing-related metrics, and redistribute the CS-ID route to Ingress CATS-Routers. In the case of the C-SMA
 running as a logic entity on an Egress CATS-Router, the same process will be performed inside the Egress CATS-Router.</t>
          <t>As described in <xref section="3.4" sectionFormat="of" target="I-D.ietf-cats-framework"/>, CATS can be deployed in a distributed model, centralized model,
or a hybrid model. In a centralized model or hybrid model, the routes with metrics may be collected by centralized controllers.
BGP-LS may be a candidate solution to collect the route with metrics from CATS-Routers to controllers; the use of BGP-LS is however out of the scope of this document.</t>
          <t>A centralized controller may also install the forwarding policy on Ingress CATS-Routers to steer the traffic; how these policies are communicated to the routers is out of the scope of this document.</t>
        </section>
        <section anchor="service-demand-processing">
          <name>Service Demand Processing</name>
          <t>Two SR <xref target="RFC8402"/> data plane approaches are supported: SRv6 <xref target="RFC8986"/> and SR-MPLS <xref target="RFC8660"/>. This section introduces a solution based upon SRv6 and SR-MPLS as data planes for CATS purposes.</t>
          <t>An Ingress CATS-Router generates SRv6/SR-MPLS encapsulations from itself to Egress CATS-Routers according to the SR policy received from a controller. An Ingress CATS-Router receives service routes with network and computing-related metrics from Egress CATS-Routers. An C-PS will select the best service site according to the received service routes and routing policies. Once the best service site is selected, the associated Egress CATS-Router can be determined and the appropriate SR encapsulation from an Ingress CATS-Router to the C-PS-computed Egress CATS-Router can be selected.</t>
          <t>When a service demand is received by an Ingress CATS-Router, it is classified by the C-TC component. When a matching classification entry is found for this demand, the Ingress CATS-Router encapsulates and forwards it to the C-PS selected Egress CATS-Router via the matching SR tunnel.</t>
          <section anchor="srv6">
            <name>SRv6</name>
            <t>As shown in <xref target="fig-cats-srv6"/>, SRv6 tunnels are established from Ingress CATS-Routers to Egress CATS-Routers.</t>
            <t>There may be multiple encapsulations from a single Ingress CATS-Router to different Egress CATS-Routers so that the ingress can choose the best Egress CATS-Router connected to the target site.</t>
            <t>Furthermore, there may be multiple tunnels from a single Ingress CATS-Router to a single Egress CATS-Router, e.g., to provide different connectivity performance guarantees.</t>
            <figure anchor="fig-cats-srv6">
              <name>Using SRv6 in CATS</name>
              <artwork><![CDATA[
           
                             +------+
                             |Client|           
                             +------+            
                                 |                  
                          +-------------+  
                          |    C-TC     |
                          |-------------| 
                          |     | C-PS  |
    ......................|     +-------|....................
    :                     |CATS-Router 2|                   :
    :                     +-------------+                   :
    :                                                       :
    :                         Underlay                      :
    :                      Infrastructure                   :
    : SRv6 Encap 1                            SRv6 Encap 2  :
    :                                                       :
    :   +-------------+                +-------------+      :
    :   |CATS-Router 1|                |CATS-Router 3|      :
    :...|             |................|             |......:
        +-------------+                +-------------+
        |    C-SMA    |                |    C-SMA    |
        +-------------+                +-------------+
            |              END.DX SID1 |        | END.DX SID2
            |                          |        |
        +-----------+        +----------+     +-----------+  
      +-----------+ |      +----------+ |    +----------+ |
      |  Service  | |      | Service  | |    | Service  | |
      |  instance |-+      | instance |-+    | instance |-+
      +-----------+        +----------+      +----------+

       Edge site 1          Edge site 2       Edge site 3

]]></artwork>
            </figure>
            <t>In some cases, multiple service sites may be connected to a single Egress CATS-Router. To demux these sites, a specific attachment circuit must be provided to indicate the specific target service. In order to explicitly indicate the interface towards a site, an END.DX <xref target="RFC8986"/> is encoded as the last segment in the SRv6 encapsulation. The associated END.DX is learned from the control plane.</t>
            <t>When the traffic reaches the Egress CATS-Router, the SRv6 packet is decapsulated and the traffic is forwarded to the service contact instance. How the packet is handled beyond that point is out of the scope.</t>
          </section>
          <section anchor="sr-mpls">
            <name>SR-MPLS</name>
            <t>Similarly, SR-MPLS can be used as the overlay CATS encapsulation. The forwarding path is encoded as
an MPLS label stack, and a potential VPN label can be included as the last label to indicate 
to steer the traffic through a specific interface to a target service contact instance in the case multiple
service sites connect to the same Egress CATS-Router.</t>
          </section>
        </section>
        <section anchor="service-instance-affinity">
          <name>Service Instance Affinity</name>
          <t>As per <xref target="I-D.ietf-cats-framework"/>, 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).</t>
          <ul empty="true">
            <li>
              <t>Note: This section will be updated to reflect the discussion in the WG about affinity.</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document specifies a CATS solution using anycast IP addresses as CS-IDs and SR as data plane. It does not introduce further security threats considering to the existing ones in <xref target="RFC8402"/>, <xref target="RFC8660"/>, <xref target="RFC8986"/> and <xref target="I-D.ietf-cats-framework"/>.</t>
      <t>Anycast-related security considerations are discussed in <xref section="4.4" sectionFormat="of" target="RFC7094"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no requests for IANA action.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Many thanks to Mohamed Boucadair for his valuable help on this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-cats-framework" target="https://datatracker.ietf.org/doc/html/draft-ietf-cats-framework-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cats-framework.xml">
          <front>
            <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
            <author fullname="Cheng Li" initials="C." surname="Li">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Zongpeng Du" initials="Z." surname="Du">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="John Drake" initials="J." surname="Drake">
              <organization>Juniper Networks, Inc.</organization>
            </author>
            <date day="17" month="October" year="2024"/>
            <abstract>
              <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>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cats-framework-04"/>
        </reference>
        <reference anchor="RFC8660" target="https://www.rfc-editor.org/info/rfc8660" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8660.xml">
          <front>
            <title>Segment Routing with the MPLS Data Plane</title>
            <author fullname="A. Bashandy" initials="A." role="editor" surname="Bashandy"/>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." surname="Previdi"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="December" year="2019"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source-routing paradigm. A node steers a packet through a controlled set of instructions, called segments, by prepending the packet with an SR header. In the MPLS data plane, the SR header is instantiated through a label stack. This document specifies the forwarding behavior to allow instantiating SR over the MPLS data plane (SR-MPLS).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8660"/>
          <seriesInfo name="DOI" value="10.17487/RFC8660"/>
        </reference>
        <reference anchor="RFC8986" target="https://www.rfc-editor.org/info/rfc8986" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8986.xml">
          <front>
            <title>Segment Routing over IPv6 (SRv6) Network Programming</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="P. Camarillo" initials="P." role="editor" surname="Camarillo"/>
            <author fullname="J. Leddy" initials="J." surname="Leddy"/>
            <author fullname="D. Voyer" initials="D." surname="Voyer"/>
            <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
            <author fullname="Z. Li" initials="Z." surname="Li"/>
            <date month="February" year="2021"/>
            <abstract>
              <t>The Segment Routing over IPv6 (SRv6) Network Programming framework enables a network operator or an application to specify a packet processing program by encoding a sequence of instructions in the IPv6 packet header.</t>
              <t>Each instruction is implemented on one or several nodes in the network and identified by an SRv6 Segment Identifier in the packet.</t>
              <t>This document defines the SRv6 Network Programming concept and specifies the base set of SRv6 behaviors that enables the creation of interoperable overlays with underlay optimization.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8986"/>
          <seriesInfo name="DOI" value="10.17487/RFC8986"/>
        </reference>
        <reference anchor="RFC8402" target="https://www.rfc-editor.org/info/rfc8402" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8402.xml">
          <front>
            <title>Segment Routing Architecture</title>
            <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
            <author fullname="S. Previdi" initials="S." role="editor" surname="Previdi"/>
            <author fullname="L. Ginsberg" initials="L." surname="Ginsberg"/>
            <author fullname="B. Decraene" initials="B." surname="Decraene"/>
            <author fullname="S. Litkowski" initials="S." surname="Litkowski"/>
            <author fullname="R. Shakir" initials="R." surname="Shakir"/>
            <date month="July" year="2018"/>
            <abstract>
              <t>Segment Routing (SR) leverages the source routing paradigm. A node steers a packet through an ordered list of instructions, called "segments". A segment can represent any instruction, topological or service based. A segment can have a semantic local to an SR node or global within an SR domain. SR provides a mechanism that allows a flow to be restricted to a specific topological path, while maintaining per-flow state only at the ingress node(s) to the SR domain.</t>
              <t>SR can be directly applied to the MPLS architecture with no change to the forwarding plane. A segment is encoded as an MPLS label. An ordered list of segments is encoded as a stack of labels. The segment to process is on the top of the stack. Upon completion of a segment, the related label is popped from the stack.</t>
              <t>SR can be applied to the IPv6 architecture, with a new type of routing header. A segment is encoded as an IPv6 address. An ordered list of segments is encoded as an ordered list of IPv6 addresses in the routing header. The active segment is indicated by the Destination Address (DA) of the packet. The next active segment is indicated by a pointer in the new routing header.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8402"/>
          <seriesInfo name="DOI" value="10.17487/RFC8402"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-cats-usecases-requirements" target="https://datatracker.ietf.org/doc/html/draft-ietf-cats-usecases-requirements-04" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-cats-usecases-requirements.xml">
          <front>
            <title>Computing-Aware Traffic Steering (CATS) Problem Statement, Use Cases, and Requirements</title>
            <author fullname="Kehan Yao" initials="K." surname="Yao">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Luis M. Contreras" initials="L. M." surname="Contreras">
              <organization>Telefonica</organization>
            </author>
            <author fullname="Hang Shi" initials="H." surname="Shi">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Shuai Zhang" initials="S." surname="Zhang">
              <organization>China Unicom</organization>
            </author>
            <author fullname="Qing An" initials="Q." surname="An">
              <organization>Alibaba Group</organization>
            </author>
            <date day="21" month="October" year="2024"/>
            <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-04"/>
        </reference>
        <reference anchor="RFC7094" target="https://www.rfc-editor.org/info/rfc7094" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7094.xml">
          <front>
            <title>Architectural Considerations of IP Anycast</title>
            <author fullname="D. McPherson" initials="D." surname="McPherson"/>
            <author fullname="D. Oran" initials="D." surname="Oran"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="E. Osterweil" initials="E." surname="Osterweil"/>
            <date month="January" year="2014"/>
            <abstract>
              <t>This memo discusses architectural implications of IP anycast and provides some historical analysis of anycast use by various IETF protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7094"/>
          <seriesInfo name="DOI" value="10.17487/RFC7094"/>
        </reference>
      </references>
    </references>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <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="Y." surname="Li" fullname="Yizhou Li">
        <organization>Huawei Technologies</organization>
        <address>
          <email>liyizhou@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>
    </section>
  </back>
  <!-- ##markdown-source:
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
LX0OUIqqcXfgvUHo6L8SvB1gDy0AAA==

-->

</rfc>
