Congestion Control in MPTCP
Congestion Control in MPTCP
Congestion Control in MPTCP
CONTROL IN MPTCP
POSITION PAPER
2 of 13
TABLE OF CONTENTS
Abstract 2
1. Introduction 4
1.1 TCP 4
1.2 MPTCP 4
2. Literature Review 5
3. Research Proposal 9
3.1 Hypothesis 9
3.2.2 Simulation 11
4. Conclusion 12
5. References 13
3 of 13
1. INTRODUCTION
1.1 TCP
Transmission Control Protocol (TCP) facilitates bi-directional point-to-point, reliable communication
between sender and receiver, and operates in the Transport Layer which sits above the Network Layer in
the OSI Model.
Packet losses are handled, and users of the protocol can expect an in-order stream of bytes rather than
dealing with individual packets, as is the case with User Datagram Protocol (UDP). The TCP protocol also
describes methods for flow and congestion control (discussed briefly in section 1.3).
TCP is connection-oriented, meaning an initialisation phase, where control messages are exchanged, takes
place before any data is sent.
1.2 MPTCP
Bonaventure, O., Handley, M., and Raiciu, C. discuss in their Multipath TCP overview paper1 that “today’s
networks are multipath … meanwhile, TCP is essentially a single-path protocol”. Multipath TCP (MPTCP)
has been introduced to address this ‘misalignment’.
MPTCP is an augmentation of the TCP protocol that allows data to flow over multiple paths (called sub-
flows) simultaneously through a single TCP connection, aiming to maximise throughput and increase
redundancy. These sub-flows span across different interfaces (e.g. Wi-Fi and cellular).
4 of 13
2. LITERATURE REVIEW
2.1 Congestion Avoidance and Control 2
This paper, released in 1988, begins by motivating the need to add congestion control to the TCP protocol.
The notion of a ‘conservation of packets’ is introduced, and by considering each case that would cause this
principle to fail, amendments to the protocol could be made.
Jacobson then goes on to describe how the Slow-start algorithm “gradually increases the amount of data
in-transit” to reach an equilibrium. Figure 1 shows startup behaviour of TCP without Slow-start, and Figure
2 shows startup behaviour of TCP with Slow-start — a much more stable and predictable transfer of
packets.
Figures 1 and 2 are both from the Congestion Avoidance and Control paper
It was then noted that packets are very rarely damaged in transit and that packet loss, therefore, is almost
always a consequence of congestion in the network. TCP users can infer network congestion by detecting
packet losses (caused by timeouts). An additive-increase-multiplicative-decrease approach is applied,
where the sender’s window (amount of in-transit data) is increased additively, and upon detection of packet
loss (network congestion), the sender’s window size is halved. This algorithm is known as Congestion
Avoidance.
Slow-start and Congestion Avoidance are both in-use in today’s versions of TCP and MPTCP.
This paper falls into a class of its own because of how long ago, relative to the other papers reviewed, it
was published.
6 of 13
From Figure 3, it can be concluded that short-distance connections performed worse with multi-path routing
protocols, while longer distance connections performed better with them. The authors attribute this as being
“solely caused by [short TCP Connections] using sub-optimal paths”.
This paper is reasonably similar to the Improving Datacenter Performance and Robustness with Multipath
TCP paper as they both investigate the performance improvements/degradation caused by MPTCP
replacing other protocols.
Two key performance issues with MPTCP are described in this 2013 paper. The first one suggests that
switching TCP for MPTCP in some users can reduce throughput of other users in the network without
improving throughput for the MPTCP users. Khalili, Gast, Popovic, and Boudec attribute this to the linked-
increases algorithm (LIA) and suggest that this problem indicates MPTCP with LIA is not Pareto-optimal.
MPTCP may be described as ‘Pareto-optimal’ if and only if there is no alternate configuration/state that
would allow some users more throughput without reducing throughput for other users.
The second problem highlighted was that “MPTCP users could be excessively aggressive towards TCP
users” when competing for network resources due to excessive traffic being transmitted on congested links.
Figure 4 shows the testbed setup used to investigate these performance issues.
Finally, opportunistic linked-increases algorithm (OLIA), a proposed solution to this problem, is presented.
OLIA satisfied the MPTCP design requirements (discussed in section 2.2) and is Pareto-optimal, and
therefore doesn’t suffer from the two aforementioned performance issues.
This paper has a strikingly similar approach to the Jacobson paper on Congestion Avoidance and Control.
Both papers describe a problem and motivate a need for a solution which is then presented.
7 of 13
Figure 5: Fairness with Shared Links
The authors developed a practical multipath congestion control algorithm by considering carefully the
fairness over shared links, improving throughput, and balancing congestion. The algorithm is, they claim,
suitable to be deployed with MPTCP on the internet.
8 of 13
3. RESEARCH PROPOSAL
3.1 Hypothesis
Following on from the literature review in section 2, the following hypothesis is presented:
The widespread replacement of TCP for MPTCP would result in reduced network congestion in
networks containing many mobile devices that are sporadically connecting to, and disconnecting
from, Wi-Fi and cellular networks.
To begin with, a single mobile device connected to Wi-Fi (and 3G mobile data services) streaming a video
is considered. The user leaves their home and consequentially disconnects from their home Wi-Fi network.
We will now consider two scenarios; in the first, the user’s device employs regular, single-path TCP, and in
the second, the user’s device makes use of MPTCP.
————
In large institutions (e.g. University of Sussex), ‘campus-wide’ Wi-Fi networks are deployed. The signals are
strong inside buildings, but often degrade to unusable quality outside. Throughout a typically day,
thousands of students and staff roam around the campus entering and exiting buildings several times.
This research proposal aims to investigate whether, on a large scale, devices using MPTCP (rather than
single-path TCP) result in reduced network congestion in these environments.
9 of 13
3.2 Research Methods
Two rather different approaches to carrying out the investigation are described now.
TCP MPTCP
14
Time-To-Buffer (seconds)
12
10
0
0 1 2 3 4 5 6
Time Elapsed (minutes)
There are two main issues with this investigation approach. Firstly, the impracticability of obtaining and
configuring hundreds/thousands of devices, and moving these devices simultaneously around the campus.
Secondly, network congestion is being inferred from the time-to-buffer property, which, while may be
affected as a consequence of congestion, is not a direct measurement of it. This difficulty in measuring
network congestion is tackled head-on in a simulation-style approach.
10 of 13
3.2.2 Simulation
The entire experiment (including all the devices and the streaming server) would be simulated by a
computer. In some respects, this approach would be similar to that used by the team in the Improving
Datacenter Performance and Robustness with Multipath TCP paper discussed in section 2.3.
There are a couple of advantages of using a simulation-based approach. Firstly, larger scale networks can
be experimented with as it is much easier to setup and configure virtual (simulated) test devices, than to do
so for real ones. In addition to this, network congestion, despite being somewhat of an artificial construct in
the simulation, can be directly measured.
The results from the simulation experiments would be plotted on a similar graph to the one shown in Figure
6.
11 of 13
4. CONCLUSION
This position paper has briefly introduced TCP, MPTCP, and the topic of congestion control. Several
relevant papers have been considered and summarised as part of the literature review.
A hypothesis regarding a comparison of network congestion with devices using TCP or MPTCP has been
presented along with two suggested approaches for carrying out this investigation.
12 of 13
5. REFERENCES
1 Bonaventure, O., Handley, M., and Raiciu, C. An Overview of Multipath TCP. 2012. [Online] Available
from: http://www0.cs.ucl.ac.uk/staff/M.Handley/papers/9346-login1210_bonaventure.pdf [accessed 7/1/18]
2Jacobson, V. 1988. Congestion Avoidance and Control. In Proceedings of the ACM conference pp.
324-329
3Raiciu, C. and Handley, M. Design Decisions for Multipath TCP. 2010. [Online] Available from: http://
nrg.cs.ucl.ac.uk/mjh/design-decisions.pdf [accessed 8/1/18]
4Raiciu, C., Barre, S., Pluntke, C., Greenhalgh, A., Wischik, D., and Handley, M. 2011. Improving
datacenter performance and robustness with multipath TCP. In Proceedings of the ACM SIGCOMM
2011 conference (SIGCOMM ’11) pp. 266-277
5 Ye, Z., Krishnamurthy, S.V., and Tripathi, S.K. 2004. Effects of Multipath Routing on TCP Performance
in Ad Hoc Networks. IEEE Communication Society (Globecom 2004) pp. 4125-4131
6Khalili, R., Gast, N., Popovic, M. and Boudec, J.L. MPTCP Is Not Pareto-Optimal: Performance Issues
and a Possible Solution. 2013. IEEE/ACM Transactions On Networking. 21 (5) pp. 1651-1665
7Raiciu, C., Wischik, D., Handley, M. Practical Congestion Control for Multipath Transport Protocols.
2009. [Online] Available from: http://nrg.cs.ucl.ac.uk/mptcp/mptcp-techreport.pdf [accessed 8/1/18]
13 of 13