Internet DRAFT - draft-eckert-msr6-problem-statement

draft-eckert-msr6-problem-statement







MSR6                                                      T. Eckert, Ed.
Internet-Draft                                Futurewei Technologies USA
Intended status: Informational                           24 October 2022
Expires: 27 April 2023


 Yet another Problem Statement for IPv6 Multicast Source Routing (MSR6)
                 draft-eckert-msr6-problem-statement-00

Abstract

   This draft summarizes additional personal opinions of the author for
   why existing stateless multicast solutions BIER/BIER-TE are not
   sufficient to support the operator, architecture and use-case goals
   that MSR6 proposes to solve.

   This document is complementary to problems outlined in I-D.liu-msr6-
   problem-statement and in no way affects any of them.  Instead, it
   attempts to look more at lower-layer functional challenges of current
   stateless source routing multicast solutions (BIER/BIER-TE), as well
   as architectural, network and protocol design ecosystem requirements
   of operators.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at https://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on 27 April 2023.

Copyright Notice

   Copyright (c) 2022 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.



Eckert                    Expires 27 April 2023                 [Page 1]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   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 Revised BSD License text as
   described in Section 4.e of the Trust Legal Provisions and are
   provided without warranty as described in the Revised BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
   2.  Problems  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.1.  P1: BIER: Efficiency of delivery for sparse groups in large
           networks  . . . . . . . . . . . . . . . . . . . . . . . .   4
     2.2.  P2: BIER-TE: Packet header efficiency of delivery to sparse
           groups in large networks  . . . . . . . . . . . . . . . .   5
     2.3.  P3: BIER/BIER-TE: Efficient amount of per-router state
           (BIFT)  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     2.4.  P4: More complex, multi-protocol host stack requirements
           with BIER . . . . . . . . . . . . . . . . . . . . . . . .   5
     2.5.  P5: Support for single, IPv6/RFC8200 compliant network
           forwarding plane  . . . . . . . . . . . . . . . . . . . .   5
     2.6.  P6: No Support for SRv6 architecture  . . . . . . . . . .   5
     2.7.  P7: Inability to perform per-hop IPv6 forwarding plane
           features  . . . . . . . . . . . . . . . . . . . . . . . .   6
     2.8.  P8: Routing convergence speed and complexity  . . . . . .   6
   3.  Explanations  . . . . . . . . . . . . . . . . . . . . . . . .   6
     3.1.  E1: BIER: Efficiency of delivery to sparse groups in large
           networks  . . . . . . . . . . . . . . . . . . . . . . . .   6
     3.2.  E2: BIER-TE: Packet header efficiency of delivery to sparse
           groups in large networks  . . . . . . . . . . . . . . . .   7
     3.3.  E3: BIER/BIER-TE: Efficient amount of per-router state
           (BIFT)  . . . . . . . . . . . . . . . . . . . . . . . . .   7
     3.4.  E4: More complex, multi-protocol host stack requirements
           with BIER . . . . . . . . . . . . . . . . . . . . . . . .   7
     3.5.  E5: Support for single, IPv6/RFC8200 compliant network
           forwarding plane  . . . . . . . . . . . . . . . . . . . .   7
       3.5.1.  Example 1: IPv4 multicast in MPLS/VPN solutions vs.
               native MPLS multicast . . . . . . . . . . . . . . . .   8
       3.5.2.  Example 2: Native IPv6 multicast vs. IPv4
               multicast . . . . . . . . . . . . . . . . . . . . . .   9
       3.5.3.  Example 3: BIERin6  . . . . . . . . . . . . . . . . .   9
       3.5.4.  Example 4: Routing for multicast  . . . . . . . . . .  10
     3.6.  E6: No Support for SRv6 architecture  . . . . . . . . . .  10
     3.7.  E7: Inability to perform per-hop IPv6 forwarding plane
           features  . . . . . . . . . . . . . . . . . . . . . . . .  11
     3.8.  E8: Routing convergence speed and complexity in large
           networks  . . . . . . . . . . . . . . . . . . . . . . . .  12
   4.  Candidate MSR6 solution discussion  . . . . . . . . . . . . .  12




Eckert                    Expires 27 April 2023                 [Page 2]

