<?xml version="1.0" encoding="us-ascii"?>
  <?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;">

]>

<?rfc comments="yes"?>

<rfc ipr="trust200902" docName="draft-zzhang-bier-anycast-00" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BIER-anycast">BIER with Anycast</title>

    <author initials="Z." surname="Zhang" fullname="Zhaohui (Jeffrey) Zhang">
      <organization>Juniper Networks</organization>
      <address>
        <email>zzhang@juniper.net</email>
      </address>
    </author>
    <author initials="I." surname="Wijnands" fullname="IJsbrand Wijnands">
      <organization>Arrcus</organization>
      <address>
        <email>ice@braindump.be</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="M." surname="Mishra" fullname="Mankamana Mishra">
      <organization>Cisco Systems</organization>
      <address>
        <email>mankamis@cisco.com</email>
      </address>
    </author>
    <author initials="H." surname="Chen" fullname="Huaimo Chen">
      <organization>Futurewei</organization>
      <address>
        <email>Huaimo.chen@futurewei.com</email>
      </address>
    </author>

    <date year="2023" month="February" day="08"/>

    <area>Routing</area>
    <workgroup>BIER Working Group</workgroup>
    <keyword>BIER, anycast</keyword>

    <abstract>


<t>BIER architecture currently does not support anycast, in that
each BIER Forwarding Router (BFR) has its own unique BFR-prefix and BFR-ID.
BIER signaling protocols also check if there are duplicate BFR-IDs advertised.
This document discusses and specifies anycast support with BIER. It updates
RFC 8279, RFC 8401 and RFC 8444.</t>



    </abstract>



  </front>

  <middle>


<section anchor="introduction"><name>Introduction</name>

<t>BIER architecture currently does not support anycast, in that
each BIER Forwarding Router (BFR) has its own unique BFR-prefix and BFR-ID.
BIER signaling protocols <xref target="RFC8401"/> <xref target="RFC8444"/> require the checking for,
and logging of duplicate BFR-IDs in advertisements, and require duplicate
BFR-IDs be treated as zero, i.e., those BFRs advertising duplicate BFR-IDs
will not be treated as BIER Forwarding Ingress Routers (BFIR) or BIER
Forwarding Egress Routers (BFER).</t>

<t>However, anycast is widely used in networks and it is desired and feasiable to
support anycast addresses as BFR-prefixes, especially for egress protection
purposes.</t>

<t>In a simple egress protection scenario, a flow overlay node N1 connects to BFER1
and BFER2 that advertise the same anycast BFR-prefix with the same BFR-ID.
For traffic that node N1 needs to receive, a BFIR can set the bit corresponding
to the BFR-ID in the BitString. Either BFER1 or BFER2 will receive the traffic
and deliver to N1 after removing the BIER header. If it is desired for BFER1 to
be the primary while BFER2 to be the backup, then BFER2 can advertise with a
higher cost.</t>

<figure><artwork><![CDATA[
                         +-----+
+----+                   |BFER1|_________+--+
|BFIR|                   +-----+        /|N1|
+----+                   +-----+_______/ +--+
                         |BFER2|
                         +-----+
]]></artwork></figure>

<t>In a more complicated scenario, a flow overlay node N1 may connect to BFER1 and
BFER2, while another node N2 may connect to BFER2 and BFER3. In this case,
BFER1 and BFER2 need to advertise an anycast BFR-prefix1 while BFER2 and BFER3
need to advertise another anycast BFR-prefix2.</t>

<figure><artwork><![CDATA[
                         +-----+
                         |BFER1|_________+--+
                         +-----+        /|N1|
 +----+                  +-----+_______/ +--+
 |BFIR|                  |BFER2|_________+--+
 +----+                  +-----+        /|N2|
                         +-----+_______/ +--+
                         |BFER3|         
                         +-----+
]]></artwork></figure>

