[Docs] [txt|pdf|xml|html] [Tracker] [Email] [Diff1] [Diff2] [Nits] [IPR]

Versions: 00 01

DetNet                                                   P. Thubert, Ed.
Internet-Draft                                                     Cisco
Intended status: Standards Track                              Z. Brodard
Expires: January 25, 2018                            Ecole Polytechnique
                                                                H. Jiang
                                                        Telecom Bretagne
                                                           July 24, 2017


             BIER-TE-based OAM, Replication and Elimination
             draft-thubert-bier-replication-elimination-01

Abstract

   This specification leverages Bit Index Explicit Replication - Traffic
   Engineering to control in the data plane the DetNet Replication and
   Elimination activities, and to provide traceability on links where
   replication and loss happen, in a manner that is abstract to the
   forwarding information.

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 http://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 January 25, 2018.

Copyright Notice

   Copyright (c) 2017 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
   (http://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



Thubert, et al.         Expires January 25, 2018                [Page 1]


Internet-Draft              BIER-TE-based OAM                  July 2017


   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.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  On BIER - Traffic Engineering . . . . . . . . . . . . . . . .   3
   4.  BIER-TE-based Replication and Elimination Control . . . . . .   4
   5.  Summary . . . . . . . . . . . . . . . . . . . . . . . . . . .   8
   6.  Implementation Status . . . . . . . . . . . . . . . . . . . .   8
   7.  Security considerations . . . . . . . . . . . . . . . . . . .   9
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   9.  Acknowledgements  . . . . . . . . . . . . . . . . . . . . . .   9
   10. References  . . . . . . . . . . . . . . . . . . . . . . . . .   9
     10.1.  Normative References . . . . . . . . . . . . . . . . . .   9
     10.2.  Informative References . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  11

1.  Introduction

   Deterministic Networking (DetNet) [I-D.ietf-detnet-problem-statement]
   provides a capability to carry unicast or multicast data flows for
   real-time applications with extremely low data loss rates and known
   upper bound maximum latency [I-D.ietf-detnet-architecture].

   DetNet applies to multiple environments where there is a desire to
   replace a point to point serial cable or a multidrop bus by a
   switched or routed infrastucture, in order to scale, lower costs, and
   simplify management.  One classical use case is found in particular
   in the context of the convergence of IT with Operational Technology
   (OT), also referred to as the Industrial Internet.  But there are
   many others use cases [I-D.ietf-detnet-use-cases], for instance in in
   professional audio and video, automotive, radio fronthauls, etc..

   The DetNet data plane alternatives [I-D.dt-detnet-dp-alt] studies the
   applicability of existing and emerging dataplane techniques that can
   be leveraged to enable DetNet properties in IP networks.  One
   critical feature in the dataplane is traceability, the capability to
   control the activity of intermediate nodes on a packet.  For
   instance, if Replication and Elimination is applied to a packet, then
   it is desirable to determine which node performed a certain copy of
   that packet that is circulating in the network.

   Traceability belongs to Operations, Administration, and Maintenance
   (OAM) which is the toolset for fault detection and isolation, and for
   performance measurement.  More can be found on OAM Tools in "An



Thubert, et al.         Expires January 25, 2018                [Page 2]


Internet-Draft              BIER-TE-based OAM                  July 2017


   Overview of Operations, Administration and Maintenance (OAM) Tools"
   [I-D.ietf-opsawg-oam-overview].

   This document proposes a new set to OAM tools based on Bit Indexed
   Explicit Replication [I-D.ietf-bier-architecture] (BIER) and more
   specifically BIER Traffic Engineering [I-D.eckert-bier-te-arch]
   (BIER-TE) to control the process or Replication and Elimination, and
   provide traceability of these operations, in the DetNet dataplane.
   An adjacency, which is represented by a bit in the BIER header, can
   correspond in the dataplane to an Ethernet hop, a Label Switched
   Path, or it can correspond to an IPv6 loose or strict source routed
   path.

2.  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].

