Internet DRAFT - draft-zhang-banana-tcp-in-bonding-tunnels

draft-zhang-banana-tcp-in-bonding-tunnels



 



BANANA                                                          M. Zhang
Internet Draft                                                    Huawei
Intended Category: Informational                              N. Leymann
                                                            C. Heidemann
                                                     Deutsche Telekom AG
                                                               M. Cullen
                                                       Painless Security
Expires: September 22, 2016                               March 21, 2016

                    Flow Control for Bonding Tunnels
            draft-zhang-banana-tcp-in-bonding-tunnels-00.txt

Abstract

   Tunnel bonding enables Bandwidth Aggregation across multiple Internet
   access links. From the practice of deployment, flow control is a
   desirable feature of the bonding tunnel. This document explores the
   way to equip bonding tunnel with flow control mechanism.

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


Mingui Zhang, et al    Expires September 22, 2016               [Page 1]

INTERNET-DRAFT           TCP in Bonding Tunnels           March 21, 2016


   (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  . . . . . . . . . . . . . . . . . . .  3
   3. A Network Based Sliding Window  . . . . . . . . . . . . . . . .  3
   4. Bonding De-Activation . . . . . . . . . . . . . . . . . . . . .  4
   5. Security Considerations . . . . . . . . . . . . . . . . . . . .  5
   6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . .  5
   7. References  . . . . . . . . . . . . . . . . . . . . . . . . . .  5
     7.1. Normative References  . . . . . . . . . . . . . . . . . . .  5
     7.2. Informative References  . . . . . . . . . . . . . . . . . .  5
   Author's Addresses . . . . . . . . . . . . . . . . . . . . . . . .  6


1. Introduction

   Bandwidth aggregation capabilities across multiple Internet access
   links can significantly improve end users' Quality of Experience.
   Lots of service providers who possess multiple access networks are
   about to deploy or have already deployed the bandwidth aggregation
   capabilities. There are various enabling techniques arising to
   address bandwidth aggregation issues [Problem]. Among them, tunneling
   techniques are promising since the network-based requirement can be
   fulfilled easily.

   To achieve bandwidth aggregation, two tunnels are to be bonded
   together to form a single logical tunnel in between the access and
   aggregation equipments. When the bandwidth of the primary tunnel
   fills, the secondary tunnel can be used to accommodate the excessive
   load, while end users are supposed not to be aware of the shifting. 

   Flow control is a desirable feature for bandwidth aggregation. In
   this document, TCP-like sliding window mechanism is integrated into
   the tunnel to handle the packet delay, loss and network congestion.
   However, considering the overhead that may be introduced into the
   tunnel, the transportation utilities used here will not cover a full
   set of TCP functions.

   In the practical deployment, the quality of the two bonded tunnels
 


Mingui Zhang, et al    Expires September 22, 2016               [Page 2]

INTERNET-DRAFT           TCP in Bonding Tunnels           March 21, 2016


   may become un-comparable. The bonding mode will be deactivated and
   user's traffic will be carried using the primary tunnel only. From
   calculating of the Adaptive Time-Out in the flow control, operators
   can judge whether the bonding mode should be deactivated.

2. Acronyms and Terminology

   Hybrid Access: The bonding of multiple access connections based on
   heterogeneous technologies (e.g., DSL and LTE) that are provided by
   the same carrier. 

   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. A Network Based Sliding Window

   This document equips bonded tunnels with the well-known sliding
   window mechanism, which used to be a well-know TCP utility, to handle
   packet loss, packet delay and congestions introduced by the bonding
   tunnel. Compared to the sliding windows that are implemented on end-
   systems, this document specifies a network based sliding window
   mechanism.

   In order to realize the sliding window mechanism, sequence number and
   acknowledgement number are required. Note that the sequence number
   specified in this document is used to number packets sent on each
   individual tunnel. It is different from the sequence number that is
   used for packet reordering for the entire bonding tunnel [GREbond].
   However, the two sequence numbers maybe concatenated to use the 4-
   octet Sequence Number field of the GRE header [GREbond]. The sequence
   number for the entire bonding tunnel uses the higher order two octets
   while the sequence number of the individual tunnel uses the lower
   order two octets.

   Based on this sequence number and acknowledgement number,
   retransmission could be realized. However, considering the heavy
   overhead that might be caused, HCPE and HAG will not perform
   retransmission. Retransmission might be realized in accompanied TCP
   proxies or accelerators, but it is out the scope of this document.
   The individual tunnels will merely adopt sliding window mechanism to
   moderate the rate at which the data is being transmitted. To support
   such a mechanism, the HCPE and HAG devices are required to implement
   a sending window. 

   Sequence numbers and acknowledgement numbers are maintained per
   individual tunnels. Sequence numbers have to be piggybacked on data
   packets while acknowledgement numbers can be sent separately from
 


Mingui Zhang, et al    Expires September 22, 2016               [Page 3]

INTERNET-DRAFT           TCP in Bonding Tunnels           March 21, 2016


   data packets. Each bonding tunnel is treated as a constant long-live
   session. Sliding window protocol of [RFC2637] will be used as the
   basis. The following changes to RFC 2637 are required.

   (Section 4.2.4. Window Overflow) When a receiver's window overflows
   with too many incoming packets, the receiver immediately starts to
   digest the packets in the window and put them into the reordering
   buffer, even if there are missing packets. This process continues
   until excess packets are accommodated. When the secondary
   transmission window fills, no more traffic should be distributed to
   the secondary tunnel. Packets will enter the primary transmission
   window.

   (Section 4.2.5.  Multi-packet Acknowledgment) Each packet is
   acknowledged as it enters the reordering buffer of the bonding
   tunnel. When the receiving window overflows, packets are digested
   even if there are missing packets with lower sequence number. At that
   point, those digested packets will be acknowledged as well.

   (Section 4.3. Out-of-sequence Packets) Out of sequence packets are
   not dropped. Instead, they will be digested and enter the reordering
   buffer of the bonding tunnel. For these out-of-sequence packets, no
   acknowledgement will be sent.

   (Section 4.4.1. Calculating Adaptive Acknowledgment Time-Out) When a
   time-out occurs for the secondary tunnel, the sending device will not
   stop distributing packets onto the secondary tunnel as long as a good
   throughput is promised (i.e., the transmission window does not fill),
   unless the difference of the ATOs of the two tunnels exceeds the
   configured MaxDiffTimeOut. In the case that the difference of ATOs
   exceeds MaxDiffTimeOut or the secondary transmission window fills, no
   packets will be distributed to the secondary tunnel. Packets remained
   in the secondary transmission window will be moved to the primary
   transmission window. 

4. Bonding De-Activation

   In the practical deployment, the secondary connection might suffer
   from large latency, jitter and high packet loss rate. In the bonding
   tunnel, packets are distributed onto both primary and secondary
   tunnels at one end and then recombined again in a buffer at the
   receiver. If the secondary GRE tunnel suffers, the entire bonding
   tunnel will suffer as well due to the recombination function. For
   example, assume packet 1 is distributed onto the secondary GRE tunnel
   while packet 2 is distributed onto the primary GRE tunnel. If packet
   1 is delayed by 100 ms, even packet 2 arrives at the recombination
   butter at the first ms, it has to remain in the buffer awaiting for
   99 ms for packet 1. 
 


Mingui Zhang, et al    Expires September 22, 2016               [Page 4]

INTERNET-DRAFT           TCP in Bonding Tunnels           March 21, 2016


   Deployment experiences show that the TCP throughput of the bonding
   tunnel might be greatly reduced due to the downgrade or disruption of
   the secondary tunnel. Hence, monitoring the performance of the
   secondary tunnel is required. Based on the monitoring, when the
   performance of the two links are comparable operators will remain the
   bonding mode open. Otherwise, when the monitored performance
   parameters do not meet their predefined requirements, the bonding
   mode will be de-activated so that the HCPE and HAG only use the
   primary connection. As specified in Section 3, the calculation of the
   Adaptive Acknowledgment Time-Out provides such kind of monitoring.

5. Security Considerations

   Unless the payload data and control messages carried in the tunnels
   are cryptographically protected, they can be captured and read or
   modified. Attackers may make up bogus sequence numbers and
   acknowledge numbers to cause replay or deny of service attacks.

6. IANA Considerations

   No new registration is required to be allocated from IANA. RFC
   editor, please remove this section before its 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>.

   [RFC2637] Hamzeh, K., Pall, G., Verthein, W., Taarud, J., Little, W.,
             and G. Zorn, "Point-to-Point Tunneling Protocol (PPTP)",
             RFC 2637, DOI 10.17487/RFC2637, July 1999, <http://www.rfc-
             editor.org/info/rfc2637>.

   [GREbond] Leymann, N., Heidemann, C. , et al, "GRE Tunnel Bonding",
             draft-zhang-gre-tunnel-bonding, Work in Progress.

7.2. Informative References

   [Problem] Cullen, M., et al, "Problem Statement: Bandwidth
             Aggregation for Internet Access", Work in Progress, draft-
             zhang-banana-problem-statement, Work in Progress.



 


Mingui Zhang, et al    Expires September 22, 2016               [Page 5]

INTERNET-DRAFT           TCP in Bonding Tunnels           March 21, 2016


Author's Addresses


   Mingui Zhang
   Huawei Technologies
   No. 156 Beiqing Rd., Haidian District
   Beijing 100095 
   China

   Email: zhangmingui@huawei.com


   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: +4961515812721
   Email: heidemannc@telekom.de


   Margaret Cullen
   Painless Security
   14 Summer St. Suite 202
   Malden, MA 02148
   United States

   Email: margaret@painless-security.com












Mingui Zhang, et al    Expires September 22, 2016               [Page 6]