MPTCP Linux Kernel Congestion Controls

Research paper by Bruno Yuji Lino Kimura, Antonio Alfredo Frederico Loureiro

Indexed on: 07 Dec '18Published on: 07 Dec '18Published in: arXiv - Computer Science - Networking and Internet Architecture


MultiPath TCP (MPTCP) is a promising protocol which brings new light to the TCP/IP protocol stack ossification problem by means of an impactful innovation of the transport layer. A MPTCP connection consists of a set of one or more subflows, where each subflow offers an alternative path to reach a target remote end-system. However, simply applying the standard TCP congestion control on each subflow would give an unfair resource sharing. Various subflows of a connection would dispute bottleneck links with regular single-path TCP connections, leading them to starvation conditions. To deal with this concern, a multipath congestion control algorithm adjusts the sending operation of all subflows in a coupled fashion in order to achieve various objectives, e.g., friendliness, responsiveness, throughput improvement, and congestion balance. In this report, we describe the four coupled congestion control algorithms deployed in the MPTCP Linux kernel implementation, namely: LIA, OLIA, BALIA, and wVegas. We provide a concise material with technical details of each algorithm, while summarizing all of them together from a single notation.