Exploring Alternative Routes Using Multipath TCP Stephen Brennan - - PowerPoint PPT Presentation

exploring alternative routes using multipath tcp
SMART_READER_LITE
LIVE PREVIEW

Exploring Alternative Routes Using Multipath TCP Stephen Brennan - - PowerPoint PPT Presentation

Exploring Alternative Routes Using Multipath TCP 1/51 Exploring Alternative Routes Using Multipath TCP Stephen Brennan Case Western Reserve University June 5, 2017 Exploring Alternative Routes Using Multipath TCP 2/51 Introduction Overview


slide-1
SLIDE 1

Exploring Alternative Routes Using Multipath TCP 1/51

Exploring Alternative Routes Using Multipath TCP

Stephen Brennan

Case Western Reserve University

June 5, 2017

slide-2
SLIDE 2

Exploring Alternative Routes Using Multipath TCP 2/51 Introduction

Overview

Introduction Background Related Work Implementation Evaluation Conclusion

slide-3
SLIDE 3

Exploring Alternative Routes Using Multipath TCP 3/51 Introduction

Internet Architecture

slide-4
SLIDE 4

Exploring Alternative Routes Using Multipath TCP 4/51 Introduction

Internet Routing Inefficiencies

◮ The default route is not always the best,

in terms of latency or reliability

◮ Peering agreements and policy based

routing can result in suboptimal routing decisions 1

◮ A route that passes through a “detour”

may be better Example of an inefficient default route 1

1Savage et al. “Detour: Informed Internet routing and transport”. 1999

slide-5
SLIDE 5
slide-6
SLIDE 6

Exploring Alternative Routes Using Multipath TCP 6/51 Introduction

Access Link Underutilization

◮ Residential bandwidth constantly improves ◮ However, residential bandwidth is not fully utilized 2

◮ Short-lived TCP sessions? ◮ Anemic send buffers? ◮ Network core can’t support bandwidth?

◮ Using alternative routes can improve performance ◮ Aggregating multiple routes can perform even better

2Sargent and Allman. “Performance within a fiber-to-the-home network”.

2014

slide-7
SLIDE 7

Exploring Alternative Routes Using Multipath TCP 7/51 Introduction

Concept

client server Internet detour

slide-8
SLIDE 8

Exploring Alternative Routes Using Multipath TCP 8/51 Introduction

Contributions

Problem: Unmodified applications cannot use detour routing to circumvent Internet routing inefficiencies. Solution: An OS-level detour routing system that leverages Multipath TCP (MPTCP). Contributions:

◮ A method for performing detour routing with unmodified

applications

◮ A prototype implementation in the Linux kernel ◮ An evaluation of this mechanism on emulated networks and

the Internet

slide-9
SLIDE 9

Exploring Alternative Routes Using Multipath TCP 9/51 Background

Introduction Background Related Work Implementation Evaluation Conclusion

slide-10
SLIDE 10

Exploring Alternative Routes Using Multipath TCP 10/51 Background Multipath TCP

Multipath TCP

◮ Multi-homed devices are becoming more common

◮ Smartphones ◮ Datacenters ◮ Laptops

◮ TCP still views a connection as a five-tuple: (TCP, Source IP,

Source port, Destination IP, Destination Port)

◮ Multi-homed devices are forced to choose a network interface ◮ Multipath TCP is an extension to TCP, allowing hosts to use

multiple addresses in the same connection

slide-11
SLIDE 11

Exploring Alternative Routes Using Multipath TCP 11/51 Background Multipath TCP

Design Goals

◮ Remain compatible with TCP applications and the Internet

◮ Present the same socket API to applications ◮ Remain similar to TCP on the wire, to remain compatible with

Internet middleboxes

◮ Improve performance and reliability over current TCP, by

aggregating paths created by multiple interfaces.

◮ Do no harm to single-path TCP, by taking no more bandwidth

  • ver shared bottlenecks than standard TCP would
slide-12
SLIDE 12

Exploring Alternative Routes Using Multipath TCP 12/51 Background Multipath TCP

Architecture

+-------------------------------+ | Application | +---------------+ +-------------------------------+ | Application | | MPTCP | +---------------+ + - - - - - - - + - - - - - - - + | TCP | | Subflow (TCP) | Subflow (TCP) | +---------------+ +-------------------------------+ | IP | | IP | IP | +---------------+ +-------------------------------+

slide-13
SLIDE 13

