BA-MPCUBIC: Bottleneck-Aware Multipath CUBIC for Multipath-TCP.
Imtiaz MahmudTabassum LubnaGeon-Hwan KimYou-Ze ChoPublished in: Sensors (Basel, Switzerland) (2021)
The Congestion Control Algorithm (CCA) in the Multipath Transmission Control Protocol (MPTCP) is fundamental to controlling the flow of data through multiple subflows (SF) simultaneously. The MPTCP CCA has two design goals: first, always ensure better throughput than single path TCP (SPTCP) flows, and second, collectively, MPTCP SFs going through a shared bottleneck (SB) should occupy bandwidth fairly, i.e., close to the bandwidth occupied by an SPTCP flow. Although several MPTCP CCAs exist, they primarily focus on specific scenarios and could not satisfy the design goals in diverse and dynamic scenarios. Recently, CUBIC has become a widely used CCA for SPTCP for its better compatibility with high-speed internet. CUBIC's effective implementation in the MPTCP is expected to provide improved throughput and fairer behavior, thus satisfying the design goals. However, although the current multipath CUBIC (MPCUBIC) implementation ensures better fairness, it fails to ensure better throughput. We believe the application of same rule for SFs going through an SB and non-shared bottleneck (NSB) makes it difficult for MPCUBIC to adapt to diverse and dynamically changing network scenarios, thus resulting in poor throughput. Therefore, we present an improved version of MPCUBIC, namely bottleneck-aware MPCUBIC (BA-MPCUBIC), to resolve the throughput issue. First, we deploy an innovative bottleneck detection method that successfully differentiates between an SB and NSB based on round-trip-time, enhanced congestion notification, and packet loss. Then, we implement SPTCP CUBIC and MPCUBIC as the CCAs for SFs going through NSBs and SBs, respectively. Extensive emulation experiments demonstrate that the BA-MPCUBIC successfully detects SBs and NSBs with the highest detection accuracy and the lowest detection time compared with other approaches. Moreover, BA-MPCUBIC successfully satisfies the MPTCP design goals in the considered diverse and dynamic scenarios by ensuring both better throughput and fairness.