<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" category="std" docName="draft-zhou-intarea-computing-segment-san-02" ipr="trust200902" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="4" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.1 -->
  <!-- ***** FRONT MATTER ***** -->

    <front>
    <title abbrev="Computing Segment for Service Routing">Computing Segment for Service Routing
            in SAN</title>
    <seriesInfo name="Internet-Draft" value="draft-zhou-intarea-computing-segment-san-02"/>
    <author fullname="Fenlin Zhou" initials="F" surname="Zhou">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street>No.50 Software Avenue</street>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>zhou.fenlin@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Dongyu Yuan" initials="D" surname="Yuan">
      <organization>ZTE Corporation</organization>
      <address>
        <postal>
          <street>No.50 Software Avenue</street>
          <city>Nanjing</city>
          <region>Jiangsu</region>
          <code>210012</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>yuan.dongyu@zte.com.cn</email>
      </address>
    </author>
    <author fullname="Dong Yang" initials="D" surname="Yang">
      <organization>Beijing Jiaotong University</organization>
      <address>
        <postal>
          <street>No.3 Shangyuancun Haidian District</street>
          <city>Beijing</city>
          <region/>
          <code>100044</code>
          <country>China</country>
        </postal>
        <phone/>
        <email>dyang@bjtu.edu.cn</email>
      </address>
    </author>
    <date day="20" month="April" year="2023"/>
    <area>INT</area>
    <workgroup>INTAREA</workgroup>
    <keyword>Computing Segment for Service Routing in SAN</keyword>
    <abstract>
      <t>Since services provisioning requires delicate coordination among the client,
                network and cloud, this draft defines a new Segment to provide service routing and
                addressing functions by leveraging SRv6 Segment programming capabilities. With
                Computing Segments proposed, the network gains its capability to identify and
                process a SAN header in need and a complete service routing procedure can be
                achieved.</t>
    </abstract>
  </front>
  <!-- ***** MIDDLE MATTER ***** -->

    <middle>
    <section numbered="true" toc="default">
      <name>Introduction</name>
      <section numbered="true" toc="default">
        <name>Service Identification in SAN</name>
        <t>In order to deliver responsive services to clients, computing resources
                    continuously migrate and spread from central sites to edge nodes. As shown in
                    Figure 1, multiple instances located distributedly in different resource pools
                    are capable of providing services. Compared with applying traditional IP routing
                    protocols, a fine-grained service routing policy is capable of achieving optimal
                    and efficient invocation of both computing power and the network. </t>
        <figure>
          <name>Computing Power Networks</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

                                        +-------------+ +---------+
                                      +-+Load Balancer+-+Service 1|
                                      | +-------------+ +---------+
                                      |
+------+   +----------+   +---------+ | +-------------+ +---------+
|Client+---+Ingress PE+---+Egress PE+-+-+Load Balancer+-+Service 2|
+------+   +----------+   +---------+ | +-------------+ +---------+
                                      |
                                      | +-------------+ |---------+
                                      +-+Load Balancer+-|Service 3|
                                        +-------------+ +---------+
