School of Electronic and Electrical Engineering, Kyungpook National University, Daegu 41566, Korea.
Sensors (Basel). 2021 Sep 19;21(18):6289. doi: 10.3390/s21186289.
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.
多路径传输控制协议(MPTCP)中的拥塞控制算法(CCA)对于控制通过多个子流(SF)同时传输的数据流量至关重要。MPTCP CCA 有两个设计目标:首先,始终确保比单路径 TCP(SPTCP)流更好的吞吐量;其次,通过共享瓶颈(SB)的 MPTCP SF 应该公平地占用带宽,即接近 SPTCP 流占用的带宽。尽管存在几种 MPTCP CCA,但它们主要侧重于特定场景,无法在多样化和动态场景中满足设计目标。最近,CUBIC 因其与高速互联网更好的兼容性而成为广泛使用的 SPTCP CCA。CUBIC 在 MPTCP 中的有效实现有望提供更高的吞吐量和更公平的行为,从而满足设计目标。然而,尽管当前的多路径 CUBIC(MPCUBIC)实现确保了更好的公平性,但它未能确保更好的吞吐量。我们认为,对于通过 SB 和非共享瓶颈(NSB)的 SF 应用相同的规则,使得 MPCUBIC 难以适应多样化和动态变化的网络场景,从而导致吞吐量较差。因此,我们提出了 MPCUBIC 的改进版本,即瓶颈感知 MPCUBIC(BA-MPCUBIC),以解决吞吐量问题。首先,我们部署了一种创新的瓶颈检测方法,该方法基于往返时间、增强的拥塞通知和丢包成功区分 SB 和 NSB。然后,我们将 SPTCP CUBIC 和 MPCUBIC 分别实现为通过 NSB 和 SB 的 SF 的 CCA。大量仿真实验表明,与其他方法相比,BA-MPCUBIC 成功地以最高的检测精度和最低的检测时间检测到 SB 和 NSB。此外,BA-MPCUBIC 通过确保更好的吞吐量和公平性,成功地满足了所考虑的多样化和动态场景中的 MPTCP 设计目标。