Internet DRAFT - draft-pfister-bier-over-ipv6

draft-pfister-bier-over-ipv6







Network Working Group                                         P. Pfister
Internet-Draft                                              IJ. Wijnands
Intended status: Standards Track                           Cisco Systems
Expires: May 4, 2017                                    October 31, 2016


             An IPv6 based BIER Encapsulation and Encoding
                    draft-pfister-bier-over-ipv6-01

Abstract

   This document specifies the packet format and procedures for
   transporting IPv6 payloads to multiple IPv6 destinations using the
   Bit Index Explicit Replication (BIER).  The BIER BitString is stored
   within the low-order bits of the IPv6 destination address while the
   high-order bits are used for unicast forwarding before entering the
   destination BIER domain, identifying whether a packet is a BIER
   packet, the destination Sub-Domain, the Set Identifier and the
   BitString length.

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 May 4, 2017.

Copyright Notice

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



Pfister & Wijnands         Expires May 4, 2017                  [Page 1]

Internet-Draft               BIER over IPv6                 October 2016


   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.  IPv6 BIER Packet Format . . . . . . . . . . . . . . . . . . .   3
   4.  Multicast Flow Overlay Operations . . . . . . . . . . . . . .   4
   5.  Bier Layer Forwarding Operations  . . . . . . . . . . . . . .   4
   6.  Applicability Statement . . . . . . . . . . . . . . . . . . .   4
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   5
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     9.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Appendix A.  Acknowledgements . . . . . . . . . . . . . . . . . .   6
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   6

1.  Introduction

   The Bit Index Explicit Replication (BIER -
   [I-D.ietf-bier-architecture]) forwarding technique enables IP
   multicast transport across a BIER domain.  Its architecture is based
   on three different layers, a multicast flow overlay, a BIER Layer,
   and a routing underlay.  This document specifies the packet format
   and procedures enabling IPv6 payload transport to multiple
   destinations, hence defining the transport part of a BIER layer.

   BIER BitString is encoded in the low-order bits of the IPv6
   destination address of each packet.  The high-order bits of the IPv6
   destination address are used by intermediate routers for unicast
   forwarding, deciding whether a packet is a BIER packet, and if so, to
   identify the BIER Sub-Domain, Set Identifier and BitString length.

   Transported payloads can be of various types such as IPv6 or IPv4,
   unicast or multicast (e.g. using generic packet tunnelling
   [RFC2473]), or transported data (e.g. using UDP).  Any data that can
   be used as payload to an IPv6 packet can be encapsulated, but special
   care must be taken when forwarding some types of payloads.  For
   example, the UDP checksum may become invalid as the BIER BitString is
   modified.

   This technique is an alternative to the MPLS encapsulation
   [I-D.ietf-bier-mpls-encapsulation].  It may be appropriate when
   deploying an MPLS network is not an option, e.g., in some data
   centers, or in home networks [RFC7368].  It also offers some



Pfister & Wijnands         Expires May 4, 2017                  [Page 2]

Internet-Draft               BIER over IPv6                 October 2016


   interesting properties with regard to host compatibility (see
   Section 6).

2.  Terminology

   In this document, the key words "MAY", "MUST", "MUST NOT",
   "RECOMMENDED", and "SHOULD", are to be interpreted as described in
   [RFC2119].

3.  IPv6 BIER Packet Format

   Payload to be sent to multiple destinations is encapsulated within an
   IPv6 packet with no additional extension or encapsulation header.
   Information required by BIER to operate is stored in the destination
   IP address of the IPv6 header.  The BIER BitString is encoded in the
   low-order bits of the IPv6 destination address of the packet while
   the high-order bits are used by intermediate BIER routers to identify
   that the forwarded packet is an IPv6 BIER packet, its BIER sub-
   domain, its associated BIER Set Identifier, and the BitString length.

   |         p bits             |         128-p bits         |
   +---------------------------------------------------------+
   |     BIER IPv6 Prefix       |       BitString bits       |
   +---------------------------------------------------------+

              Figure 1: IPv6 BIER destination address format

   BIER IPv6 Prefix:  This is a prefix used for BIER forwarding within
         the domain.  BIER routers will consider all packets sent to
         this prefix as an IPv6 BIER packets.  Each BIER IPv6 Prefix is
         associated with a Sub-Domain, a Set Identifier, and a BitString
         length.

   BitString bits:  These bits are used to encode the BIER BitString.
         It encodes the set of BFERs the packet should be sent to.
         Those bits are modified as the packet is replicated by
         intermediate BIER routers.

   The mapping between a BIER IPv6 Prefix and the BIER parameters may be
   implemented using either algorithmic mapping (e.g., by including the
   Sub-Domain and the Set Identifier in the low-order bits of the
   prefix), by using a binding table (e.g., by associated each prefix
   with configuration parameters), or using a combination of the two.
   Although an algorithmic mapping might be advantageous in certain
   scenarios, only the binding table model can interoperate with any
   other operating mode.  Therefore, implementations SHOULD support the
   binding table model (in order to interoperate with any other
   operating modes), and MAY provide other operating modes too.



Pfister & Wijnands         Expires May 4, 2017                  [Page 3]

Internet-Draft               BIER over IPv6                 October 2016