|<-Client->|<---------Network-------->|<----------Cloud---------->| 	
	
	                       ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>In order to implement service routing, the network should be aware of specific
                    services and a service awareness network framework is introduced in <xref target="I-D.huang-service-aware-network-framework" format="default"/>.
                    Within the proposed network framework, a service identification is defined as a
                    SAN ID(Service ID) in <xref target="I-D.ma-intarea-identification-header-of-san" format="default"/> to represent a globally unique service semantic
                    identification.</t>
        <t>As mentioned in <xref target="I-D.ma-intarea-encapsulation-of-san-header" format="default"/>, a SAN ID is encapsulated in a SAN header which can
                    be carried as an option in the IPv6 Hop-by-Hop Options Header, Destination
                    Options Header and a type of SRH TLV. Since services provisioning requires
                    delicate coordination among the client, network and cloud and thus simply
                    encapsulating SAN header among packets delivery can hardly satisfy various
                    practical situations:</t>
        <ul spacing="normal">
          <li>The Destination Options header is used to carry optional information that
                            need be examined by the destination of the path which is defined in <xref target="RFC8200" format="default"/>, SAN header will only be resolved by the
                            destination node. When a multi-layer service routing strategy is applied
                            in the network domain, a quantity of relay nodes besides the destination
                            are also required to identify SAN ID and forward the received packet
                            accordingly as well. Thus, simply carring a SAN header can not fulfill a
                            multi-layer service routing procedure.</li>
          <li>When a SAN header is carried as an option in the IPv6 Hop-by-Hop Options
                            Header, it may be processed by each nodes. Practically, not all nodes
                            along the delivery path of the packet are capable of identifying and
                            processing a SAN header. The SAN header may be changed accidentally and
                            the packet may even be discarded in the forwarding process.</li>
          <li>The Segment Routing Header (SRH) and the SRH TLV is defined in <xref target="RFC8754" format="default"/>. Since the segment list is encoded in
                            order, it indicates that the service routing process and successive
                            forwarding behaviours must be orchestrated in advance. However, previous
                            orchestration brings visible restrictions to the flexibility and
                            adaptability of service routing.</li>
        </ul>
        <t>To achieve a SAN header being processed in need in the network domain and to
                    preserve its identifiability along the path from the client to the server, a new
                    Segment to specify and standardize node behaviours is urgently required.</t>
      </section>
      <section numbered="true" toc="default">
        <name>Service Routing in SAN</name>
        <t>As shown in Figure 2, a service routing table is designed to establish a mapping
                    relationship between the SAN ID and the conventional IP routing table.</t>
        <figure>
          <name>Service Routing in SAN</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

                                           +-------+
                                           |  I P  |
                    SAN ID <-------------> |Routing|
                                  |        | Table |
                                  |        +-------+
                                  v
                              +-------+
                              |Service|
                              |Routing|
                              | Table |
                              +-------+

+--------+        +-----------+          +----------+        +-----+
| Client +--------+Ingress  PE+----------+Egress  PE+--------+ L B |
+--------+        +-----------+          +----------+        +-----+	
	
	                       ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>A service routing table can be published from a control and management system to
                    the network domain within a centralized control plane while it can also be
                    calculated and generated by the Ingress PE itself under a distributed control
                    plane. </t>
        <t>With considerations of path metrics, computing status and service SLA
                    requirements, a specific
                    service routing table is introduced, including mutiple attributes, SAN ID and
                    outer gateway for instance. Afterwards, a corresponding IP routing table should
                    be indexed which further determines the next hop or an SRv6 policy.</t>
        <t>In order to describe and standardize the mentioned behaviours, a new Computing
                    Segment is proposed. With Computing Segments, multiple nodes in the network
                    domain can be informed to identify and resolve SAN header in need and to
                    implement a referred forwarding behaviour through the complete procedure.</t>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Requirements Language</name>
      <t>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 <xref target="RFC2119" format="default"/>
        <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as
                shown here.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>SAN: Service Aware Network</li>
        <li>SAN ID: Service Aware Network Identification, an identification designed to
                        indicate the fundamental and common service types</li>
        <li>SAN header: Encapsulation format of the SAN ID</li>
        <li>DOH: Destination Options Header</li>
        <li>HBH: Hop-by-Hop Options Header</li>
        <li>SRH: Segment Routing Header</li>
        <li>SID: Segment Identifier</li>
        <li>FIB: Forwarding Information Base</li>
        <li>DA: Destination Address</li>
        <li>LB: Load Balancer</li>
      </ul>
    </section>
    <section numbered="true" toc="default">
      <name>Computing Segment</name>
      <t>This draft introduces a new SRv6 Segment, namely Computing Segment, aiming to
                describe the behaviour of querying service routing table and corresponding packet
                forwarding.</t>
      <t>Computing Segment is the identifier of packets in which a corresponding SAN header
                should be identified and further being forwarded via the matched service routing
                table entity, indicating the following operations:</t>
      <ul spacing="normal">
        <li>Identify the SAN ID encapsulated in DOH, HBH or SRH TLV.</li>
        <li>Query the service routing table indexed by SAN ID.</li>
        <li>Update destination address accordingly.</li>
        <li>Push a new IPv6 header with possible SRH containing the list of segments of the
                    SRv6 policy.</li>
        <li>Forward the packet.</li>
      </ul>
      <t>In the case of SRv6, a new behavior End.C for Computing Segment is defined.
                Behaviours of End.C are described in the following sections.</t>
      <section numbered="true" toc="default">
        <name>When the SAN ID is encapsulated in the DOH</name>
        <t>When an IPv6 node (N) receives an IPv6 packet whose destination address matches a
                    local IPv6 address instantiated as a SID (S), and S is a Computing SID, N does:</t>
        <t>(1) If the traffic is steered into a tunnel, an SRv6 policy for instance:</t>
        <figure>
          <name>When the SAN ID is encapsulated in the DOH: Part 1</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