<t>In this scenario, BFER2 advertises two anycast BFR-prefixes and two corresponding
BFR-IDs. Its BIFTs will have two entries for decapsulation with local forwarding.
A packet arriving on BFER2 may have both bits set (for the two BFR-IDs
corresponding to the two anycast BFR-prefixes), or two copies of the same
packet may arrive on BFER2 (each with a different bit of the two bits being set).
In both cases, the flow overlay needs to make sure that N1 receives a copy
corresponding to one bit while N2 receives a copy corresponding to the other bit.
Flow overlay procedures that may be used/needed for various protection scenarios
will be specified in a separate document.</t>

<t>Since each unique BFR-prefix needs a unique BFR-ID that takes one bit position
in the BitString, a network designer should minimize the number of anycast
BFR-prefixes. Limiting egress protection to the first scenario where flow
overlay nodes are uniformly connected is recommended.</t>

<t>In both example scenarios above, there is no need for the BFERs to advertise a
non-anycast BFR-prefixes. Of course, there may be scenarios where both anycast
and non-anycast BFR-prefixes are advertised by a BFER.</t>

</section>
<section anchor="specification"><name>Specification</name>

<t>This document updates <xref target="RFC8279"/>, <xref target="RFC8401"/>, <xref target="RFC8444"/>,
<xref target="I-D.ietf-bier-ospfv3-extensions"/>,
<xref target="I-D.ietf-bier-lsr-non-mpls-extensions"/> and
<xref target="I-D.ietf-bier-idr-extensions"/> to allow BFERs advertise anycast addresses as BFR-prefixes.</t>

<t>When a BIER signaling protocol checks for and logs duplicated BFR-IDs in
routing advertisements, only the same BFR-ID advertised with different
BFR-prefixes is considered as duplicate. The same BFR-prefix MAY be advertised
by different BFRs, but they MUST all advertise the same BFR-ID.</t>

<t>It is RECOMMENDED that only BFERs advertises anycast BFR-prefixes. A transit
BFR (with BFR-ID 0) SHOULD NOT advertise anycast BFR-prefixes, though otherwise
the only consequence is additional useless advertisement.</t>

<t>A BFER MAY advertise one non-anycast BFR-prefix and MAY advertise one or more
anycast BFR-prefixes.
Multiple BFERs MAY advertise the same anycast BFR-prefix. The same anycast
BIER-prefix MUST be advertised with the same non-zero BFR-ID.</t>

<t>Each BFR-prefix in a BIER sub-domain MUST have a unique BFR-ID if it is not zero.</t>

<t>A BFER may be a BFIR at the same time. If a BFIR advertises one or more anycast
BFR-prefixes, it MUST uses the BFD-ID associated with its non-anycast
BFR-prefix in the BIER header that it imposes, unless it is ok to associate
the packet with any of the BFIRs having the same anycast BFR-prefix whose
BFR-ID is used in the BIER header.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document does not introduce any new security concerns besides what has
been discussed in <xref target="RFC8279"/> or what is associated with anycast.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>





<reference anchor='RFC8401' target='https://www.rfc-editor.org/info/rfc8401'>
<front>
<title>Bit Index Explicit Replication (BIER) Support via IS-IS</title>
<author fullname='L. Ginsberg' initials='L.' role='editor' surname='Ginsberg'><organization/></author>
<author fullname='T. Przygienda' initials='T.' surname='Przygienda'><organization/></author>
<author fullname='S. Aldrin' initials='S.' surname='Aldrin'><organization/></author>
<author fullname='Z. Zhang' initials='Z.' surname='Zhang'><organization/></author>
<date month='June' year='2018'/>
<abstract><t>This document defines IS-IS extensions to support multicast forwarding using the Bit Index Explicit Replication (BIER) architecture.</t></abstract>
</front>
<seriesInfo name='RFC' value='8401'/>
<seriesInfo name='DOI' value='10.17487/RFC8401'/>
</reference>



