Internet innovation with Multipath TCP
Olivier Bonaventure
Internet basics
Physical
Datalink
IP
TCP
Application
Physical
Datalink
IP
TCP
Application
Physical
Datalink
IP
Physical
Datalink
Phase 1 : Specify
1990 1995 2000 2005 2010 2015 2020
1994 : IP Next Generation (IPng)
IETF RFC1752
1998 : IP v6IETF RFC2460
Phase 2 : Implement
1990 1995 2000 2005 2010 2015 2020
1994 : IP Next Generation (IPng)
IETF RFC1752
1998 : IP v6IETF RFC2460
2000 : IPv6FreeBSD 4.0Linux 2.6
2001 : IPv6Windows XP
2003 : IPv6OSX 10.3 Panther
Phase 3 : Deploy
1990 1995 2000 2005 2010 2015 2020
1994 : IP Next Generation (IPng)
IETF RFC1752
1998 : IP v6IETF RFC2460
2000 : IPv6FreeBSD 4.0Linux 2.6
2001 : IPv6Windows XP
2003 : IPv6OSX 10.3 Panther
2008 DNSroot over IP v6
The origins of TCP
Source : http://spectrum.ieee.org/computing/software/the-strange-birth-and-long-life-of-unix
The TCP bytestream model
Client ServerABCDEF...111232
0988989 ... XYZZ
IP:1.2.3.4 IP:4.5.6.7
Endhosts have evolved
Mobile devices have multiple wireless interfaces
User expectations
What technology provides today
3G celltower
IP 1.2.3.4
What technology provides today
3G celltower
When IP addresses change TCP connectionshave to be re-established !
IP 1.2.3.4
IP 5.6.7.8
Multipath TCP : Specify
2005 2010 2015 2020
2008 : TrilogyProject starts
March 2009IETF WG created
Jan. 2013RFC6824 published
March 2011RFC6182 published
The new bytestream model
16
Client ServerABCDEF...111232
0988989 ... XYZZ
IP:1.2.3.4 IP:4.5.6.7
IP:2.3.4.5 IP:6.7.8.9
BBCCDD AA
Multipath TCP : Design objectives
• Multipath TCP is an evolution of TCP
• Design objectives– Support unmodified applications– Work over today’s networks (IPv4 and IPv6)– Works in all networks where regular TCP works
Architectural principles
Physical
Datalink
Network
Transport
Application Multipath TCPMultipath TCP
TCP1TCP1
socketsocket
TCP2TCP2 TCPnTCPn...
Application
A. Ford, C. Raiciu, M. Handley, S. Barre, and J. Iyengar, “Architectural guidelines for Multipath TCP development", RFC6182 2011.
Multipath TCP Data transfer
• Two levels of sequence numbers
Multipath TCPMultipath TCP
TCP1TCP1
socketsocket
TCP2TCP2
Multipath TCPMultipath TCP
TCP1TCP1
socketsocket
TCP2TCP2
ABCDEF
Data sequence #TCP1 sequence #
TCP2 sequence #
Multipath TCP : Implement
2005 2010 2015 2020
Dec. 2009First prototype MPTCP on Linux
Dec. 2010MPTCP on N900smartphone
Sept. 2013MPTCP iOS
Mar. 2013MPTCP FreeBSD
July 2015MPTCP Solaris
Multipath TCP : Deploy
• Low-latency for Siri
2005 2010 2015 2020
Sept. 2013Siri uses MPTCP
WiFi
3G/LTE
Voice samples
Voice samples
Multipath TCP : Deploy
2005 2010 2015 2020
July 2015KT uses MPTCP
WiFi
4G/LTE
Multipath TCP Regular TCP
SOCKS
Multipath TCP : Deploy
2005 2010 2015 2020
2016Hybrid Access Networks
DSL
4G/LTE
Multipath TCP Regular TCP
Hybrid AccessGateway
TCP
TCP
• Multipath TCP has brought innovation in the ossified Internet transport layer– Our open-source implementation played key role
• Confirmed to IETF that the design was correct
• Enabled commercial deployment– Smartphones with Apple, LG, Samsung, …
– Link bonding with Tessares, OVH, Line Factory, Watchy, …
• Ongoing research with network protocols– IPv6 Segment Routing
– Fibbing