Internet DRAFT - draft-leymann-banana-data-encap
draft-leymann-banana-data-encap
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]