Exploring Alternative Routes Using Multipath TCP 13/51 Background Multipath TCP

Path Management

◮ Subflows are established with a three way handshake ◮ First subflow uses MP CAPABLE option ◮ Subsequent subflows use MP JOIN option ◮ Additional addresses may be advertised using ADD ADDR at

any time

◮ Either side may create new subflows at any time

slide-14
SLIDE 14

Application send() Scheduler Subflow #1 Subflow #2 Subflow #3 Internet Subflow #1 Subflow #2 Subflow #3 Reassemble (DSM) recv() Application

slide-15
SLIDE 15

Exploring Alternative Routes Using Multipath TCP 15/51 Related Work

Introduction Background Related Work Implementation Evaluation Conclusion

slide-16
SLIDE 16

Exploring Alternative Routes Using Multipath TCP 16/51 Related Work Overlay Networks

Resilient Overlay Networks 6

◮ Rather than use only one detour, create an overlay network ◮ Overlay nodes use the Internet as their “link layer” ◮ Routing performed at each node using measured link

characteristics

◮ Several studies based on RON:

◮ Redundant multipath routing 3 ◮ “Biologically inspired” multipath routing

4

◮ mTCP

5

3Andersen, Snoeren, and Balakrishnan. “Best-path vs. multi-path overlay

routing”. 2003

4Leibnitz, Wakamiya, and Murata. “Biologically inspired self-adaptive

multi-path routing in overlay networks”. 2006

5Zhang et al. “A Transport Layer Approach for Improving End-to-End

Performance and Robustness Using Redundant Paths.” 2004

6Andersen et al. Resilient overlay networks. 2001

slide-17
SLIDE 17

Exploring Alternative Routes Using Multipath TCP 17/51 Related Work Overlay Networks

Application Layer

◮ Gnutella 7

◮ Requests forwarded via overlay network ◮ Content exchanged via single path

◮ BitTorrent 8

◮ Pieces of content exchanged between many pairs of peers ◮ Multiple paths simulate detour routing

◮ HTTP Range Requests 9

◮ Range requests allow requesting byte ranges of a file ◮ Request from different network interfaces or to different

endpoints to create alternative paths

7Adar and Huberman. “Free riding on Gnutella”. 2000

  • 8Cohen. “Incentives build robustness in BitTorrent”. 2003

9Kaspar et al. “Enhancing video-on-demand playout over multiple

heterogeneous access networks”. 2010

slide-18
SLIDE 18

Exploring Alternative Routes Using Multipath TCP 18/51 Implementation

Introduction Background Related Work Implementation Evaluation Conclusion

slide-19
SLIDE 19

Exploring Alternative Routes Using Multipath TCP 19/51 Implementation Overview

Concept Overview

client server Internet detour

slide-20
SLIDE 20

Exploring Alternative Routes Using Multipath TCP 20/51 Implementation Overview

Ingredients

◮ Multipath TCP Linux Implementation v0.91 ◮ Custom path manager ◮ OpenVPN ◮ Netfilter / IPTables frameworks

slide-21
SLIDE 21

Kernel Space Path Manager User Space Client Daemon Detour Daemon Server

B C D E F A

slide-22
SLIDE 22

Exploring Alternative Routes Using Multipath TCP 22/51 Implementation Detour Daemon

Strategies for Detours

◮ OpenVPN Approach

◮ Establish an OpenVPN connection with detour ◮ Send packets as normal through the virtual interface ◮ Packets encapsulated via OpenVPN protocol

◮ NAT Approach

◮ Address packets directly to detour ◮ Detour alters source and destination address, forwards packet ◮ Address information must be arranged ahead of time

slide-23
SLIDE 23

Exploring Alternative Routes Using Multipath TCP 23/51 Implementation Detour Daemon

OpenVPN Approach

◮ OpenVPN typically provides encryption and authentication ◮ Configure to only provide authentication on startup, no

encryption or message signatures

◮ Use UDP as transport, to avoid “TCP Meltdown” ◮ VPN appears as network device to the kernel ◮ No per-MPTCP-connection signalling, but has per-packet

  • verhead
slide-24
SLIDE 24

Exploring Alternative Routes Using Multipath TCP 24/51 Implementation Detour Daemon

NAT Approach

7 8 1516 2324 31

ver

  • p

reserved rip rpt dpt Custom protocol for arranging NAT detours

slide-25
SLIDE 25

Exploring Alternative Routes Using Multipath TCP 25/51 Implementation Path Manager

