Internet Engineering Task Force (IETF)                  L. Ginsberg, Ed.
Request for Comments: 8401                                 Cisco Systems
Category: Standards Track                                  A. Przygienda
ISSN: 2070-1721                                         Juniper Networks
                                                               S. Aldrin
                                                                  Google
                                                                J. Zhang
                                                  Juniper Networks, Inc.
                                                               June 2018


        Bit Index Explicit Replication (BIER) Support via IS-IS

Abstract

   This document defines IS-IS extensions to support multicast
   forwarding using the Bit Index Explicit Replication (BIER)
   architecture.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8401.

Copyright Notice

   Copyright (c) 2018 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.




Ginsberg, et al.             Standards Track                    [Page 1]


RFC 8401                 BIER Support via IS-IS                June 2018


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.1.  Requirements Language . . . . . . . . . . . . . . . . . .   4
   3.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   4.  Concepts  . . . . . . . . . . . . . . . . . . . . . . . . . .   5
     4.1.  BIER Domains and Subdomains . . . . . . . . . . . . . . .   5
     4.2.  Advertising BIER Information  . . . . . . . . . . . . . .   5
   5.  Procedures  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     5.1.  Multi-Topology and Subdomain  . . . . . . . . . . . . . .   5
     5.2.  BFR-id Advertisements . . . . . . . . . . . . . . . . . .   6
     5.3.  Logging Misconfiguration  . . . . . . . . . . . . . . . .   6
     5.4.  Flooding Reduction  . . . . . . . . . . . . . . . . . . .   6
   6.  Packet Formats  . . . . . . . . . . . . . . . . . . . . . . .   7
     6.1.  BIER Info Sub-TLV . . . . . . . . . . . . . . . . . . . .   7
     6.2.  BIER MPLS Encapsulation Sub-sub-TLV . . . . . . . . . . .   8
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  11
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  11
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  12

1.  Introduction

   Bit Index Explicit Replication (BIER) [RFC8279] defines an
   architecture where all intended multicast receivers are encoded as a
   bitmask in the multicast packet header within different
   encapsulations such as described in [RFC8296].  A router that
   receives such a packet will forward the packet based on the bit
   position in the packet header towards the receiver(s) following a
   precomputed tree for each of the bits in the packet.  Each receiver
   is represented by a unique bit in the bitmask.

   This document presents necessary extensions to the currently deployed
   IS-IS for IP [RFC1195] to support distribution of information
   necessary for operation of BIER domains and subdomains.  This
   document defines a new TLV to be advertised by every router
   participating in BIER signaling.

   This document defines support for MPLS encapsulation as specified in
   [RFC8296].  Support for other encapsulation types and the use of
   multiple encapsulation types are outside the scope of this document.







Ginsberg, et al.             Standards Track                    [Page 2]


RFC 8401                 BIER Support via IS-IS                June 2018


2.  Terminology

   Some of the terminology specified in [RFC8279] is replicated here and
   extended by necessary definitions:

   BIER:  Bit Index Explicit Replication.  The overall architecture of
      forwarding multicast using a bit position.

   BIER-OL:  BIER Overlay Signaling.  The method for the BFIR to learn
      about BFERs.

   BFR:  Bit Forwarding Router.  A router that participates in Bit Index
      Multipoint Forwarding.  A BFR is identified by a unique BFR-prefix
      in a BIER domain.

   BFIR:  Bit Forwarding Ingress Router.  The ingress border router that
      inserts the BitString into the packet.  Each BFIR must have a
      valid BFR-id assigned.

   BFER:  Bit Forwarding Egress Router.  A router that participates in
      Bit Index Forwarding as a leaf.  Each BFER must be a BFR.  Each
      BFER must have a valid BFR-id assigned.

   BFT:  Bit Forwarding Tree used to reach all BFERs in a domain.

   BIER subdomain:  A further distinction within a BIER domain
      identified by its unique subdomain identifier.  A BIER subdomain
      can support multiple BitString Lengths.

   BFR-id:  An optional, unique identifier for a BFR within a BIER
      subdomain.

   Invalid BFR-id:  Unassigned BFR-id.  The special value 0 is reserved
      for this purpose.

   BAR:  BIER Algorithm.  Used to calculate underlay next hops.

   IPA:  IGP Algorithm.  May be used to modify, enhance, or replace the
      calculation of underlay paths as defined by the BAR value.

   SPF:  Shortest Path First routing calculation based on the IGP link
      metric.









