<?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="std" docName="draft-dong-lsr-load-balancing-alternate-00"
     ipr="trust200902">
  <front>
    <title abbrev="IS-IS Extensions for LBA">IS-IS Extensions for Load
    Balancing Alternates</title>

    <author fullname="Jie Dong" initials="J." surname="Dong">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

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

        <email>jie.dong@huawei.com</email>
      </address>
    </author>

    <author fullname="Xuesong Geng" initials="X." surname="Geng">
      <organization>Huawei Technologies</organization>

      <address>
        <postal>
          <street>Huawei Campus, No. 156 Beiqing Rd.</street>

          <city>Beijing</city>

          <code>100095</code>

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

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

    <author fullname="Yunke Chen" initials="Y." surname="Chen">
      <organization>CAICT</organization>

      <address>
        <postal>
          <street/>

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

        <email>chenyunke@caict.ac.cn</email>
      </address>
    </author>

    <author fullname="Jie Xu" initials="J." surname="Xu">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

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

        <email>xujie@sc.chinamobile.com</email>
      </address>
    </author>

    <author fullname="Geng Zhang" initials="G." surname="Zhang">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

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

        <email>zhanggeng@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Shunxing Yang" initials="S." surname="Yang">
      <organization>China Telecom</organization>

      <address>
        <postal>
          <street/>

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

        <email>yangsx@chinatelecom.cn</email>
      </address>
    </author>

    <date day="03" month="March" year="2025"/>

    <abstract>
      <t>IGP normally computes the shortest paths in the network based on the
      IGP metric, without taking the link utilization into consideration. In
      network scenarios where there is link degradation or failure which
      causes link throughput reduction, or the volume of specific traffic
      flows increase dramatically, congestion can happen if only the best path
      is used for forwarding. This document describes IS-IS extensions for the
      computation of alternate traffic engineering paths which can be used for
      traffic load balancing when the shortest path is becoming congested.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>Intermediate System to Intermediate System (IS-IS) protocol normally
      computes the best paths in the network based on the IGP metric cost. The
      utilization of the network links is not taken into consideration. When
      there is link degradation or failure in the network which causes
      throughput reduction, or the volume of specific traffic flows increase
      dramatically, congestion can happen if only the best path is used for
      forwarding. This document describes IS-IS extensions for the computation
      of alternate paths which can be used for traffic load balancing when the
      shortest path is becoming congested. A new IGP application <xref
      target="RFC8919"/> called "Load Balancing Alternate (LBA)" is introduced
      for the computation of alternate Traffic Engineering (TE) paths, which
      can be used for traffic load balancing when the shortest path is
      becoming congested. The set of link attributes which need to be
      advertised for this new application are also specified.</t>

      <section title="Requirements Language">
        <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
        BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only
        when, they appear in all capitals, as shown here.</t>
      </section>
    </section>

    <section title="Application for Alternate Load Balancing">
      <t>For the computation of alternate load-balancing paths on network
      nodes, a new IGP application called "Load Balancing Alternate (LBA)" is
      introduced in this document, and a set of application-specific link
      attributes can be advertised for LBA.</t>

      <section title="Application Identifier Bit Mask for LBA">
        <t><xref target="RFC8919"/> defines the Application-Specific Link
        Attributes sub-TLV, which can be used to carry application-specific
        link attributes in IS-IS. A new bit "B" in the Standard Application
        Bit Mask (SABM) field is defined for Load Balancing Alternate, as
        shown in the following figure:</t>

        <t><figure>
            <artwork><![CDATA[          0 1 2 3 4 5 6 7 ...
         +-+-+-+-+-+-+-+-+...
         |R|S|F|X|B|         ...
         +-+-+-+-+-+-+-+-+...
]]></artwork>
          </figure></t>

        <t><list style="empty">
            <t>The R, S, F, X bit are defined in <xref target="RFC8919"/> and
            <xref target="RFC9350"/> respectively.</t>

            <t>B-bit: When set, it indicates the application is Load-balancing
            Alternate.</t>
          </list></t>

        <t/>
      </section>

      <section title="Application-Specific Link Attributes Sub-TLV for LBA">
        <t>The Application-Specific Link Attributes sub-TLV as specified in
        <xref target="RFC8919"/> is used to carry the link attributes which
        are used for the computation of load balancing alternates. When the B
        bit in the Application Identifier Bit Mask is set, the Unidirectional
        Utilized Bandwidth sub-TLV as defined in <xref target="RFC8570"/> MUST
        be carried as a sub-TLV under the Application-Specific Link Attributes
        (ASLA) sub-TLV. Other types of link attributes may also be advertised
        as application-specific for LBA, the details are for further
        study.</t>
      </section>
    </section>

    <section title="Operational Procedures">
      <t>Each network node which supports the LBA application SHOULD
      continuously monitor the bandwidth utilization of its links, and
      advertise the unidirectional utilized bandwidth periodically using the
      Application-Specific Link Attributes sub-TLV, the advertisement interval
      SHOULD be configurable, and the suggested interval is 10 seconds. The
      utilized bandwidth information of all the network links collected from
      ASLA advertisement will be used as the input for the computation of load
      balancing alternate paths.</t>

      <t>According to the operators' policy, the computation of Load Balancing
      Alternate paths can be enabled on specific network nodes. On network
      nodes where LBA is enabled, when the bandwidth utilization on a specific
      local link exceeds the pre-configured threshold (Threshold 1), the node
      SHOULD triggers the computation of load balancing alternate TE paths for
      the destinations whose next-hop of the shortest path points to this
      link. The collected link bandwidth utilization information SHOULD be
      taken into consideration in the computation. Multiple LBA paths may be
      computed for the same destination. The bandwidth utilization of the
      links on the load balancing alternate paths SHOULD meet some criteria so
      that themselves will not become congested when a portion of the traffic
      are switched from the shortest paths to the LBA paths. The LBA paths may
      or may not be loop-free. If an LBA path is not a loop-free alternate,
      some mechanism for explicit path forwarding, such as segment routing
      traffic engineering (SR-TE) MUST be used to ensure there is no
      forwarding loop.</t>

      <t>When the bandwidth utilization on the link continues increasing and
      exceeds the second pre-configured threshold (Threshold 2), the network
      node SHOULD steer a portion of the traffic from the shortest paths to
      the LBA paths. If there are multiple LBA paths, the traffic load can be
      distributed among these paths according to the bandwidth utilization of
      the LBA paths. The detailed load distribution mechanism is
      implementation specific.</t>

      <t>Section 4.2.3 of <xref target="RFC8919"/> gives the considerations
      for the advertisement of extended TE metrics as defined in <xref
      target="RFC8570"/>, and suggests that the advertisement for these
      attributes is associated with all of the applications utilizing the
      link. While for the computation of load-balancing alternate paths, the
      interval of the attributes advertisement can be much shorter than the
      interval required by other applications. To avoid unexpected churn
      introduced to other applications, it is RECOMMENDED to advertise the
      attributes for LBA independently.</t>
    </section>

    <section anchor="IANA" title="IANA Considerations">
      <t>IANA is requested to assign a new code point from the "Link Attribute
      Application Identifiers" Registry.</t>

      <t><figure>
          <artwork><![CDATA[+---------+------------------------------+
|  Bit #  |   Description                |
+---------+------------------------------+
|   TBA   | Load balancing alternate (B) | 
+---------+------------------------------+]]></artwork>
        </figure></t>
    </section>

    <section anchor="Security" title="Security Considerations">
      <t>Procedures and protocol extensions defined in this document do not
      affect the security model of IS-IS. The security considerations in <xref
      target="RFC8570"/> and <xref target="RFC8919"/> apply to this
      document.</t>
    </section>

    <section anchor="Acknowledgements" title="Acknowledgements">
      <t>The authors would like to thank Mengkai Zhao and Jieyu Liang for
      their review and suggestions.</t>
    </section>
  </middle>

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

      <?rfc include='reference.RFC.8174'?>

      <?rfc include='reference.RFC.8919'?>

      <?rfc include='reference.RFC.8570'?>
    </references>

    <references title="Informative References">
      <?rfc include='reference.RFC.9350'?>
    </references>
  </back>
</rfc>
