BANANA                                                        N. Leymann
Internet Draft                                              C. Heidemann
Intended Category: Proposed Standard                 Deutsche Telekom AG
                                                                M. Zhang
                                                             B. Sarikaya
                                                                  Huawei
                                                               M. Cullen
                                                       Painless Security
Expires: May 24, 2018                                  November 20, 2017


           BANdwidth Aggregation for interNet Access (BANANA)
                   The Data Plane of Bonding Tunnels
                 draft-leymann-banana-data-encap-01.txt

Abstract

   This memo specifies the encapsulation format for data packets of
   BANdwidth Aggregation for interNet Access (BANANA).

Status of this Memo

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

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as
   Internet-Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/1id-abstracts.html

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html


Copyright and License 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



Leymann, et al.           Expires May 24, 2018                  [Page 1]


INTERNET-DRAFT            BANANA Encapsulation         November 20, 2017


   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
   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.  Acronyms and Terminology . . . . . . . . . . . . . . . . . . .  2
   3.  Data Encapsulation . . . . . . . . . . . . . . . . . . . . . .  3
     3.1.  The GRE Header . . . . . . . . . . . . . . . . . . . . . .  3
   4.  The Reordering Buffer  . . . . . . . . . . . . . . . . . . . .  4
   5.  Security Considerations  . . . . . . . . . . . . . . . . . . .  4
   6.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . .  4
   7.  References . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     7.1.  Normative References . . . . . . . . . . . . . . . . . . .  5
     7.2.  Informative References . . . . . . . . . . . . . . . . . .  5
   Contributors . . . . . . . . . . . . . . . . . . . . . . . . . . .  5
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . .  6

1.  Introduction

   GRE tunnels are set up over heterogeneous connections between the
   local BANANA box and the remote BANANA box.  These tunnels are bonded
   together to form a logic single connection for the subscriber.  Each
   tunnel may be used to carry a user's IP packets as payload, which
   forms a typical IP-over-IP overlay.

   This document adopts the GRE header with Key and Sequence Number
   extensions specified by [RFC2890].  The Protocol Type of the GRE
   header is either 0x0800 (listed as "0x800" in [RFC2784]) or 0x86DD
   [RFC7676], which indicates that the inner packet is either an IPv4
   packet or an IPv6 packet, respectively.  The GRE Key field is set to
   a unique value for the bonding GRE tunnels between two peering BANANA
   boxes.  The GRE Sequence Number field is used to maintain the
   sequence of packets transported in all these GRE tunnels.

2.  Acronyms and Terminology

   GRE: Generic Routing Encapsulation [RFC2784] [RFC2890].

   RTT: Round-Trip Time.




Leymann, et al.           Expires May 24, 2018                  [Page 2]


INTERNET-DRAFT            BANANA Encapsulation         November 20, 2017


   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 RFC 2119 [RFC2119].

3.  Data Encapsulation

   Users' IP (inner) packets are encapsulated in GRE packets that are in
   turn carried in IP (outer) packets.  The general structure of data
   packets of the GRE Tunnel Bonding Protocol is shown below.

                  +--------------------------------+
                  |          Media Header          |
                  +--------------------------------+
                  |         Outer IP Header        |
                  +--------------------------------+
                  |           GRE Header           |
                  +--------------------------------+
                  |         Inner IP Packet        |
                  +--------------------------------+

3.1.  The GRE Header

   The GRE header was first standardized in [RFC2784].  [RFC2890] added
   the optional Key and Sequence Number fields.

   The Checksum and the Reserved1 fields are not used in this memo;
   therefore, the C bit is set to 0.

   The Key bit is set to 1 so that the Key field is present.  The Key
   field is used as a 32-bit random number.  It is generated by the
   remote BANANA box per bonding connection, and the local BANANA box is
   notified.

   The S bit is set to 1, and the Sequence Number field is present and
   used for in-order delivery (see Section 4 and [RFC2890]).

   The Protocol Type field in the GRE header MUST be set to 0x0800 for
   IPv4 or 0x86DD for IPv6.  So, the GRE header used by data packets of
   BANANA has the following format:












Leymann, et al.           Expires May 24, 2018                  [Page 3]


INTERNET-DRAFT            BANANA Encapsulation         November 20, 2017


      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |0| |1|1| Reserved0       | Ver |  Protocol Type 0x0800/86DD    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                              Key                              |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |                        Sequence Number                        |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

        Figure 3: The GRE header for BANANA data packets