<reference anchor='RFC8444' target='https://www.rfc-editor.org/info/rfc8444'>
<front>
<title>OSPFv2 Extensions for Bit Index Explicit Replication (BIER)</title>
<author fullname='P. Psenak' initials='P.' role='editor' surname='Psenak'><organization/></author>
<author fullname='N. Kumar' initials='N.' surname='Kumar'><organization/></author>
<author fullname='IJ. Wijnands' initials='IJ.' surname='Wijnands'><organization/></author>
<author fullname='A. Dolganow' initials='A.' surname='Dolganow'><organization/></author>
<author fullname='T. Przygienda' initials='T.' surname='Przygienda'><organization/></author>
<author fullname='J. Zhang' initials='J.' surname='Zhang'><organization/></author>
<author fullname='S. Aldrin' initials='S.' surname='Aldrin'><organization/></author>
<date month='November' year='2018'/>
<abstract><t>Bit Index Explicit Replication (BIER) is an architecture that provides optimal multicast forwarding through a &quot;BIER domain&quot; without requiring intermediate routers to maintain multicast-related, per- flow state.  BIER also does not require an explicit tree-building protocol for its operation.  A multicast data packet enters a BIER domain at a Bit-Forwarding Ingress Router (BFIR) and leaves the BIER domain at one or more Bit-Forwarding Egress Routers (BFERs).  The BFIR adds a BIER packet header to the packet.  The BIER packet header contains a BitString in which each bit represents exactly one BFER to forward the packet to.  The set of BFERs to which the multicast packet needs to be forwarded is expressed by the set of bits in the BIER packet header.</t><t>This document describes the OSPF protocol extension (from RFC 2328) that is required for BIER with MPLS encapsulation (which is defined in RFC 8296).  Support for other encapsulation types and the use of multiple encapsulation types are outside the scope of this document.</t></abstract>
</front>
<seriesInfo name='RFC' value='8444'/>
<seriesInfo name='DOI' value='10.17487/RFC8444'/>
</reference>



<reference anchor='RFC8279' target='https://www.rfc-editor.org/info/rfc8279'>
<front>
<title>Multicast Using Bit Index Explicit Replication (BIER)</title>
<author fullname='IJ. Wijnands' initials='IJ.' role='editor' surname='Wijnands'><organization/></author>
<author fullname='E. Rosen' initials='E.' role='editor' surname='Rosen'><organization/></author>
<author fullname='A. Dolganow' initials='A.' surname='Dolganow'><organization/></author>
<author fullname='T. Przygienda' initials='T.' surname='Przygienda'><organization/></author>
<author fullname='S. Aldrin' initials='S.' surname='Aldrin'><organization/></author>
<date month='November' year='2017'/>
<abstract><t>This document specifies a new architecture for the forwarding of multicast data packets.  It provides optimal forwarding of multicast packets through a &quot;multicast domain&quot;.  However, it does not require a protocol for explicitly building multicast distribution trees, nor does it require intermediate nodes to maintain any per-flow state. This architecture is known as &quot;Bit Index Explicit Replication&quot; (BIER).  When a multicast data packet enters the domain, the ingress router determines the set of egress routers to which the packet needs to be sent.  The ingress router then encapsulates the packet in a BIER header.  The BIER header contains a bit string in which each bit represents exactly one egress router in the domain; to forward the packet to a given set of egress routers, the bits corresponding to those routers are set in the BIER header.  The procedures for forwarding a packet based on its BIER header are specified in this document.  Elimination of the per-flow state and the explicit tree-building protocols results in a considerable simplification.</t></abstract>
</front>
<seriesInfo name='RFC' value='8279'/>
<seriesInfo name='DOI' value='10.17487/RFC8279'/>
</reference>


<reference anchor='I-D.ietf-bier-ospfv3-extensions'>
   <front>
      <title>OSPFv3 Extensions for BIER</title>
      <author fullname='Peter Psenak' initials='P.' surname='Psenak'>
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname='Nagendra Kumar Nainar' initials='N. K.' surname='Nainar'>
         <organization>Cisco Systems, Inc.</organization>
      </author>
      <author fullname='IJsbrand Wijnands' initials='I.' surname='Wijnands'>
         <organization>Individual Contributor</organization>
      </author>
      <date day='1' month='December' year='2022'/>
      <abstract>
	 <t>   Bit Index Explicit Replication (BIER) is an architecture that
   provides multicast forwarding through a &quot;BIER domain&quot; without
   requiring intermediate routers to maintain multicast related per-flow
   state.  BIER architecture uses MPLS or other encapsulation to steer
   the multicast traffic towards the receivers.

   This document describes the OSPFv3 protocol extensions required for
   BIER with MPLS encapsulation.  Support for other encapsulation types
   is outside the scope of this document.  The use of multiple
   encapsulation types is outside the scope of this document.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-bier-ospfv3-extensions-07'/>
   
