<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="info"
     docName="draft-li-rtgwg-gip6-protocol-ext-requirements-02"
     ipr="trust200902">
  <front>
    <title abbrev="Protocol Extension Requirements of GIP6">Protocol Extension
    Requirements of Generalized IPv6 Tunnel</title>

    <author fullname="Xinxin Yi" initials="X." surname="Yi">
      <organization>China Unicom</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing,100048</city>

          <country>China</country>
        </postal>

        <email>yixx3@chinaunicom.cn</email>
      </address>
    </author>

    <author fullname=" Zhenbin Li" initials="Z." surname="Li">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>156 Beiqing Road</street>

          <city>Beijing,100095</city>

          <country>China</country>
        </postal>

        <email>lizhenbin@huawei.com</email>
      </address>
    </author>

    <author fullname="Tianran Zhou" initials="T." surname="Zhou">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>156 Beiqing Road</street>

          <city>Beijing,100095</city>

          <country>China</country>
        </postal>

        <email>zhoutianran@huawei.com</email>
      </address>
    </author>

    <author fullname="Shuping Peng" initials="S." surname="Peng">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>156 Beiqing Road</street>

          <city>Beijing,100095</city>

          <country>China</country>
        </postal>

        <email>pengshuping@huawei.com</email>
      </address>
    </author>

    <author fullname="Qiangzhou Gao" initials="Q." surname="Gao">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>156 Beiqing Road</street>

          <city>Beijing,100095</city>

          <country>China</country>
        </postal>

        <email>gaoqiangzhou@huawei.com</email>
      </address>
    </author>

    <author fullname="Bing Liu" initials="B." surname="Liu">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>156 Beiqing Road</street>

          <city>Beijing,100095</city>

          <country>China</country>
        </postal>

        <email>leo.liubing@huawei.com</email>
      </address>
    </author>

    <date day="21" month="October" year="2024"/>

    <abstract>
      <t>IPv6 provides extension header mechanism for additional functions.
      There are emerging features based on the extension headers, such as
      SRv6, Slicing, Alternate Marking, IOAM, DetNet, APN. However network
      devices have different capabilities of IPv6 extension header processing
      which has much effect on the deployment of these features. This document
      analyses the issues found during the deployment of the above new
      features using IPv6 extension headers and the protocol extension
      requirements for IPv6 capability advertisement are defined.</t>
    </abstract>

    <note title="Requirements Language">
      <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">RFC 2119</xref>.</t>
    </note>
  </front>

  <middle>
    <section title="Introduction">
      <t>IPv6 provides extension header mechanism for additional functions.
      There are emerging features based on the extension headers, such as
      SRv6, Slicing, Alternate Marking, IOAM, DetNet and APN. <xref
      target="I-D.li-rtgwg-generalized-ipv6-tunnel">GIP6</xref> defines the
      generalized IPv6 tunnel to unify the IP tunnels to support the new
      features. However, when deploying GIP6 in existing networks, network
      devices have different capabilities of IPv6 extension header processing,
      which has much effect on the deployment of these features, even causes
      the packet loss. In order to solve the issues, the capabilities of IPv6
      extension header process can be advertised among network devices and
      reported from network devices to the controller. Based on these IPv6
      capability information, the new features can be deployed properly.</t>

      <t>This document analyses the issues found during the deployment of the
      above new features using IPv6 extension headers and the protocol
      extension requirements for IPv6 capability advertisement are
      defined.</t>
    </section>

    <section title="Terminology">
      <t>APN: Application-aware Networking</t>

      <t>IPv4: Internet Protocol version 4</t>

      <t>IPv6: Internet Protocol version 6</t>

      <t>IOAM: In-situ Operations, Administration, and Maintenance</t>

      <t>SRv6: Segment Routing over IPv6</t>
    </section>

    <section title="Problem Statement">
      <t/>

      <t>1) Protocol Scalability</t>

      <t>Currently many new features are emerging and the corresponding
      encapsulations over the IPv6 are defined:</t>

      <t>- <xref target="RFC8704"/> defines IPv6 encapsulation for SRv6
      network programming.</t>

      <t>- <xref target="I-D.ietf-6man-ipv6-alt-mark"/> defines IPv6
      encapsulation for Alternate Marking.</t>

      <t>- <xref target="I-D.ietf-ippm-ioam-ipv6-options"/> defines IPv6
      encapsulation for IOAM.</t>

      <t>- <xref target="I-D.ietf-6man-enhanced-vpn-vtn-id"/> defines the IPv6
      encapsulation used to determine resource isolation.</t>

      <t>- <xref target="I-D.yzz-detnet-enhanced-data-plane"/>defines the IPv6
      encapsulation for implementing bounded latency.</t>

      <t>- <xref target="I-D.li-apn-ipv6-encap"/> defines the IPv6
      encapsulation of an APN.</t>

      <t>There features uses the IPv6 extension headers including HbH
      (Hop-by-Hop Options Header), DoH (Destination Options Header) and SRH
      (Segment Routing Header).</t>

      <t>In the process of deployment of these new features, because network
      devices have different capabilities of IPv6 extension header processing,
      the following issues are identified:</t>

      <t>- Some legacy network devices can only process IPv6 extension header
      (Hop-by-Hop Options Header) on slow path, which has negative impact on
      the routing jobs on the control plane. So in existing networks, packet
      with IPv6 extension headers are usually blocked by ACL. This will cause
      the packet loss on these network devices if the packet encapsulated with
      GIP6 tunnel and the HbH is used for the new features.</t>

      <t>- Network devices can only support some of the extension headers used
      for the new features. If the packet encapsulated with GIP6 tunnel and
      specific types of IPv6 extension headers used cannot be supported by
      these network devices, new features cannot be guaranteed along the
      path.</t>

      <t>- Network devices can only process limited number of options in an
      IPv6 extension header (including HbH and DoH). So when multiple options
      coexists to support different new features in the IPv6 extension header
      of the GIP6 tunnel, those devices may drop the packet.</t>

      <t>2) Gaps of new scenarios</t>

      <t>a. Loss of End-to-End information:</t>

      <t>Users such as enterprises or hospitals may have demand for data
      sharing and circulation, but these data often involve sensitive
      information. Therefore, it is necessary to use a network identification
      technology to classify and identify the sensitivity level of data, and
      this ID can be encapsulated into IPv6 header. Therefore, the circulation
      scope of sensitive data can be controlled and a credible network path
      can be ensured throughout the entire process. Besides, when the data
      reaches the receiver, the receiver can also determine whether the data
      is credible and whether it can be received based on the ID.</t>

      <t hangText="">In this scenario, there are two situations: </t>

      <t hangText="">- Data transmission between cross city user. In this
      situation, the tunnel encapsulation methods may be different in
      different metropolitan area networks, and the methods for metropolitan
      area networks and backbone networks may also differ. 2. User data
      entering the cloud. Clouds are generally connected to backbone networks,
      the methods for metropolitan area networks and backbone networks may be
      different.</t>

      <t hangText="">- User data entering the cloud. Clouds are generally
      connected to backbone networks, the methods for metropolitan area
      networks and backbone networks may be different.</t>

      <t hangText="">The differentiated tunnel encapsulation methods may
      result in the loss of the encapsulated ID on the packet. For example,
      when packets enter MPLS tunnels from IPv6 domain, information
      encapsulated in IPv6 header is lost. As a result, the credibility and
      controllability of data circulation service cannot be guaranteed.</t>

      <t hangText="">b. Limited header space (TBD)</t>

      <t/>
    </section>

    <section title="Requirements">
      <t>To solve the above issues, there are requirements for protocol
      extensions to advertise the capability of IPv6 extension header
      processing so as to identify the unavailable nodes and facilitate the
      deployment of new features successfully.</t>

      <section title="Capability Advertisement">
        <t>There are two different ways. One is to advertise the capability
        among network devices. So that a network device can find the right
        next hop with IPv6 extension header processing capabilities. In this
        case, IGP or BGP-SPF extensions are required for the information
        distribution. The other way is to report the IPv6 capabilities from
        network nodes to a controller. So that the network controller can
        calculate the right path comprised with available nodes. In this case,
        BGP-LS or NETCONF/YANG are considered for the extensions.</t>
      </section>

      <section title="Inter-Domain Operation">
        <t>A path may be across multiple network domains. The ingress node of
        the GIP6 tunnel need to know if all the nodes along the path can
        process the IPv6 extension headers properly. In this case, the
        capability of IPv6 extension header processing need to be distributed
        among multiple domains. BGP can be extended to advertise the IPv6
        capability information from the egress node to the ingress node. If
        there is a controller collecting IPv6 capability information from
        multiple domains, PCEP or BGP can be extended and used by the
        controller to deliver information to the ingress node about the right
        path along which network nodes can process the IPv6 extension header
        properly.</t>
      </section>

      <section title="Capabilities about IPv6 Extension Header">
        <t>Network devices need to advertise its capability information about
        what IPv6 extension header can be supported. These capabilities may
        include:</t>

        <t><list style="symbols">
            <t>Supporting Hop by Hop options header (HbH) or not.</t>

            <t>Fast path or slow path processing of HbH.</t>

            <t>Supporting Segment Routing Header (SRH) or not.</t>

            <t>Supporting Destination Options header (DoH) or not.</t>

            <t>Capabilities about coexistence of multiple extension headers,
            for example, the combination of HbH and Authentication Header
            (AH).</t>

            <t>The maximum length of each IPv6 extension header</t>

            <t>The maximum total length of IPv6 extension headers</t>
          </list></t>
      </section>

      <section title="Capability about Options of IPv6 Extension Header">
        <t>Network devices need to advertise its capability information about
        process options in the IPv6 extension headers. These capabilities may
        include:</t>

        <t><list style="symbols">
            <t>The maximum number of options supported in the HbH</t>

            <t>The maximum number of options supported in the DoH</t>

            <t>Supporting SRH TLV or not and the maximum number of TLVs
            supported in the SRH</t>

            <t>The maximum number of segments in the SRH</t>
          </list></t>
      </section>

      <section title="Capability about Specific Features">
        <t>In addition to the common capabilities described above, network
        devices may support some specific features only. These capabilities
        may include:</t>

        <t><list style="symbols">
            <t>Slicing: the NRP option can be supported or not. If support,
            the NRP option can be placed in HbH and/or DoH.</t>

            <t>Alternate Marking: the Alternate Marking option can be
            supported or not. If support, the Alternate Marking option can be
            placed in HbH and/or DoH.</t>

            <t>IOAM: the IOAM option can be supported or not. If support, the
            IOAM option can be placed in HbH and/or DoH.</t>

            <t>APN: the APN option can be supported or not. If support, the
            APN option can be placed in HbH, DoH and/or SRH TLV.</t>

            <t>DetNet: the <xref
            target="I-D.yzz-detnet-enhanced-data-plane">BLI option</xref> can
            be supported or not. If support, the BLI option can be placed in
            HbH and/or DoH.</t>
          </list></t>
      </section>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>This document makes no request of IANA.</t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>TBD</t>
    </section>
  </middle>

  <back>
    <references title="Normative References">
      <?rfc include="reference.RFC.2119"?>

      <?rfc include="reference.RFC.8704"?>

      <?rfc include="reference.I-D.ietf-6man-enhanced-vpn-vtn-id"?>

      <?rfc include="reference.I-D.ietf-6man-ipv6-alt-mark"?>

      <?rfc include="reference.I-D.ietf-ippm-ioam-ipv6-options"?>

      <?rfc include="reference.I-D.yzz-detnet-enhanced-data-plane"?>

      <?rfc include="reference.I-D.li-apn-ipv6-encap"?>

      <?rfc include="reference.I-D.li-rtgwg-generalized-ipv6-tunnel"?>
    </references>
  </back>
</rfc>
