Application Aware Computing Network
Internet-Draft draft-li-cats-application-aware-computing-network-01
Zhenbin Li
Huawei
Beijing
lizhenbin@huawei.com
Hang Shi
Huawei
Beiqing Road
Beijing
China
shihang9@huawei.com
Xia Chen
Huawei
Beijing
China
jescia.chenxia@huawei.com
Zongpeng Du
China Mobile
Beijing
China
duzongpeng@foxmail.com
Shuai Zhang
China Unicom
Beijing
China
zhangs366@chinaunicom.cn
29 February 2024
routing
CATS
Traffic Steering
APN
This document describes a solution framework that adheres to the CATS framework. The solution uses APN as part of the CATS service identifier and flow identifier.
Introduction
Many services deploy their service instances in multiple geographically distributed sites to get better response time. As described in [I-D.ietf-cats-usecases-requirements], traffic steering that takes into account both the computing resource metric and network metric would improve the QoE of several services, e.g., AR/VR and intelligent transportation.
A CATS framework is described in [I-D.draft-ldbc-cats-framework]. It defines following core concepts:
1. CATS service identifier represents a service which consists of multiple service contact instances.
2. Service contact instance affinity means that packet that belongs to a flow should always goes to the same service contact instance.
These concepts are similar to APN described in [I-D.draft-li-apn-header]. The Application-aware Networking (APN) framework[I-D.li-apn-framework] defines that application-aware information (i.e. APN attribute) including APN identification (ID) and/or APN parameters (e.g. network performance requirements) is encapsulated at network edge devices and carried in packets traversing an APN domain in order to facilitate service provisioning, perform fine-granularity traffic steering and network resource adjustment. [I-D.li-apn-app-side-framework] defines the extension of the APN framework for the application side. In this extension, the APN resources of an APN domain is allocated to applications which compose and encapsulate the APN attribute in packets. The APN ID includes application group ID and user group ID. Application group ID can be used as part of CATS service identifier. User group ID + application group ID can be used as CATS flow ID. This document describes a CATS framework using APN. The realization can use APN framework for application side.
Terminology
This document reuses terms defined in [I-D.draft-ldbc-cats-framework] and [I-D.draft-li-apn-header].
Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
Locator and APN ID
In CATS, the packet needs to carry the locator information and the application identifier information. The application identifier information can be carried in APN ID. As described in [I-D.draft-li-apn-header], the length of the APN ID can be 32bit, 64 bit or 128bit. Depending on whether APN ID can fit into 128bit, the following two formats are defined. They carry the same information and can be used in different deployment scenarios.
APN Segment
APN segment is an SRv6 SID[RFC8986], consisting of LOC:FUNCT:ARG, where:
- LOC is routable and leads to the service contact instance.
- FUNCT is APN ID which consists of user group id and application group ID. The length of APN ID is 32 bit or 64 bit.
LOC + APN ID
If 128 bit is not enough to hold the APN ID + LOC. Then the APN ID can be put in other places as described in [I-D.draft-li-apn-ipv6-encap], e.g., IPv6 extension header.
Overview
For simplicity, this document use APN segment as an illustration example, see Figure 1.
Architecture Overview

APN Seg: APN segment = LOC:FUNCT(APN ID): ARG
                                                            APN Seg
                                     +-------------+       +----------+
                                     |CATS-Router 1|       | Service  |
                                     +-------------+-------| contact  |
           CATS Forwarding Table     |    C-SMA    |       | instance |
LOC+APP ID, metrics, To CATS-Router1 +-------------+       +----------+
LOC+APP ID, metrics, To CATS-Router3        |
             +-------------+        +----------------+
             |    C-TC     |        |                |
+------+     |-------------|        |    Underlay    |
|Client|-----|     | C-PS  |--------| Infrastructure |
+------+     |     +-------|        |                |
             |CATS-Router 2|        |                |
             +-------------+        +----------------+
              CATS Flow Table               |              APN Seg
      LOC+APN ID, To CATS-Router1    +-------------+       +----------+
                                     |CATS-Router 3|       | Service  |
                                     +-------------+-------| contact  |
                                     |    C-SMA    |       | instance |
                                     +-------------+       +----------+
                    <----------------------    <----------------
         (Overlay route of APN Seg, metrics)   (APN Seg, metrics)
            Service overlay route w/ metrics   Service route w/ metrics