</reference>


<reference anchor='I-D.ietf-bier-lsr-non-mpls-extensions'>
   <front>
      <title>LSR Extensions for BIER non-MPLS Encapsulation</title>
      <author fullname='Senthil Dhanaraj' initials='S.' surname='Dhanaraj'>
         <organization>Huawei</organization>
      </author>
      <author fullname='Gang Yan' initials='G.' surname='Yan'>
         <organization>Huawei</organization>
      </author>
      <author fullname='IJsbrand Wijnands' initials='I.' surname='Wijnands'>
         <organization>Individual</organization>
      </author>
      <author fullname='Peter Psenak' initials='P.' surname='Psenak'>
         <organization>Cisco Systems</organization>
      </author>
      <author fullname='Zhaohui (Jeffrey) Zhang' initials='Z. J.' surname='Zhang'>
         <organization>Juniper Networks.</organization>
      </author>
      <author fullname='Jingrong Xie' initials='J.' surname='Xie'>
         <organization>Huawei</organization>
      </author>
      <date day='19' month='September' year='2022'/>
      <abstract>
	 <t>   Bit Index Explicit Replication (BIER) is an architecture that
   provides multicast forwarding through a &quot;BIER domain&quot; without
   requiring intermediate routers to maintain multicast related per-flow
   state.  BIER can be supported in MPLS and non-MPLS networks.

   This document specifies the required extensions to the IS-IS, OSPFv2
   and OSPFv3 protocols for supporting BIER in non-MPLS networks using
   BIER non-MPLS encapsulation.

	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-bier-lsr-non-mpls-extensions-01'/>
   
</reference>


<reference anchor='I-D.ietf-bier-idr-extensions'>
   <front>
      <title>BGP Extensions for BIER</title>
      <author fullname='Xiaohu Xu' initials='X.' surname='Xu'>
         <organization>Midea Group</organization>
      </author>
      <author fullname='Mach Chen' initials='M.' surname='Chen'>
         <organization>Huawei</organization>
      </author>
      <author fullname='Keyur Patel' initials='K.' surname='Patel'>
         <organization>Arrcus, Inc.</organization>
      </author>
      <author fullname='IJsbrand Wijnands' initials='I.' surname='Wijnands'>
         <organization>Individual</organization>
      </author>
      <author fullname='Tony Przygienda' initials='T.' surname='Przygienda'>
         <organization>Juniper</organization>
      </author>
      <author fullname='Zhaohui (Jeffrey) Zhang' initials='Z. J.' surname='Zhang'>
         <organization>Juniper</organization>
      </author>
      <date day='11' month='October' year='2022'/>
      <abstract>
	 <t>   Bit Index Explicit Replication (BIER) is a new multicast forwarding
   architecture which doesn&#39;t require an explicit tree-building protocol
   and doesn&#39;t require intermediate routers to maintain any multicast
   state.  BIER is applicable in a multi-tenant data center network
   environment for efficient delivery of Broadcast, Unknown-unicast and
   Multicast (BUM) traffic while eliminating the need for maintaining a
   huge amount of multicast state in the underlay.  This document
   describes BGP extensions for advertising the BIER-specific
   information.


	 </t>
      </abstract>
   </front>
   <seriesInfo name='Internet-Draft' value='draft-ietf-bier-idr-extensions-08'/>
   
</reference>




    </references>




  </back>

<!-- ##markdown-source:
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
L2ZkypDfMSu0FS/RVqijdyn7L8+GA9F0FwAA

-->

</rfc>

