Network Working Group                                           R. Huang
Internet-Draft                                                 T. Eckert
Intended status: Experimental                                     N. Wei
Expires: September 6, 2018                                        Huawei
                                                              P. Thubert
                                                                   Cisco
                                                           March 5, 2018


                       Encapsulation for BIER-TE
                  draft-huang-bier-te-encapsulation-00

Abstract

   This document proposes an enhanced encapsulation for BIER to support
   BIER, BIER-TE and a control word.

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 September 6, 2018.

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.



Huang, et al.           Expires September 6, 2018               [Page 1]


Internet-Draft                BIER-TE ARCH                    March 2018


Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Terminology . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  BIER-TE Encapsulation (normative) . . . . . . . . . . . . . .   3
     2.1.  BT bit - Simultaneous support for BIER and BIER-TE  . . .   3
     2.2.  BIFT-ID . . . . . . . . . . . . . . . . . . . . . . . . .   3
     2.3.  Control Word and flows  . . . . . . . . . . . . . . . . .   3
     2.4.  Header format & fields  . . . . . . . . . . . . . . . . .   4
   3.  BIER-TE based resilience operations (informational) . . . . .   5
   4.  BitStringLength (BSL) considerations (informational)  . . . .   6
     4.1.  IPTV  . . . . . . . . . . . . . . . . . . . . . . . . . .   7
     4.2.  Multicast in L3VPN  . . . . . . . . . . . . . . . . . . .   8
   5.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [BIER-TE-ARCH] specifies BIER-TE: Traffic Engineering for Bit Index
   Explicit Replication (BIER).  It builds on the BIER architecture as
   described in RFC8279 [RFC8279], but uses every BitPosition of the
   BitString of a BIER-TE packet to indicate one or more adjacencies
   instead of a BFER as in BIER.

   This document proposes an enhanced version of the MPLS and non-MPLS
   encapsulation for BIER packets to support both BIER and BIER-TE.  It
   is based on RFC8296 [RFC8296].

   This enhanced encapsulation also adds support for a control word in
   the header and discusses it.  Finally, the document discusses
   BitStringLength (BSL) size requirements in implementations for
   informational reasons to help aide implementors to determine an
   appropriate BSL.

1.1.  Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC2119 [RFC2119].







Huang, et al.           Expires September 6, 2018               [Page 2]


Internet-Draft                BIER-TE ARCH                    March 2018


2.  BIER-TE Encapsulation (normative)

2.1.  BT bit - Simultaneous support for BIER and BIER-TE

   This document supports mixed BIER and BIER-TE forwarding in a domain.
   Either or both of them may be used in a domain.  The overall solution
   to support this depends on additional signaling such as existing BIER
   ISIS/BGP signaling.  Architecturally, every SD SHOULD only use a
   single Type of BIER: BIER or BIER-TE.  Note that this document will
   use the abbreviation BT to refer to the Bier Type.

   In the presence of BIER and BIER-TE together in the network, there is
   always a risk of receiving a packet which is meant to be of one BT
   and processing it through a BIFT of the other BT.  This can come from
   misconfiguration even in the face of signalling via IGP/BGP.  The
   risk increases also when packets are generated modular from
   applications on PE or other sources and could use both BTs.  To
   resolve this, the header includes a bit to indicate the BT.  If the
   BT of a packet is inconsistent with the BT of the BIFT on the BFR,
   the BFR MUST NOT forward it.  OAM actions MAY be triggered (subject
   to future work).

   Note that the TTL field of the existing BIER packet header (or of IP
   packets) spends 7 bits on loop prevention.  One bit for the BT is a
   comparably low cost to protect against a similar degree of problems.

   Indicating the BT explicitly through a bit in the encapsulation is
   called the "explicit" option.  Relying solely on the BT of the BIFTs
   is called "implicit" option.  In this version of the document, we
   choose the explicit option for reasons outlined above.

2.2.  BIFT-ID

   Like in the original BIER header, the semantic of the BIFT-id of the
   header is that it is representing a <SI,SD,BSL> on the BFR receiving
   the packet.  In the case of MPLS forwarding, the expectation is that
   the protocols to signal label ranges would be extended to also signal
   label ranges for the SD using BIER-TE.  This is subject to the work
   of other documents.  In the case of non-MPLS forwarding, no
   additional signaling may be neccessary, and BIER and BIER-TE packets
   using the encapsulation of this document would equally use the BIFT-
   ID encoding as described in [BIER-non-MPLS].

