<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 3.1.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC4291 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4291.xml">
<!ENTITY RFC5880 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5880.xml">
<!ENTITY RFC5082 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5082.xml">
<!ENTITY I-D.wang-idr-next-next-hop-nodes SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.wang-idr-next-next-hop-nodes.xml">
<!ENTITY I-D.liu-rtgwg-path-aware-remote-protection SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.liu-rtgwg-path-aware-remote-protection.xml">
<!ENTITY I-D.cheng-rtgwg-adaptive-routing-framework SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.cheng-rtgwg-adaptive-routing-framework.xml">
<!ENTITY RFC2328 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2328.xml">
<!ENTITY RFC1195 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1195.xml">
<!ENTITY RFC5340 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5340.xml">
<!ENTITY RFC4203 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4203.xml">
<!ENTITY RFC5307 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5307.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-rtgwg-router-info-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Advertising Router Information">Advertising Router Information</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="K." surname="Wang" fullname="Kevin F. Wang">
      <organization>Juniper Networks</organization>
      <address>
        <email>kfwang@juniper.net</email>
      </address>
    </author>
    <author initials="C." surname="Lin" fullname="Changwang Lin">
      <organization>New H3C Technologies</organization>
      <address>
        <email>linchangwang.04414@h3c.com</email>
      </address>
    </author>
    <author initials="N." surname="Vaidya" fullname="Niranjan Vaidya">
      <organization>Broadcom</organization>
      <address>
        <email>niranjan.vaidya@broadcom.com</email>
      </address>
    </author>
    <author initials="J." surname="Tantsura" fullname="Jeff Tantsura">
      <organization>Nvidia</organization>
      <address>
        <email>jefftant.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="Y." surname="Liu" fullname="Yisong Liu">
      <organization>China Mobile</organization>
      <address>
        <email>liuyisong@chinamobile.com</email>
      </address>
    </author>

    <date year="2025" month="October" day="20"/>

    <area>Routing</area>
    <workgroup>rtgwg</workgroup>
    <keyword>neighbor, congestion, load-balancing</keyword>

    <abstract>


<t>This document specifies a generic mechanism for a router to advertise some
information to its neighbors. One use case of
this mechanism is to advertise link/path information so that a receiving
router can better react to network changes.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t><xref target="I-D.wang-idr-next-next-hop-nodes"/> describes a scenario where better
load-balancing can be achieved in a CLOS network by considering the load
information on the next hop router in addition to considering the local
load information of the path to that next hop router.</t>

<t><xref target="I-D.liu-rtgwg-path-aware-remote-protection"/> describes another scenario
where link up/down information propagated via non-IGP mechanism can help with
faster reroute.</t>

<t><xref target="I-D.cheng-rtgwg-adaptive-routing-framework"/> describes a framework for 
Adaptive Routing which dynamically adjusts routing paths based on changes 
in global network conditions, thereby optimizing network performance and 
resource utilization.</t>

<t>To achieve that, a router needs to advertise some link/path information
independently of IGP. This document specifies a mechanism to do that.
It can also be used to advertise any information.</t>

<t>As described in <xref target="I-D.wang-idr-next-next-hop-nodes"/>, in a CLOS network the
advertisement only needs to be "link-local", i.e., a receiving router does not
need to re-advertise it further and the mechanism in this document does not
consider re-advertisement. In an arbitrary topology, to achieve coordinated
load-balancing the information may need to be advertised further
but that is outside the scope of this document.</t>

<t>In some scenarios, a large amount of information may need to be advertised,
and in some scenarios, the receiving router may not need to be directly
connected.</t>

<t>While an IGP, if used for the CLOS network, may also be used to advertise the
information using link-local flooding scope, it may not be a good fit when
the information needs to be advertised and processed very rapidly not for
routing purposes.</t>

<t>Therefore, UDP is chosen as the transport mechanism. An implementation may
advertise and process the UDP messages in the forwarding path for timely
responses.</t>

<t>This document does not suggest or restrict when and/or how frequently the
information is advertised - it is an operational consideration on how frequent
the advertisements need to be and whether the routers can handle that.</t>

<t>Fragmentation may be used if the delay related to the fragmentation/reassembly
is not a concern. Multiple UDP messages may be used to advertise pieces of
all the information, whether fragmentation is used or not.</t>

