Monday, December 9, 2013

CoNEXT HotMiddlebox: Multipath TCP in the Middle(Box)

Gregory Detal, Christoph Paasch, and Olivier Bonaventure (Universite catholique de Louvain)

Paper link

Presenter: Gregory Detal

Nowadays device have multiple interfaces, having LTE, WiFi and ethernet at the same time.
As a end user you expect seamless mobility between connections established on those interfaces,  but as TCP is linked to a single IP address, a TCP connection will fail when the address change.

(demonstration showing a mobile device streaming a video when the WiFi is lost, the streaming ends)

MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows.
To do this MPTCP establish regular TCP connections, adding some signaling to be able to reorder the packets.
MPTCP as been implemented by Apple in iOS 7 (for Siri).

TCP extensions adoption take time, especially on the server side, for instance in took 15 years for the SACK extension.
To accelerate the deployment of this new extension the authors propose a converter that will act at the transport layer.
Putting that converter in the edge of the newtork, the converter allow to offer MPTCP service provided by "regular TCP servers".

(demonstration showing a mobile device streaming a video when the WiFi is lost, the streaming continues)

This converter is implemented into the linux kernel for optimized performances. The evaluation was conducted using a client having 2x10Gps links to the converter, the converter having a single 10Gps link to the server. The applications used are nerperf and weighttp. The evaluation was made comparing the performances of the converter acting as a router or as a converter. The evolution showed that the converter is highly efficient, always close to the performance we can get when doing MPTCP end to end.

Conclusion:
MPTCP is an important extension
MPTCP brings many advantages to end users (especially on smartphones)
The MPTCP converter allows users to take advantage of MPTCP quickly

Questions:

Q: Other success stories besides Apple?
A: Yes, Intel is also looking at it, Citrix created a mptcp-enabled middlebox (used by Apple). Apple has still the major deployment (more that hundreds of millions of user).

Q: MPTCP looks like SCTP, what's the differences:
A: SCTP was more difficult to deploy, even if it's a cleaner approach MPTCP solved the deployment problem.

Q: What are the incentive for this use cas
A: Basically mobile operators wants to offload their 3G traffic on the WiFi. 4G networks will be overloaded by 2020.

Q: Challenges of the implementations ? Why not other solutions in user space ?
A: no TCP stack available in solutions such as netmap. The current MPTCP stack of Linux is performant and stable. The challenges was mainly to integrate within the Linux stack efficiently.

Q: Is it not better to have MPTCP from end to end as the converter is acting as a choke point ?
A: Sure, but in the smartphone environment we expect that the choke points will be located at the client access networks (3G, WiFi) so there should not impact end to end performance but going through a converter. We also looked at solutions to fallback when the server is MPTCP allowing the client to establish direct subflows to the server and thus benefit from MPTCP end to end. This was not published in this paper due to lack of space.