4.  The Reordering Buffer

   The local or remote BANANA box generates sequence numbers to be
   carried by all incoming packets that need to be distributed into the
   tunnels.  The receiver maintains a small reordering buffer and orders
   the data packets in this buffer according to the Sequence Number
   field [RFC2890] of their GRE header.  Packets carried in GRE tunnels
   that are bonded to the same session (see Section 5.2 of [BANANA-
   signaling]) enter the same reordering buffer.

   Operators may configure the maximum allowed size (see
   MAX_PERFLOW_BUFFER in [RFC2890]) of the reordering buffer.  They may
   also configure the maximum time (see OUTOFORDER_TIMER in [RFC2890])
   that a packet can stay in the reordering buffer.  The
   OUTOFORDER_TIMER must be configured carefully.  Values larger than
   the difference of the normal Round-Trip Time (RTT) (e.g., 100 ms) of
   any two connections between the two BANANA boxes are not recommended.
    Implementation and deployment experiences have demonstrated that
   there is usually a large margin for the value of MAX_PERFLOW_BUFFER.
   Values larger than the multiplication of the sum of the line rate of
   the two connections and the value of OUTOFORDER_TIMER can be used.

5.  Security Considerations

   As a security feature, the Key field of the GRE header of the data
   packets is generated as a 32-bit cleartext password.  The local
   BANANA box and the remote BANANA box validate the Key value and the
   outer source IP address, and they discard any packets with invalid
   combinations.

   See also the Security Considerations section of [BANANA-signaling]
   and [RFC2890].

6.  IANA Considerations

   IANA need not assign anything for this memo.  RFC editor: please



Leymann, et al.           Expires May 24, 2018                  [Page 4]


INTERNET-DRAFT            BANANA Encapsulation         November 20, 2017


   remove this section before publication.

7.  References

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

   [RFC2697] Heinanen, J. and R. Guerin, "A Single Rate Three Color
             Marker", RFC 2697, DOI 10.17487/RFC2697, September 1999,
             <http://www.rfc-editor.org/info/rfc2697>.

   [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. Traina,
             "Generic Routing Encapsulation (GRE)", RFC 2784, DOI
             10.17487/RFC2784, March 2000, <http://www.rfc-
             editor.org/info/rfc2784>.

   [RFC2890] Dommety, G., "Key and Sequence Number Extensions to GRE",
             RFC 2890, DOI 10.17487/RFC2890, September 2000,
             <http://www.rfc-editor.org/info/rfc2890>.

   [BANANA-signaling]
             N. Leymann, C. Heidemann, et al, "BANdwidth Aggregation for
             interNet Access (BANANA) The Control Protocol of Bonding
             Tunnels", draft-leymann-banana-signaling, work in progress.

7.2.  Informative References

   [RFC7676]  Pignataro, C., Bonica, R., and S. Krishnan, "IPv6 Support
             for Generic Routing Encapsulation (GRE)", RFC 7676, DOI
             10.17487/RFC7676, October 2015, <http://www.rfc-
             editor.org/info/rfc7676>.

Contributors

   Li Xue
   Individual
   Email: xueli_jas@163.com


   Zhongwen Jiang
   Huawei Technologies
   Email: jiangzhongwen@huawei.com





Leymann, et al.           Expires May 24, 2018                  [Page 5]


INTERNET-DRAFT            BANANA Encapsulation         November 20, 2017


Authors' Addresses

   Nicolai Leymann
   Deutsche Telekom AG
   Winterfeldtstrasse 21-27
   Berlin  10781
   Germany
   Phone: +49-170-2275345
   Email: n.leymann@telekom.de


   Cornelius Heidemann
   Deutsche Telekom AG
   Heinrich-Hertz-Strasse 3-7
   Darmstadt  64295
   Germany
   Phone: +49-6151-5812721
   Email: heidemannc@telekom.de


   Mingui Zhang
   Huawei Technologies
   No. 156 Beiqing Rd.
   Haidian District
   Beijing  100095
   China
   Email: zhangmingui@huawei.com


   Behcet Sarikaya
   Huawei USA
   5340 Legacy Dr. Building 3
   Plano, TX  75024
   United States of America
   Email: sarikaya@ieee.org


   Margaret Cullen
   Painless Security
   14 Summer St. Suite 202
   Malden, MA  02148
   United States of America
   Email: margaret@painless-security.com








Leymann, et al.           Expires May 24, 2018                  [Page 6]