<t>This document/revision only specifies the message format. How the information
is maintained and used on the receiving router are outside the scope of this
document/revision but may be added in future revisions.</t>

<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"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

</section>
<section anchor="specification"><name>Specification</name>

<t>The message format is defined as follows:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |        UDP source port        |   UDP destination port TBD1   |
  +-------------------------------+-------------------------------+
  |           UDP length          |          UDP Checksum         |
  +-----------------------------+-+-------------------------------+
  |Version|R|R|R|R|    Flags    |A|
  +---------------+-------------+-+-------------------------------+
  |   Auth Type   |   Auth Len    |           Auth Data ...       ~
  +---------------+---------------+-------------------------------+
  |                       Source Router ID                        |
  +---------------------------------------------------------------+
  |                            Link ID                            |
  +---------------------------------------------------------------+
  |                        (Repeated) TLVs                        ~
  ~                                                               |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The IP destination address in the outer IP header is typically an IPv4
"All Routers on this Subnet" multicast address (referred to as a link-local
multicast address), an IPv6 Node-local All
Routers Address (multicast) <xref target="RFC4291"/>, a non-link/node-local multicast
address, or a local/remote unicast
address discovered by means outside the scope of this document.</t>

<t>The 4-bit Version field is for potential future extensions that cannot
be achieved through additional TLV types. The current version is 0.</t>

<t>The four R-bits are reserved - they MUST be 0 upon transmission and MUST
be ignored upon receiving.</t>

<t>The 1-octet Flags field currently has one A-flag defined. If it is set,
the (Auth Type, Auth Len, Auth Data) tuple immediately follows the Flags
field. If it is not set, the tuple is not present. The details of the
tuple are as specified in <xref target="RFC5880"/> and not repeated here.</t>


<t>When the flooding happens on a local link, the Link ID field identified
the flooding link. The value could be one of the following:</t>

<t><list style="symbols">
  <t>An IPv4 interface address advertised by OSPFv2/ISIS <xref target="RFC2328"/> <xref target="RFC1195"/></t>
  <t>An Interface ID advertised by OSPFv3 <xref target="RFC5340"/>, or by OSPFv2 for an unnumbered interface</t>
  <t>A Link Local Identifier advertised by OSPFv2/ISIS for GMPLS <xref target="RFC4203"/> <xref target="RFC5307"/></t>
</list></t>

<t>In this case, the destination address MUST be a link/node-local multicast
address or a receiver's unicast address on the local link and the TTL MUST be 1.
The source address MUST be the local interface address for a numbered interface,
or a loopback address in case of an unnumbered interface.</t>

<t>If the flooding is to one or more remote receivers, the Link ID MUST be set to
0, the destination address MUST be a remote unicast/multicast address,
the source address MUST be a loopback address, and the TTL MUST be set to
255, following the Generalized TTL Security Mechanism (GTSM) <xref target="RFC5082"/>.</t>

<t>The following TLVs are defined to allow maximum packing.
If additional information needs to be advertised, new TLVs may be defined
without using sub-TLVs to allow efficient encoding of additional information,
or with sub-TLVs to allow flexibility but at the cost of processing complexity.</t>

<section anchor="nbr"><name>Neighbor Path Information</name>

<t>This TLV is used when the path information is at per-neighbor level.</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 1    |               Length          |S| Refresh Rate|
  +-------------------------------+-------------------------------+
  ~                   repeated per-Neighbor Records               |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The Length field is two-octet.
The Value part starts with a one-octet Refresh Rate field, which is
followed by repeated per-Neighbor Records. The number of records
is derived from the Length field.</t>

<t>The Refresh Rate field's leftmost bit S denotes the unit of the rate. If it is
set, the rate is in deciseconds (100ms). If it is not set, the rate is in
milliseconds.
If the refresh rate is 0, it means that the information will not be refreshed.
This can be used for one-time notifications when the consequence of loss
is tolerable.</t>

<t>The per-Neighbor record has the following format:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                   Neighbor ID                                 |
  +---------------+-----------------------------------------------+
  | encoded info  |
  +---------------+
]]></artwork></figure>