3.  On BIER - Traffic Engineering

   BIER [I-D.ietf-bier-architecture] is a network plane replication
   technique that was initially intended as a new method for multicast
   distribution.  In a nutshell, a BIER header includes a bitmap that
   explicitly signals the listeners that are intended for a particular
   packet, which means that 1) the sender is aware of the individual
   listeners and 2) the BIER control plane is a simple extension of the
   unicast routing as opposed to a dedicated multicast data plane, which
   represents a considerable reduction in OPEX.  For this reason, the
   technology faces a lot of traction from Service Providers.

   The simplicity of the BIER technology makes it very versatile as a
   network plane signaling protocol.  Already, a new Traffic Engineering
   variation is emerging that uses bits to signal segments along a TE
   path.  While BIER is mainly a multicast technology that typically
   leverages a unicast distributed control plane through IGP extensions,
   BIER-TE [I-D.eckert-bier-te-arch] is mainly a unicast technology that
   leverages a central computation to setup path, compute segments and
   install the mapping in the intermediate nodes.

   BIER-TE supports a Traffic Engineered forwarding plane by explicit
   hop-by-hop forwarding and loose hop forwarding of packets.

   From the BIER-TE architecture, the key differences over BIER are:

   o  BIER-TE replaces in-network autonomous path calculation by
      explicit paths calculated off path by the BIER-TE controller host.




Thubert, et al.         Expires January 25, 2018                [Page 3]


Internet-Draft              BIER-TE-based OAM                  July 2017


   o  In BIER-TE every BitPosition of the BitString of a BIER-TE packet
      indicates one or more adjacencies - instead of a BFER as in BIER.
   o  BIER-TE in each BFR has no routing table but only a BIER-TE
      Forwarding Table (BIFT) indexed by SI:BitPosition and populated
      with only those adjacencies to which the BFR should replicate
      packets to.

   The generic view of an adjacency can be over a link, a tunnel or
   along a path segment.

   With Segment Routing [I-D.ietf-spring-segment-routing] a segment can
   be signaled as an MPLS label, or an IPv6 routing header .  A segment
   may be loosely of strictly source routed, depending on the need for
   full non-congruence and the confidence that loose routing may still
   achieve that need.

4.  BIER-TE-based Replication and Elimination Control

   In a nutshell, BIER-TE is used as follows:

   o  A controller computes a complex path, sometimes called a track,
      which takes the general form of a ladder.  The steps and the side
      rails between them are the adjacencies that can be activated on
      demand on a per-packet basis using bits in the BIER header.


                            ===> (A) ====> (C) ====
                          //     ^ |       ^ |     \\
              ingress (I)        | |       | |       (E) egress
                          \\     | v       | v     //
                            ===> (B) ====> (D) ====


      Figure 1: Ladder Shape with Replication and Elimination Points

   o  The controller assigns a BIER domain, and inside that domain,
      assigns bits to the adjacencies.  The controller assigns each bit
      to a replication node that sends towards the adjacency, for
      instance the ingress router into a segment that will insert a
      routing header in the packet.  A single bit may be used for a step
      in the ladder, indicating the other end of the step in both
      directions.









Thubert, et al.         Expires January 25, 2018                [Page 4]