S01.  If (IPv6 Hop Limit <= 1) {
S02.    Send an ICMP Time Exceeded message to the Source Address
        with Code 0 (Hop limit exceeded in transit),
        interrupt packet processing, and discard the packet.
S03.  }
S04.  Decrement IPv6 Hop Limit by 1
S05.  Resolve the SAN ID encapsulated in the DOH
S06.  Maintain the SAN Header in the DOH
S07.  Query the service routing table indexed by SAN ID to determine 
      an outer gateway and an according SRv6 policy
S08.  If an SRH is carried in the IPv6 header {
S09.    If (Segments Left == 0) {
S10.      Stop processing the SRH, and proceed to process the next
          header in the packet, whose type is identified by
          the Next Header field in the routing header.
S11.    }
S12.    max_LE = (Hdr Ext Len / 2) - 1
S13.    If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
S14.      Send an ICMP Parameter Problem to the Source Address
          with Code 0 (Erroneous header field encountered)
          and Pointer set to the Segments Left field,
          interrupt packet processing, and discard the packet.
S15.    }
S16.    Decrement Segments Left by 1
S17.    Update IPv6 DA with Segment List[Segments Left]
S18.  } 
S19.  else {
S20.      Update IPv6 DA with the queried gateway
S21.  }    
S22.  Push a new IPv6 header with its own SRH containing the list of
      segments of the SRv6 policy
S23.  Set the outer IPv6 SA to itself
S24.  Set the outer IPv6 DA to the first SID of the SRv6 policy
S25.  Set the outer Payload Length, Traffic Class, Flow Label and
      Next Header fields
S26.  Submit the packet to the egress IPv6 FIB lookup for transmission
      to the new destination
                            
                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>(2) If the traffic is steered in a BE manner:</t>
        <t>The line S07 and lines from S22 to S24 are replaced by the following:</t>
        <figure>
          <name>When the SAN ID is encapsulated in the DOH: Part 2</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

S07.    Query the service routing table indexed by SAN ID to determine 
        an outer gateway

S22.    Push a new IPv6 header
S23.    Set the outer IPv6 SA to itself
S24.    Set the outer IPv6 DA to the queried outer gateway
                             
                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
      </section>
      <section numbered="true" toc="default">
        <name>When the SAN ID is encapsulated in the HBH</name>
        <t>When an IPv6 node (N) receives an IPv6 packet whose destination address matches a
                    local IPv6 address instantiated as a SID (S), and S is a Computing SID, N does:</t>
        <t>(1) If the traffic is steered into a tunnel, an SRv6 policy for instance:</t>
        <figure>
          <name>When the SAN ID is encapsulated in the HBH: Part 1</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

S01.  If (IPv6 Hop Limit <= 1) {
S02.    Send an ICMP Time Exceeded message to the Source Address
        with Code 0 (Hop limit exceeded in transit),
        interrupt packet processing, and discard the packet.
S03.  }
S04.  Decrement IPv6 Hop Limit by 1
S05.  Resolve the SAN ID encapsulated in the HBH
S06.  Maintain the SAN Header in the HBH
S07.  Query the service routing table indexed by SAN ID to determine 
      an outer gateway and an according SRv6 policy
S08.  If an SRH is carried in the IPv6 header {
S09.    If (Segments Left == 0) {
S10.      Stop processing the SRH, and proceed to process the next
          header in the packet, whose type is identified by
          the Next Header field in the routing header.
S11.    }
S12.    max_LE = (Hdr Ext Len / 2) - 1
S13.    If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
S14.      Send an ICMP Parameter Problem to the Source Address
          with Code 0 (Erroneous header field encountered)
          and Pointer set to the Segments Left field,
          interrupt packet processing, and discard the packet.
S15.    }
S16.    Decrement Segments Left by 1
S17.    Update IPv6 DA with Segment List[Segments Left]
S18.  } 
S19.  else {
S20.      Update IPv6 DA with the queried gateway
S21.  }    
S22.  Push a new IPv6 header with its own SRH containing the list of
      segments of the SRv6 policy
S23.  Set the outer IPv6 SA to itself
S24.  Set the outer IPv6 DA to the first SID of the SRv6 policy
S25.  Set the outer Payload Length, Traffic Class, Flow Label and
      Next Header fields
S26.  Submit the packet to the egress IPv6 FIB lookup for transmission
      to the new destination
                             
                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>(2) If the traffic is steered in a BE manner:</t>
        <t>The line S07 and lines from S22 to S24 are replaced by the following:</t>
        <figure>
          <name>When the SAN ID is encapsulated in the HBH: Part 2</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