Path Manager

◮ Once a MPTCP connection is established, path manager is

informed

◮ Path manager runs in a background thread ◮ Requests detours from client daemon ◮ Adds up to N additional subflows, where N is configurable.

By default N = 2

◮ Whenever a new detour becomes available, runs again

slide-26
SLIDE 26

Network Namespace NAT Entries VPN Entries

rip, rpt dip, dpt timestamp *next rip, rpt dip, dpt timestamp *next interface timestamp *next interface timestamp *next

MPTCP Control Buffer *network namespace Latest timestamp (NAT) Latest timestamp (VPN)

slide-27
SLIDE 27

Exploring Alternative Routes Using Multipath TCP 27/51 Implementation Client Daemon

Client Daemon

◮ Userspace daemon required for tasks which are not well-suited

for the kernel:

◮ Starting processes ◮ Using UDP sockets

◮ Daemon reads configuration file containing NAT and VPN

detours.

◮ VPN instances are started up first and reported to kernel ◮ Wait for detour requests from kernel, send UDP requests,

report replies to kernel

◮ All communication over Generic Netlink

slide-28
SLIDE 28

Exploring Alternative Routes Using Multipath TCP 28/51 Implementation Putting it Together

Putting it Together (NAT)

  • 1. Application creates MPTCP connection to MPTCP

supporting server

  • 2. Once 3WHS completes, path manager requests a detour from

client daemon

  • 3. Client daemon receives request and sends UDP request to

every detour listed in configuration file

  • 4. Detour daemon sets up detour, sends reply
  • 5. Client daemon forwards reply to kernel
  • 6. The path manager restarts the MPTCP connection’s thread,

which creates a new subflow via this detour

slide-29
SLIDE 29

Exploring Alternative Routes Using Multipath TCP 29/51 Implementation Putting it Together

Putting it Together (VPN)

(0) At startup, client daemon connects to VPN and reports VPN to kernel

  • 1. Application creates MPTCP connection to MPTCP

supporting server

  • 2. Once 3WHS completes, path manager requests a detour from

client daemon.

  • 3. Meanwhile, it uses the VPN already available and establishes

a subflow.

slide-30
SLIDE 30

Exploring Alternative Routes Using Multipath TCP 30/51 Evaluation

Introduction Background Related Work Implementation Evaluation Conclusion

slide-31
SLIDE 31

Exploring Alternative Routes Using Multipath TCP 31/51 Evaluation

Types of Experiments

◮ Previous work has established that there do exist common

scenarios where detour routing can improve path characteristics

◮ We simply attempt show mechanism works as expected ◮ Answer the following

◮ Can we achieve throughput of best available path? ◮ When bandwidth aggregation is possible, can we aggregate

path bandwidth?

◮ What overheads exist in this mechanism? ◮ Can this mechanism be used across the Internet at higher

throughput?

slide-32
SLIDE 32

Exploring Alternative Routes Using Multipath TCP 32/51 Evaluation Mininet Experiments

Mininet Experiments

◮ Mininet allows you to create arbitrary network topologies ◮ Uses host networking stack rather than alternative or

simulation

◮ Uses namespacing (foundation of containerization) rather

than virtualization

slide-33
SLIDE 33

client server detour r1 r2 r3

10.0.6.1 10.0.6.2 10.0.1.1 10.0.1.2 10.0.2.1 10.0.2.2 10.0.3.1 10.0.3.2 10.0.4.1 10.0.4.2 10.0.5.2 10.0.5.1

Link 1 Link 2 Link 3 Link 4 Link 5 Link 6

slide-34
SLIDE 34

Exploring Alternative Routes Using Multipath TCP 34/51 Evaluation Mininet Experiments

Scenarios

◮ Two types of network:

◮ Symmetric: every link has 10Mbps bandwidth ◮ Core-limited: core links have 10Mbps, access links have

20Mbps

◮ Three variations:

◮ Normal: no loss ◮ Lossy: 1% packet loss on Link 2 ◮ Delayed: 100ms delay on Link 2

◮ Workload: send as much data as possible from client to server

slide-35
SLIDE 35

Exploring Alternative Routes Using Multipath TCP 35/51 Evaluation Mininet Experiments

Mechanisms

◮ 1-Subflow: MPTCP with no available detours ◮ NAT: Using NAT detour ◮ VPN: Using VPN detour ◮ TCP: TCP over default route ◮ TCP(NAT): TCP via the NAT tunnel ◮ TCP(VPN): TCP via the VPN tunnel