Internet-Draft              BIER-TE-based OAM                  July 2017


                            ===> (A) ====> (C) ====
                          // 1   ^ |  4    ^ |   7 \\
              ingress (I)        |2|       |6|       (E) egress
                          \\ 3   | v  5    | v   8 //
                            ===> (B) ====> (D) ====


                         Figure 2: Assigning Bits

   o  The controller activates the replication by deciding the setting
      of the bits associated with the adjacencies.  This decision can be
      modified at any time, but takes the latency of a controller round
      trip to effectively take place.  Below is an example that uses
      Replication and Elimination to protect the A->C adjacency.

            +-------+-----------+-------+---------------------+
            | Bit # | Adjacency | Owner | Example Bit Setting |
            +-------+-----------+-------+---------------------+
            |   1   |    I->A   |   I   |          1          |
            |   2   |    A->B   |   A   |          1          |
            |       |    B->A   |   B   |                     |
            |   3   |    I->C   |   I   |          0          |
            |   4   |    A->C   |   A   |          1          |
            |   5   |    B->D   |   B   |          1          |
            |   6   |    C->D   |   C   |          1          |
            |       |    D->C   |   D   |                     |
            |   7   |    C->E   |   C   |          1          |
            |   8   |    D->E   |   D   |          0          |
            +-------+-----------+-------+---------------------+

                Replication and Elimination Protecting A->C

                     Table 1: Controlling Replication

   o  The BIER header with the controlling BitString is injected in the
      packet by the ingress node of the deterministic path.  That node
      may act as a replication point, in which case it may issue
      multiple copies of the packet


                          ====>  Repl ===> Elim ====
                       //         |         ^        \\
               ingress            |         |           egress
                                  v         |
                                 Fwd ====> Fwd


                       Figure 3: Enabled Adjacencies



Thubert, et al.         Expires January 25, 2018                [Page 5]


Internet-Draft              BIER-TE-based OAM                  July 2017


   o  For each of its bits that is set in the BIER header, the owner
      replication point resets the bit and transmits towards the
      associated adjacency; to achieve this, the replication point
      copies the packet and inserts the relevant data plane information,
      such as a source route header, towards the adjacency that
      corresponds to the bit

                      +-----------+----------------+
                      | Adjacency | BIER BitString |
                      +-----------+----------------+
                      |    I->A   |    01011110    |
                      |    A->B   |    00011110    |
                      |    B->D   |    00010110    |
                      |    D->C   |    00010010    |
                      |    A->C   |    01001110    |
                      +-----------+----------------+

               BitString in BIER Header as Packet Progresses

                        Table 2: BIER-TE in Action

   o  Adversely, an elimination node on the way strips the data plane
      information and performs a bitwise AND on the BitStrings from the
      various copies of the packet that it has received, before it
      forwards the packet with the resulting BitString.

                      +-----------+----------------+
                      | Operation | BIER BitString |
                      +-----------+----------------+
                      |    D->C   |    00010010    |
                      |    A->C   |    01001110    |
                      |           |    --------    |
                      |  AND in C |    00000010    |
                      |           |                |
                      |    C->E   |    00000000    |
                      +-----------+----------------+

                BitString Processing at Elimination Point C

                    Table 3: BIER-TE in Action (cont.)

   o  In this example, all the transmissions succeeded and the BitString
      at arrival has all the bits reset - note that the egress may be an
      Elimination Point in which case this is evaluated after this node
      has performed its AND operation on the received BitStrings).






Thubert, et al.         Expires January 25, 2018                [Page 6]


Internet-Draft              BIER-TE-based OAM                  July 2017


               +-------------------+-----------------------+
               | Failing Adjacency | Egress BIER BitString |
               +-------------------+-----------------------+
               |        I->A       |       Frame Lost      |
               |        I->B       |       Not Tried       |
               |        A->C       |        00010000       |
               |        A->B       |        01001100       |
               |        B->D       |        01001100       |
               |        D->C       |        01001100       |
               |        C->E       |       Frame Lost      |
               |        D->E       |       Not Tried       |
               +-------------------+-----------------------+

                       BitString indicating failures

                    Table 4: BIER-TE in Action (cont.)

   o  But if a transmission failed along the way, one (or more) bit is
      never cleared.  Table 4 provides the possible outcomes of a
      transmission.  If the frame is lost, then it is probably due to a
      failure in either I->A or C->E, and the controller should enable
      I->B and D->E to find out.  A BitString of 00010000 indicates
      unequivocally a transmission error on the A->C adjacency, and a
      BitString of 01001100 indicates a loss in either A->B, B->D or
      D->C; enabling D->E on the next packets may provide more
      information to sort things out.

   In more details:

   The BIER header is of variable size, and a DetNet network of a
   limited size can use a model with 64 bits if 64 adjacencies are
   enough, whereas a larger deployment may be able to signal up to 256
   adjacencies for use in very complex paths.  The format of this header
   is common to BIER and BIER-TE.

   For the DetNet data plane, a replication point is an ingress point
   for more than one adjacency, and an elimination point is an egress
   point for more than one adjacency.

   A pre-populated state in a replication node indicates which bits are
   served by this node and to which adjacency each of these bits
   corresponds.  With DetNet, the state is typically installed by a
   controller entity such as a PCE.  The way the adjacency is signaled
   in the packet is fully abstracted in the bit representation and must
   be provisioned to the replication nodes and maintained as a local
   state, together with the timing or shaping information for the
   associated flow.