S07.    Query the service routing table indexed by SAN ID to determine 
        an outer gateway

S22.    Push a new IPv6 header
S23.    Set the outer IPv6 SA to itself
S24.    Set the outer IPv6 DA to the queried outer gateway
                             
                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
      </section>
      <section numbered="true" toc="default">
        <name>When the SAN ID is encapsulated in the SRH TLV</name>
        <t>When an IPv6 node (N) receives an IPv6 packet whose destination address matches a
                    local IPv6 address instantiated as a SID (S), and S is a Computing SID, N does:</t>
        <t>(1) If the traffic is steered into a tunnel, an SRv6 policy for instance:</t>
        <figure>
          <name>When the SAN ID is encapsulated in the SRH TLV: Part 1</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

S01.  When an SRH is processed {
S02.    If (Segments Left == 0) {
S03.      Stop processing the SRH, and proceed to process the next
          header in the packet, whose type is identified by
         the Next Header field in the routing header.
S04.    }
S05.    If (IPv6 Hop Limit <= 1) {
S06.      Send an ICMP Time Exceeded message to the Source Address
          with Code 0 (Hop limit exceeded in transit),
          interrupt packet processing, and discard the packet.
S07.    }
S08.    max_LE = (Hdr Ext Len / 2) - 1
S09.    If ((Last Entry > max_LE) or (Segments Left > Last Entry+1)) {
S10.      Send an ICMP Parameter Problem to the Source Address
          with Code 0 (Erroneous header field encountered)
          and Pointer set to the Segments Left field,
          interrupt packet processing, and discard the packet.
S11.    }
S12.    Decrement IPv6 Hop Limit by 1
S13.    Decrement Segments Left by 1
S14.    Update IPv6 DA with Segment List[Segments Left]
S15.    Resolve the SAN ID encapsulated in the HBH, DOH or a type of
        SRH TLV
S16.    Maintain the SAN Header in the HBH, DOH or a type of SRH TLV
S17.    Query the service routing table indexed by SAN ID to determine
        an outer gateway and an according SRv6 policy
S18.    Push a new IPv6 header with its own SRH containing the list of
        segments of the SRv6 policy
S19.    Set the outer IPv6 SA to itself
S20.    Set the outer IPv6 DA to the first SID of the SRv6 policy
S21.    Set the outer Payload Length, Traffic Class, Flow Label and
        Next Header fields
S22.    Submit the packet to the egress IPv6 FIB lookup for transmission
        to the new destination
S23.  }
                             
                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
        <t>(2) If the traffic is steered in a BE manner:</t>
        <t>The lines from S17 to S20 are replaced by the following:</t>
        <figure>
          <name>When the SAN ID is encapsulated in the SRH TLV: Part 2</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[

S17.    Query the service routing table indexed by SAN ID to determine
        an outer gateway
S18.    Push a new IPv6 header
S19.    Set the outer IPv6 SA to itself
S20.    Set the outer IPv6 DA to the queried outer gateway
                             
                         ]]></artwork>
        </figure>
        <t keepWithPrevious="true"/>
      </section>
    </section>
    <section numbered="true" toc="default">
      <name>Use Case</name>
      <t>When a SAN header is carried as an option in the DOH, a typical service routing
                procedure is shown in Figure 9.</t>
      <figure>
        <name>Typical Service Routing Procedure with Service ID Encapsulated in the DOH</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

+--------+         +-----------+        +----------+         +-----+
| Client +---------+Ingress  PE+--------+Egress  PE+---------+ L B |
+--------+         +-----------+        +----------+         +-----+