slide-36
SLIDE 36

Exploring Alternative Routes Using Multipath TCP 36/51 Evaluation Mininet Experiments

Results

slide-37
SLIDE 37

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 8.9 9.0 9.1 9.2 9.3 9.4 9.5 Throughput (Mbps)

Throughput Comparison: Symmetric

slide-38
SLIDE 38

Exploring Alternative Routes Using Multipath TCP 38/51 Evaluation Mininet Experiments

Results

◮ MPTCP has 140kbps, or about 1.5% overhead ◮ VPN approach has overhead of about 6.6% ◮ Mechanism performs well even when no aggregation benefit

possible

slide-39
SLIDE 39

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 3 4 5 6 7 8 9 Throughput (Mbps)

Throughput Comparison: Symmetric with Loss

slide-40
SLIDE 40

Exploring Alternative Routes Using Multipath TCP 40/51 Evaluation Mininet Experiments

Results

◮ MPTCP has 140kbps, or about 1.5% overhead ◮ VPN approach has overhead of about 6.6% ◮ Mechanism performs well even when no aggregation benefit

possible

◮ Mechanism performs similarly to TCP over best path when

the default path has loss

slide-41
SLIDE 41

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 10 12 14 16 18 Throughput (Mbps)

Throughput Comparison: Core-limited

slide-42
SLIDE 42

Exploring Alternative Routes Using Multipath TCP 42/51 Evaluation Mininet Experiments

Results

◮ MPTCP has 140kbps, or about 1.5% overhead ◮ VPN approach has overhead of about 6.6% ◮ Mechanism performs well even when no aggregation benefit

possible

◮ Mechanism performs similarly to TCP over best path when

the default path has loss

◮ Mechanism can effectively aggregate bandwidth when the

network has the potential

slide-43
SLIDE 43

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 4 6 8 10 12 14 Throughput (Mbps)

Throughput Comparison: Core-limited with Loss

slide-44
SLIDE 44

Exploring Alternative Routes Using Multipath TCP 44/51 Evaluation Mininet Experiments

Results

◮ MPTCP has 140kbps, or about 1.5% overhead ◮ VPN approach has overhead of about 6.6% ◮ Mechanism performs well even when no aggregation benefit

possible

◮ Mechanism performs similarly to TCP over best path when

the default path has loss

◮ Mechanism can effectively aggregate bandwidth when the

network has the potential, even in the presence of loss

slide-45
SLIDE 45

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 10 12 14 16 18 Throughput (Mbps)

Throughput Comparison: Core-limited with High Latency

slide-46
SLIDE 46

Exploring Alternative Routes Using Multipath TCP 46/51 Evaluation Mininet Experiments

Results

◮ MPTCP has 140kbps, or about 1.5% overhead ◮ VPN approach has overhead of about 6.6% ◮ Mechanism performs well even when no aggregation benefit

possible

◮ Mechanism performs similarly to TCP over best path when

the default path has loss

◮ Mechanism can effectively aggregate bandwidth when the

network has the potential, even in the presence of loss or high latency

slide-47
SLIDE 47

Exploring Alternative Routes Using Multipath TCP 46/51 Evaluation Mininet Experiments

Results

◮ MPTCP has 140kbps, or about 1.5% overhead ◮ VPN approach has overhead of about 6.6% ◮ Mechanism performs well even when no aggregation benefit

possible

◮ Mechanism performs similarly to TCP over best path when

the default path has loss

◮ Mechanism can effectively aggregate bandwidth when the

network has the potential, even in the presence of loss or high latency

◮ NAT consistently outperforms VPN both in MPTCP and

TCP, but by a small amount.

slide-48
SLIDE 48

Exploring Alternative Routes Using Multipath TCP 47/51 Evaluation AWS Experiments

AWS Experiments

◮ Deployed client, server, and detour implementations to

different AWS regions

◮ Ran similar throughput measurements for MPTCP ◮ Performed at much higer level, but didn’t show similar

improvements

◮ OpenVPN cannot sustain above 60Mbps in our setup

slide-49
SLIDE 49

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 60 80 100 120 140 Throughput (Mbps)

Throughput Comparison: AWS

slide-50
SLIDE 50

Exploring Alternative Routes Using Multipath TCP 49/51 Conclusion

Introduction Background Related Work Implementation Evaluation Conclusion

slide-51
SLIDE 51

