<?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 I-D.dong-fantel-problem-statement SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.dong-fantel-problem-statement.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-05" 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, often at very fast pace.
<xref target="I-D.dong-fantel-problem-statement"/> describes the need for 
   fast notification related solutions to support any high-
   throughput, low-latency and lossless application, and this document
   specifies a mechanism to do that, which 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;
&I-D.dong-fantel-problem-statement;
&RFC2328;
&RFC1195;
&RFC5340;
&RFC4203;
&RFC5307;


    </references>



  </back>

<!-- ##markdown-source:
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
0WrhTTJ5+3o4Njh8jo9qc/8P+YchOHdWAAA=

-->

</rfc>