Inner IPv6 Packet:

        +-----------+        +-----------+        +-----------+
        |    SIP    |        |    SIP    |        |    SIP    |
        +-----------+        +-----------+        +-----------+
        |END.C(SID1)|        |END.C(SID2)|        |    DIP    |
        +-----------+        +-----------+        +-----------+
        |    DOH    |        |    DOH    |        |    DOH    |
        +-----------+        +-----------+        +-----------+
        |  PAYLOAD  |        |  PAYLOAD  |        |  PAYLOAD  |
        +-----------+        +-----------+        +-----------+
  
  DOH:
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |  Next Header  | Hdr Ext Len   |  Opt  Length  |Opt Data Length|
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                          SAN Header                           |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                  |
  Service Routing Table:          v
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |       SAN ID      |      Gateway      |        Interface      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        ID 1       |      Egress 1     |         Policy 1      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        ID 2       |      Egress 2     |         Policy 2      |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                            ......                             |
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>Suppose the Endpoint behaviour of END.C is configured at Ingress PE and Egress PE,
                namely SID 1 and SID 2 respectively. SID1 and SID2 are advertised in
                the network domain by IGP. The client registers with the management and operation
                system to acquire a SAN ID and encapsulates it in the packet. The initial
                destination is END.C (SID 1) which may be configured in a static routing manner. The
                service addressing procedure from the client to the cloud is described below:</t>
      <ul spacing="normal">
        <li>The Computing SID of Ingress PE (SID1) is configured as DA. The packet
                        carrying the SAN header as the option of the DOH is forwarded to Ingress PE.</li>
        <li>When Ingress PE receives the packet, it identifys that DA is a Computing SID
                        (SID1).
                        As defined in 4.2, the Ingress PE determines the next hop for service
                        routing
                        which
                        is END.C (SID 2) and updates DA. Ingress PE encapsulates an outer IPv6
                        header
                        and
                        continues to forward the packet carrying the DOH.</li>
        <li>When Egress PE receives the packet, it identifys that DA is a Computing SID
                        (SID2).
                        As defined in 4.2, the Egress PE determines the next hop for service routing
                        which
                        is DIP which represents a specific service instance and updates DA. Egress
                        PE
                        further continues to forward the packet carrying the DOH.</li>
        <li>When an intra-cloud LB receives the packet, the packet can be forwarded in a
                        service
                        routing manner or be processed in a native IP way,
                        depending on the practical circumstances.</li>
      </ul>
      <figure>
        <name>Outer Headers Encapsulated between Ingress PE and Egress PE</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[

|<-Client->|<-------------------Network----------------->|<-Cloud->|
+------+     +----------+                   +---------+     +-----+
|Client+-----+Ingress PE+-------------------+Egress PE+-----+ L B |
+------+     +----------+         |         +---------+     +-----+
                          BE:     v      TE:
                      +-----------+  +-----------+
                      |    IIP    |  |    IIP    |
                      +-----------+  +-----------+
                      |    SID    |  |    SID    |
                      +-----------+  +-----------+
                      |    SIP    |  |    SRH    |
                      +-----------+  +-----------+
                      |END.C(SID2)|  |    SIP    |
                      +-----------+  +-----------+
                      |    DOH    |  |END.C(SID2)|
                      +-----------+  +-----------+
                      |  PAYLOAD  |  |    DOH    |
                      +-----------+  +-----------+
                                     |  PAYLOAD  |
                                     +-----------+

                   ]]></artwork>
      </figure>
      <t keepWithPrevious="true"/>
      <t>As shown in Figure 10, between Ingress PE and Egress PE, an outer header including
                SRH
                should be encapsulated when the traffic follows a specific SRv6 TE policy.
                Otherwise, a normal IPv6 header should be encapsulated under a BE condition.</t>
    </section>
    <section numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Security has always been an indispensable and significant consideration for design
                and innovation in the fields of communication and services provisioning. A Computing
                Segment as END.C defined in this draft may be given security semantics and according
                behaviours, including encryption and decryption, etc. Security considerations may be
                studied in the future work.</t>
    </section>
    <section anchor="Acknowledgements" numbered="true" toc="default">
      <name>Acknowledgements</name>
      <t>TBA.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document requires registration of End.C behavior in "SRv6 Endpoint Behaviors"
                sub-registry of "Segment Routing Parameters" registry.</t>
    </section>
  </middle>
  <!--  *****BACK MATTER ***** -->

    <back>
    <references>
      <name>Normative References</name>
      <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <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>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="RFC8200" target="https://www.rfc-editor.org/info/rfc8200" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8200.xml">
        <front>
          <title>Internet Protocol, Version 6 (IPv6) Specification</title>
          <author fullname="S. Deering" initials="S." surname="Deering"/>
          <author fullname="R. Hinden" initials="R." surname="Hinden"/>
          <date month="July" year="2017"/>
          <abstract>
            <t>This document specifies version 6 of the Internet Protocol (IPv6).  It obsoletes RFC 2460.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="86"/>
        <seriesInfo name="RFC" value="8200"/>
        <seriesInfo name="DOI" value="10.17487/RFC8200"/>
      </reference>
      <reference anchor="RFC8754" target="https://www.rfc-editor.org/info/rfc8754" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8754.xml">
        <front>
          <title>IPv6 Segment Routing Header (SRH)</title>
          <author fullname="C. Filsfils" initials="C." role="editor" surname="Filsfils"/>
          <author fullname="D. Dukes" initials="D." role="editor" surname="Dukes"/>
          <author fullname="S. Previdi" initials="S." surname="Previdi"/>
          <author fullname="J. Leddy" initials="J." surname="Leddy"/>
          <author fullname="S. Matsushima" initials="S." surname="Matsushima"/>
          <author fullname="D. Voyer" initials="D." surname="Voyer"/>
          <date month="March" year="2020"/>
          <abstract>
            <t>Segment Routing can be applied to the IPv6 data plane using a new type of Routing Extension Header called the Segment Routing Header (SRH).  This document describes the SRH and how it is used by nodes that are Segment Routing (SR) capable.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8754"/>
        <seriesInfo name="DOI" value="10.17487/RFC8754"/>
      </reference>
      <reference anchor="I-D.huang-service-aware-network-framework" target="https://datatracker.ietf.org/doc/html/draft-huang-service-aware-network-framework-01" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.huang-service-aware-network-framework.xml">
        <front>
          <title>Service Aware Network Framework</title>
          <author fullname="Daniel Huang" initials="D." surname="Huang">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Bin Tan" initials="B." surname="Tan">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Dong Yang" initials="D." surname="Yang">
            <organization>Beijing Jiaotong University</organization>
          </author>
          <date day="22" month="November" year="2022"/>
          <abstract>
            <t>Cloud has been migrating from concentrated center sites to edge nodes with responsive and agile services to the subscribers. This industry-wide trend would be reasonably expected to continue into the future which would enjoy geographically ubiquitous services. Rather than transmitting service data streams to the stable and limited service locations such as centered cloud sites, routing and forwarding network will have to adapt to the emerging scenarios where the service instances would be highly dynamic and distributed, and further more, demand more fine-grained networking policies than the current routing and forwarding scheme unaware of service SLA requirements. This proposal is to demonstrate a framework under which the above-mentioned requirements would be satisfied.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-huang-service-aware-network-framework-01"/>
      </reference>
      <reference anchor="I-D.ma-intarea-encapsulation-of-san-header" target="https://datatracker.ietf.org/doc/html/draft-ma-intarea-encapsulation-of-san-header-00" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ma-intarea-encapsulation-of-san-header.xml">
        <front>
          <title>Encapsulation of SAN Header</title>
          <author fullname="Liwei Ma" initials="L." surname="Ma">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Detao Zhao" initials="D." surname="Zhao">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Fenlin Zhou" initials="F." surname="Zhou">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Dong Yang" initials="D." surname="Yang">
            <organization>Beijing Jiaotong University</organization>
          </author>
          <date day="23" month="October" year="2022"/>
          <abstract>
            <t>This document proposes the encapsulation of the SAN header in the IPv6 data plane to carry the SAN related information, which could be used to associate the networking and computing resources indexed by SAN ID and route and forward the service traffic accordingly.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ma-intarea-encapsulation-of-san-header-00"/>
      </reference>
      <reference anchor="I-D.ma-intarea-identification-header-of-san" target="https://datatracker.ietf.org/doc/html/draft-ma-intarea-identification-header-of-san-00" xml:base="https://bib.ietf.org/public/rfc/bibxml-ids/reference.I-D.ma-intarea-identification-header-of-san.xml">
        <front>
          <title>Service Identification Header of Service Aware Network</title>
          <author fullname="Liwei Ma" initials="L." surname="Ma">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Fenlin Zhou" initials="F." surname="Zhou">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="lihesong" initials="" surname="lihesong">
            <organization>ZTE Corporation</organization>
          </author>
          <author fullname="Dong Yang" initials="D." surname="Yang">
            <organization>Beijing Jiaotong University</organization>
          </author>
          <date day="23" month="October" year="2022"/>
          <abstract>
            <t>As the cloud and computing migrates to edges further away from the traditional centered cloud, the services residing at the distributed cloud start to be delivered in such a ubiquitous and dynamic way. That it is challenging to the ongoing routing and interconnecting scheme under which host address is the global networking identification. This draft proposes a service identification which is designed to be treated both as a service routable ID and an interface to the service requirements as well as service-associated cloud resources. Service Aware Network header is illustrated and specified.</t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ma-intarea-identification-header-of-san-00"/>
      </reference>
    </references>
  </back>
</rfc>