2.3.  Control Word and flows

   This document adds a "control word" to the BIER packet header to
   allow that BIER or BIER-TE packets with this header could be used as




Huang, et al.           Expires September 6, 2018               [Page 3]


Internet-Draft                BIER-TE ARCH                    March 2018


   a DetNet Data Plane, independent of MPLS encapsulation, see
   [I-D.ietf-detnet-dp-sol], section 5.3 (in revision 01).

   The control word provides a sequence number, therefore allowing to
   correct reordering and discover packet loss.  The primary use though
   is resilient dual-path transmission of two copies of the same packet
   via disjoint paths.  This is specifically a desirable use-case with
   BIER-TE because it allows the engineering of such disjoint paths.
   The flow to which the sequence number in the control word applies is
   <BFR-id,entropy>.

   Note: The justification to carry a control word in the BIER
   encapsulation is similar to carrying the BFIR-ID in it.  Initially,
   both could be seen as primarily required on BIER domain edge-nodes as
   part of the overlay using BIER, but not by BIER/BIER-TE itself
   directly.  See Section 3 for more explanation how the resilience
   mechanism requiring the control word would work.  Compared to the
   BFIR-ID, there is also the option to leverage it within BIER-TE
   itself.  The details of that operations is subject to other
   specifications.

   The authors think that the overhead of the control word is always
   acceptable for BIER-TE.  For BIER, the use of this extended header
   version is optional, therefore BIER packets that need a control word
   would use this version of the header, those that do not need it would
   use version 1.  If this overhead is considered to not be acceptable
   for all BIER-TE packets, the encoding could make those 32 bits
   optional through the use of one of the reserved bits or version
   numbers or by using a bit in the header to indicate whether the
   control word is present or not.

2.4.  Header format & fields



















Huang, et al.           Expires September 6, 2018               [Page 4]


Internet-Draft                BIER-TE ARCH                    March 2018


   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |             BIFT-id                     | TC  |S|     TTL     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |Nibble |  Ver  |  BSL  |              Entropy  (flow-id)       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |OAM|T|R|    DSCP   |   Proto   |          BFIR-id              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |0 0 0 0|         Control Word (sequence number)                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 BitString  (first 32 bits)                    ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                                                               ~
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   ~                BitString  (last 32 bits)                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   0                    1                    2                   3



   All header fields not described below are left unchanged from
   [BIER-TE-ARCH]

   T: This 1-bit field identifies that the packet is to be forwarded as
   a BIER packet (0) or a BIER-TE paket(1).

   Ver: The version of this header format is 2.

   R: Reserved - unchanged (just reduced by one bit from version).  Must
   be set to 0.

   Entropy: Unchanged, but double-used as part of the flow-identifier
   together with the control word

   Control Word: The control word in the terminology of MPLS pseudowires
   (where it originates from) is the full 32 bits.  For detnet, the
   current target is 28 bits of sequence number and 4 bits 0 preceeding
   it.

3.  BIER-TE based resilience operations (informational)

   This section discusses how resilience operations with the help of the
   sequence number in the control word of the header in this document
   can be operated as an overlay (BFIR-BFER) function but also points
   out that it could become an integral (optional) part of BIER-TE
   itself.  This section is solely informational.  The planned document




Huang, et al.           Expires September 6, 2018               [Page 5]


