Revisiting congestion control for multipath TCP with shared bottleneck detection

Multipath TCP (MPTCP) enables the simultaneous use of multiple links for bandwidth aggregation, better resource utilization and improved reliability. Its coupled congestion control intends to reap the increased bandwidth of multiple links, while avoiding being more aggressive than regular TCP flows on every used link. We argue that this leads to a very conservative behavior when paths do not share a bottleneck. Therefore, in this paper, we first quantify the penalty of the coupled congestion control for links that do not share a bottleneck. Then, in order to overcome this penalty, we design and implement a practical shared bottleneck detection (SBD) algorithm for MPTCP, namely MPTCP-SBD. Through extensive emulations, we show that MPTCP-SBD outperforms all currently deployed MPTCP coupled congestion controls by accurately detecting bottlenecks. For the non-shared bottleneck scenario, we observe throughput gains of up to 40% with two subflows and the gains increase significantly as the number of subflows increase, reaching more than 100% for five subflows. Furthermore, for the shared bottleneck scenario, we show that MPTCP-SBD remains fair to TCP. We complement the emulation results with real-network experiments justifying its safeness for deployment.

[1]  Michael Welzl,et al.  Practical passive shared bottleneck detection using shape summary statistics , 2014, 39th Annual IEEE Conference on Local Computer Networks.

[2]  Antonio Pescapè,et al.  A tool for the generation of realistic network workload for emerging networking scenarios , 2012, Comput. Networks.

[3]  Marina Thottan,et al.  Perspectives on router buffer sizing: recent results and open problems , 2009, CCRV.

[4]  Mark Handley,et al.  Coupled Congestion Control for Multipath Transport Protocols , 2011, RFC.

[5]  Özgü Alay,et al.  Leveraging the IPv4/IPv6 identity duality by using multi-path transport , 2015, 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS).

[6]  Thomas Voice,et al.  Stability of end-to-end algorithms for joint routing and rate control , 2005, CCRV.

[7]  C. Raiciu,et al.  Practical Congestion Control for Multipath Transport Prot ocols , 2009 .

[8]  Christoph Paasch,et al.  Improving Multipath TCP , 2014 .

[9]  KellyFrank,et al.  Stability of end-to-end algorithms for joint routing and rate control , 2005 .

[10]  Guido Appenzeller,et al.  Sizing router buffers , 2004, SIGCOMM '04.

[11]  Sally Floyd,et al.  Simulation-based comparisons of Tahoe, Reno and SACK TCP , 1996, CCRV.

[12]  Mark Handley,et al.  Design, Implementation and Evaluation of Congestion Control for Multipath TCP , 2011, NSDI.

[13]  Mark Handley,et al.  The resource pooling principle , 2008, CCRV.

[14]  Van Jacobson,et al.  TCP Extensions for High Performance , 1992, RFC.

[15]  Jean-Yves Le Boudec,et al.  Opportunistic Linked-Increases Congestion Control Algorithm for MPTCP , 2014 .

[16]  Vern Paxson,et al.  TCP Congestion Control , 1999, RFC.

[17]  Y. Nishida,et al.  Multipath Congestion Control for Shared Bottleneck , 2009 .

[18]  Miroslav Popovic,et al.  MPTCP Is Not Pareto-Optimal: Performance Issues and a Possible Solution , 2013, IEEE/ACM Transactions on Networking.

[19]  Michael Welzl,et al.  Shared Bottleneck Detection for Coupled Congestion Control for RTP Media , 2018, RFC.

[20]  Olivier Bonaventure Multipath TCP timestamp option , 2015 .

[21]  Mark Handley,et al.  Architectural Guidelines for Multipath TCP Development , 2011, RFC.

[22]  Jeff Ahrenholz Comparison of CORE network emulation platforms , 2010, 2010 - MILCOM 2010 MILITARY COMMUNICATIONS CONFERENCE.

[23]  Janardhan R. Iyengar,et al.  Dynamic Window Coupling for multipath congestion control , 2011, 2011 19th IEEE International Conference on Network Protocols.

[24]  Steven H. Low,et al.  Balanced Linked Adaptation Congestion Control Algorithm for MPTCP , 2016 .