Ginsberg, et al.             Standards Track                    [Page 3]


RFC 8401                 BIER Support via IS-IS                June 2018


2.1.  Requirements Language

   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 [RFC2119] [RFC8174] when, and only when, they appear in all
   capitals, as shown here.

3.  IANA Considerations

   This document adds the following entry to the "Sub-TLVs for TLVs 135,
   235, 236, and 237" registry.

   Value: 32

   Name: BIER Info

   This document also introduces a new registry for sub-sub-TLVs for the
   BIER Info sub-TLV.  The registration policy is Expert Review as
   defined in [RFC8126].  The "Sub-sub-TLVs for BIER Info Sub-TLV" has
   been created within the "IS-IS TLV Codepoints" registry.  The defined
   value is as follows:

     Type    Name
     ----    ----
     1       BIER MPLS Encapsulation

   IANA has created the "BIER Algorithms" registry within the "Bit Index
   Explicit Replication (BIER)" registry.  The registration policies
   [RFC8126] for this registry are:

      "Standards Action" for values 0-127

      "Specification Required" for values 128-239

      "Experimental Use" for values 240-254

   The initial values in the "BIER Algorithms" registry are:

      0: No BIER-specific algorithm is used

      255: Reserved









Ginsberg, et al.             Standards Track                    [Page 4]


RFC 8401                 BIER Support via IS-IS                June 2018


4.  Concepts

4.1.  BIER Domains and Subdomains

   An IS-IS-signaled BIER domain is aligned with the scope of
   distribution of BFR-prefixes that identify the BFRs within IS-IS.  In
   such a case, IS-IS acts as the supporting BIER underlay.

   Within such a domain, the extensions defined in this document
   advertise BIER information for one or more BIER subdomains.  Each
   subdomain is uniquely identified by a subdomain-id (SD).  Each
   subdomain is associated with a single IS-IS topology (MT) [RFC5120],
   which may be any of the topologies supported by IS-IS.  Local
   configuration controls which <MT,SD> pairs are supported by a router.
   The mapping of subdomains to topologies MUST be consistent within the
   IS-IS flooding domain used to advertise BIER information.

   Each BIER subdomain has as its unique attributes the encapsulation
   used and the type of tree it uses to forward BIER frames (currently
   always SPF).  Additionally, per supported BitString length in the
   subdomain, each router will advertise the necessary label ranges to
   support it.

4.2.  Advertising BIER Information

   BIER information advertisements are associated with a new sub-TLV in
   the extended reachability TLVs.  BIER information is always
   associated with a host prefix, which MUST be a node address for the
   advertising node.  If this is not the case, the advertisement MUST be
   ignored.  Therefore, the following restrictions apply:

   o  Prefix length MUST be 32 for an IPv4 prefix or 128 for an IPv6
      prefix.

   o  When the Prefix Attributes Flags sub-TLV [RFC7794] is present, the
      N flag MUST be set and the R flag MUST NOT be set.

   o  BIER sub-TLVs MUST be included when a prefix reachability
      advertisement is leaked between levels.

5.  Procedures

5.1.  Multi-Topology and Subdomain

   A given subdomain is supported within one and only one topology.  All
   routers in the flooding scope of the BIER sub-TLVs MUST advertise the
   same subdomain within the same multi-topology.  A router receiving an
   <MT,SD> advertisement that does not match the locally configured pair



Ginsberg, et al.             Standards Track                    [Page 5]


RFC 8401                 BIER Support via IS-IS                June 2018


   MUST report a misconfiguration of the received <MT,SD> pair.  All
   received BIER advertisements associated with the conflicting <MT,SD>
   pair MUST be ignored.  Note that in the presence of such a
   misconfiguration, this will lead to partitioning of the subdomain.

   Example:

   The following combination of advertisements are valid: <0,0> <0,1>,
   and <2,2>.

   The following combination of advertisements are invalid: <0,0> <0,1>,
   and <2,0>.  Advertisements associated with <0,0> and <2,0> must be
   ignored.