Thubert, et al.         Expires January 25, 2018                [Page 7]


Internet-Draft              BIER-TE-based OAM                  July 2017


   The DetNet data plane uses BIER-TE to control which adjacencies are
   used for a given packet.  This is signaled from the path ingress,
   which sets the appropriate bits in the BIER BitString to indicate
   which replication must happen.

   The replication point clears the bit associated to the adjacency
   where the replica is placed, and the elimination points perform a
   logical AND of the BitStrings of the copies that it gets before
   forwarding.

   As is apparent in the examples above, clearing the bits enables to
   trace a packet to the replication points that made any particular
   copy.  BIER-TE also enables to detect the failing adjacencies or
   sequences of adjacencies along a path and to activate additional
   replications to counter balance the failures.

   Finally, using the same BIER-TE bit for both directions of the steps
   of the ladder enables to avoid replication in both directions along
   the crossing adjacencies.  At the time of sending along the step of
   the ladder, the bit may have been already reset by performing the AND
   operation with the copy from the other side, in which case the
   transmission is not needed and does not occur (since the control bit
   is now off).

5.  Summary

   BIER-TE occupies a particular position in the DetNet dataplane.  In
   the one hand it is optional, and only useful if replication and
   elimination is taking place.  In the other hand, it has unique
   capabilities to:

   o  control which replication take place on a per packet basis, so
      that replication points can be configured but not actually
      utilized
   o  trace the replication activity and determine which node replicated
      a particular packet
   o  measure the quality of transmission of the actual data packet
      along the replication segments and use that in a control loop to
      adapt the setting of the bits and maintain the reliability.

6.  Implementation Status

   A research-stage implementation of the forwarding plane fir a 6TiSCH
   IOT use case was developed at Cisco's Paris Innovation Lab (PIRL) by
   Zacharie Brodard.  It was implemented on OpenWSN Open-source firmware
   and tested on the OpenMote-CC2538 hardware.  It implements the header
   types 15,16, 17, 18 and 19 (bit-by-bit encoding without group ID) in
   order to allow a BIER-TE protocol over IEE802.15.4e.



Thubert, et al.         Expires January 25, 2018                [Page 8]


Internet-Draft              BIER-TE-based OAM                  July 2017


   This work was complemented with a Controller-based control loop by
   Hao Jiang.  The controller builds the complex paths (called Tracks in
   6TiSCH) and decides the setting oif the BitStrings in real time in
   order to optimize the delivery ratio within a minimal energy budget.

   Links:

      github: https://github.com/zach-b/openwsn-fw/tree/BIER
      OpenWSN firmware: https://openwsn.atlassian.net/wiki/pages/
      viewpage.action?pageId=688187
      OpenMote hardware: http://www.openmote.com/

7.  Security considerations

   TBD.

8.  IANA Considerations

   This document has no IANA considerations.