<t>Neighbor ID: The 4-octet Neighbor ID identifies (the path to) a neighbor that is 
   discovered by means outside the scope of this document. It MAY be a BGP-ID described
   in <xref target="I-D.wang-idr-next-next-hop-nodes"/> or some other identifiers that are
   unique in the domain where the signaling is used. The neighbor can be reached
   via ECMP, e.g., a set of links but the nature is outside the scope of this
   document.</t>

<t>encoded info:  The 1-octet field following the 4-octet Neighbor ID field
   which encodes the information of the path to the neighbor.The following encoded info are defined:</t>

<figure><artwork><![CDATA[
   0 1 2 3 4 5 6 7
  +-+-+-+-+-+-+-+-+
  |R|R|R|U|Quality|
  +---------------+

  where:
        
  U-Flag:  State Flag. If it is set, the path to the neighbor is UP.
     If it is not set, the path to the neighbor is DOWN.

  The three R-bits:  Reserved. They MUST be 0 upon transmission and 
     MUST be ignored upon receiving.

  Quality Level: The 4-bit Quality field is used for path quality.
     The value range is from 0 to 15. 
     The quality level can be customized, with the lower the level, 
     the poorer the path quality. The quality level can be calculated
     based on the current bandwidth and the utilization of the 
     forwarding buffer. Bandwidth and buffer use a certain ratio
     to calculate the quality level. The exact method for 
     calculating the quality level is beyond the scope of this 
     document, but must ensure that the calculation rules are 
     consistent among the routers the information is flooded to/from.

     For instance, a 400G interface can be divided into sixteen 
     quality levels based on bandwidth utilization, with each level
     representing 25G of bandwidth usage. When the Quality level is 0,
     the available bandwidth is up to 25G. When the Quality Level
     is 15, the available bandwidth is up to 400G.
]]></artwork></figure>


</section>
<section anchor="link-information"><name>Link Information</name>

<t>This TLV is used when the information is at per-link level.</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 3    |                   Length      |S| Refresh Rate|
  +---------------+-------------------------------+-+-------------+
  |              repeated per-link Records                        |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The value part is repeated records of the following. The number of records
is derived from the Length field.</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |                        Link ID                                |
  +---------------+-----------------------------------------------+
  | encoded info  |
  +---------------+
]]></artwork></figure>

<t>The Link ID is as described earlier.</t>

<t>encoded info:  The 1-octet field following the 4-octet Link ID field
   which encodes the information of the link. It is encoded exactly
   the same as in the neighbor case.</t>

</section>
<section anchor="aging"><name>Refreshing and Aging</name>

<t>The sender MUST re-advertise the information when there is a change,
and MUST re-fresh previous advertisements at the advertised Refresh Rate
even when there is no change.</t>

<t>The receiver MUST age out the received information if it does not receive
a refresh within a period of three times of the refresh rate. Each time
an advertisement for a neighbor is received, the aging timer is reset
according to the latest Refresh Rate.</t>

<t>The sender MAY adjust the Refresh Rate on its own or based on notification
from a receiver (<xref target="negotiation"/>). For example, if the information does not
change often, a sender may move to a larger (slower) Refresh Rate.</t>

<t>The aging, refreshing and adjustment of the refresh rate are all at the
per-neighbor/link level. Neighbors/links whose Refresh Rates are the same
SHOULD be packed in the same TLV, but MAY be put into different TLVs and
messages due to MTU limitations and/or fragmentation concerns. Neighbors/links
whose Refresh Rates are different MUST be put into different TLVs.</t>

<t>The same information MAY be sent out of different links or
to different set of receivers with different rates.</t>

</section>
<section anchor="negotiation"><name>Refresh Rate Negotiation</name>

<t>A receiver SHOULD send notifications to the sender if it can not keep up with
the sender, using a Notification TLV of Type 4:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 4    |              Length           |     Value     ~
  +---------------+-------------------------------+---------------+
  ~                        (continued) Value                      |
  +---------------------------------------------------------------+
]]></artwork></figure>

<t>The Value part includes sub-TLVs, whose Types share the same space as the
top level TLVs.</t>

