Multipath in the Middle(Box)

Multipath in the Middle(Box)

Multipath in the Middle(Box) Gregory Detal, Christoph Paasch and Olivier Bonaventure ICTEAM, Université catholique de Louvain Louvain-la-Neuve – Belgium fi[email protected] ABSTRACT development of the congestion control scheme [2]. This re- Multipath TCP (MPTCP) is a major modification to TCP quired only small changes to the TCP implementation but that enables a single transport connection to use multiple no protocol changes. As the bandwidth requirements grew, paths. Smartphones can benefit from MPTCP by using both the limited TCP window size became a clear bottleneck. WiFi and 3G/4G interfaces for their data-traffic, potentially This problem was solved by the TCP large window exten- improving the performance and allowing mobility through sion [3]. Selective acknowledgements were also introduced vertical handover. However, MPTCP requires a modifica- as an extension to TCP. However, measurements show that tion of the end hosts, thus suffers from the chicken-and-egg deploying a new TCP option can take up to a decade [4]. deployment problem. A global deployment of MPTCP is This is because once standardized, an extension needs to be therefore expected to take years. To increase the incentives adopted and implemented by operating system vendors and for clients and servers to upgrade their system, we propose supported by middleboxes such as firewalls [5]. MiMBox an efficient protocol converter that can translate Regular TCP connections are bound to the IP addresses MPTCP into TCP and vice versa to provide multipath ben- that were used during connection establishment. This im- efits to early adopters of MPTCP. plies that a change in the hosts’ IP address (e.g. in the case MiMBox is application agnostic and can be used trans- of a mobile host) results in a shutdown of all established parently or explicitly. Moreover, a close attention was paid TCP connections. MPTCP [6] addresses this problem by to the implementation’s design to achieve good forwarding allowing the utilization of several paths for a single connec- performance. MiMBox is implemented entirely in the Linux tion. In practice, these paths could be a WiFi and a 3G in- kernel so that it is able to more easily circumvent the bottle- terface on a smartphone, two 10 Gbps interfaces on a server necks of a user-space implementation. Measurements show or an IPv4 and IPv6 address on a laptop. that we always outperform user-space solutions and that the On today’s Internet, smartphones have a motivation for performance is close to plain IP packet forwarding. using MPTCP as this would allow them to efficiently ex- ploit their 3G and WiFi interfaces and provide mobility [7]. However, for this, MPTCP must be supported on both the Categories and Subject Descriptors smartphones and the servers. Although the designers of C.2.5 [Local and Wide-Area Networks]: Internet (e.g., MPTCP took great care of avoiding interfering with various TCP/IP) types of middleboxes [5, 6], it is still expected that the its deployment will take several years. It is also expected that Keywords clients will support MPTCP before servers. Indeed, Apple Inc. recently enabled MPTCP for a specific application in Deployment; Multipath TCP which they control the server-side [8]. In this paper, we propose the utilization of protocol con- 1. INTRODUCTION verters, that we call Multipath in the Middle Box (MiMBox), The Transmission Control Protocol (TCP) exists since to allow early adopters to benefit from MPTCP during its 1981, the date of the publication of RFC 793. Despite its deployment. MiMBox supports both MPTCP and TCP and age, TCP is still the dominant transport protocol on the converts the MPTCP connections used by clients into regu- Internet. More than 95% of the Internet traffic relies on lar TCP connections to allow clients to benefit from MPTCP TCP [1]. During the last thirty years TCP evolved signifi- when communicating with legacy servers. Economic studies cantly. In the late 80’s the congestion collapse lead to the show that such converters can play an important role in the deployment of a new protocol [9]. MiMBox can be placed Permission to make digital or hard copies of all or part of this work for personal or in operator networks or on commodity servers in the cloud classroom use is granted without fee provided that copies are not made or distributed (e.g. as Network Function Virtualization [10], etc.). for profit or commercial advantage and that copies bear this notice and the full cita- This paper is organized as follows. First, we present the tion on the first page. Copyrights for components of this work owned by others than design of MiMBox. We then describe how implementing it ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or re- inside the Linux kernel allows to achieve high performance. publish, to post on servers or to redistribute to lists, requires prior specific permission We then present a thorough performance evaluation and and/or a fee. Request permissions from [email protected]. HotMiddlebox’13, December 9, 2013, Santa Barbara, CA, USA. show that it outperforms existing proxies. Finally, before Copyright 2013 ACM 978-1-4503-2574-5/13/12 ...$15.00. concluding, we discuss related work. http://dx.doi.org/10.1145/2535828.2535829. 1 through tunneling solutions, where all traffic is explicitly sent to a MiMBox by the border gateway of the local network M (e.g., WCCP uses GRE tunnels [11], or a recent proposal by Sherry et al. [12]). C S 2.2 Protocol Conversion (1) SRC: C, DST: M (2) SRC: M, DST: S SYN + DST-OPT: S SYN The operations performed by the MiMBox to translate data segments can be viewed as a pipe, channeling segments (4) SRC: M, DST: C (3) SRC: S, DST: M SYN+ACK from TCP to MPTCP and vice versa. Incoming segments on SYN+ACK the MPTCP-side contain MPTCP options inside the TCP header. MiMBox has to handle the options’ operation (e.g. new subflow establishment, etc.) and strip these options Figure 1: Explicit redirection of connection estab- before forwarding them. MPTCP uses a separate sequence lishment through a MiMBox using the Dst Opt TCP number space than the TCP sequence numbers [6]. Upon option. forwarding, MiMBox has to translate the MPTCP-level se- quence numbers to the TCP sequence numbers on the server- side and vice versa. Further, as the TCP/IP header is mod- 2. DESIGN ified, MiMBox has to update the TCP checksum. Deploying a new transport protocol is hard and often re- As MPTCP creates multiple subflows, segments can arrive ferred as the chicken-and-egg problem. MPTCP, as every independently on each of these subflows. MiMBox therefore new protocol, suffers from this problem. Even by being reorders the segments so that they form an in-order sequence backward compatible with regular TCP, neither servers nor of packets. Finally, MiMBox sends this sequence to the TCP clients have incentives to deploy it when the other end does side. For incoming traffic from the TCP side, MiMBox dis- not support it. To solve this adoption problem, we propose tributes the segments among the subflows. MiMBox dis- to deploy MiMBoxes that transparently convert MPTCP tributes these segments using MPTCP’s default scheduling from MPTCP-enabled clients to regular TCP. algorithm [6]. This section first presents how TCP flows can be redi- rected through MiMBoxes. Then the MPTCP-TCP conver- 3. IMPLEMENTATION sion is outlined. A MiMBox could be implemented as a user-space applica- 1 2 2.1 Traffic Redirection tion. Existing HTTP proxies, such as Squid and HAProxy run in user space, which simplifies the development but may To allow the protocol conversion, TCP segments must be affect performance. First, these proxies are limited to spe- sent to a MiMBox. There exists two possible redirection cific applications and services. Each of these services runs modes: explicit and transparent. With explicit redirection, on a specific port. Furthermore, the application needs to the client sends its segments directly to a MiMBox to allow include a redirection mechanism to allow the explicit mode the latter to translate MPTCP to TCP. This is similar to of MiMBox. MiMBox is application agnostic and does not the operation of an explicit proxy except that MiMBox is require any application change. not restricted to a particular application (e.g. HTTP). To achieve high performance, the following goals are im- When using an explicit HTTP proxy, the client establishes portant: a TCP connection to the proxy and includes the destination server as an HTTP header field. That way the proxy knows Avoid Memory Allocation/Copy. the original destination. Other solutions, like the SOCKS The memory bus is a major limiting factor of the over- proxy, also require a specific application-level protocol to all system performance. The gap between the proces- allow the client to indicate its desired destination. These sor and memory performance is important and still in- solutions require that the applications support the proxy creasing [13]. To overcome the memory access bottle- mechanism which is a major burden. neck it is preferred to try to avoid memory allocations MiMBox does not modify the application layer. We pro- or copy when possible. pose a new TCP option, that we call Dst Opt, to allow the client to announce the server address. The Dst Opt pro- Minimize Context Switching. vides the server’s IP address to the MiMBox. Figure 1 shows Limiting the number of context switches is important how the establishment of new connections is performed via to obtain high performance. Context switching con- a MiMBox. When establishing a new connection the client sumes CPU cycles that could have been used for other places the Dst Opt inside the SYN segment and the des- resources and it has an effect on the space locality of tination address for this connection is MiMBox’s address.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us