Crosslayer Cooperation to Boost Multipath TCP Performance in
Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP 6), Stefano Secci (LIP 6), Guy Pujolle (LIP 6), Patrick Raad (NSS), Pascal Gallard (NSS) IEEE Cloudnet 2013, 12 Nov. 2013, San Francisco
Outline I. Our goal II. Multipath TCP presentation III. Our proposition: Augmented MPTCP 1) Overview 2) LISP presentation 3) Testbed & Results 2
Our goal Increase goodput via multipath communications Between Data. Centers Between endusers and Data. Centers (DC) 3
Multipath TCP 1. Introduction 2. Subflow management 4
MPTCP introduction Defined in RFC 6824 as a TCP extension Emphasis on backwards compatibility Works with most middleboxes Can send data concurrently on several subflows Single data stream transmitted at 51. 8 Gbit/s. Available in: Linux i. OS 7 Citrix Net. Scaler 6
MPTCP introduction 1. First acknowledges if destination is MPTCP compliant during the 3 way handshake 2. Creates additional subflows according to path management mechanism 7
MPTCP path management RFC 6182 states path management should be modular By default 1 subflow per (src, dst) IPs 2 IPsrc and 2 IPdst => 2 x 2=4 subflows NB: Several subflows can originate from the same IP with different port numbers 8
• How many subflows to create ? • How to achieve proper forwarding ? By default 1 subflow 100 MB/s 1 GB/s 100 MB/s 1 IP Wouldn’t 2 subflows be better ? Not necessarily. . . , need to follow different physical paths 9
Our proposition: A-MPTCP 1. Overview 2. Presentation of LISP 3. Tesbed & Results 11
Overview Enhance MPTCP path discovery with WAN topology information LISP can give edge path diversity information LISP can enable multipath WAN forwarding Enforce per subflow forwarding Based on TCP ports in our case Relying on edge multipath forwarding nodes 13
Location/Identifier Separation Protocol : LISP Defined in RFC 6830 Tunneling protocol between edge routers Allows us to get the WAN path diversity IPs classified in 2 groups: Endpoint IDentifier (EID) Routing Locators (RLOCs) EID associated to RLOC(s) via a mapping system 14
Mapping Server 1/ A wants to contact B RLOCs B RB 1, RB 2 4/ RB decapsulates and forwards inner packet to B 2/ RA retrieves RLOCs for B RLOC RA Host EID « A » EID RLOC RB 1 3/ Packet from A encapsulated & forwarded to RB 1 RLOC RB 2 Host EID « B » 15
Our testbed Our guess: Number of WAN paths = Number of RLOCs 16
1/ First subflow established 2/ Retrieves number of RLOCs 3/ Creation of 2 nd subflow with Specific source port number (Subflow src. Port. Number) %2 = 0 (or 1) =>(Subflow src. Port. Number) %2 = 1 (or 0) G. Detal et al. , « Revisiting Flow-Based Load Balancing: Stateless Path Selection in Data Center Networks » 17
Userspace daemon Specific Kernel module + lig program End-point C LISP router C End-point S 1: SYN + MP_CAPABLE 1: SYN/ACK + MP_C layed t RLOCs 3: Request re 2: Reques of EID S to userspace via Netlink UDP/LISP tunnel 1: ACK 4: Sends Map-Reque st . list of RLOCs 5: Sends Map-Reply, i. e 6: Sends numbe r of RLOCs LISP router S 6: relays the information 7: Creation o f additionna l subflows if n eeded 18
Results on 20 iterations 19
Results on 20 iterations 20
Results on 20 iterations 40% improval 21
3 subflows 22
Conclusion A-MPTCP gives significant gains in certain conditions Directly proportional to the number of additional WAN paths given by LISP Available in opensource Future work Enforce disjoint paths on the WAN segment via LISP Traffic Engineering Further enhancement on the DC/LAN segment via Cloud fabrics TE (SDN, OVS, TRILL-TE) 24
Want to try MPTCP ? 1. Install the MPTCP kernel (Debian/Ubuntu) http: //multipath-tcp. org 2. Reboot 3. Go to www. amiusingmptcp. com 25
Source code available on : http: //github. com/teto/xp_couplage � Matthieu. coudron@lip 6. fr �
LISP Traffic Engineering 1/ R 1 recieves packet 2/ R 1 looks for mapping 3/ R 1 sends to next-hop R 2 RB R 1, R 2 R 3 27
Number of subflows Hypothesis: LAN is not the bottleneck Number of subflows N=Max(WAN diversity, LAN diversity) N=Max(Product of EIDs, Product of RLOCs) 28
Subflow forwarding We get N available WAN paths We create N subflows Each subflow i should have a i = src. Port % N 29
Coupled Congestion Control Shared global window The TCP subflows are not independant and their congestion windows are coupled Try to use the least congested paths Probe other paths as well 30
References The fastest TCP connection with Multipath TCP C. Paasch, G. Detal, S. Barré, F. Duchêne, O. Bonaventure Revisiting Flow-Based Load Balancing: Stateless Path Selection in Data Center Networks G. Detal et al. 31
- Slides: 27