Internet-Draft        msr6-problem-statement-eckert         October 2022


     4.1.  S1: BIER: Efficiency of delivery for sparse groups in large
           networks  . . . . . . . . . . . . . . . . . . . . . . . .  13
     4.2.  S2: BIER-TE: Efficiency of delivery for sparse groups in
           large networks  . . . . . . . . . . . . . . . . . . . . .  13
     4.3.  S3: BIER/BIER-TE: Large amount of per-BFR state (BIFT)  .  13
     4.4.  S4: More complex, multi-protocol host stack requirements
           with BIER . . . . . . . . . . . . . . . . . . . . . . . .  13
     4.5.  S5: Support for single, IPv6/RFC8200 compliant network
           forwarding plane  . . . . . . . . . . . . . . . . . . . .  13
     4.6.  S6: No Support for SRv6 architecture  . . . . . . . . . .  14
     4.7.  S7: Inability to perform per-hop IPv6 forwarding plane
           features  . . . . . . . . . . . . . . . . . . . . . . . .  14
     4.8.  S8: Routing convergence speed and complexity  . . . . . .  15
   5.  Open issues . . . . . . . . . . . . . . . . . . . . . . . . .  15
   6.  Changelog . . . . . . . . . . . . . . . . . . . . . . . . . .  15
   7.  Informative References  . . . . . . . . . . . . . . . . . . .  15
   Appendix A.  Other considerations towards MSR6  . . . . . . . . .  17
     A.1.  Design separation between tree building and other
           functions . . . . . . . . . . . . . . . . . . . . . . . .  17
     A.2.  Reuse of BIER principles and technology components as much
           as possible . . . . . . . . . . . . . . . . . . . . . . .  18
     A.3.  MSR6 as experimental (not standards track) work . . . . .  19
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  19

1.  Introduction

   This draft summarizes additional personal opinions of the author for
   why existing stateless multicast solutions BIER/BIER-TE are not
   sufficient to support the operator, architecture and use-case goals
   that MSR6 proposes to solve.

   This document is complementary to problems outlined in
   [I-D.liu-msr6-problem-statement] and in no way affects any of them.
   Instead, it attempts to look more at lower-layer functional
   challenges of current stateless source routing multicast solutions
   (BIER/BIER-TE), as well as architectural, network and protocol design
   ecosystem requirements of operators.

   This draft is solely kept separate at this time, because the author
   felt it would be impossible for him to merge the text without doing
   disservice to that pre-existing draft due to time constraints and the
   inability to have reviewed and agreed upon this documents amongst the
   larger authorship of [I-D.liu-msr6-problem-statement].

   This document is structured as follows.






Eckert                    Expires 27 April 2023                 [Page 3]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   The Problems section (Section 2) summaries problems with existing
   solutions and numbers them with Pi.  The author found that it is very
   difficult trying to find the right degree of detail, but hopes that
   the presented list is a good compromise between too much detail and
   to abstract.

   The Explanations section (Section 3) provides for each problem
   additional explanation to avoid that readers have to understand the
   problems only after reading up on a multitude of RFC and/or having
   similar deployment experiences.

   On some points, the explanation section also presents what the author
   considers to be evidence as to how the IETF has established case
   precedents over the past decades how these problems have been solved
   in (in the authors opinion) similar cases.

   These prior cases have often been controversial, but in the opinion
   of the author, they finally resulted in best serving the network
   operators and their customers, even at the expense that this produced
   more IETF standards than if some entity could have been able to
   persuade all customers and operators that there is a single one-fits-
   all approach to standards.

   Even though the IESG did ask to only produce a problem statement, the
   author found that even the problems where best understood by
   participants of the IETF that he discussed them with if he also
   provided an outline of the proposed solutions, instead of them having
   try to guess how hey could be solved.  This is what the Section 4
   section discusses, and of course it is not meant to taint the
   opinions of readers as to how any of the problem should be solved.

   Explanations for problem Pi are numbered Ei, Solution considerations
   for Pi are numbered Si.

   Finally, the document lists open issues and ends with with an
   appendix on other (Appendix A) considerations about how MSR6 might be
   operated adjacent to BIER in the IETF and why creation of such a WG
   is beneficial beyond the mere solving of a specific set of problems.

2.  Problems

2.1.  P1: BIER: Efficiency of delivery for sparse groups in large
      networks

   In networks with (a) a large number of BFER (e.g.: 60k) and (b) a
   source-routing header size as favored by products (e.g. 256 bit),
   BIER will need to send in a stochastic manner as many packets as
   ingress replication (no BIER) instead only one packet.



Eckert                    Expires 27 April 2023                 [Page 4]

Internet-Draft        msr6-problem-statement-eckert         October 2022


2.2.  P2: BIER-TE: Packet header efficiency of delivery to sparse groups
      in large networks

   Problem Section 2.1 is larger in BIER-TE because significant number
   of bits in BIER-TE bitstrings need to be allowed to steering of the
   traffic ("tree engineering") making bitstrings effectively even
   smaller compared to BIER, increasing this Bitstring fragmentation
   problem.

2.3.  P3: BIER/BIER-TE: Efficient amount of per-router state (BIFT)

   BIER/BIER-TE requires in every BIER router forwarding state for every
   egress router.  In large networks, this can be as much as e.g.:
   60,000 entries (or more) or maybe as much as twice as many with BIER-
   TE.  This is unacceptable for many networks with this number of end-
   routers or hosts and mostly sparse multicast trees.

2.4.  P4: More complex, multi-protocol host stack requirements with BIER

   Controlled networks such as Data-Centers with VM to VM IP multicast,
   or IoT networks do use IPv6 multicast.  To use end-to-end stateless
   multicast with BIER, they would need to implement in addition to IPv6
   host stacks BIER BFIR/BFER stacks as well as any BIER specific
   mechanisms for the routing underlay to use IPv6 as a flow overlay.
   This duplication of host stacks is undesirable for cost of
   development, operations code-space as well as hardware implementation
   (Smart NICs etc.).

