Opportunistic Mobility with Multipath TCP
Download
Report
Transcript Opportunistic Mobility with Multipath TCP
Opportunistic Mobility with
Multipath TCP
Costin Raiciu
Department of Computer Science
University Politehnica of Bucharest
Joint work with Dragos Niculescu, Marcelo Bagnulo (UC3M)
and Mark Handley (UCL)
Mobile Devices Everywhere!
Smartphones
Tablets
Cars
• Network connectivity is a requirement
• Wifi, 3G, Bluetooth
• Vastly different properties
Problem Statement
• Connectivity is transient for mobile nodes
– A few seconds for Wifi at driving speeds [Bala2010]
• TCP connections use one interface
– When link goes down, connection dies
• How can we utilize all these links to get the
best performance?
What is a good mobility strategy?
3G celltower
What is a good mobility strategy?
3G celltower
What is a good mobility strategy?
3G celltower
What is a good mobility strategy?
3G celltower
Make Before Break
What is a good mobility strategy?
3G celltower
Make Before Break
What is a good mobility strategy?
3G celltower
What is a good mobility strategy?
3G celltower
Make Before Break
What is a good mobility strategy?
3G celltower
What is a good mobility strategy?
3G celltower
Actively Use Multiple Interfaces
What is a good mobility strategy?
3G celltower
Actively Use Multiple Interfaces
Mobility Solutions
Survive
Make
Connection Before
Break
Multiple
Links
Current Mobile
Stacks
No
No
No
Mobile IP
Yes
Yes
No
TCP-Migrate
Yes
Yes
No
Mobility Solutions
Survive
Make
Connection Before
Break
Multiple
Links
Current Mobile
Stacks
No
No
No
Mobile IP
Yes
Yes
No
TCP-Migrate
Yes
Yes
No
Multipath TCP
Yes
Yes
Yes
Multipath TCP: Overview
MPTCP uses multiple paths in the network for one
transport connection
– Opens multiple subflows which carry data over the
different paths
– Different paths are selected by using different addresses
and/or ports
• MPTCP is a drop in replacement for TCP
– Works with unmodified apps
– Works over the existing network
MPTCP Mobile Architecture
3G celltower
MPTCP Mobile Architecture
3G celltower
MPTCP Mobile Architecture
3G celltower
MPTCP Mobile Architecture
3G celltower
MPTCP Mobile Architecture
3G celltower
STATE
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE A
CWND
Snd.SEQNO
Rcv.SEQNO
…
STATE B
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE A
CWND
Snd.SEQNO
Rcv.SEQNO
…
STATE B
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE A
CWND
Snd.SEQNO
Rcv.SEQNO
…
STATE B
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE A
CWND
Snd.SEQNO
Rcv.SEQNO
…
STATE B
CWND
Snd.SEQNO
Rcv.SEQNO
…
MPTCP Mobile Architecture
3G celltower
STATE A
CWND
Snd.SEQNO
Rcv.SEQNO
…
STATE B
CWND
Snd.SEQNO
Rcv.SEQNO
…
What if the remote server is not
MPTCP enabled?
• This will be the case for initial deployment
• Solution: use an MPTCP proxy
– Will be deployed by the mobile operator
– Phones will be configured with the proxy’s address
via DHCP
• The proxy can also help with:
– Simultaneous move
– Peer to peer operation
Proxy Functionality:
Server Does Not Speak MPTCP
3G celltower
MPTCP
Proxy
Proxy Functionality:
Server Does Not Speak MPTCP
3G celltower
MPTCP
Proxy
Proxy Functionality:
Server Speaks MPTCP
3G celltower
MPTCP
Proxy
Proxy Functionality:
Server Speaks MPTCP
3G celltower
MPTCP
Proxy
Evaluation
• The benefits come from using multiple
interfaces concurrently
• We considered multiple scenarios:
– Indoor mobility (trace)
– Outdoor mobility (simulation)
• 3G and WIFI connectivity varies
– Link speeds and variations taken from [Bala2010,
Bychk2006]
Algorithms under test
• TCP 3G, TCP WiFi
• WiFi First: switch to WiFi if available
• Optimal TCP = Migrate TCP + Oracle
• MPTCP
Outdoors Mobility, Walking
Outdoors Mobility, Walking
Outdoors Mobility, Walking
Outdoors Mobility, Walking
Outdoors Mobility, Walking
Outdoors Mobility, Walking
Similar Improvements in All Tests
• MPTCP vs. Optimal TCP: 10 - 20%
• MPTCP vs. WiFi First: 50 - 100%
Energy Experiments
• Bits/Joule varies for the same interface
• How do we know which is the more efficient
interface?
– Periodically activate all interfaces
– Measure Bits/Joule
– Switch to the most efficient one
• Compared to TCP WiFI MPTCP improves:
– Energy efficiency by 7%
– Throughput by 50%
MPTCP Overheads
• CPU overheads
– Depend on the number of subflows
– Negligible for x86 and few subflows
• Network overheads
– 20B in each segment ~ 1.5%
• Memory overheads
– Receive buffer grows as max(RTT)*sum(BW)
across all paths
Conclusions
• MPTCP for mobility seems like a no-brainer
• Its main advantage is overlapping the use of
multiple interfaces
– Gets best throughput and robustness
– Might improve energy usage
• Exciting things to do next
– Test how real apps work with MPTCP on mobile
phones
– Study scenarios with two WiFi, two 3G interfaces
Backup Slides
Looking Beyond Throughput
• For mobile phones energy matters!
• MPTCP can shift connections to the more
efficient interface