5.2.  BFR-id Advertisements

   If a BFER/BFIR is configured with a BFR-id, then it advertises this
   value in its BIER advertisements.  If no BFR-id is configured, then
   the value "Invalid BFR-id" is advertised.  A valid BFR-id MUST be
   unique within the flooding scope of the BIER advertisements.  All
   BFERs/BFIRs MUST detect advertisement of duplicate valid BFR-IDs for
   a given <MT,SD>.  When such duplication is detected, all of the
   routers advertising duplicates MUST be treated as if they did not
   advertise a valid BFR-id.  This implies they cannot act as BFER or
   BFIR in that <MT,SD>.

5.3.  Logging Misconfiguration

   Whenever an advertisement is received that violates any of the
   constraints defined in this document, the receiving router MUST
   support logging this occurrence.  Logging SHOULD be dampened to avoid
   excessive output.

5.4.  Flooding Reduction

   It is expected that changes in the BIER domain information that is
   advertised by IS-IS occur infrequently.  If this expectation is not
   met for an extended period of time (more than a few seconds of
   burstiness), changes will increase the number of Link State PDU (LSP)
   updates and negatively impact performance in the network.
   Implementations SHOULD protect against this possibility by, for
   example, dampening updates if they occur over an extended period of
   time.








Ginsberg, et al.             Standards Track                    [Page 6]


RFC 8401                 BIER Support via IS-IS                June 2018


6.  Packet Formats

   All IS-IS BIER information is carried within the TLVs 235, 237,
   [RFC5120], 135 [RFC5305], or 236 [RFC5308].

6.1.  BIER Info Sub-TLV

   This sub-TLV carries the information for the BIER subdomains that the
   router participates in as a BFR.  This sub-TLV MAY appear multiple
   times in a given prefix-reachability TLV -- once for each subdomain
   supported in the associated topology.

   The sub-TLV advertises a single <MT,SD> combination followed by
   optional sub-sub-TLVs as described in the following sections.

        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       |   Length      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   BAR         |    IPA        | subdomain-id  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     BFR-id                    |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  sub-sub-TLVs (variable)                                      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:  As indicated in the IANA section.

   Length:  Variable

   BAR:  BIER Algorithm.  Specifies a BIER-specific algorithm used to
      calculate underlay paths to reach BFERs.  Values are allocated
      from the "BIER Algorithms" registry. 1 octet.

   IPA:  IGP Algorithm.  Specifies an IGP Algorithm to either modify,
      enhance, or replace the calculation of underlay paths to reach
      BFERs as defined by the BAR value.  Values are from the IGP
      Algorithm registry. 1 octet.

   subdomain-id:  Unique value identifying the BIER subdomain. 1 octet.

   BFR-id:  A 2-octet field encoding the BFR-id, as documented in
      [RFC8279].  If no BFR-id has been assigned, the value of this
      field is set to "Invalid BFR-id", which is defined as illegal in
      [RFC8279].





Ginsberg, et al.             Standards Track                    [Page 7]


RFC 8401                 BIER Support via IS-IS                June 2018


   The use of non-zero values in either the BAR field or the IPA field
   is outside the scope of this document.  If an implementation does not
   support the use of non-zero values in these fields but receives a
   BIER Info sub-TLV containing non-zero values in these fields, it
   SHOULD treat the advertising router as incapable of supporting BIER
   (one way of handling incapable routers is documented in Section 6.9
   of [RFC8279] and additional methods may be defined in the future).

