Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron...

Post on 14-Dec-2015

221 views 2 download

Transcript of Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron...

Cross-layer Cooperation to Boost Multipath TCPPerformance in Cloud Networks

Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick Raad (NSS), Pascal Gallard (NSS)

IEEE Cloudnet 2013, 12 Nov. 2013, San Francisco

OutlineI. Our goal

II. Multipath TCP presentation

III. Our proposition: Augmented MPTCP1) Overview

2) LISP presentation

3) Testbed & Results

2

Our goal

Increase goodput via multipath communications

Between DataCenters

Between endusers and DataCenters (DC)

3

4

Multipath TCP1. Introduction

2. Subflow management

MPTCP introductionDefined in RFC 6824 as a TCP extension

Emphasis on backwards compatibilityWorks with most middleboxes

Can send data concurrently on several subflowsSingle data stream transmitted at 51.8 Gbit/s.

Available in:Linux iOS7Citrix NetScaler

6

MPTCP introduction1. 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) IPs2 IPsrc and 2 IPdst => 2x2=4 subflows

NB: Several subflows can originate from the same IP with different port numbers

8

1GB/s

1 IP 1 IP

100MB/s

100MB/s

By default 1 subflow

Wouldn’t 2 subflows be better ?

, need to follow different physical pathsNot necessarily...

9

• How many subflows to create ?• How to achieve proper forwarding ?

1GB/s

11

Our proposition: A-MPTCP1. Overview

2. Presentation of LISP3. Tesbed & Results

OverviewEnhance MPTCP path discovery with WAN

topology informationLISP can give edge path diversity information LISP can enable multipath WAN forwarding

Enforce per subflow forwardingBased on TCP ports in our caseRelying on edge multipath forwarding nodes

13

Location/Identifier Separation Protocol :

LISPDefined in RFC 6830

Tunneling protocol between edge routersAllows 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

15

Host EID « A »

Host EID « B »

1/ A wants to contact B

EID RLOCs

B RB1, RB2

RLOC RA

RLOC RB1

2/ RA retrieves RLOCs for B

3/ Packet from A encapsulated & forwarded to RB1

4/ RB decapsulates and forwards inner packet to B

RLOC RB2

Mapping Server

Our testbed

16

Our guess: Number of WAN paths = Number of RLOCs

17

1/ First subflow established

2/ Retrieves number of RLOCs

3/ Creation of 2nd subflow withSpecific source port number

G. Detal et al., « Revisiting Flow-Based Load Balancing: Stateless Path Selection in Data Center Networks »

(Subflow srcPortNumber) %2 = 0 (or 1)=>(Subflow srcPortNumber) %2 = 1 (or 0)

18

UD

P/L

ISP t

unnel

End-point C LISP router C LISP router S End-point S

1: SYN + MP_CAPABLE

1: SYN/ACK + MP_CAPABLE

1: ACK

SpecificKernel module

2: Request RLOCs

of EID S

Userspace daemon + lig program

3: Request relayed

to userspace

via Netlink

4: Sends Map-Request

5: Sends Map-Reply, i.e. list of RLOCs

6: Sends number of RLOCs

6: relays the information

7: Creation of additionnal subflows if needed

Results on 20 iterations

19

Results on 20 iterations

20

Results on 20 iterations

21

40% improval

3 subflows

22

ConclusionA-MPTCP gives significant gains in certain

conditionsDirectly proportional to the number of additional

WAN paths given by LISP

Available in opensource

Future workEnforce disjoint paths on the WAN segment via LISP

Traffic EngineeringFurther 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@lip6.fr

27

RB R1,R2

R3

2/ R1 looks for mapping

3/ R1 sends to next-hop R2

1/ R1 recieves packet

LISP Traffic Engineering

Number of subflowsHypothesis: LAN is not the bottleneck

Number of subflows N=Max(WAN diversity, LAN diversity)

N=Max(Product of EIDs, Product of RLOCs)

28

Subflow forwardingWe get N available WAN paths

We create N subflowsEach subflow i should have a i = srcPort % 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

ReferencesThe fastest TCP connection with Multipath

TCPC. Paasch, G. Detal, S. Barré, F. Duchêne, O. Bonaventure

Revisiting Flow-Based Load Balancing: Stateless Path Selection in Data Center NetworksG. Detal et al.

31