9.  Acknowledgements

   The method presented in this document was discussed and worked out
   together with the DetNet Data Plane Design Team:

      Jouni Korhonen
      Janos Farkas
      Norman Finn
      Olivier Marce
      Gregory Mirsky
      Pascal Thubert
      Zhuangyan Zhuang

   The authors also like to thank the DetNet chairs Lou Berger and Pat
   Thaler, as well as Thomas Watteyne, 6TiSCH co-chair, for their
   contributions and support to this work.

10.  References

10.1.  Normative References

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






Thubert, et al.         Expires January 25, 2018                [Page 9]


Internet-Draft              BIER-TE-based OAM                  July 2017


10.2.  Informative References

   [I-D.dt-detnet-dp-alt]
              Korhonen, J., Farkas, J., Mirsky, G., Thubert, P.,
              Zhuangyan, Z., and L. Berger, "DetNet Data Plane Protocol
              and Solution Alternatives", draft-dt-detnet-dp-alt-04
              (work in progress), September 2016.

   [I-D.eckert-bier-te-arch]
              Eckert, T., Cauchie, G., Braun, W., and M. Menth, "Traffic
              Engineering for Bit Index Explicit Replication BIER-TE",
              draft-eckert-bier-te-arch-05 (work in progress), June
              2017.

   [I-D.ietf-bier-architecture]
              Wijnands, I., Rosen, E., Dolganow, A., Przygienda, T., and
              S. Aldrin, "Multicast using Bit Index Explicit
              Replication", draft-ietf-bier-architecture-07 (work in
              progress), June 2017.

   [I-D.ietf-detnet-architecture]
              Finn, N., Thubert, P., Varga, B., and J. Farkas,
              "Deterministic Networking Architecture", draft-ietf-
              detnet-architecture-02 (work in progress), June 2017.

   [I-D.ietf-detnet-problem-statement]
              Finn, N. and P. Thubert, "Deterministic Networking Problem
              Statement", draft-ietf-detnet-problem-statement-01 (work
              in progress), September 2016.

   [I-D.ietf-detnet-use-cases]
              Grossman, E., Gunther, C., Thubert, P., Wetterwald, P.,
              Raymond, J., Korhonen, J., Kaneko, Y., Das, S., Zha, Y.,
              Varga, B., Farkas, J., Goetz, F., Schmitt, J., Vilajosana,
              X., Mahmoodi, T., Spirou, S., and P. Vizarreta,
              "Deterministic Networking Use Cases", draft-ietf-detnet-
              use-cases-12 (work in progress), April 2017.

   [I-D.ietf-opsawg-oam-overview]
              Mizrahi, T., Sprecher, N., Bellagamba, E., and Y.
              Weingarten, "An Overview of Operations, Administration,
              and Maintenance (OAM) Tools", draft-ietf-opsawg-oam-
              overview-16 (work in progress), March 2014.

   [I-D.ietf-spring-segment-routing]
              Filsfils, C., Previdi, S., Decraene, B., Litkowski, S.,
              and R. Shakir, "Segment Routing Architecture", draft-ietf-
              spring-segment-routing-12 (work in progress), June 2017.



Thubert, et al.         Expires January 25, 2018               [Page 10]


Internet-Draft              BIER-TE-based OAM                  July 2017


Authors' Addresses

   Pascal Thubert (editor)
   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


   Zacharie Brodard
   Ecole Polytechnique
   Route de Saclay
   Palaiseau  91128
   FRANCE

   Phone: +33 6 73 73 35 09
   Email: zacharie.brodard@polytechnique.edu


   Hao Jiang
   Telecom Bretagne
   2, rue de la Chataigneraie
   Cesson-Sevigne  35510
   FRANCE

   Phone: +33 7 53 70 97 34
   Email: hao.jiang@telecom-bretagne.eu



















Thubert, et al.         Expires January 25, 2018               [Page 11]


Html markup produced by rfcmarkup 1.123, available from https://tools.ietf.org/tools/rfcmarkup/