6.2.  BIER MPLS Encapsulation Sub-sub-TLV

   This sub-sub-TLV carries the information for the BIER MPLS
   encapsulation including the label range for a specific BitString
   length for a certain <MT,SD>.  It is advertised within the BIER Info
   sub-TLV (Section 6.1).  This sub-sub-TLV MAY appear multiple times
   within a single BIER Info sub-TLV.

   If the same BitString length is repeated in multiple sub-sub-TLVs
   inside the same BIER Info sub-TLV, the BIER Info sub-TLV MUST be
   ignored.

   Label ranges within all BIER MPLS Encapsulation sub-sub-TLVs across
   all BIER Info sub-TLVs advertised by the same BFR MUST NOT overlap.
   If overlap is detected, the advertising router MUST be treated as if
   it did not advertise any BIER sub-TLVs.

   Label values MUST NOT match any of the reserved values defined in
   [RFC3032].

        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       |   Length      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |   Max SI      |BS Len |                    Label              |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

   Type:  Value of 1 indicating MPLS encapsulation.

   Length:  4

   Max SI:  Maximum Set Identifier (Section 1 of [RFC8279]) used in the
      encapsulation for this BIER subdomain for this BitString length, 1
      octet.  Each SI maps to a single label in the label range.  The
      first label is for SI=0, the second label is for SI=1, etc.  If
      the label associated with the Maximum Set Identifier exceeds the
      20-bit range, the sub-sub-TLV MUST be ignored.





Ginsberg, et al.             Standards Track                    [Page 8]


RFC 8401                 BIER Support via IS-IS                June 2018


   Local BitString Length (BS Len):  Encoded BitString length as per
      [RFC8296]. 4 bits.

   Label:  First label of the range, 20 bits.  The labels are as defined
      in [RFC8296].

7.  Security Considerations

   Security concerns for IS-IS are addressed in [RFC5304] and [RFC5310].

   The Security Considerations section of [RFC8279] discusses the
   possibility of performing a Denial-of-Service (DoS) attack by setting
   too many bits in the BitString of a BIER-encapsulated packet.
   However, this sort of DoS attack cannot be initiated by modifying the
   IS-IS BIER advertisements specified in this document.  A BFIR decides
   which systems are to receive a BIER-encapsulated packet.  In making
   this decision, it is not influenced by the IS-IS control messages.
   When creating the encapsulation, the BFIR sets one bit in the
   encapsulation for each destination system.  The information in the
   IS-IS BIER advertisements is used to construct the forwarding tables
   that map each bit in the encapsulation into a set of next hops for
   the host that is identified by that bit, but it is not used by the
   BFIR to decide which bits to set.  Hence, an attack on the IS-IS
   control plane cannot be used to cause this sort of DoS attack.

   While a BIER-encapsulated packet is traversing the network, a BFR
   that receives a BIER-encapsulated packet with n bits set in its
   BitString may have to replicate the packet and forward multiple
   copies.  However, a given bit will only be set in one copy of the
   packet.  This means that each transmitted replica of a received
   packet has fewer bits set (i.e., is targeted to fewer destinations)
   than the received packet.  This is an essential property of the BIER-
   forwarding process as defined in [RFC8279].  While a failure of this
   process might cause a DoS attack (as discussed in the Security
   Considerations of [RFC8279]), such a failure cannot be caused by an
   attack on the IS-IS control plane.

   Further discussion of BIER-specific security considerations can be
   found in [RFC8279].












Ginsberg, et al.             Standards Track                    [Page 9]


RFC 8401                 BIER Support via IS-IS                June 2018


8.  References

