Abstract:
The traditional Transmission Control Protocol (TCP) has been the dominant protocol for data transmission over single network links for a long time. However, modern applications have higher bandwidth requirements and benefit from using multiple connections simultaneously instead of depending on a single link. Multipath TCP (MPTCP) is a suitable solution to satisfy these requirements. In this work, we demonstrate how we developed an MPTCP-based router that enhances the user’s bandwidth experience by combining the speeds of two or more access links. MPTCP has great potential to improve data transmission, but we observed that its bandwidth performance deteriorated when the network was congested. Several factors influence MPTCP’s performance, and one of them is the scheduler’s design. Therefore, we devised a new scheduler algorithm called “Redundant at Congestion” (RaC) and implemented it within a Programmable MultiPath (ProgMP) kernel framework. This algorithm can distribute segments by considering the congestion window of each sub-flow and adjusting to the network’s dynamic behaviour. Our method focuses on optimizing the segment distribution process through the RaC algorithm. This research conducts an extensive evaluation to assess the effectiveness of the RaC scheduler and directly compares its performance against established schedulers in terms of data rate and latency. Through these evaluations, we aim to assess the efficacy of RaC, especially in high-traffic scenarios. As a result, we achieved better performance than other schedulers, with lower latency and higher bandwidth.