Internet-Draft                BIER-TE ARCH                    March 2018


   to describe the BIER-TE forwarding aspects of resilience operations
   is [I-D.thubert-bier-replication-elimination].

   The BFIR determines - potentially with the help of a BIER-TE
   Controller Host (controller) - a bitstring that forms two disjoint
   DAGs (Directed Acyclic Graphs) through the BIER-TE domain towards the
   same set of BFER.  In addition, an entropy value is decided (by BFIR
   and/or controller) and signalled to the BFER.  The BFER can therefore
   set up "duplicate elimination state": The BFIR increments the
   sequence number with every packet of the flow it sends.  The BFER
   assign packets to a flow by <bfir-id,entropy> and perform duplicate
   elimination on them.

   Note that the bitstring as seen on the receiving BFER can provide
   additional diagnostics, for example the bits not reset by forwarding
   in BIER-TE give an indication about which path the BIER-TE packet was
   forwarded.

   Instead of simply considering this protected mode of operations
   solely an end-to-end (BFIR/BFER) function, it could also be more
   flexibly embedded into BIER-TE itself, allow to provide in-BIER-TE
   segmented Packet Replication and (duplicate) Eliminiation Functions
   (PREF) definable by the bitstring of a BIER-TE packet.  This could be
   achieved by adding to BIER-TE forwarding functions new adjacency
   types for duplication with sequence-number generation and duplicate-
   elimination.  The ability to perform such processing as part of BIER-
   TE itself is the primary reason to ensure that all the necessary
   elements for such operations are part of the BIER-TE header itself.

4.  BitStringLength (BSL) considerations (informational)

   BIER-TE uses each BitPostion to indicate the adjacencies instead of a
   BFER as in BIER, it therefore consumes more BitPostions than BIER.
   In BIER-TE, the number of adjacencies passed by one BIER-TE packet
   MUST be less than the value of BitString length (BSL).  The BIER-TE
   architecture discusses a range of options to reduce the number of
   bits for intermediate hops through various BIER-TE adjacencies and
   how to use them.

   The maximum supported BSL has a different impact in BIER-TE than it
   has in BIER: A smaller maximum supported BSL in BIER primarily leads
   to less replication efficiency: With a BSL of 256, BIER can be up to
   256 more efficient than unicast (1 packet for 256 receivers).  In
   BIER-TE, the BSL also limits the size of the topology towards BFER
   and the alternative paths that can explicitly be engineered to reach
   the BFER.  One simple guess is that 50% of bits in a bitstring may be
   required for intermediate hops, therefore requiring about double the
   amount of bits as BIER - as the cost of being able to engineer pats.



Huang, et al.           Expires September 6, 2018               [Page 6]


Internet-Draft                BIER-TE ARCH                    March 2018


   So far, there is no comprehensive analysis of the number of required
   bits for specific scenarios in BIER-TE.  The following subsections
   give two examples of such scenarios and how to use and save BIER-TE
   bits for intermedia hops.

4.1.  IPTV

   Multicast is widely used for IPTV services by simultaneously
   delivering a single stream of video to thousands of recipients.
   Currently, PIM is widely used to provide multicast capability usually
   from core router(CR) to provider edges (PEs).  And the multicast tree
   is usually constructed in the hierarchical way.  The end users using
   PIM/IGMP to request the multicast data.  BIER can be well used in
   from CR to those PEs.  The number of hops from multicast source (CR)
   which could be BFIRs, to the multicast receivers (PE) which can be
   regarded as BRERs is usually no more than 10.  BIER-TE will be useful
   in the cases where different video channels can have different
   transport paths to achieve load balancing.

   To save the bit consumption, 2 ways could be used:

   1.  Multiple BFRs and routes are required to receive the same data.
   These BFRs or links can share one bit.

   2.  Different bits can be used for pruning.  But these bits can be
   reused in similar but different groups.

   Considering an example illustrated as following:























Huang, et al.           Expires September 6, 2018               [Page 7]


Internet-Draft                BIER-TE ARCH                    March 2018


                          +----+
                          |BFIR|
                          +-+--+
                            |
                            |
              +-------------------------+---|
              |                             |
              |                             |
              |                             |
          +---+---+                    +----+----+
          | BFR1  |       ....         |   BFRn  |
          +---+---+                    +----+----+
              |                             |
              |                            ...
       +------|-------+              +------+---------+
       |      |       |              |      |         |
       |      |       |              |      |         |
    +--+----------------+         +---------+-----------+
    |        BFER1      |         |       BFERn         |
    +--+----------------+         +---------------------+

   BRF1 and BFRn, and other BFRs in between, can share one bit because
   they are receiving all the content and don't need pruning.  From BFR1
   to BFER1, there are 3 ways to reach BFER1.  So these 3 ways can be
   assigned with different bits.  But these 3 bits can be reused in the
   group from BFRn to BFERn, and other groups in between, which share
   the same topology as the group from BFR1 to BFER1.

   BIER-TE can be well implemented using these 2 ways to save the bit
   consumption in IPTV networks with the similar topologies like the
   above example.

