<?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 RFC4604 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4604.xml">
<!ENTITY I-D.ietf-bier-php SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bier-php.xml">
<!ENTITY I-D.ietf-bier-prefix-redistribute SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-bier-prefix-redistribute.xml">
<!ENTITY RFC9279 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9279.xml">
<!ENTITY RFC8296 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8296.xml">
]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bier-optimized-use-in-aidc-00" category="std" consensus="true" updates="4604" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Optimized Use of BIER in AIDC">Optimized Use of BIER in AIML Data Centers</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="X." surname="Xu" fullname="Xiaohu Xu">
      <organization>China Mobile</organization>
      <address>
        <email>xuxiaohu_ietf@hotmail.com</email>
      </address>
    </author>
    <author initials="Z." surname="Zhang" fullname="Zheng Zhang">
      <organization>ZTE</organization>
      <address>
        <email>zhang.zhen@zte.com.cn</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="A." surname="Mahale" fullname="Aditya Mahale">
      <organization>Cerebras</organization>
      <address>
        <email>aditya.ietf@gmail.com</email>
      </address>
    </author>

    <date year="2025" month="October" day="20"/>

    <area>Routing</area>
    <workgroup>BIER</workgroup>
    <keyword>AIDC, BIER, PHP, IGMP, MLD</keyword>

    <abstract>


<t>Use of multicast in AI Data Centers (AIDC) is getting attention for efficient
large-scale distribution of the same data to many receivers, given the collectives
like All2All and AllReduce. Emerging technologies like In Network Compute(INC) can
also benefit from using in-network-distribution of the packets by offloading the
distribution of the flows to the network. Given the bursty
nature of short-lived all2all flows, BIER is a very good multicast technology for
AIDC because it does not need the per-establishment of the multicast tree states.
This document discusses further
optimization of BIER use in AIDC or similar deployment scenarios, and updates
RFC4604 by specifying an IGMP/MLD extension for sources to report receiver
information to the First Hop Routers. The extension can be useful and is only needed
when the source cannot impose the BIER encapsulation.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>Use of multicast in AI Data Centers (AIDC) is getting attention for efficient
large-scale distribution of the same data to many receivers. Given the bursty
nature of short-lived all2all flows, BIER is a very good multicast technology
here because it does not need per-establishment of the multicast-tree states.</t>

<t>This document first discusses the typical way of using BIER in general
networks, then discusses some optimizations applicable in this AIDC scenario
(or any scenario with similar properties), and specifies an IGMP/MLD
<xref target="RFC4604"/> extension that facilitates the optimization.</t>

<section anchor="typical-use-of-multicast-with-bier"><name>Typical Use of Multicast with BIER</name>

<t>Typically, a multicast source selects an IP multicast group address for a certain
data flow and advertises the group address. The receivers typically are not
chosen by the source but rather decide themselves if they want to join the
group. If yes, they send IGMP/MLD membership reports
to the Last Hop Routers (LHRs), who in turn send PIM join messages towards
the source, establishing a multicast tree along the way.</t>

<t>BIER can serve as the underlay for (part of) the IP multicast trees (the
overlay). Instead of establishing the entire IP multicast tree hop-by-hop
across the BIER domain, the BIER Forwarding Egress Router (BFER) sends BIER
Flow Overlay Signaling messages to the BIER Forwarding Ingress Router (BFIR)
based on their IGMP/MLD/PIM states to indicate that they need to receive
certain IP multicast (overlay on top of the BIER underlay). The BFIR then
encapsulates incoming IP multicast traffic with a BIER header, in which the
BitString is based on the flow overlay signaling (which could be MVPN
via BGP, or PIM/IGMP/MLD through BIER itself, or controller-provisioned
on the host).</t>

</section>
<section anchor="optimizations-and-deployment-considerations"><name>Optimizations and Deployment Considerations</name>

<t>In the AI DC scenario, typically the source chooses the receivers for
multicast flows (e.g., a token to be forwarded to a group of experts).
Therefore, the above typical use of BIER can be optimized.</t>

<t>Instead of having the receivers discover the groups and join via IGMP/MLD
and flow overlay signaling,
the sources and receivers become BFIRs/BFERs in the control plane, and are
assigned with BFR-IDs. However, they do not have to be involved in the BIER signaling or
encapsulation/decapsulation - the LHR performs Penultimate Hop Popping
<xref target="I-D.ietf-bier-php"/>, and the source notifies the FHR of the receiver
identities via a new IGMP/MLD message, referred to as Receiver Proxy Report,
so that the FHR knows what BitString it needs to use when it puts on the BIER
header. Note that existing IGMP/MLD Membership Report are used for receivers
to notify the LHRs that there are receivers on an interface, while the
new Receiver Proxy Report are used for sources to notify the FHRs which
receivers need to receive the traffic.</t>