<t>When sending a notification to a remote node or from an unnumbered interface,
a loopback address MUST be used as the source address.
Otherwise, the local interface address SHOULD be used as the
source address. The destination address MUST be set to the source address
in the received flooding packet for which the notification is.</t>

<t>To notify the sender the desired Refresh Rate for a certain advertisement,
the corresponding TLV (e.g., the Neighbor Path Information TLV) is
included as a sub-TLV, and no per-Neighbor/Link records are included.
The Refresh Rate field along with the S-flag are set to indicate the
desired rate. The Length of the sub-TLV is set accordingly.
Other types of TLVs, e.g., this type-4 "Refresh Rate Notification" TLV
itself, MUST NOT be included as sub-TLVs.</t>

<t>While a typical physical link is point-to-point even in the Ethernet case,
there may be multiple receivers of an advertisement sent out of a link
(e.g., in the case of LAN) or sent to a group of remote receivers via
multicast. If multiple notifications
of Refresh Rate are received for an advertisement, the largest requested
rate MUST be used by the sender.</t>

<t>Consider that a router advertises to a link the information about some
neighbor/link set S1 at rate R1 and the information about some other
neighbor/link set S2 at rate R2 where R1 &lt; R2, i.e., the S2 information
is advertised less frequently. A receiver on the link sends back a
notification with rate R3 where R1 &lt; R3 &lt; R2. Then this router MUST
use R3 as the refresh rate for S1 and R2 as the refresh rate for S2.</t>


</section>
<section anchor="flow-redirection"><name>Flow Redirection</name>

<t>It may be desired for a router to request its upstream to redirect a specific
flow away from it. This is done via Flow Redirection TLV:</t>

<figure><artwork><![CDATA[
   0                   1                   2                   3
   0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  |   (Type) 6/7  |              Length           |S| Refresh Rate|
  +-------------------------------+-------------------------------+
  |    Protocol   |
  +-------------------------------+-------------------------------+
  |           Source Address (4 or 16 octets)                     ~
  +-------------------------------+-------------------------------+
  |           Destination Address (4 or 16 octets)                ~
  +-------------------------------+-------------------------------+
  |          Source Port          |      Destination Port         |         
  +-------------------------------+-------------------------------+
  |                Repeated 5-Tuple Information                   ~
  +-------------------------------+-------------------------------+
]]></artwork></figure>

<t>The Type is 6 for IPv4 flows or 7 for IPv6 flows. The Value field encodes
one or more 5-tuple records that identify flows by (Protocol, Source Address,
Destination Address, Source Port, Destination Port). The number of records
is derived from the Type and Length fields.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>Because the information may be flooded rapidly, potential Denial Of Service
(DOS) attack may happen. In the case of local flooding only, the attack needs
to happen from within the network, and in that case, other attacks may happen
as well and may be worse. In the case of remote flooding, GTSM <xref target="RFC5082"/>
and ingress filtering at the network boundary are used to reduce the risk.
Overall, this is expected to be used in a secure walled-garden network.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests IANA to allocate a UDP port number TBD1 from the
User Ports range of the Service Name and Transport Protocol Port Number
Registry.</t>

<t>This document requests IANA to create a Router Information TLV Type
registry with the following initial allocations:</t>

<figure><artwork><![CDATA[
Value Description                 Reference
===== ===========                 =========
0     Reserved                    This Document
1     Neighbor Path Information   This Document
3     Link Information            This Document
4     Notification                This Document
6     IPv4 Flow Redirection       This Document
7     IPv6 Flow Redirection       This Document
]]></artwork></figure>

<t>The registration procedure is Standards Action for value range 0-127 and
First Come First Served for range 128-255.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors thank Jeffrey Haas and Michal Styszynski for their review,
comments and suggestions to make this document and solution more complete.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC2119;
&RFC8174;
&RFC4291;
&RFC5880;
&RFC5082;


    </references>

    <references title='Informative References'>

&I-D.wang-idr-next-next-hop-nodes;
&I-D.liu-rtgwg-path-aware-remote-protection;
&I-D.cheng-rtgwg-adaptive-routing-framework;
&RFC2328;
&RFC1195;
&RFC5340;
&RFC4203;
&RFC5307;


    </references>



  </back>

<!-- ##markdown-source:
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
/69JHj6hVQAA

-->

</rfc>