Exploring Alternative Routes Using Multipath TCP 50/51 Conclusion

Summary

◮ Created a system for adding detour routes to MPTCP

connections between single-homed devices.

◮ Like MPTCP, this system works with unmodified applications ◮ System is capable of achieving similar performance to the best

available path when no aggregation is possible

◮ System is capable of aggregating throughput when possible

slide-52
SLIDE 52

Exploring Alternative Routes Using Multipath TCP 51/51 Conclusion

Future Work

◮ Deployment scenarios ◮ Dynamic subflow addition and removal ◮ Data scheduling ◮ 0-RTT NAT establishment

slide-53
SLIDE 53

Exploring Alternative Routes Using Multipath TCP 1/14 All Figures

Throughput Comparison, Symmetric

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 8.9 9.0 9.1 9.2 9.3 9.4 9.5 Throughput (Mbps)

Throughput Comparison: Symmetric

slide-54
SLIDE 54

Exploring Alternative Routes Using Multipath TCP 2/14 All Figures

Timelapse, Symmetric

6 7 8 9 MPTCP 5 Control 6 7 8 9 TCP 5 NAT 5 VPN

slide-55
SLIDE 55

Exploring Alternative Routes Using Multipath TCP 3/14 All Figures

Throughput Comparison, Symmetric with Loss

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 3 4 5 6 7 8 9 Throughput (Mbps)

Throughput Comparison: Symmetric with Loss

slide-56
SLIDE 56

Exploring Alternative Routes Using Multipath TCP 4/14 All Figures

Timelapse, Symmetric with Loss

2.5 5.0 7.5 10.0 12.5 15.0 MPTCP 5 Control 2.5 5.0 7.5 10.0 12.5 15.0 TCP 5 NAT 5 VPN

slide-57
SLIDE 57

Exploring Alternative Routes Using Multipath TCP 5/14 All Figures

Throughput Comparison, Symmetric with Delay

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 8.7 8.8 8.9 9.0 9.1 9.2 9.3 9.4 Throughput (Mbps)

Throughput Comparison: Symmetric with High Latency

slide-58
SLIDE 58

Exploring Alternative Routes Using Multipath TCP 6/14 All Figures

Timelapse, Symmetric with Delay

2 4 6 8 10 MPTCP 5 Control 2 4 6 8 10 TCP 5 NAT 5 VPN

slide-59
SLIDE 59

Exploring Alternative Routes Using Multipath TCP 7/14 All Figures

Throughput Comparison, Core-limited

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 10 12 14 16 18 Throughput (Mbps)

Throughput Comparison: Core-limited

slide-60
SLIDE 60

Exploring Alternative Routes Using Multipath TCP 8/14 All Figures

Timelapse, Core-limited

7.5 10.0 12.5 15.0 17.5 MPTCP 5 Control 7.5 10.0 12.5 15.0 17.5 TCP 5 NAT 5 VPN

slide-61
SLIDE 61

Exploring Alternative Routes Using Multipath TCP 9/14 All Figures

Throughput Comparison, Core-limited with Loss

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 4 6 8 10 12 14 Throughput (Mbps)

Throughput Comparison: Core-limited with Loss

slide-62
SLIDE 62

Exploring Alternative Routes Using Multipath TCP 10/14 All Figures

Timelapse, Core-limited with Loss

5 10 15 MPTCP 5 Control 5 10 15 TCP 5 NAT 5 VPN

slide-63
SLIDE 63

Exploring Alternative Routes Using Multipath TCP 11/14 All Figures

Throughput Comparison, Core-limited with Delay

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 10 12 14 16 18 Throughput (Mbps)

Throughput Comparison: Core-limited with High Latency

slide-64
SLIDE 64

Exploring Alternative Routes Using Multipath TCP 12/14 All Figures

Timelapse, Core-limited with Delay

5 10 15 MPTCP 5 Control 5 10 15 TCP 5 NAT 5 VPN

slide-65
SLIDE 65

Exploring Alternative Routes Using Multipath TCP 13/14 All Figures

Throughput Comparison, AWS

1 Subflow NAT VPN TCP TCP (NAT) TCP (VPN) 60 80 100 120 140 Throughput (Mbps)

Throughput Comparison: AWS

slide-66
SLIDE 66

Exploring Alternative Routes Using Multipath TCP 14/14 All Figures

Timelapse, AWS

50 100 150 200 250 MPTCP 5 Control 50 100 150 200 250 TCP 5 NAT 5 VPN