cross-layer cooperation to boost multipath tcp performance in cloud networks matthieu coudron...

27
oss-layer Cooperation to Boost Multipath T Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), y Pujolle (LIP6), Patrick Raad (NSS), Pascal Gallard (NS IEEE Cloudnet 2013, 12 Nov. 2013, San Francisco

Upload: ross-browning

Post on 14-Dec-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 2: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

OutlineI. Our goal

II. Multipath TCP presentation

III. Our proposition: Augmented MPTCP1) Overview

2) LISP presentation

3) Testbed & Results

2

Page 3: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Our goal

Increase goodput via multipath communications

Between DataCenters

Between endusers and DataCenters (DC)

3

Page 4: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

4

Multipath TCP1. Introduction

2. Subflow management

Page 5: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 6: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

MPTCP introduction1. First acknowledges if destination is MPTCP

compliant during the 3 way handshake

2. Creates additional subflows according to path management mechanism

7

Page 7: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 8: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 9: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

11

Our proposition: A-MPTCP1. Overview

2. Presentation of LISP3. Tesbed & Results

Page 10: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 11: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 12: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 13: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Our testbed

16

Our guess: Number of WAN paths = Number of RLOCs

Page 14: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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)

Page 15: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 16: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Results on 20 iterations

19

Page 17: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Results on 20 iterations

20

Page 18: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Results on 20 iterations

21

40% improval

Page 19: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

3 subflows

22

Page 20: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 21: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Want to try MPTCP ?1. Install the MPTCP kernel (Debian/Ubuntu)

http://multipath-tcp.org

2. Reboot

3. Go to www.amiusingmptcp.com

25

Page 22: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Source code available on : http://github.com/teto/xp_couplage

[email protected]

Page 23: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

27

RB R1,R2

R3

2/ R1 looks for mapping

3/ R1 sends to next-hop R2

1/ R1 recieves packet

LISP Traffic Engineering

Page 24: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 25: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

Subflow forwardingWe get N available WAN paths

We create N subflowsEach subflow i should have a i = srcPort % N

29

Page 26: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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

Page 27: Cross-layer Cooperation to Boost Multipath TCP Performance in Cloud Networks Matthieu Coudron (LIP6), Stefano Secci (LIP6), Guy Pujolle (LIP6), Patrick

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