Realization of CATS Framework Components
The LOC + application group ID in the APN segment is used as CATS service identifier. The CATS overlay is established from the Ingress CATS-Router to an Egress CATS-Router. The CATS Traffic Classifier is running at the Ingress CATS-Router. Depending on the deployment, the CATS Path Selector, C-SMA and C-NMA can be centralized or distributed. CIS-ID is used to forward the packet to a specific CATS service contact instance. The choice of the CIS-ID is out of scope.
Realization of CATS Framework Workflow
Service Announcement
Locator is routable and leads to service contact instances. The locator is announced in anycast. The locator and application group ID may be learned by client using a rendezvous service (DNS, for example). The user group ID may be learned through a protocol between the client and server. The detailed rendezvous procedure is out of scope.
Metric Distribution
As described in CATS framework, the metrics needs to be distributed along with the CS-ID route. The detailed control plane solution depends on the deployment model (distributed, centralized or hybrid) and is out of scope of this document. A sample procedure using distributed model is provided to illustrate the core process, see Figure 1.
The C-SMA running as stand alone component at each service contact instance. In addition to the route announcement of LOC, C-SMA also distributes the application group ID and the computing metric to the Egress. The egress then pass the [(LOC, application group ID), computing metric] to the ingress node. The protocol extension used to carry the information is out of scope.
Service Request Processing
The service request packet has the destination address set to APN segment. The C-TC component in Ingress uses LOC + application group ID to match the service, finding the optimal service contact instance. Then the best path to the corresponding service instance is selected by C-PS. The packet is encapsulated and forwarded using the overlay path. The Egress decapsulates the packet then forward it to the service contact instance.
Service Instance Affinity
As per [I-D.draft-ldbc-cats-framework], the packets belong to the same flow should goes to the same service contact instance. This document defines flow identifier as the tuple (locator, user group ID, app group ID). By assigning the user group ID and app group ID, the service can archive customizable flow affinity without relying on traditional (IP, port) tuple.
APN for Real Locator
[I-D.draft-shi-cats-with-real-locator] defines real locator for CATS. When implementing solution of APN for CATS, the real locator can be carried in APN Para. Other procedure is the same as defined in [I-D.draft-shi-cats-with-real-locator].
Security Considerations
This document does not introduce any new security considerations.
IANA Considerations
TBD.
References
Normative References
[I-D.draft-li-apn-header]

Application-aware Networking (APN) Header
Zhenbin Li
Huawei Technologies
Shuping Peng
Huawei Technologies
Shuai Zhang
China Unicom
12 April 2023
Internet-Draft draft-li-apn-header-04
[RFC2119]

Key words for use in RFCs to Indicate Requirement Levels
S. Bradner
March 1997
BCP 14
RFC 2119
DOI 10.17487/RFC2119
[RFC8174]

Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
B. Leiba
May 2017
BCP 14
RFC 8174
DOI 10.17487/RFC8174
[I-D.draft-li-apn-ipv6-encap]

Application-aware IPv6 Networking (APN6) Encapsulation
Zhenbin Li
Huawei Technologies
Shuping Peng
Huawei Technologies
Chongfeng Xie
China Telecom
10 July 2023
Internet-Draft draft-li-apn-ipv6-encap-07
[I-D.draft-shi-cats-with-real-locator]

CATS based on Real Locator
Hang Shi
Huawei Technologies
Xia Chen
Huawei Technologies
Zhenbin Li
Huawei Technologies
23 October 2023
Internet-Draft draft-shi-cats-with-real-locator-00
Informative References
[I-D.ietf-cats-usecases-requirements]

Computing-Aware Traffic Steering (CATS) Problem Statement, Use Cases, and Requirements
Kehan Yao
China Mobile
Dirk Trossen
Huawei Technologies
Mohamed Boucadair
Orange
Luis M. Contreras
Telefonica
Hang Shi
Huawei Technologies
Yizhou Li
Huawei Technologies
Shuai Zhang
China Unicom
Qing An
Alibaba Group
1 January 2024
Internet-Draft draft-ietf-cats-usecases-requirements-02
[I-D.draft-ldbc-cats-framework]

A Framework for Computing-Aware Traffic Steering (CATS)
Cheng Li
Huawei Technologies
Zongpeng Du
China Mobile
Mohamed Boucadair
Orange
Luis M. Contreras
Telefonica
John Drake
Juniper Networks, Inc.
8 February 2024
Internet-Draft draft-ldbc-cats-framework-06