Indexed on: 01 Feb '21Published on: 26 Jan '21Published in: Electronics
The main design goals of the multipath transmission control protocol (MPTCP) are to improve the throughput and share a common bottleneck link fairly with a single-path transmission control protocol (TCP). The existing MPTCP congestion control algorithms achieve the goal of fairness with single-path TCP flows in a shared bottleneck, but they cannot maximize the throughput in nonshared bottlenecks, where multiple subflows traverse different bottleneck links. This is because the MPTCP is designed not to exceed the throughput of a single-path TCP competing in the bottleneck. Therefore, we believe that MPTCP congestion control should have different congestion window control mechanisms, depending on the bottleneck type. In this paper, we propose an adaptive decrease window (ADW) balanced linked adaptation (BALIA) congestion control algorithm that adaptively adjusts the congestion window decrease in order to achieve better throughput in nonshared bottlenecks while maintaining fairness with the single-path TCP flows in shared bottlenecks. The ADW-BALIA algorithm detects shared and nonshared bottlenecks based on delay fluctuations and it uses different congestion window decrease methods for the two types of bottleneck. When the delay fluctuations of the MPTCP subflows are similar, the ADW-BALIA algorithm behaves the same as the existing BALIA congestion control algorithm. If the delay fluctuations are dissimilar, then the ADW-BALIA algorithm adaptively modulates the congestion window reduction. We implement the ADW-BALIA algorithm in the Linux kernel and perform an emulation experiment that is based on various topologies. ADW-BALIA improves the aggregate MPTCP throughput by 20% in the nonshared bottleneck scenario, while maintaining fairness with the single-path TCP in the shared bottleneck scenario. Even in a triple bottleneck topology, where both types of bottlenecks exist together, the throughput increases significantly. We confirmed that the ADW-BALIA algorithm works stably for different delay paths, in competition with CUBIC flows, and with lossy links.