4.  Multicast Flow Overlay Operations

   When a multicast packet enters the BIER domain, the BFIR first
   consults the multicast flow overlay and obtains the Sub-Domain
   Identifier and the set of BFERs the packet must be sent to.  This set
   is used in order to compute the set of bit indexes representing the
   set of destination BFERs.  All indexes that have the same Set
   Identifier are grouped in order to create a set of BitStrings
   associated with their respective SI.  For each SI, the multicast
   packet is encapsulated within an IPv6 BIER packet, as specified in
   Section 3.

   The same process is used when a given IPv6 payload is sent to a set
   of destinations.  But instead of encapsulating the packet, the
   payload is attached to the BIER IPv6 header and the IPv6 protocol
   number is set to the type of the payload.

5.  Bier Layer Forwarding Operations

   Each BIER IPv6 Prefix is inserted in the IPv6 FIB.  When a packet is
   received, a longest prefix match is performed on the destination IPv6
   address.  If the result of the lookup returns a BIER entry, the BIER
   Sub-Domain, Set Identifier and BitString length are retrieved.  The
   packet is then processed according to the BIER forwarding algorithm.
   For each replicated packet, the BitString, included in the IPv6
   destination address is modified and the packet is sent on the
   outgoing interface.

   It is worth noting that this algorithm may interact with unicast
   forwarding.  For example, BIER IPv6 Prefixes corresponding to a sub-
   domain in which a BIER router is not included in MAY be implemented
   as a unicast forwarding FIB entry.

6.  Applicability Statement

   The technique described in this document enables transport of IPv6
   payloads towards multiple destinations using BIER.  The information
   required by BIER is stored in the destination IPv6 address.  In
   particular, the length of the BIER BitString is limited by the prefix
   length assigned to BIER forwarding.  For example, lengths from 16 to
   72 could be used while lengths of 128 or greater are impractical.
   Therefore, this proposal does not comply with the current version of
   the BIER architecture document [I-D.ietf-bier-architecture] which
   mandates fixed, power of 2, values from 64 to 4096, with a minimal
   supported value of 256.  It appears to the authors that such values
   depend on the underlying technology that is used.  In particular,
   mandated values seem to fit MPLS [I-D.ietf-bier-mpls-encapsulation]
   requirements, but may be impractical in other scenarios.



Pfister & Wijnands         Expires May 4, 2017                  [Page 4]

Internet-Draft               BIER over IPv6                 October 2016


   Past the BitString length limitation, this proposal offers different
   advantages:

      BIER IPv6 packets are not different from IPv6 unicast packets.  If
      the BIER IPv6 Prefix is a globally unique IPv6 prefix, reachable
      from outside the BIER domain, it is possible to send a packet from
      outside the BIER domain to multiple destinations within the BIER
      domain.

      It may be used for transporting IP multicast packets, but also for
      sending IP payloads directly to multiple destinations.

      It does not rely on a new IPv6 extension header, which simplifies
      deployment and is likely to improve performances.

      It is possible to configure a host with an address which
      corresponds to a BIER address with a single bit set.  From the
      host perspective, such address is not different from a unicast
      IPv6 address.  Which means a BIER-unaware host may receive BIER
      packets transparently.  As an example, if multicast traffic is
      being transported over BIER using standard IP-in-IPv6
      encapsulation, an end-host could behave as tunnel end-point for
      this traffic without requiring any BIER specific configuration.

   Finally, it is worth mentioning that this proposal relies on routers
   modifying the IPv6 destination address from IPv6 packets.  Just like
   other BIER encapsulations, this technique will likely require the
   development of specific monitoring tools and techniques.

7.  Security Considerations

   This technique allows IPv6 BIER packets to be sent across the
   internet toward multiple destination located in a given BIER domain.
   If this is considered a threat, a firewall at the entrance of the
   BIER domain in order to avoid BIER packets from being injected and
   replicated within the network.

8.  IANA Considerations

   This specification does not require any action from IANA.

9.  References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.




Pfister & Wijnands         Expires May 4, 2017                  [Page 5]

Internet-Draft               BIER over IPv6                 October 2016


   [RFC2473]  Conta, A. and S. Deering, "Generic Packet Tunneling in
              IPv6 Specification", RFC 2473, DOI 10.17487/RFC2473,
              December 1998, <http://www.rfc-editor.org/info/rfc2473>.

   [RFC7368]  Chown, T., Arkko, J., Brandt, A., Troan, O., and J. Weil,
              "IPv6 Home Networking Architecture Principles", RFC 7368,
              October 2014.

9.2.  Informative References

   [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-01 (work in
              progress), June 2015.

   [I-D.ietf-bier-mpls-encapsulation]
              Wijnands, I., Rosen, E., Dolganow, A., Tantsura, J., and
              S. Aldrin, "Encapsulation for Bit Index Explicit
              Replication in MPLS Networks", draft-ietf-bier-mpls-
              encapsulation-02 (work in progress), August 2015.

Appendix A.  Acknowledgements

   The authors would like to thank the BIER Interim Meeting participants
   as well as Eric Rosen, Toerless Eckert and Xiaohu Xu for their
   comments on the mailing list.

Authors' Addresses

   Pierre Pfister
   Cisco Systems
   Paris
   France

   Email: pierre.pfister@darou.fr


   IJsbrand Wijnands
   Cisco Systems
   De Kleetlaan 6a
   Diegem  1831
   Belgium

   Email: ice@cisco.com






Pfister & Wijnands         Expires May 4, 2017                  [Page 6]