<?xml version='1.0' encoding='utf-8'?>
<!-- This template is for creating an Internet Draft using xml2rfc,
    which is available here: http://xml.resource.org. -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<!-- used by XSLT processors -->
<!-- For a complete list and description of processing instructions (PIs), 
    please see http://xml.resource.org/authoring/README.html. -->
<rfc
      xmlns:xi="http://www.w3.org/2001/XInclude"
      category="std"
      docName="draft-huang-cats-ps-and-requirements-of-l2-cats-00"
      ipr="trust200902"
      obsoletes=""
      updates=""
      submissionType="IETF"
      xml:lang="en"
      tocInclude="true"
      tocDepth="4"
      symRefs="true"
      sortRefs="true"
      version="3">
  <!-- xml2rfc v2v3 conversion 2.38.1 -->
  <!-- category values: std, bcp, info, exp, and historic
    ipr values: trust200902, noModificationTrust200902, noDerivativesTrust200902,
       or pre5378Trust200902
    you can add the attributes updates="NNNN" and obsoletes="NNNN" 
    they will automatically be output with "(if approved)" -->

 <!-- ***** FRONT MATTER ***** -->

 <front>
    <!-- The abbreviated title is used in the page header - it is only necessary if the 
        full title is longer than 39 characters -->

   <title abbrev="Abbreviated Title">Problem statements and requirements of L2 CATS</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-xml2rfc-template-06"/>
    <!-- add 'role="editor"' below for the editors if appropriate -->

   <!-- Another author who claims to be an editor -->

   <author fullname="Daniel Huang" initials="D.H." surname="Huang">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>PRC</country>
        </postal>
        <phone>+86 13770311052</phone>
        <email>huang.guangping@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
	 <author fullname="Bin Tan" initials="B.T." surname="Tan">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street/>
          <!-- Reorder these if your country does things differently -->

         <city>Nanjing</city>
          <region/>
          <code/>
          <country>PRC</country>
        </postal>
        <phone>+86 13918622159</phone>
        <email>tan.bin@zte.com.cn</email>
        <!-- uri and facsimile elements may also be added -->
     </address>
    </author>
	
    <date year="2023"/>
    <!-- If the month and year are both specified and are the current ones, xml2rfc will fill 
        in the current day for you. If only the current year is specified, xml2rfc will fill 
	 in the current day and month for you. If the year is not the current one, it is 
	 necessary to specify at least a month (xml2rfc assumes day="1" if not specified for the 
	 purpose of calculating the expiry date).  With drafts it is normally sufficient to 
	 specify just the year. -->

   <!-- Meta-data Declarations -->

   <area>Routing Area</area>
    <workgroup>CATS</workgroup>
    <!-- WG name at the upperleft corner of the doc,
        IETF is fine for individual submissions.  
	 If this element is not present, the default is "Network Working Group",
        which is used by the RFC Editor as a nod to the history of the IETF. -->

   <keyword>Problem statements and requirements of L2 CATS</keyword>
    <!-- Keywords will be incorporated into HTML output
        files in a meta tag but they have no effect on text or nroff
        output. If you submit your draft to the RFC Editor, the
        keywords will be used for the search engine. -->

   <abstract>
      <t>The computing intensive parts of the customer premise equipment have been decoupled and migrated to the cloud, therefore the 
	  thin CPE remaining at customer premise needs to access its “avatar” virtual CPE in the cloud which could be deployed in multiple
	  edge computing sites. This draft will illustrate a use case of L2 traffic steering in terms of dynamic computing and networking 
	  resource status, together with requirements for CATS as well as solution consideration with regard to particularly the difference
	  from the L3 routing framework.</t>
    </abstract>
  </front>
  <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <t>A “thin” CPE could make the management and maintenance easy and render it as a cost effective device, which would send and receive
	  service requests as well as service data traffic through the L2 access network, while the computing intensive and subscriber-related 
	  functions reside at the virtual CPE in the cloud, such as IPoE/PPPoE. What is crucially different from the traditional CPE deployment 
	  is the IP address would be allocated for the virtual CPE rather than the thin CPE in the customer premise. Therefore, the data exchange
	  between the thin CPE and the virtual CPE would only be based upon L2 network, and the L3 routing would occur at virtual CPE as well as 
	  the networking entities outside of the L2 access network. Neverthelss, the access gateway where the computing awareness traffic steering 
	  occurs could be a L3 node capable of being aware of computing and always resides at the routing network edge although it acts as an L2 node
	  when it comes to forwarding the service requests from the thin CPE. Therefore CATS framework would be suggested to address the requirements 
	  from this L2 scenario as discussed in some drafts in the working group such as  <xref target="I-D.ldbc-cats-framework" format="default"></xref> 
	  which illustrates a cats refrence framework.</t>
      <section numbered="true" toc="default">
        <name>Requirements Language</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
       "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
       document are to be interpreted as described in <xref target="RFC2119" format="default"></xref>.</t>
      </section>
    </section>

    <!-- This PI places the pagebreak correctly (before the section title) in the text output. -->

   <section numbered="true" toc="default">
      <name>Service access problem statements and gap analysis of L2 CATS</name>
	  <t>As far as the thin and virtual CPE disaggregated deployment is concerned, the subscriber behind the thin CPE would have to firstly access to the 
	  virtual CPE in the cloud, and a 3 tuple of QinQ(SVLAN+CVLAN)/source MAC/destination MAC access policy needs to be configured at the access gateway.
	  So the service request or traffic could be forwarded to the specific virtual CPE. Nonetheless, the virtual CPE could be deployed in multiple cloud 
	  sites in terms of both scalability and elasticity. The pre-configured and statically specified cloud site where the virtual CPE resides could accommodate
	  the virtual CPE instance dynamics within the particular cloud site, while the access gateway would not be able to efficiently and dynamically steer the 
	  virtual CPE service requests to multiple cloud sites, because the access gateway as well as the according L2 access network could not be aware of any 
	  service resource status of the virtual CPE in the cloud. The cloud site as well as the virtual CPE instance selection thus could be not made under the 
	  scenario of multiple cloud site deployment. </t>
     </section>  
	 
	 <section numbered="true" toc="default">
      <name>Requirements of L2 CATS</name>
	  <t>Req 1 Service identification of Layer 2 protocols SHOULD be specified in the data plane for computing awareness traffic steering.</t>
      <t>Req 2 Computing awareness based information MAY be notified through a centralized computing awareness controller or distributed protocols. </t>
     </section> 
	 
	 <section numbered="true" toc="default">
      <name>L2 computing awareness traffic steering solution consideration</name>
	  <t>When it comes to computing awareness traffic steering in L2 network particularly with regard to data plane, there are limited options to be exploited and 
	  leveraged. Therefore, a compute awareness controller should be employed to manage the awareness of both networking and computing status of the cloud sites where
	  the virtual CPE service resides. On top of compute awareness, the CA controller could also be responsible for scheduling of the traffic steering policies and 
	  delivering to the access gateway.</t>
	  <figure anchor="figure_1">
        <artwork align="left" name="figure_1: L2 computing aware traffic steering work flow of vCPE" type="" alt=""><![CDATA[

		
		                           +----------+
		                           |    CA    |<**********************+*<*****+
		                           |Controller|                       A       *
		                           +----*-----+                       *       *
		                                *                             *       *
		                                *                             *       *
		                                * +##############>+----+    +-*---+   *
		                                * #         +---->| PE1|--->|vCPE1|   *
		                                * #         |     +----+    +-----+   *
		                           +----V-V-+       |             Cloud site 1*
		+-------+    +--------+    | Access |-------+                         *
		|  pCPE |--->| switch |--->|        |                                 *
		+-------+    +--------+    | Gateway|-------+                         *
		                           +------A-+       |                         *
	                                      #         |      +----+    +-----+  *
		                                  #         +----->| PE2|--->|vCPE2|**+
		                                  +###############>+----+    +-----+
		                                                          Cloud site 2
																  
        Computing awareness flow <******>  <#######>  
	    service traffic flow     <------>
	   
		   ]]></artwork>
      </figure>
	  
	  <section numbered="true" toc="default">
      <name>Service identification</name>
	  <t>Service identification plays a key part in the end-to-end computing awareness traffic steering process. In particular, there needs to be a scheme in data plane
	  to explicitly indicate the said service which is supposed to be deployed in multiple cloud sites. When it comes to the control plane, the service identification 
	  could be indexed to the service related computing and networking information and facilitate the service traffic steering in the data plane by mapping the said 
	  information as well as the service identification of the data plane.</t>
      <t>However, there’s no room for service identification extension in the current L2 protocol system, so the source and destination MAC addresses and QinQ (SVlan + CVlan) 
	  should be reused as the service identification with newly specified semantics of indication of the virtual CPE service. Nevertheless, the virtual CPE service is both 
	  location and Vlan independent, so the service identification of the virtual CPE could correspond to multiple QinQ and MAC addresses.</t>
     </section> 
	 
	 <section numbered="true" toc="default">
      <name>Computing awareness of L2 forwarding network</name>
	  <t>As illustrated in figure 1, the pCPE in the customer premise sends service requests to the access switch which could be OLT/DSLAM where QinQ would be allocated and 
	  encapsulated in the data packets. When the service requests arrive at the access gateway which would always be BRAS/BNG, a specific virtual CPE instance has to be selected. 
	  Upon the computing aware traffic steering policy from the CA controller which has made the selection according to the computing status of the multiple cloud sites with vCPE
	  deployment as well as the networking status if necessary, the access gateway maps the QinQ or MAC address in the data packet with the traffic steering policies, and forwards
	  the service request to the selected edge PE as well as the virtual CPE instance through tunnel technologies such as SRv6 and VxLAN. </t>
      <t>Specifically, when the compute awareness controller selects vCPE 2 in the cloud site 2 as illustrated in figure 1, the access gateway would actually in the first step 
	  establish an SRv6 or VxLAN tunnel with the corresponding edge PE which would extract the payload with the service request and forward it to the virtual CPE instance.</t>
	  <t> As is illustrated in figure 1, the computing awareness flow could also be delivered between edge PE and the access gateway directly through the existing protocols to be
	  extended for computing awareness. The access gateway would be responsible for both the computing and networking policy as well as its execution for the service request 
	  traffic flows.</t>
     </section> 
	 <section numbered="true" toc="default">
      <name>Service affinity</name>
	  <t>Service identification in CATS framework is specified to indicate a computing service which would be shared by multiple instances deployed among multiple cloud sites, 
	  rather than to indicate a specific service session or traffic flow. Therefore, the access gateway could not identify the traffic flow to make sure all of the traffic packets
	  would be forwarded to the same and selected service instance by service identification alone, particularly QinQ under the vCPE traffic steering scenario at which the 
	  subscriber session state would be maintained upon the completion of the access control process. The data packets from the same traffic flow being forwarded to different vCPE 
	  instances according to the computing status dynamics would render the service in disarray. </t>
      <t>The virtual CPE service affinity should be guaranteed at the access gateway by establishing a mapping table including source MAC address, QinQ and the selected edge PE 
	  identification upon the traffic steering policy instantiation with regard to the first data packet from the physical CPE, and the subsequent data packets of the specific 
	  traffic flow would be forwarded through this service affinity table.</t>
     </section> 
     </section>  
	  
    
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>To be added upon contributions, comments and suggestions.</t>
    </section>
    <!-- Possibly a 'Contributors' section ... -->

   <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This memo includes no request to IANA.</t>
    </section>
    <section anchor="Security" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>No additional encapsulation would be introduced into the L2 data plane and the extended service identification function of the existing MAC address as well as QinQ would
		only exposed to the CA controller which is supposed to be within the same manageable and controllable network domain of the L2 networking nodes. Therefore, there’s no 
		additional security exposure with regard to this use case and the solution. </t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

 <back>
    <!-- References split into informative and normative -->

   <!-- There are 2 ways to insert reference entries from the citation libraries:
    1. define an ENTITY at the top, and use "ampersand character"RFC2629; here (as shown)
    2. simply use a PI "less than character"?rfc include="reference.RFC.2119.xml"?> here
       (for I-Ds: include="reference.I-D.narten-iana-considerations-rfc2434bis.xml")

    Both are cited textually in the same manner: by using xref elements.
    If you use the PI option, xml2rfc will, by default, try to find included files in the same
    directory as the including file. You can also define the XML_LIBRARY environment variable
    with a value containing a set of directories to search.  These can be either in the local
    filing system or remote ones accessed by http (http://domain/dir/... ).-->
    
    <references>
	  <name>Informative References</name>
       <!--<reference anchor="RFC2119">
      </reference>
	  <reference anchor="I-D.liu-dyncast-ps-usecases">
      </reference>
	  <reference anchor="I-D.li-dyncast-architecture">
      </reference>-->
	<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
     </reference>
	 
	 <reference anchor="I-D.ldbc-cats-framework" target="https://datatracker.ietf.org/doc/draft-ldbc-cats-framework/">
          <front>
            <title>A Framework for Computing-Aware Traffic Steering (CATS)</title>
            <author initials="Y." surname="Li" fullname="Y.Li">
              <organization/>
            </author>
            <date year="2023" month="June"/>
            <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>
     </reference>
    </references> 
    <!-- <references title="Inforrmative References">
    <?rfc include='reference.RFC.2119'?>
    <?rfc include='reference.I-D.Liu-dyncast-ps-usecases'?>
    <?rfc include='reference.I-D.li-dyncast-architecture'?>
    </references>-->
    <!-- Change Log

v00 2006-03-15  EBD   Initial version

v01 2006-04-03  EBD   Moved PI location back to position 1 -
                     v3.1 of XMLmind is better with them at this location.
v02 2007-03-07  AH    removed extraneous nested_list attribute,
                     other minor corrections
v03 2007-03-09  EBD   Added comments on null IANA sections and fixed heading capitalization.
                     Modified comments around figure to reflect non-implementation of
                     figure indent control.  Put in reference using anchor="DOMINATION".
                     Fixed up the date specification comments to reflect current truth.
v04 2007-03-09 AH     Major changes: shortened discussion of PIs,
                     added discussion of rfc include.
v05 2007-03-10 EBD    Added preamble to C program example to tell about ABNF and alternative 
                     images. Removed meta-characters from comments (causes problems).

v06 2010-04-01 TT     Changed ipr attribute values to latest ones. Changed date to
                     year only, to be consistent with the comments. Updated the 
                     IANA guidelines reference from the I-D to the finished RFC.
v07 2020-01-21 HL    Converted the template to use XML schema version 3.
    -->
 </back>
</rfc>