2.5.  P5: Support for single, IPv6/RFC8200 compliant network forwarding
      plane

   BIER is a separate (layer 2.5?) forwarding plane but not an
   extensions to IPv6/RFC8200.  This is operationally undesirable for
   IPv6-only networks.

2.6.  P6: No Support for SRv6 architecture

   BIER/BIER-TE including BIERin6 do not support the SRv6 architecture,
   making it impossible for networks that utilize a common source
   routing architecture across unicast and multicast to as easy as
   possible share any applicable or future SRv6 functionality between
   unicast and multicast and likely also simplify OAM and design.









Eckert                    Expires 27 April 2023                 [Page 5]

Internet-Draft        msr6-problem-statement-eckert         October 2022


2.7.  P7: Inability to perform per-hop IPv6 forwarding plane features

   Operators depend on a wide variety of collateral forwarding plane
   features, even hop-by-hop or on dedicated intermediate hops which are
   not the ingress or egress router of the packet.  Policies and/or
   Telemetry of these features are tied to IPv6 source and/or
   destination address.  Important examples include, but are not limited
   to:

   1.  IPfix and related services for traffic monitoring

   2.  Traffic filtering (including (S,G)

   3.  QoS ( (S,G) policies)

   4.  IPsec/ESP ((S,G) SA policies)

2.8.  P8: Routing convergence speed and complexity

   BIER/BIER-TE do not allow to build lowest outage, fast-converging
   network services because of their reliance on a) IGP re-routing and
   b) large BIFT forwarding tables.

3.  Explanations

3.1.  E1: BIER: Efficiency of delivery to sparse groups in large
      networks

   A single BIER packet with a 256 bitstring can only create copies to
   the 256 BFER addressed via this bitstring.  In a network with 60k
   BFER, at least 235 different Bitstrings need to be defined (256 * 235
   > 60k).  A message to even a small number of BFER such as 10 could
   statistically easily require to send 10 packets, because each of the
   BFER is in a different bitstring.

   Efficient replication to sparse multicast groups in large networks
   was at the core of the original IP multicast protocol PIM Sparse Mode
   in the early 1990th.  The "Sparse" in this name exactly refers to
   such a group with few members in a large network.  It can thus be
   seen as a day 1 requirement against any scalable IP multicast
   protocol, stateful or stateless.










Eckert                    Expires 27 April 2023                 [Page 6]

Internet-Draft        msr6-problem-statement-eckert         October 2022


3.2.  E2: BIER-TE: Packet header efficiency of delivery to sparse groups
      in large networks

   Note that BIER-TE was designed only shortly after BIER and hence one
   primary goal was to re-use as much as possible of the BIER forwarding
   plane to make adoption as easy as possible.  This excluded a lot of
   the more forward looking options being proposed for MSR6 now
   (Section 4.1 / Section 4.2).