4.2.  Multicast in L3VPN

   MVPN is a technology to deploy multicast service in an existing VPN
   or as part of a transport infrastructure.  Multicast data is
   transmitted between private networks over a VPN infrastructure by
   encapsulating the original multicast packets.  PE routers are
   connected to these private networks either containing receivers or
   senders.

   There are several multicast applications widely using the MVPN
   deployment.  For example, L3VPN multicast service offered by service
   providers to enterprise customers, and video transport applications
   for separation between different customers: One content provider may
   provider video wholesale service to another, or multiple content
   provider may share one network to transport video from headend.
   Especially the latter case, network SLAs should be guaranteed as the



Huang, et al.           Expires September 6, 2018               [Page 8]


Internet-Draft                BIER-TE ARCH                    March 2018


   original video content is precious.  Thus, traffic engineering is
   required.

   According to the current implementations, the scale of a MVPN network
   usually contains less than several hundreds of PEs, and hundreds of
   core routers which are connected in full mesh, like following figure
   illustrated.


   +--+          +----+         +----+        +--+
   |PE+----------+ CE +---------+ CE +--------+PE|
   ++-+          +-+--+         +--+-+        +--+
    |              |               |             |
    |              |               |             |
   ++-+          +-+--+         +--+-+         +-++
   |PE+----------+ CE +---------+ CE +---------+PE|
   +--+          +----+         +----+         +--+


   In such a case, the ways in Section 7.5.2 of [BIER-TE-ARCH] can be
   used by regarding the CE area as the Core.  Based on this, current
   BIER design is sufficient to be reused in BIER-TE.

5.  Acknowledgements

   TBD.

6.  Security Considerations

   The security considerations are in compliance with BIER-TE
   architecture [BIER-TE-ARCH] and BIER encapsulation RFC8296 [RFC8296].
   And the content in this document does not create any other attacks or
   security concerns.

7.  IANA Considerations

   TBD.

8.  References

8.1.  Normative References

   [BIER-non-MPLS]
              Wijnands, I., Xu, X., and H. Bidgoli, "An Optional
              Encoding of the BIFT-id Field in the non-MPLS BIER
              Encapsulation", ID draft-wijnandsxu-bier-non-mpls-bift-
              encoding-01 (work in progress), August 2017.




Huang, et al.           Expires September 6, 2018               [Page 9]


Internet-Draft                BIER-TE ARCH                    March 2018


   [BIER-TE-ARCH]
              Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic
              Engineering for Bit Index Explicit Replication BIER-TE",
              ID draft-ietf-bier-te-arch-00 (work in progress), January
              2018.

   [I-D.thubert-bier-replication-elimination]
              Thubert, P., Eckert, T., Brodard, Z., and H. Jiang, "BIER-
              TE extensions for Packet Replication and Elimination
              Function (PREF) and OAM", draft-thubert-bier-replication-
              elimination-03 (work in progress), March 2018.

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

   [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

   [I-D.ietf-detnet-dp-sol]
              Korhonen, J., Andersson, L., Jiang, Y., Finn, N., Varga,
              B., Farkas, J., Bernardos, C., Mizrahi, T., and L. Berger,
              "DetNet Data Plane Encapsulation", draft-ietf-detnet-dp-
              sol-01 (work in progress), January 2018.

Authors' Addresses

   Rachel Huang
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing  210012
   China

   Email: rachel.huang@huawei.com





Huang, et al.           Expires September 6, 2018              [Page 10]


Internet-Draft                BIER-TE ARCH                    March 2018


   Toerless Eckert
   Huawei USA - Futurewei Technologies Inc.
   2330 Central Expy
   Santa Clara  95050
   USA

   Email: tte+ietf@cs.fau.de


   Naiwen Wei
   Huawei

   Email: weinaiwen@huawei.com


   Pascal Thubert
   Cisco Systems
   Village d'Entreprises Green Side
   400, Avenue de Roumanille
   Batiment T3
   Biot - Sophia Antipolis  06410
   FRANCE

   Phone: +33 4 97 23 26 34
   Email: pthubert@cisco.com


























Huang, et al.           Expires September 6, 2018              [Page 11]