Evaluating MPTCP Congestion Control Algorithms: Implications for Streaming in Open Internet
Abstract
:1. Introduction
1.1. IP Systems in Modern Connectivity
1.2. Multipath Data Transfer
1.3. MPTCP Framework Explained
1.4. Congestion Control Algorithms in TCP Networks
1.4.1. Single-Path TCP CC Algorithms
- Cubic is the default CC algorithm in contemporary operating systems. It is designed for high-speed and long-distance networks. Cubic’s window growth function is a third-degree polynomial, allowing it to perform a smoother transmission than Reno. As a result, a better utilization of available bandwidth, especially in the networks with a high bandwidth-delay product, is obtained [30,31].
- Reno is one of the earliest CC algorithms. While it is currently unused, it can be recognized as a basis of many other CC algorithms, notably the MPTCP ones. Reno increases the transmission speed linearly and reduces it sharply when a loss is detected. Such aggressive changes cause numerous unwanted phenomena, like considerable jitter, session synchronization, and increased vulnerability to buffer bloat [32]. Those phenomena do not harm best-effort transmission significantly, but they highly perturb real-time streaming [17].
- BBR (Bottleneck bandwidth and round-trip propagation time) is a recent development from Google. Unlike the traditional CC algorithms that react to the packet loss or delay as signals of network congestion, BBR measures the actual bottleneck bandwidth and round-trip propagation time. This allows BBR to achieve higher throughput and reduced latency, making it particularly effective in today’s Internet, where packet loss can occur for reasons other than congestion [28].
1.4.2. Multipath TCP CC Algorithms
- LIA (Linked Increases Algorithm)—one of the first MPTCP CC algorithms—ensures that the sum of the congestion windows of all the paths does not exceed that of a single-path one. LIA aims to be friendly to the regular TCP traffic, making sure that the MPTCP flows do not monopolize the network resources. This balances the congestion windows of different paths to provide efficient utilization of all the available paths [5,33].
- OLIA (Opportunistic Linked-Increases Algorithm)—an improvement of LIA—was designed to achieve better throughput and fairness across multiple paths. OLIA dynamically adjusts the congestion windows of different paths based on the current network conditions toward optimal utilization of each path. This results in better overall performance and improved user experience [33,34].
- BALIA (Balanced Linked Adaptation) focuses on balancing the congestion windows of different paths. By doing so, BALIA ensures that no single path is overly congested, leading to better overall network performance. BALIA is particularly effective in scenarios where the available paths have diverse and variable characteristics [35].
- wVegas—a delay-based MPTCP algorithm—, monitors the delay on each path and adjusts the congestion window accordingly, unlike the traditional loss-based ones. By focusing on delay as the primary metric, wVegas can achieve better performance in networks where delay is a critical factor. wVegas seems particularly well-suited for real-time applications where low latency is crucial. However, as the conducted tests reveal, it is not always the case in a multipath traffic scenario.
1.5. Related Works
2. Materials and Methods
2.1. Quality Measures
2.1.1. Path Delay
- Propagation Delay: The time taken by a packet to cover the distance between the sender and receiver. This is primarily influenced by the physical distance and the medium, e.g., fiber, copper, or wireless, the packet traverses.
- Transmission Delay: The time taken to place the bits onto the link. This depends on the packet size and link bandwidth.
- Processing Delay: The time the routers take to process header and control information.
- Queuing Delay: The time the packet spends in a buffer before it is relayed on the outgoing link.
- Ti—total delay on path i.
- τi—Smoothed Round-Trip Time (SRTT) for path i. It represents the low-pass filtered time taken by a packet traveling from the sender to the receiver and acknowledgment backward.
- θi—waiting time for processing the data stream on path i. This delay component is influenced by the scheduler algorithm, which determines the order in which the packets are directed to the interfaces.
2.1.2. Protocol Delay
2.1.3. HoL Blocking Degree
2.1.4. Mean Drop Rate
- D—total number of dropped packets;
- S—total number of sent packets.
2.2. Experimental Setup
- -
- Ethernet: Connected to the first LTE router via an Ethernet cable;
- -
- Wi-Fi: Linked to the second LTE router through Wi-Fi 802.11 bgn.
- -
- HoL Blocking Degree;
- -
- protocol delay;
- -
- Path Delay;
- -
- mean drop rate;
- -
- throughput.
3. Results and Discussion
3.1. Result Analysis
3.1.1. Mean Drop Rate
3.1.2. Path Delay (SRRT)
3.1.3. Protocol Delay
3.1.4. HoL Blocking Degree
3.1.5. Throughput
3.2. Implications and Future Research
4. Conclusions
Author Contributions
Funding
Data Availability Statement
Acknowledgments
Conflicts of Interest
References
- Cisco Annual Internet Report (2018–2023) White Paper. Available online: https://www.cisco.com/c/en/us/solutions/collateral/executive-perspectives/annual-internet-report/white-paper-c11-741490.html (accessed on 1 September 2023).
- Barreiros, M.; Lundqvist, P. QOS-Enabled Networks: Tools and Foundations, 1st ed.; Wiley: Hoboken, NJ, USA, 2016; ISBN 978-1-119-10910-5. [Google Scholar]
- Qadir, J.; Ali, A.; Yau, K.-L.A.; Sathiaseelan, A.; Crowcroft, J. Exploiting the Power of Multiplicity: A Holistic Survey of Network-Layer Multipath. IEEE Commun. Surv. Tutor. 2015, 17, 2176–2213. [Google Scholar] [CrossRef]
- Morawski, M.; Ignaciuk, P. Choosing a Proper Control Strategy for Multipath Transmission in Industry 4.0 Applications. IEEE Trans. Ind. Inform. 2022, 18, 3609–3619. [Google Scholar] [CrossRef]
- Raiciu, C.; Handley, M.; Wischik, D. Coupled Congestion Control for Multipath Transport Protocols; Internet Engineering Task Force (IETF): Fremont, CA, USA, 2011; ISSN 2070-1721. [Google Scholar]
- Xu, C.; Zhao, J.; Muntean, G.-M. Congestion Control Design for Multipath Transport Protocols: A Survey. IEEE Commun. Surv. Tutor. 2016, 18, 2948–2969. [Google Scholar] [CrossRef]
- Yedugundla, K.; Ferlin, S.; Dreibholz, T.; Alay, Ö.; Kuhn, N.; Hurtig, P.; Brunstrom, A. Is Multi-Path Transport Suitable for Latency Sensitive Traffic? Comput. Netw. 2016, 105, 1–21. [Google Scholar] [CrossRef]
- Morawski, M.; Ignaciuk, P. A Green Multipath TCP Framework for Industrial Internet of Things Applications. Comput. Netw. 2021, 187, 107831. [Google Scholar] [CrossRef]
- Peng, Q.; Walid, A.; Hwang, J.; Low, S.H. Multipath TCP: Analysis, Design, and Implementation. IEEE/ACM Trans. Netw. 2016, 24, 596–609. [Google Scholar] [CrossRef]
- Li, M.; Lukyanenko, A.; Ou, Z.; Yla-Jaaski, A.; Tarkoma, S.; Coudron, M.; Secci, S. Multipath Transmission for the Internet: A Survey. IEEE Commun. Surv. Tutor. 2016, 18, 2887–2925. [Google Scholar] [CrossRef]
- Ford, A.; Raiciu, C.; Handley, M.; Bonaventure, O. TCP Extensions for Multipath Operation with Multiple Addresses; Internet Engineering Task Force (IETF): Fremont, CA, USA, 2013. [Google Scholar]
- Paasch, C.; Ferlin, S.; Alay, O.; Bonaventure, O. Experimental Evaluation of Multipath TCP Schedulers. In Proceedings of the 2014 ACM SIGCOMM Workshop on Capacity Sharing Workshop, Chicago, IL, USA, 18 August 2014; ACM: Chicago, IL, USA, 2014; pp. 27–32. [Google Scholar]
- MultiPath TCP—Linux Kernel Implementation. Available online: https://www.multipath-tcp.org/ (accessed on 1 September 2023).
- Cao, Y.; Xu, M.; Fu, X. Delay-Based Congestion Control for Multipath TCP. In Proceedings of the 2012 20th IEEE International Conference on Network Protocols (ICNP), Austin, TX, USA, 30 October–2 November 2012; IEEE: Austin, TX, USA, 2012; pp. 1–10. [Google Scholar]
- Yu, C.; Quan, W.; Cheng, N.; Chen, S.; Zhang, H. Coupled or Uncoupled? Multi-Path TCP Congestion Control for High-Speed Railway Networks. In Proceedings of the 2019 IEEE/CIC International Conference on Communications in China (ICCC), Changchun, China, 11–13 August 2019; pp. 612–617. [Google Scholar]
- Wei, W.; Xue, K.; Han, J.; Wei, D.S.L.; Hong, P. Shared Bottleneck-Based Congestion Control and Packet Scheduling for Multipath TCP. IEEE/ACM Trans. Netw. 2020, 28, 653–666. [Google Scholar] [CrossRef]
- Floyd, S.; Henderson, T.; Gurtov, A. The NewReno Modification to TCP’s Fast Recovery Algorithm; Internet Engineering Task Force (IETF): Fremont, CA, USA, 2004. [Google Scholar]
- Bonaventure, O.; Piraux, M.; Coninck, Q.; Baerts, M.; Paasch, C.; Amend, M. Multipath Schedulers. Internet Engineering Task Force, Internet-Draft Draft-Bonaventure-Iccrg-Schedulers-00. 2020. Available online: https://datatracker.ietf.org/doc/html/draft-bonaventure-iccrg-schedulers-02 (accessed on 1 September 2023).
- Kimura, B.Y.L.; Lima, D.C.S.F.; Loureiro, A.A.F. Alternative Scheduling Decisions for Multipath TCP. IEEE Commun. Lett. 2017, 21, 2412–2415. [Google Scholar] [CrossRef]
- Hussein, A.; Elhajj, I.H.; Chehab, A.; Kayssi, A. SDN for MPTCP: An Enhanced Architecture for Large Data Transfers in Datacenters. In Proceedings of the 2017 IEEE International Conference on Communications (ICC), Paris, France, 21–25 May 2017; IEEE: Paris, France, 2017; pp. 1–7. [Google Scholar]
- Williams, N.; Armitage, G.; But, J. Implementing a Multipath Transmission Control Protocol (MPTCP) Stack for FreeBSD with Pluggable Congestion and Scheduling Control. Ph.D. Thesis, Swinburne University of Technology, Melbourne, Australia, 2016. [Google Scholar]
- Kimura, B.Y.L.; Lima, D.C.S.F.; Loureiro, A.A.F. Packet Scheduling in Multipath TCP: Fundamentals, Lessons, and Opportunities. IEEE Syst. J. 2021, 15, 1445–1457. [Google Scholar] [CrossRef]
- Morawski, M.; Ignaciuk, P. Energy-Efficient Scheduler for MPTCP Data Transfer with Independent and Coupled Channels. Comput. Commun. 2018, 132, 56–64. [Google Scholar] [CrossRef]
- Paasch, C. Improving Multipath TCP. Ph.D. Thesis, Université Catholique de Louvain (UCL), London, UK, 2014. [Google Scholar]
- Hurtig, P.; Grinnemo, K.-J.; Brunstrom, A.; Ferlin, S.; Alay, O.; Kuhn, N. Low-Latency Scheduling in MPTCP. IEEE/ACM Trans. Netw. 2019, 27, 302–315. [Google Scholar] [CrossRef]
- Al-Saadi, R.; Armitage, G.; But, J.; Branch, P. A Survey of Delay-Based and Hybrid TCP Congestion Control Algorithms. IEEE Commun. Surv. Tutor. 2019, 21, 3609–3638. [Google Scholar] [CrossRef]
- Afanasyev, A.; Tilley, N.; Reiher, P.; Kleinrock, L. Host-to-Host Congestion Control for TCP. IEEE Commun. Surv. Tutor. 2010, 12, 304–342. [Google Scholar] [CrossRef]
- Cardwell, N.; Cheng, Y.; Gunn, C.S.; Yeganeh, S.H.; Jacobson, V. BBR: Congestion-Based Congestion Control: Measuring Bottleneck Bandwidth and Round-Trip Propagation Time. Queue 2016, 14, 20–53. [Google Scholar] [CrossRef]
- Polese, M.; Chiariotti, F.; Bonetto, E.; Rigotto, F.; Zanella, A.; Zorzi, M. A Survey on Recent Advances in Transport Layer Protocols. IEEE Commun. Surv. Tutor. 2019, 21, 3584–3608. [Google Scholar] [CrossRef]
- Yong Lee, J.; Chul Kim, B.; Kwon, Y.; Han, K. Coupled CUBIC Congestion Control for MPTCP in Broadband Networks. Comput. Syst. Sci. Eng. 2023, 45, 99–115. [Google Scholar] [CrossRef]
- Wang, J.; Wen, J.; Han, Y.; Zhang, J.; Li, C.; Xiong, Z. CUBIC-FIT: A High Performance and TCP CUBIC Friendly Congestion Control Algorithm. IEEE Commun. Lett. 2013, 17, 1664–1667. [Google Scholar] [CrossRef]
- Gettys, J. Bufferbloat: Dark Buffers in the Internet. IEEE Internet Comput. 2011, 15, 96. [Google Scholar] [CrossRef]
- Kato, T.; Diwakar, A.; Yamamoto, R.; Ohzahata, S.; Suzuki, N. Experimental Analysis of MPTCP Congestion Control Algorithms; Lia, Olia and Balia. In Proceedings of the 8th International Conference on Theory and Practice in Modern Computing 2019, Porto, Portugal, 16–18 July 2019; IADIS Press: Lisbon, Portugal, 2019; pp. 135–142. [Google Scholar]
- Gast, N.; Khalili, R.; Boudec, J.-Y.L.; Popovic, M. Opportunistic Linked-Increases Congestion Control Algorithm for MPTCP. 2014. Available online: https://www.semanticscholar.org/paper/Opportunistic-Linked-Increases-Congestion-Control-Gast-Khalili/0d138cfb2412b931de2a461f21c7a6e19dbf99ef (accessed on 1 September 2023).
- Walid, A.; Peng, Q.; Hwang, J.; Low, S.H. Balanced Linked Adaptation Congestion Control Algorithm for MPTCP; Internet Engineering Task Force: Fremont, CA, USA, 2016. [Google Scholar]
- Khalili, R.; Gast, N.; Popovic, M.; Le Boudec, J.-Y. MPTCP Is Not Pareto-Optimal: Performance Issues and a Possible Solution. IEEE/ACM Trans. Netw. 2013, 21, 1651–1665. [Google Scholar] [CrossRef]
- Jowkarishasaltaneh, F.; But, J. An Analysis of MPTCP Congestion Control. Telecom 2022, 3, 581–609. [Google Scholar] [CrossRef]
- Abbas, A.S. Technical Comparison between MPTCP and TCP in Heterogeneous Networks. Int. J. Interact. Mob. Technol. 2022, 16, 163–175. [Google Scholar] [CrossRef]
- Ignaciuk, P.; Morawski, M. Discrete-Time Sliding-Mode Controllers for MPTCP Networks. IEEE Trans. Syst. Man Cybern. Syst. 2021, 51, 6029–6039. [Google Scholar] [CrossRef]
- Mahmud, I.; Lubna, T.; Cho, Y.-Z. Performance Evaluation of MPTCP on Simultaneous Use of 5G and 4G Networks. Sensors 2022, 22, 7509. [Google Scholar] [CrossRef] [PubMed]
- Wang, Y.; Wang, L.; Dong, X. An Intelligent TCP Congestion Control Method Based on Deep Q Network. Future Internet 2021, 13, 261. [Google Scholar] [CrossRef]
- Lubna, T.; Mahmud, I.; Kim, G.-H.; Cho, Y.-Z. D-OLIA: A Hybrid MPTCP Congestion Control Algorithm with Network Delay Estimation. Sensors 2021, 21, 5764. [Google Scholar] [CrossRef]
- Pokhrel, S.R.; Walid, A. Learning to Harness Bandwidth with Multipath Congestion Control and Scheduling. IEEE Trans. Mob. Comput. 2023, 22, 996–1009. [Google Scholar] [CrossRef]
- Kim, G.-H.; Song, Y.-J.; Mahmud, I.; Cho, Y.-Z. Adaptive Decrease Window for BALIA (ADW-BALIA): Congestion Control Algorithm for Throughput Improvement in Nonshared Bottlenecks. Electronics 2021, 10, 294. [Google Scholar] [CrossRef]
- Morawski, M.; Ignaciuk, P. A Price to Pay for Increased Throughput in MPTCP Transmission of Video Streams. In Proceedings of the 2020 24th International Conference on System Theory, Control and Computing (ICSTCC), Sinaia, Romania, 8–10 October 2020; pp. 673–678. [Google Scholar]
- Morawski, M.; Ignaciuk, P. Influence of Congestion Control Algorithms on Head-of-Line Blocking in MPTCP-Based Communication. In Proceedings of the 2019 27th Telecommunications Forum (TELFOR), Belgrade, Serbia, 26–27 November 2019; pp. 1–4. [Google Scholar]
- Morawski, M.; Ignaciuk, P. Synchronizing Scheduler for MPTCP Transmission of Streaming Content. In Proceedings of the 2022 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Prague, Czech Republic, 9–12 October 2022; pp. 909–914. [Google Scholar]
Algorithm | Characteristics | Strengths | Weaknesses |
---|---|---|---|
LIA | Balances the congestion windows at different paths | Fairness across paths, efficient utilization | Might not be as aggressive as other algorithms |
OLIA | Dynamic adaptation to network conditions | Better throughput and fairness | More complex implementation |
BALIA | Focuses on balancing congestion windows | No path is overly congested, overall network performance improves | Might not be as fast as other algorithms |
wVegas | Delay-based, monitors delay on each path | Low latency, suitable for real-time applications | Might be less aggressive in high-speed networks |
Title | Authors | Year | Key Findings | Algorithms Studied |
---|---|---|---|---|
An Analysis of MPTCP Congestion Control [37] | F. Jowkarishasaltaneh, J. But | 2022 | Highlighted performance limitations of MPTCP coupled congestion control algorithms in disjoint paths. | MPTCP Coupled Congestion Control |
Technical Comparison between MPTCP and TCP in Heterogeneous Networks [38] | A. S. Abbas | 2022 | Demonstrated the superiority of MPTCP over single-path TCP in heterogeneous networks, with LIA and BLIA emphasized. | LIA, BALIA |
Discrete-Time Sliding-Mode Controllers for MPTCP Networks [39] | P. Ignaciuk, M. Morawski | 2021 | Provides a discrete-time model of data exchange in MPTCP networks and introduces new flow control algorithms based on the concept of discrete sliding modes. | Discrete sliding-mode control |
Performance Evaluation of MPTCP on Simultaneous Use of 5G and 4G Networks [40] | I. Mahmud, T. Lubna, Y.-Z. Cho | 2022 | Revealed that the BLEST scheduler with the BALIA CC algorithm can produce the highest throughput and lowest delay in 5G and 4G networks. | BALIA |
An Intelligent TCP Congestion Control Method Based on Deep Q Network [41] | Y. Wang, L. Wang, X. Dong | 2021 | Introduced TCP-DQN, an intelligent TCP congestion control method based on DQN, showing a significant throughput boost. | TCP-DQN |
D-OLIA: A Hybrid MPTCP Congestion Control Algorithm with Network Delay Estimation [42] | T. Lubna, I. Mahmud, G.-H. Kim, Y.-Z. Cho | 2021 | Proposed D-OLIA, a hybrid MPTCP-CCA that enhances OLIA’s performance by integrating network delay awareness. | D-OLIA |
Learning to Harness Bandwidth With Multipath Congestion Control and Scheduling [43] | S. R. Pokhrel, A. Elwalid | 2021 | Introduced a Deep Q-Learning-based framework for joint congestion control and packet scheduling for MPTCP. | DQL-MPTCP |
Adaptive Decrease Window for BALIA (ADW-BALIA): Congestion Control Algorithm for Throughput Improvement in Nonshared Bottlenecks [44] | G.-H. Kim, Y.-J. Song, I. Mahmud, Y.-Z. Cho | 2021 | Proposed an adaptive decrease window for BALIA to improve throughput in scenarios with nonshared bottlenecks. | ADW-BALIA |
A Price to Pay for Increased Throughput in MPTCP Transmission of Video Streams [45] | M. Morawski, P. Ignaciuk | 2020 | Investigated the impact of TCP CC algorithms on video stream characteristics. | Various TCP CC algorithms |
Influence of Congestion Control Algorithms on Head-of-Line Blocking in MPTCP-based Communication [46] | M. Morawski, P. Ignaciuk | 2019 | Examined the influence of TCP CC algorithms on HoL blocking in MPTCP networks. | Various TCP CC algorithms |
Synchronizing Scheduler for MPTCP Transmission of Streaming Content [47] | M. Morawski, P. Ignaciuk | 2022 | Proposed a new scheduler for MPTCP targeting the aspects related to protocol delay. | N/A |
LIA | OLIA | BALIA | wVegas | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Reno | Cubic | BBR | Reno | Cubic | BBR | Reno | Cubic | BBR | Reno | Cubic | BBR | ||
Protocol delay | υav | 96 | 97 | 231 | 98 | 96 | 95 | 95 | 99 | 95 | 271 | 99 | 99 |
(ms) | υmax | 225 | 224 | 569 | 256 | 235 | 238 | 231 | 295 | 243 | 816 | 259 | 254 |
HoL Degree | ζav | 17 | 17 | 151 | 19 | 16 | 16 | 15 | 18 | 15 | 191 | 19 | 19 |
(ms) | ζmax | 143 | 143 | 488 | 175 | 150 | 155 | 148 | 211 | 157 | 733 | 178 | 174 |
SRTT (ms) | τ1,av | 79 | 79 | 79 | 78 | 78 | 77 | 79 | 80 | 79 | 77 | 79 | 78 |
path 1 | τ1,max | 94 | 97 | 95 | 98 | 98 | 96 | 98 | 102 | 97 | 96 | 95 | 94 |
SRTT (ms) | τ2,av | 57 | 56 | 56 | 56 | 58 | 57 | 59 | 59 | 58 | 56 | 57 | 57 |
path 2 | τ2,max | 88 | 86 | 89 | 92 | 97 | 103 | 104 | 102 | 105 | 79 | 83 | 75 |
Mean drop rate | d1 | 0.5 | 1.4 | 0.1 | 0.2 | 1.5 | 2.7 | 1.3 | 3.0 | 0.5 | 3.4 | 0.5 | 2.1 |
(seg/s) | d2 | 1.0 | 0.8 | 1.2 | 1.5 | 1.0 | 0.8 | 0.7 | 1.3 | 1.5 | 1.6 | 1.6 | 1.4 |
Throughput | av | 7.51 | 7.84 | 7.67 | 9.65 | 10.58 | 11.08 | 11.40 | 11.02 | 11.23 | 5.60 | 5.86 | 5.77 |
[Mbps] | max | 16.24 | 17.01 | 16.98 | 19.53 | 21.28 | 22.71 | 23.62 | 23.09 | 23.54 | 13.53 | 12.97 | 12.91 |
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Łuczak, Ł.P.; Ignaciuk, P.; Morawski, M. Evaluating MPTCP Congestion Control Algorithms: Implications for Streaming in Open Internet. Future Internet 2023, 15, 328. https://doi.org/10.3390/fi15100328
Łuczak ŁP, Ignaciuk P, Morawski M. Evaluating MPTCP Congestion Control Algorithms: Implications for Streaming in Open Internet. Future Internet. 2023; 15(10):328. https://doi.org/10.3390/fi15100328
Chicago/Turabian StyleŁuczak, Łukasz Piotr, Przemysław Ignaciuk, and Michał Morawski. 2023. "Evaluating MPTCP Congestion Control Algorithms: Implications for Streaming in Open Internet" Future Internet 15, no. 10: 328. https://doi.org/10.3390/fi15100328
APA StyleŁuczak, Ł. P., Ignaciuk, P., & Morawski, M. (2023). Evaluating MPTCP Congestion Control Algorithms: Implications for Streaming in Open Internet. Future Internet, 15(10), 328. https://doi.org/10.3390/fi15100328