3.3.  E3: BIER/BIER-TE: Efficient amount of per-router state (BIFT)

   With "flat bitstrings" as in BIER/BIER-TE each router needs a
   forwarding entry similar to unicast forwarding entries.  In large
   networks, even enterprises, this is easy in the thousands (for edge
   routers) and another possible factor ten when running multicast
   source-routing end-to-end into hosts - which is feasible with newer
   proposed technologies but not flat bitstrings of BIER/BIER-TE (see
   Section 4.1 / Section 4.2

3.4.  E4: More complex, multi-protocol host stack requirements with BIER

   Introducing a new host stack for a new network protocol like BIER
   without UDP tunneling requires most commonly OS upgrades.  This is
   not a feasible requirement for reasonable fast adoption in many
   markets such as industrial, IoT or hosts in regulated environments
   such as aviation, finance industry, defense and the like.  See
   Section 4.4 how MSR can avoid this issue.

   Whether in the OS or application (when using UDP tunneling),
   additional network stacks such as BIER typically incur more code-
   space overhead than extensions to an existing stack.  This can be an
   issue for constrained code space hosts.

3.5.  E5: Support for single, IPv6/RFC8200 compliant network forwarding
      plane

   The IETF has a long and successful history of extending different
   type of unicast network designs with multicast support that best
   matches and extends those underlying unicast mechanisms - even when
   vendors initially promoted less well aligned multicast technologies
   that was more readily available and solutions/workarounds could be
   built to support initial use-cases of customers that way.

   While specific multicast technical detail benefits of adopting to the
   new unicast network design can be developed, this often only happens
   as a result of deployment experience with the new network technology
   and multicast later in the process.  Instead, the most core reason
   for the IETF to build such new technologies was the operator/market



Eckert                    Expires 27 April 2023                 [Page 7]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   preference and the logic that multicast functions should be available
   as a core architectural extension of any unicast network protocol
   architecture.  This is why IP Multicast was added to IPv6 and MPLS
   and why MSR6 now wants to be chartered for adding source-routed IPv6
   multicast based on expanding on RFC8200 principles.

   Making multicast follow architectural frameworks of unicast and
   expanding it has a large set of benefits for operators, and can best
   be described as the overall ecosystem complexity of operating (OAM) a
   network, but also in the often met expectation that it simplifies the
   adoption of future extensions/enhancements across unicast and
   multicast without having to re-define them, because the multicast
   solution is built from a different architecture.

   The following lists a few mayor instances where the author thinks
   this principle can be observed.  Of course it is always possible to
   create a detailed technical difference between any prior examples and
   the case for MSR6, but the author thinks that that is missing the
   larger point of the requirement:

   Operator preferences may or may not be justifiable on selective
   detail technical points versus a pre-existing solution, but instead
   the IETF has repeatedly shown that it serves operator preferences
   when the proposed solutions are technically solid (working), require
   interoperability, and have a sufficient critical mass of supporters
   and active participants that can bring standardization to a
   successful finish.

   Existence of prior, competing but alternating solutions have never
   been in the way of such additional technologies in the IETF, or else
   IETF would help first-comers to establish monopolies over market
   spaces where their solutions themselves may look sufficient but is
   not preferred by customers for the variety of reasons mentioned here.

3.5.1.  Example 1: IPv4 multicast in MPLS/VPN solutions vs. native MPLS
        multicast

   In the early 2000th, (large) service providers where increasingly
   adopting MPLS (with IPv4) as their single network forwarding plane,
   primarily to be able to introduce L3VPN services.  The only form of
   multicast that high-speed hardware forwarding could support in
   available products back then was IPv4 multicast (no MPLS), which is
   why vendors implemented and standardized in the IETF so-called
   "draft-rosen" that provided Multicast VPN (MVPN) for MPLS networks
   with L3VPN services.






Eckert                    Expires 27 April 2023                 [Page 8]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   Nevertheless, operators that where successfully deploying this IPv4
   multicast based MVPN service continued to ask vendors to give them a
   "native MPLS" forwarding plane for their MVPN services.  Some aspects
   of that solution, such as RSVP-TE/P2MP did provide easy to understand
   new functionality, such as traffic engineering, but the most commonly
   now used MPLS multicast solution, mLDP, (multicast LDP) provides
   significantly the same functionality that PIM can provide.  Only the
   encapsulation of packets in the forwarding plane is different, but
   not the services that are supported across those two variants.

3.5.2.  Example 2: Native IPv6 multicast vs. IPv4 multicast

   When IPv6 was introduced, it was not even a question to include it in
   the standardization of IPv6, even though in practice, most business
   critical use cases where equally feasible by sticking to IPv4: Most
   customers where using dual-plane networks and many of them continued
   to use IPv4 multicast because neither the applications nor hardware
   forwarding in routers did support IPv6 multicast.

   The difference over today was, that at that time, no vendor stood up
   and claimed IPv6 multicast should not be developed in the IETF
   because IPv4 multicast was sufficient, and if necessary with end-to-
   end tunneling of IPv6 multicast packets across IPv4 multicast it as
   well as hop-by-hop tunneling of IPv4 multicast over IPv6 only hops.
   But this is exactly what is done today with BIERin6:

3.5.3.  Example 3: BIERin6

   The BIER-WG is working on [I-D.ietf-bier-bierin6] as the proposed
   solution for how to use BIER in IPv6 networks.  It does not change
   the deployment model of using BIER forwarding on every replicating
   hop (ideally for every router), but instead it recommends to:

   1.  Encapsulate IPv6 multicast packets end-to-end over BIER

   2.  Encapsulate BIER packets hop-by-hop across IPv6 when there are
       one or more intervening routers not supporting BIER

   This approach is very similar to how in Example 1 and 2 networks that
   wanted to operationally standardize on only MPLS (Example 1) on every
   hop or only IPv6 (Example 2) on every hop, where asked by vendors to
   instead use IPv4 multicast because it existed and was hence easier to
   sell with existing vendor products.  Instead of adding Source-routing
   to IPv6 multicast, BIERin6 suggests two layers of tunneling to make
   BIER fit into an otherwise IPv6 only network, effectively turning the
   network into a dual-plane IPv6-unicast-only + BIER-multicast-only
   network.




Eckert                    Expires 27 April 2023                 [Page 9]

Internet-Draft        msr6-problem-statement-eckert         October 2022


3.5.4.  Example 4: Routing for multicast

   The re-use of unicast technologies for multicast also expands into
   the control plane.  Initial multicast designs where proposing
   multicast specific routing protocols like CBT, MOSPF and DVMRP, one
   of the core selling points that made PIM successful in the IETF was
   that it was re-using any deployed IP unicast routing protocol.  Even
   when functionally for IP multicast itself, each of the prior
   protocols had arguably benefits (some of which where later also done
   with PIM, such as CBT->Bidir-PIM).

   While re-use of existing unicast routing protocols may also be seen
   as a functional benefit in itself, these functional advantages where
   far less when doing the control plane for MPLS multicast.

   mLDP was picked instead of PIM, because it allows customers to
   troubleshoot signaling from a single (LDP/TCP) basis for both unicast
   and multicast forwarding plane label binding and have more comparable
   behavior in a variety of corner situations.

   Other MVPN signaling where initially continuing to use PIM in draft-
   rosen, but where later on demand of customers re-specified into BGP
   to suit the operator preference for a single routing protocol BGP for
   all services in the network (BESS model).  The functionality itself
   was not the differentiator over PIM, instead the original ask was to
   do all that works well with PIM equally with BGP.

3.6.  E6: No Support for SRv6 architecture

   BIER/BIER-TE is a separate source-routing multicast architecture that
   is based on re-using the single BIER forwarding mechanisms in any
   type of network, whatever its preferred unicast architecture is.

   Because there was and is no well-established mechanism for MPLS
   forwarding planes how to extend MPLS forwarding planes with extension
   headers, BIER did have to come up with its own header for MPLS
   networks.  This makes it fundamentally different from IPv6, where
   [RFC8200] defines the overall source-routing mechanism, and SRv6 is
   the one instance of it.  [RFC6554] is another instance.












Eckert                    Expires 27 April 2023                [Page 10]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   Note though that an IETF MPLS design team is currently (2021/2022)
   working on future common extension header design for MPLS networks,
   so it is but a theoretical but still interesting question if in a
   time when MPLS had such established standards, MPLS network operators
   would have accepted a BIER header not specifically following all
   rules for source routing and header construction established by such
   pre-existing MPLS rules.  This nevertheless is exactly one of the
   problems IPv6 network operators would like to see solved by MSR6
   because those definitions do exist in [RFC8200] for IPv6 networks.

3.7.  E7: Inability to perform per-hop IPv6 forwarding plane features

   IPFIX [RFC7011] is a protocol to export traffic flow telemetry.  It
   is widely implemented and deployed for IP/IPv6 multicast, allowing to
   capture per multicast (S,G) traffic flow statistics for network OAM
   services.

   With BIER and BIERin6, there is no knowledge at the BIER forwarding
   layer about multicast (S,G) flows.  This only exists on the flow-
   overlay layer, which is not present on non-ingress/egress BFRs.

   The underlying forwarding functionality to capture traffic statistics
   for IPfix flow export has also been used in other common industry
   functions, such as MediaTrace mechanisms.

   Policies for IPv6 multicast traffic, such as expressed through ACLs
   or other router constructs, are used for a variety of functions.

   1.  Filtering of traffic based on multicast destination group ranges,
       includes administrative scoping.  For example, large service
       providers often have two tiers of service elements, where the PE
       are not the last point of policy control, but instead the first P
       hop could be.  This avoid more complex CsC style additional
       layers.

   2.  Destination address group bits of IPv6 addresses have been used
       to indicate target QoS classes for traffic more flexibly and
       easier inter-domain than DSCP.

   3.  IPsec encryption/decryption can be inserted on any multi-hop path
       segments of an IP/IPv6 network using the IP multicast (S,G)
       address information as part of setting up the IPsec SA policies
       (this is not specific to IP multicast but comes for free from
       IPsec being designed against IP and thus the address information
       that IPv6 multicast also shares).






Eckert                    Expires 27 April 2023                [Page 11]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   Applying policies at arbitrary points along the network path is also
   more important for MSR6 than BIER, because MSR6 is not solely focused
   on only P/PE network designs, and the overall design of the BIER
   architecture with flow overlay, BIER layer and routing underlay is
   very much expecting such a network design: BIER removes the knowledge
   about the actual BIER payload (IPv6 in our case) from the BFR
   midpoints and tunnels it over BIER between BFIR and BFER.  This is
   not sufficient for all MSR6 deployment options.

3.8.  E8: Routing convergence speed and complexity in large networks

   Multicast services have commonly higher service level objectives than
   so-called Internet Best-Effort traffic, yet customers are looking for
   equally easy to operationalise solutions for multicast in the
   network.

   With BIER and a large set of destinations (BFER), the BIFT hardware
   forwarding tables on every hop in the network need to be updated with
   BIFT state for all destinations.  For tenths of thousands of
   destinations, this becomes as slow as updating the same number of
   unicast FIB entries. (it is also a waste of BIFT state when
   potentially at any point in time only a small percentage of
   destinations actually does need to receive traffic).

   This ultimate hardware forwarding goal is preceded with all the well
   understood convergence issues of IGPs (micro-loops etc), as well as
   the time IGPs take to converge.

   The known solution to this problem is to utilize strict explicit
   trees to deliver traffic.  This takes the IGP in the network out of
   the picture for hop-by-hop forwarding, and when senders do utilize
   e.g. link-state information to calculate paths for trees, they can
   constrain their calculations to only the destination addresses of
   interest, but not the whole set of destinations in the network.

   Even though BIER-TE can express strict trees, it can not overcome
   these issue well, because of the flat bitstring design (derived from
   BIER), it is not possible to build strict-steered multicast trees and
   simultaneously reduce BIFT state.  Instead, attempting to solve this
   issue with BIER-TE makes BIFT larger.

4.  Candidate MSR6 solution discussion









Eckert                    Expires 27 April 2023                [Page 12]

Internet-Draft        msr6-problem-statement-eckert         October 2022


4.1.  S1: BIER: Efficiency of delivery for sparse groups in large
      networks

   [I-D.eckert-msr6-rbs] and various other MSR6 proposal introduce
   different stateless multicast source routing encodings than the BIER/
   BIER-TE "flat" bitstrings.  These all overcome the problem by more
   intelligent encoding.  [I-D.eckert-bier-cgm2-rbs] also contains
   preliminary scalability simulation results comparing the performance
   against BIER.  See also {#exp}.

4.2.  S2: BIER-TE: Efficiency of delivery for sparse groups in large
      networks

   Solutions to this problem such as [I-D.eckert-msr6-rbs] are even
   stronger solutions to Section 2.2 than to Section 2.1 because BIER-TE
   suffers more from the problem than BIER.  Equally, see also {#exp}.

4.3.  S3: BIER/BIER-TE: Large amount of per-BFR state (BIFT)

   In MSR6 proposals such as [I-D.eckert-msr6-rbs], each router only
   needs as much per-BFR state (BIFT) as that router has neighbors,
   which typically is 10..200, therefore order or magnitudes less than
   required in BIER/BIER-TE.  This applies equally to using such
   proposals instead of BIER or BIER-TE.

4.4.  S4: More complex, multi-protocol host stack requirements with BIER

   IPv6 socket APIs exist today on every host stack for every OS,
   especially a large variety of IoT host stacks, but also host stacks
   that are old and will not be able to receive OS-level updates, or
   that for regulatory and other business reasons can not receive
   available OS-level updates (because of avoid need for re-validation).

   IPv6 host stacks also have the socket API option to insert from
   application level arbitrary IPv6 extension headers.  This allows to
   implement MSR6 solely in user-land without additional (UDP) tunneling
   required.

4.5.  S5: Support for single, IPv6/RFC8200 compliant network forwarding
      plane

   MSR6 proposed to use [RFC8200] derived IPv6 extension headers for
   source routing, similar to unicast source routing headers for IPv6 in
   [RFC6554] or [RFC8754] with IPv6 destination address rewrite on every
   source routing hop.  When the source routing header information
   indicates only the destinations, this is called by MSR6 Best Effort
   (BE) mode.  When the source-routing information indicates the
   delivery tree, this is called by MSR6 "Tree Engineered" (TE) mode.



Eckert                    Expires 27 April 2023                [Page 13]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   To support IPv6 multicast without multiple extension header, MSR6
   options such as [I-D.eckert-msr6-rbs] propose to include not only the
   source-routing information to perform BE/TE functions (as in BIER/
   BIER-TE), but also to include the IPv6 multicast destination address.
   This is necessary because the IPv6 destination address is not
   transparent end-to-end in RFC8200 compliant source-routing.

   It is also another significant difference over BIER, where IPv6
   multicast can only be supported as a flow overlay.  And it is the
   reason why at the layer of IPv6 with MSR all IPv6 multicast address
   information is directly available, even when the final IPv6
   destination address is not in the base but and IPv6 extension header.

4.6.  S6: No Support for SRv6 architecture

   As described in Section 4.5, MSR6 proposes extension header similar
   in spirit and goals to SRH.  It should equally create standards
   document that allow to apply the SRv6 terminology and concept of SIDs
   (Segment IDentifiers) to MSR6 when this is desired by the network
   operator.

   By mean of using IPv6 addressing in MSR6, it may also be possible to
   utilize existing SRv6/SID benefits with multicast (such as inclusion
   of programability aspects in the MSR6 IPv6 addresses).  This is
   subject to further study.

   Note that IPv6 multicast did equally explore and benefit from special
   encodings into the IPv6 address space, arguably similar to SRv6
   adding additional functionality via IPv6 address bits.  This includes
   specifically "Unicast-Prefix-based IPv6 Multicast Addresses ",
   [RFC3306] and even more so "Embedding the Rendezvous Point (RP)
   Address in an IPv6 Multicast Address", [RFC3956].

4.7.  S7: Inability to perform per-hop IPv6 forwarding plane features

   MSR6 enables all collateral IPv6 forwarding plane features along the
   path by explicitly exposing intentionally the same source and
   destination address as non-source-routed IPv6 multicast packets.

   This is unlike BIERin6, where this information is not in the possible
   outer IPv6 header (on loose hops), nor the BIER header, but only in
   the BIER end-to-end encapsulated payload header if it is IPv6.  On
   BFR, the IPv6 context (such as VRF) in which this IPv6 header exists
   is not known, so any capturing of information via such "deep packet
   inspection" mechanism comes at a lot more problems to solve and would
   hardly be something that could be used for standardized IETF
   mechanisms such as IPfix.




Eckert                    Expires 27 April 2023                [Page 14]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   The most fundamental privacy rule for network protocol designs is to
   not leverage packet data that is not explicitly meant to be exposed
   at a particular layer/point in the network, and on an MSR6 hop, the
   MSR6 extension header is explicitly exposed, representing the
   multicast (S,G) flow information, whereas in BIER this is never the
   case, but only on BFIR/BFER in the flow-overlay layer.

   With MSR6, there is an additional overhead for routers to examine the
   destination IPv6 address from an extension header, but that is the
   cost of doing IPv6 business, because with the way [RFC8200] expects
   source routing to operate, this can not be further optimized.  Of
   course, this means that it is highly important to ensure that exactly
   this IPv6 multicast destination address has ideally not multiple
   options of extension header or positions in it, but that MSR6 will
   develop one-fits-all for this component of the solution.

4.8.  S8: Routing convergence speed and complexity

   MSR6 proposal that attempt to solve this problem are those that allow
   to encode in the source-routing header sparse trees for large
   networks such that no IGP routing, but only hop-by-hop forwarding is
   required.  These solutions do likewise also require only small
   amounts of BIFT forwarding state per router that only changes when
   link-local MSR6 neighbors change {I-D.eckert-msr6-rbs}} is an example
   of such proposals.

5.  Open issues

   Probably many...

   This version of the document does likely not well enough highlight in
   all places when the solution to a problem could also be had by
   enhancements to BIER, but it does so in hopefully the most important
   places.

6.  Changelog

   00 - initial version.

7.  Informative References











Eckert                    Expires 27 April 2023                [Page 15]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   [I-D.eckert-bier-cgm2-rbs]
              Eckert, T. T. and B. Xu, "Carrier Grade Minimalist
              Multicast (CGM2) using Bit Index Explicit Replication
              (BIER) with Recursive BitString Structure (RBS)
              Addresses", Work in Progress, Internet-Draft, draft-
              eckert-bier-cgm2-rbs-01, 9 February 2022,
              <https://www.ietf.org/archive/id/draft-eckert-bier-cgm2-
              rbs-01.txt>.

   [I-D.eckert-msr6-rbs]
              Eckert, T. T., Geng, X., Zheng, X., Meng, R., and F. Li,
              "Recursive Bitstring Structure (RBS) for Multicast Source
              Routing over IPv6 (MSR6)", Work in Progress, Internet-
              Draft, draft-eckert-msr6-rbs-00, 11 July 2022,
              <https://www.ietf.org/archive/id/draft-eckert-msr6-rbs-
              00.txt>.

   [I-D.ietf-bier-bierin6]
              Zhang, Z., Zhang, Z. J., Wijnands, I., Mishra, M. P.,
              Bidgoli, H., and G. S. Mishra, "Supporting BIER in IPv6
              Networks (BIERin6)", Work in Progress, Internet-Draft,
              draft-ietf-bier-bierin6-05, 4 September 2022,
              <https://www.ietf.org/archive/id/draft-ietf-bier-
              bierin6-05.txt>.

   [I-D.liu-msr6-problem-statement]
              Liu, Y., Jiang, T., Eckert, T. T., Li, Z., Mishra, G. S.,
              Qin, Z., Lin, C., and X. Geng, "Problem Satement of IPv6
              Multicast Source Routing (MSR6)", Work in Progress,
              Internet-Draft, draft-liu-msr6-problem-statement-01, 21
              October 2022, <https://www.ietf.org/archive/id/draft-liu-
              msr6-problem-statement-01.txt>.

   [RFC3306]  Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6
              Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306,
              August 2002, <https://www.rfc-editor.org/info/rfc3306>.

   [RFC3956]  Savola, P. and B. Haberman, "Embedding the Rendezvous
              Point (RP) Address in an IPv6 Multicast Address",
              RFC 3956, DOI 10.17487/RFC3956, November 2004,
              <https://www.rfc-editor.org/info/rfc3956>.

   [RFC5015]  Handley, M., Kouvelas, I., Speakman, T., and L. Vicisano,
              "Bidirectional Protocol Independent Multicast (BIDIR-
              PIM)", RFC 5015, DOI 10.17487/RFC5015, October 2007,
              <https://www.rfc-editor.org/info/rfc5015>.





Eckert                    Expires 27 April 2023                [Page 16]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   [RFC6554]  Hui, J., Vasseur, JP., Culler, D., and V. Manral, "An IPv6
              Routing Header for Source Routes with the Routing Protocol
              for Low-Power and Lossy Networks (RPL)", RFC 6554,
              DOI 10.17487/RFC6554, March 2012,
              <https://www.rfc-editor.org/info/rfc6554>.

   [RFC7011]  Claise, B., Ed., Trammell, B., Ed., and P. Aitken,
              "Specification of the IP Flow Information Export (IPFIX)
              Protocol for the Exchange of Flow Information", STD 77,
              RFC 7011, DOI 10.17487/RFC7011, September 2013,
              <https://www.rfc-editor.org/info/rfc7011>.

   [RFC8200]  Deering, S. and R. Hinden, "Internet Protocol, Version 6
              (IPv6) Specification", STD 86, RFC 8200,
              DOI 10.17487/RFC8200, July 2017,
              <https://www.rfc-editor.org/info/rfc8200>.

   [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>.

   [RFC8754]  Filsfils, C., Ed., Dukes, D., Ed., Previdi, S., Leddy, J.,
              Matsushima, S., and D. Voyer, "IPv6 Segment Routing Header
              (SRH)", RFC 8754, DOI 10.17487/RFC8754, March 2020,
              <https://www.rfc-editor.org/info/rfc8754>.

Appendix A.  Other considerations towards MSR6

A.1.  Design separation between tree building and other functions

   BIER is designed as a common stateless multicast forwarding layer
   meant to be applicable to any network (or ever higher layer) protocol
   that can be tunneled/encapsulated across it ("flow-overlay").

   This incurs the price of designing a flow overlay layer on BFIR/BFER
   (ingress/egress BIER edge routers), and not having any functionality
   of that encapsulated flow overlay traffic available on the BIER
   midpoints (BFR) - unless any such functionality is meticulously
   mapped into the BIER packet header, such as MPLS TC and IP/IPv6 DSCP
   as specified in [RFC8296].









Eckert                    Expires 27 April 2023                [Page 17]

Internet-Draft        msr6-problem-statement-eckert         October 2022


   This design maps very well the common P/PE design in service
   providers, but it does not necessarily match arbitrary IPv6 networks
   in industry, IoT, data-center (interconnect), or even service
   provider networks (aggregation, multi-AS,...).  Instead, when such
   technologies are used, network designs across all features have to be
   built to enable P routers to be mostly feature-less.

   IPv6 MSR6 instead is intended to allow re-using by default any pre-
   source-routing IPv6 feature as much as possible on any hop of the
   network.  And minimize the requirements of introducing network
   protocol P/PE separation designs across all functions in the network
   to enable this.

   One example for this principle is an early stage in reducing IP
   multicast tree state in data centers.

   Originally, OAM for IP multicast traffic in DC was performed on PIM-
   SM (S,G) state (per state packet/byte counters), but diagnosis of
   PIM-SM state is challenging in itself and scales linearly with the
   amount of applications running - operators did not like it.  Even
   worse, the amount of PIM-SM state deployed in the target data centers
   was about to exceed performance of routers.  This lead to the
   development of Bidir-PIM [RFC5015] which reduced PIM state to (*,G),
   for example in typical data-centers from 20,000 states to 200 states
   at the time.

   But Bidir-PIM made it impossible to have per (S,G) counters anymore
   on every hop through the multicast tree state.  Instead, IPfix for IP
   multicast was developed, which could be configured for arbitrary
   subsets of multicast flows (based on (S,G) ACL policies), thus also
   not being tied to the scaling problems of the IP multicast tree
   building, and by virtue of operating completely independent of IP
   multicast it also had no tie-in with IP multicast protocols and can
   therefore also help to diagnose them.

A.2.  Reuse of BIER principles and technology components as much as
      possible

   MSR6 efforts considers BIER-WG to be one of its most important
   adjacencies in the IETF and does not want to re-invent anything
   unnecessarily that BIER already solves well if applicable to IPv6
   only source routing mechanisms.

   Likewise, MSR6 efforts would welcome if new technology ideas
   originally experimented and used in MSR, but equally applicable to
   BIER can also be shared across MSR6 and BIER (such as new
   representations of the source-routing information).




Eckert                    Expires 27 April 2023                [Page 18]

Internet-Draft        msr6-problem-statement-eckert         October 2022


A.3.  MSR6 as experimental (not standards track) work

   In the opinion of the author, the ability to experiment with new and
   better technology components in MSR6 is easier when an MSR6 WG would
   initially be targeted for experimental status - in the same way as
   BIER initially was.  BIER WG has for some time now been "upgraded" to
   standards track work, and also its RFC where upgraded to standard
   track, even though this does not show in the documents themselves
   (for historical reasons of the RFC publishing process).

   With BIER (WG and RFCs) being standards track now, it still can still
   adopt experimental work, but when BIER establishes itself as a
   deployed solution in the market, it often becomes less easy to
   publish new, experimental work with the same name, because this
   raises the risk of customers not being able to well distinguish
   between more proven, older BIER options and newer, potentially
   experimental ones.

   Therefore, experimental new technology options may be better first
   proven in the context of MSR6 work even when equally applicable to
   MSR6 and BIER.  In the opinion of the author this specifically
   includes the new tree encoding structures proposed by different MSR6
   drafts (including the authors [I-D.eckert-msr6-rbs].

   The core tenets of MSR6 such as its use of RFC8200 source routing
   mechanisms for end-to-end IPv6 multicast could easily be standards
   track, but may simply be best targeted as experimental too, solely to
   be sure that sufficient practical/operational experience work is
   gained - and tracked by appropriate IETF work - before they are
   upgraded to standards level.

Author's Address

   Toerless Eckert (editor)
   Futurewei Technologies USA
   2220 Central Expressway
   Santa Clara,  CA 95050
   United States of America
   Email: tte@cs.fau.de












Eckert                    Expires 27 April 2023                [Page 19]