8.1.  Normative References

   [RFC1195]  Callon, R., "Use of OSI IS-IS for routing in TCP/IP and
              dual environments", RFC 1195, DOI 10.17487/RFC1195,
              December 1990, <https://www.rfc-editor.org/info/rfc1195>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119,
              DOI 10.17487/RFC2119, March 1997,
              <https://www.rfc-editor.org/info/rfc2119>.

   [RFC3032]  Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y.,
              Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack
              Encoding", RFC 3032, DOI 10.17487/RFC3032, January 2001,
              <https://www.rfc-editor.org/info/rfc3032>.

   [RFC5120]  Przygienda, T., Shen, N., and N. Sheth, "M-ISIS: Multi
              Topology (MT) Routing in Intermediate System to
              Intermediate Systems (IS-ISs)", RFC 5120,
              DOI 10.17487/RFC5120, February 2008,
              <https://www.rfc-editor.org/info/rfc5120>.

   [RFC5304]  Li, T. and R. Atkinson, "IS-IS Cryptographic
              Authentication", RFC 5304, DOI 10.17487/RFC5304, October
              2008, <https://www.rfc-editor.org/info/rfc5304>.

   [RFC5305]  Li, T. and H. Smit, "IS-IS Extensions for Traffic
              Engineering", RFC 5305, DOI 10.17487/RFC5305, October
              2008, <https://www.rfc-editor.org/info/rfc5305>.

   [RFC5308]  Hopps, C., "Routing IPv6 with IS-IS", RFC 5308,
              DOI 10.17487/RFC5308, October 2008,
              <https://www.rfc-editor.org/info/rfc5308>.

   [RFC5310]  Bhatia, M., Manral, V., Li, T., Atkinson, R., White, R.,
              and M. Fanto, "IS-IS Generic Cryptographic
              Authentication", RFC 5310, DOI 10.17487/RFC5310, February
              2009, <https://www.rfc-editor.org/info/rfc5310>.

   [RFC7794]  Ginsberg, L., Ed., Decraene, B., Previdi, S., Xu, X., and
              U. Chunduri, "IS-IS Prefix Attributes for Extended IPv4
              and IPv6 Reachability", RFC 7794, DOI 10.17487/RFC7794,
              March 2016, <https://www.rfc-editor.org/info/rfc7794>.






Ginsberg, et al.             Standards Track                   [Page 10]


RFC 8401                 BIER Support via IS-IS                June 2018


   [RFC8174]  Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
              2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
              May 2017, <https://www.rfc-editor.org/info/rfc8174>.

   [RFC8279]  Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
              Przygienda, T., and S. Aldrin, "Multicast Using Bit Index
              Explicit Replication (BIER)", RFC 8279,
              DOI 10.17487/RFC8279, November 2017,
              <https://www.rfc-editor.org/info/rfc8279>.

   [RFC8296]  Wijnands, IJ., Ed., Rosen, E., Ed., Dolganow, A.,
              Tantsura, J., Aldrin, S., and I. Meilik, "Encapsulation
              for Bit Index Explicit Replication (BIER) in MPLS and Non-
              MPLS Networks", RFC 8296, DOI 10.17487/RFC8296, January
              2018, <https://www.rfc-editor.org/info/rfc8296>.

8.2.  Informative References

   [OPSFv2BIER]
              Psenak, P., Kumar, N., Wijnands, I., Dolganow, A.,
              Przygienda, T., Zhang, Z., and S. Aldrin, "OSPFv2
              Extensions for BIER", Work in Progress, draft-ietf-bier-
              ospf-bier-extensions-18, June 2018.

   [RFC8126]  Cotton, M., Leiba, B., and T. Narten, "Guidelines for
              Writing an IANA Considerations Section in RFCs", BCP 26,
              RFC 8126, DOI 10.17487/RFC8126, June 2017,
              <https://www.rfc-editor.org/info/rfc8126>.

Acknowledgements

   This RFC is aligned with "OSPFv2 Extensions for BIER" [OPSFv2BIER]
   document as far as the protocol mechanisms overlap.

   Many thanks for comments from (in no particular order) Hannes
   Gredler, IJsbrand Wijnands, Peter Psenak, and Chris Bowers.

   Special thanks to Eric Rosen.













Ginsberg, et al.             Standards Track                   [Page 11]


RFC 8401                 BIER Support via IS-IS                June 2018


Authors' Addresses

   Les Ginsberg (editor)
   Cisco Systems
   510 McCarthy Blvd.
   Milpitas, CA  95035
   United States of America

   Email: ginsberg@cisco.com


   Tony Przygienda
   Juniper Networks

   Email: prz@juniper.net


   Sam Aldrin
   Google
   1600 Amphitheatre Parkway
   Mountain View, CA
   United States of America

   Email: aldrin.ietf@gmail.com


   Jeffrey (Zhaohui) Zhang
   Juniper Networks, Inc.
   10 Technology Park Drive
   Westford, MA  01886
   United States of America

   Email: zzhang@juniper.net


















Ginsberg, et al.             Standards Track                   [Page 12]