<t>Note that if the sources/receivers can handle BIER encapsulation/decapsulation,
then PHP or the IGMP/MLD extension for notifying the FHR of the receivers
(so that the FHR can impose the BIER encapsulation)
is not needed. The rest of this document focuses on the case where the
source/receivers are not capable of BIER encapsulation/decapsulation.</t>

<t>Because the LHR knows exactly which receivers need to receive the traffic
(because of the BitString), a single common multicast group address can be
used, e.g., the well-known all-host multicast address 224.0.0.2,
so that a receiver only
needs to prepare to receive packets addressed to that single multicast group
address (e.g., setting up its NIC to accept Ethernet frames with a
multicast MAC address corresponding to the IP group address and deliver up
the stack), no matter how many flows (of different sets of receivers)
it may need to receive.</t>

<t>The source does need to choose a different group address for different flows
though, so that the FHR knows what BitString to use. When the FHR receives
an IGMP/MLD Receiver Proxy Report for a &lt;source, group&gt;, it sets up
forwarding state for the &lt;source, group&gt; with the following forwarding
behaviors:</t>

<t><list style="symbols">
  <t>Replace the destination address with the common address</t>
  <t>Encapsulate the traffic with a BIER header with a BitString corresponding
to the reported receivers and forward the BIER packets</t>
</list></t>

<t>It is expected that the source will choose receivers in clusters (i.e., with
the BFR-IDs in close proximity) so that they can fit into as few "BIER Sets"
as possible and as few replications as possible are performed.</t>

<t>Note that this optimization is applicable to any deployment scenario where
sources know the receivers inherently (w/o relying on the flow overlay
signaling) - not just in the AIML DC.</t>


</section>
</section>
<section anchor="spec"><name>Specification</name>

<section anchor="advertising-bfr-ids"><name>Advertising BFR-IDs</name>

<t>While the sources/receivers are considered BFIRs/BFERs with assigned BFR-IDs,
they do not participate in BIER signaling or forwarding. Their BFR-IDs MUST
be advertised by the routers connected to them (the FHRs/LHRs) in the
BIER proxy range sub-TLV <xref target="I-D.ietf-bier-prefix-redistribute"/>.</t>

</section>
<section anchor="igmpmld-receiver-proxy-report"><name>IGMP/MLD Receiver Proxy Report</name>

<t>The Receiver Proxy Report is a new IGMP/MLD message with type TBD and 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
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |  Type = TBD   |   Reserved    |           Checksum            |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |E|   Reserved          |  BSL  |# of BitStrings|# of Receivers |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                Group Address (4/16 octets)                    |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                Source Address (4/16 octets)                   |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 |                        Receiver 1                             |
 ~                           ...                                 ~
 |                        Receiver M                             |
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ~                     BIER BitString   1                        ~
 ~                           ...                                 ~
 ~                     BIER BitString   N                        ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 ~                        Extension                              ~
 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

<t><list style="symbols">
  <t>E-bit and Extension: for extensions, as specified in <xref target="RFC9279"/>.</t>
  <t>Group Address: The group address selected by the sender.</t>
  <t>Source Address: The sender's address.</t>
  <t># of Receivers: number of IPv4/IPv6 addresses. Could be 0.</t>
  <t># of BitStrings: number of BIER BitStrings. Could be 0.</t>
  <t>BSL: BIER BitStringLength, encoded as specified in <xref target="RFC8296"/>.
Significant only if the number of BitString is non-zero.</t>
  <t>BIER BitString: the receivers encoded in a BIER BitString.</t>
</list></t>

<t>The receivers are encoded either as IP addresses or in BitStrings.
The Number of Receivers and Number of BitStrings MUST NOT be non-zero
at the same time.</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>To be added.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document requests IANA to allocate ... To be added.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

</section>


  </middle>

  <back>


    <references title='Normative References'>

&RFC4604;
&I-D.ietf-bier-php;
&I-D.ietf-bier-prefix-redistribute;
&RFC9279;
&RFC8296;


    </references>




  </back>

<!-- ##markdown-source:
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

-->

</rfc>

