490 likes | 574 Views
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.
E N D
Opportunistic Mobility with Multipath TCP Costin Raiciu Department of Computer Science University Politehnica of Bucharest Joint work with DragosNiculescu, 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
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 SYN MP_CAPABLE X
MPTCP Mobile Architecture 3G celltower SYN/ACK MP_CAPABLE Y
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 … SYN JOIN Y
MPTCP Mobile Architecture 3G celltower STATE CWND Snd.SEQNO Rcv.SEQNO … SYN/ACK JOIN X
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 … DATA SEQ A DSEQ: 1 STATE B CWND Snd.SEQNO Rcv.SEQNO …
MPTCP Mobile Architecture 3G celltower STATE A CWND Snd.SEQNO Rcv.SEQNO … DATA SEQ A DSEQ: 1 DATA SEQ B DSEQ: 2 STATE B CWND Snd.SEQNO Rcv.SEQNO …
MPTCP Mobile Architecture 3G celltower STATE A CWND Snd.SEQNO Rcv.SEQNO … DATA SEQ B DSEQ: 2 STATE B CWND Snd.SEQNO Rcv.SEQNO …
MPTCP Mobile Architecture 3G celltower STATE A CWND Snd.SEQNO Rcv.SEQNO … DATA SEQNO A DSEQ: 2 DATA SEQ B DSEQ: 2 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 WiFiif available • Optimal TCP= Migrate TCP + Oracle • MPTCP
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
Looking Beyond Throughput • For mobile phones energy matters! • MPTCP can shift connections to the more efficient interface