SlideShare a Scribd company logo
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
DOI : 10.5121/ijcnc.2016.8213 145
PERFORMANCE ANALYSIS OF MULTI-PATH TCP
NETWORK
Hamzah M A Hijawi and Mohammad M. N. Hamarsheh
Department of Computer Science, Arab American University, Jenin, Palestine
ABSTRACT
MPTCP is proposed by IETF working group, it allows a single TCP stream to be split across multiple
paths. It has obvious benefits in performance and reliability. MPTCP has implemented in Linux-based
distributions that can be compiled and installed to be used for both real and experimental scenarios. In this
article, we provide performance analyses for MPTCP with a laptop connected to WiFi access point and 3G
cellular network at the same time. We prove experimentally that MPTCP outperforms regular TCP for
WiFi or 3G interfaces. We also compare four types of congestion control algorithms for MPTCP that are
also implemented in the Linux Kernel. Results show that Alias Linked Increase Congestion Control
algorithm outperforms the others in the normal traffic load while Balanced Linked Adaptation algorithm
outperforms the rest when the paths are shared with heavy traffic, which is not supported by MPTCP.
KEYWORDS
TCP, MPTCP, Multi-homed, Congestion Controls
1. INTRODUCTION
Transmission control protocol TCP is widely used on the internet today. Most applications use
TCP as a reliable transfer protocol to transmit data across the internet. TCP has been evolving
since the first design from the 1970s. One of the early design decisions in TCP still frustrating
users; the separation between transport and network layers is not completely transparent.
However, in order to differentiate between individual data streams among incoming traffic, the
receiver demultiplexes packets based on the five tuples; source IP, destination IP, source port,
destination port and the protocol identifier, this is also called socket. Thus, any TCP connection is
a single path and bounded to a unique socket between the source and destination [1]. This means
that after the connection is established if for some reason the IP address is changed in the source
or destination then the whole connection will fail.
Today networks are becoming multipath, most of the servers are multi-homed, mobile devices
have multiple wireless interfaces like WiFi and GSM, and data centers have many redundant
links. This type of redundancy evolves the need for a new TCP design to make it operational over
multipath, this is called multipath TCP [2]. MPTCP is a major modification to TCP, which allows
multiple paths to be used simultaneously by a single TCP transport connection. It was first
proposed by IETF [3]. MPTCP has obvious benefits for reliability in case of link failures and for
load balancing in case of multi-homed servers and data centers. MPTCP also can achieve better
performance and it is more robust than a single path TCP while maintaining compatibility with
existing applications. This is achieved by providing a regular TCP interface to applications and let
the transport layer handles the multipath connections. MPTCP is presented as a sublayer under
TCP layer, it spreads data over multi-paths which are called sub-flows [3].
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
146
The design of MPTCP has been influenced by many requirements. Mainly, application and
network compatibilities [2]. Application compatibility means that applications that currently run
over TCP should work over MPTCP without any change. Network compatibility means that
MPTCP should work with any network on which TCP operates.
MPTCP connection is established by using three-way handshake with TCP options.
MP_CAPABLE option in the SYN packet indicates that the source can perform multipath TCP. If
the destination also supports multipath TCP, then it replies with SYNACK packet, which also
contains MP_CAPABLE option, after that source replies with ACK packet which again contains
MP_CAPABLE option to confirm that the connection will use MPTCP. Other options like using
a random key in the three-way handshake can be used for security purposes. Once the connection
established any of participants can create additional sub-flow if it finds a new path to the
destination by sending a new SYN packet with MP_JOIN option and information on which
MPTCP session to join. Once the connection has more than one sub-flow, it is up to the system
on each end to decide how to split the traffic between sub-flows. Each sub-flow looks like a
normal TCP connection; it has its own sequence numbers and congestion control which are
different from other sub-flows. New sub-flow can come up if a new path is available and can
vanish if one of the paths becomes unavailable [4].
One of the most important components of TCP is its congestion control mechanism, which allows
it to adjust throughput according to the network congestions. Each TCP connection maintains a
variable called congestion window. It governs the amount of traffic that the sender can send
without waiting for an acknowledgment from the receiver. The same approach is applied in
MPTCP in which each sub-flow has its own congestion window and it is updated dynamically
according to the congestion in the path it takes to reach the destination. Few congestion control
algorithms for MPTCP has been developed like coupled congestion control [5], opportunistic
linked-increases congestion control [6, 7], balanced linked adaptation congestion control [8] and
delay based congestion control [9].
The main goal of this paper is to evaluate the new emerging MPTCP protocol over single and
multiple interfaces. The throughput of different scenarios is measured using the Linux operating
system. Outputs from all scenarios are compared with each other and the performance of different
MPTCP congestion control algorithms is compared.
2. RELATED WORK
MPTCP is a new approach towards efficient load balancing, it does balance at the end nodes as
part of TCP process. MPTCP was described in RFC 6897 [4], an active working group in the
IETF. Many attempts have been made in order to implement MPTCP in the Linux Kernel. An
effort was made in [10]where the Kernel can be tuned and customized by system call variables.
With the possibility of using multiple paths for TCP, concerns have arisen about congestion
controls on these paths. An effort was made to implement effective and robust congestion control
mechanisms that effectively use the paths without harming the original TCP path. In [11], it was
shown that implementing some congestion control algorithms for multipath TCP could be
harmful. Equally-Weighted TCP EWTCP is an example of these harmful algorithms [12]. It is a
weighted version of multipath TCP which distributes the data fairly compared to the regular
MPTCP. It is not very efficient because it doesn’t split traffic evenly across the available paths.
COUPLED congestion control algorithm makes better decisions than EWTCP and solved some
fairness problems [5]. The weakness of this algorithm is obvious when the available paths have
different throughputs like the case in WiFi and GSM. It makes unequal round trip times (RTTs)
because the COUPLED algorithm tends to send all its traffic on the less congested path, which
makes the use of low throughput path inefficient. The proposed solution to these problems is
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
147
given in [12]. It is called SEMI-COUPLED congestion control algorithm. It is implemented based
on some design goals like good path selection, balanced congestion, and compatibility with
existing regular TCP.
A practical multipath congestion control algorithm is proposed in [13]. It focuses on improving
throughput and balance the congestion. It also compares the proposed algorithm with other three
congestion control algorithms: Fully coupled, linked increases and uncoupled TCP. The
simulation was carried out using CWNDSim. It was shown that the proposed algorithm
succeeded in keeping total throughput close to the target rate, and the traffic is pushed into the
less congested path. An overview of fully functional MPTCP is provided in [2]. The results
performed on the Linux machines that implemented MPTCP protocol in their Kernels. They
studied the most used cases for MPTCP which are the mobile devices and data canters. The data
transfer measurements of the mobile focus on the typical mode of operation in which the mobile
device is connected to WiFi, then connection goes down and the device switched to 3G. The
results were compared with the single path TCP and showed a smooth handover in the case of
MPTCP, this is because data keeps flowing despite the interface changed. The other scenario is
load balancing in the datacenter; the comparison was made with standard TCP, two flows
MPTCP, and four flows MPTCP when tested on EC2 test bed with 40 instances. They showed
that MPTCP with four paths outperforms both standard TCP and two paths MPTCP.
3. MPTCP CONGESTION CONTROL
MPTCP distributes loads through the creation of multiple sub-flows across potential paths
between source and destination. Congestion control in MPTCP is different from regular TCP. The
simplest way is to run the standard TCP congestion control on each sub-flow. However, this
solution is not efficient as it will give the multi-path flow more than its fair share if more than one
sub-flow across the same bottleneck link which is also shared with standard TCP
flow.Furthermore, it is desirable that the source with multiple paths will transfer more traffic
using the least congested path, achieving the resource pooling where a group of links behaves like
one shared link with bigger capacity [5].
Any multipath congestion control algorithm must meet a set of requirements which are
summarized in three different goals. The first goal is improving the throughput; a multipath
connection should perform at least as well as single path TCP would on the best of available
paths, this means that in the worst case the MPTCP would have throughput same as standard
TCP. The second goal does not harm;a multipath sub-flow should not take capacity more than
single path TCP would on the same link, this ensure that multipath sub-flow will not harm other
flows. The third goal is balancing the congestion; the multipath flow should move as much as
traffic to the least congested paths [3, 5, 11]. The first and second goals together ensure the
fairness at bottlenecks while the third goal achieves the concept of the resource pooling.
However, if each multipath flow sends more traffic through its least congested path, the network
traffic will move away from congested paths resulting in improvements in robustness and overall
network throughput.
Many congestion control algorithms were proposed, most of them were implemented in Linux
Kernels. The following four congestion control algorithms were implemented in most of Linux
distributions [10].
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
148
3.1 Alias Linked Increase Congestion Control
Alias Linked Increase Algorithm LIA couples the congested control algorithms that are running
on different sub-flows by linking their increase functions and dynamically adapts the congestion
window [5],the algorithm is only applied to the increase part of the congestion avoidance phase.
The resultis an algorithm that is fair to standard TCP at bottlenecks and at the same time moving
the traffic away from congested paths.
The additive increase and subtractive decrease behaviors can be described asfollows:
• For each ACK received on sub-flow i, the congestion window cwndi is increased by:
. 	.
	,
	.
!"#
$ (1)
Where:
α: A parameter that describes the aggressiveness of the multipath flow.
Back: Number of acknowledged bytes.
Mssi: Maximum segment size on sub-flow i.
n:Total number of sub-flows.
• For each loss on sub-flow i, decrease cwndi by cwndi/2.
Formula (1) describes the increase behavior of the algorithm in Bytes, thefirst argument computes
the window increase value for the multipath sub-flow and the second one computes the
increasevalue for TCP in the same scenario. Taking the minimum of these values ensures that any
multipath sub-flow will not take capacity more than single path TCP, hence achieving the second
design goal. Alpha is a parameter used to adjust the aggressiveness of the multipath flow, its
valueis chosen such that the total throughput of the multipath flow is equal to the throughput
which TCP would get on the best path and this meets the first design goal.
According to the first term in formula (1), the total throughput for a multipath flow depends on
alpha, maximum segment sizes, and round trip times of its paths. In order to meet the first design
goal, it is impossible to choose a single value of alpha that achieves the desired throughput at
each time. Hence, alpha is computed based on the observed behaviors of all paths as shown in
formula (2), alpha is derived by equalizing the rate of multipath flow with TCP flow running on
the same path.
&∑ () *++,- .
	 /01
2 3
4556 7
89
2 3
455
:
6																																																																																																			(2)
	
Where:
;< =>>6 ?:Maximim value of any possible path.
@ =>>+,-
: Summation of all possible values of all paths.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
149
3.2 Opportunistic Alias Linked Increase Congestion Control
Through analysis and measurements provided in [7], it was proven that current LIA
implementation forces a tradeoff between optimal resource pooling and the responsiveness, both
goals can’t be achieved at the same time, this leads to the fairness problem to TCP users.
However, upgrading part of users from standard TCP to MPTCP can reduce the throughput for
other users without any benefit to MPTCP users and can also violate the third design goal.
OLIA, the opportunistic linked increases algorithm wasintroduced as an alternative for
LIA,it a window based congestion control algorithm. It couples the increase of congestion
windows and uses the same behavior in regular TCP in case of loss. This algorithm is only
applied to the increase part of the congestion avoidance phase, slow start algorithm is the same as
the one used in regular TCP with a small modification in case of multiple paths are established [6,
7].The additive increase behavior can be described as follows:
• For each ACK received on path i, increase congestion window cwndiby:
ABC
4556
&D 	E.&
2 3F	
455F	
..6
+	 (3)
Where:
cwndp:Window size of a path p with largest congestion window.
RTTp:Round trip time of a path p with largest congestion window.
αi: Adjust parameter for a path i.
n: is the total number of sub-flows.
• For each loss on sub-flow i, decrease cwndi by cwndi/2.
The first term in formula (3) provides the optimal resource pooling, it is a TCPcompatible version
that compensates for different RTTs. The second term with alpha guarantees the responsiveness
and non-flappiness of the algorithm.
3.3 Balanced Linked Adaptation Congestion Control
Recent MPTCP congestion protocols like LIA and OLIA suffer from either unfairness to the
single path TCP or unresponsiveness to network changes under certain conditions especially
when all paths used for MPTCP have the same round trip time. However, the trade-off between
these two issues is inevitable. Balances linked adaptation algorithm BALIA judiciously balances
this trade-off [8],it strikes a good balance between friendliness and responsiveness. The additive
increase and subtractive decrease behaviors of BALIA can be described as follows:
• For each ACK on path i, increase cwndi by:
H
I
=>> 	.J∑ 0 	K
6L . D
MN	/
O
E . D
PN	/
Q
E (4)
Where:
<+ =
() *+
STT+
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
150
;+ =
;<{<V	}
xY
n: is the total number of sub-flows.
• For each loss on path i, decrease cwndi by:
D
!"#
O
E	. 	{;+, 1.5} (5)
If there is only a single path available then ;+ will be one and the increment and
decrement formulas will be reduced to those of TCP Reno algorithm.
3.4 Delay-Based Congestion Control
A Delay-based congestion control algorithm called wVegas is introduced in [9]. Unlike LIA
which is based on packet loss events, wVegas uses packet queuing delay as a congestion signal.
Compared with loss based congestion control algorithms described previously, wVegas is more
sensitive to the changes of network congestions, and can achieve more timely traffic shifting and
faster convergence. The following operations must be performed at the end of each transmission
round:
• For a sub-flowi, calculate the difference between the expected sending rate and actual sending
rate.
	* + = D
!"#
]/ ^_=>>
−	
!"#
=>>
E . a;bc_STT+ (6)
Where, RTTi is the average RTT on the last round on sub-flow i, and base_RTTi is the RTT of
a sub-flow i when the path is not congested.
If the sub-flow is in the slow start phase and the diffi is larger than a threshold called gamma,
the algorithm must enter the congestion avoidance phase.
• In the congestion avoidance phase, if the diffi is not less than unfairness	;i, then the rate must
be updated.
d;ec+ =
!"#
=>>
(7)
)c fℎe+ =
hijk
lml/n	o/l^	mp	/nn	+
(8)
;+ = )c fℎe+	. eqe;r_; (9)
If diffiis larger than ;i, then () *+ =	cwndY	– 	1 else,() *+ =	cwndY + 	1
• The last task that wVegas tries to do is improving the accuracy of base_RTTi by making the
congestion window back off once detecting a queuing delay larger than some thresholds. By
this task, bottleneck link can drain off the backlogged packets. However, all flows involved
have a chance to obtain the most accurate propagation delay. wVegas first calculates the
queuing delay as follows:
xycyc_*cr;z+ = STT+ − a;bc_STT+ (10)
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
If the current queuing delay is less than the saved
replaced by the current one. If the current queuing delay is twice
following operation:
cwndY 	= &cwndY.. &0.5.	. &
]/ ^
4. EXPERIMENTAL RESULTS
Experimental evaluation of MPTCP is performed using Ubuntu Linux. The
with Ubuntu Kernel, which supports MPTCP [
using a laptop that had WiFi and 3G
figure 1. Ubuntu 14.04 is installed on
Kernel is replaced with multipath TCP v0.90 Kernel.Each of the network interfaces has a speed of
4Mbps.
4.1 Comparison between Regular TCP and MPTCP
In this experiment, we downloaded a 1GB file from a server through the internet in three different
scenarios. The first scenario by
using regular TCP over 3G interface, a
the same time. The comparison of
figure shows that using MPTCP over all available interfaces can enhance the throughput
expected. It also shows that the
throughput.Sometimes the throughput
using a link with shared capacity to the
called ifstat [14], the summation of
drawn as an average value for each ten readings;
clear that that the 3G link stability is not as good as the W
performance of the MPTCP link.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
If the current queuing delay is less than the saved queue_delayi then the queue_delay
replaced by the current one. If the current queuing delay is twice queue_delayi then pe
]/ ^_=>>
=>>
.
ESULTS
Experimental evaluation of MPTCP is performed using Ubuntu Linux. The Kernel is replaced
with Ubuntu Kernel, which supports MPTCP [10]. Multiple experimental scenarios are done
using a laptop that had WiFi and 3G interfaces. The topology of the system used is described in
Ubuntu 14.04 is installed on a laptop which represents the FTP client, and the Linux
Kernel is replaced with multipath TCP v0.90 Kernel.Each of the network interfaces has a speed of
Figure 1: System Topology
4.1 Comparison between Regular TCP and MPTCP
In this experiment, we downloaded a 1GB file from a server through the internet in three different
using regular TCP over WiFi interface, thesecond
g regular TCP over 3G interface, and the last scenario by using MPTCP over WiFi and 3G at
ison of the throughput for the three scenarios is shown in Figure 2
that using MPTCP over all available interfaces can enhance the throughput
the throughput using MPTCP is almost the sum of each path
throughput.Sometimes the throughput is less than the sum because the experiments are
shared capacity to the internet. Throughput is monitored using a Linux tool
the summation of download speed for each network interface is collected
for each ten readings; this is to make the graph smoother.
ility is not as good as the WiFi link and this is reflected on the
. This explains the odd behaviour at 150, 300 and 550 s.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
151
queue_delayi must be
then perform the
(11)
Kernel is replaced
]. Multiple experimental scenarios are done
. The topology of the system used is described in
represents the FTP client, and the Linux
Kernel is replaced with multipath TCP v0.90 Kernel.Each of the network interfaces has a speed of
In this experiment, we downloaded a 1GB file from a server through the internet in three different
second scenario by
sing MPTCP over WiFi and 3G at
is shown in Figure 2. The
that using MPTCP over all available interfaces can enhance the throughput as
ughput using MPTCP is almost the sum of each path
experiments are done
Throughput is monitored using a Linux tool
is collected and
is to make the graph smoother. It is also
flected on the
This explains the odd behaviour at 150, 300 and 550 s.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
152
Figure 2: Throughput using MPTCP at normal traffic
4.2 Heavy Load Comparison
In this experiment, we use the FTP to download 1GB file using MPTCP over WiFi and 3G
interfaces. While the file is downloading, YouTube video fileat time 300 seconds is started and
consumes most of the bandwidth. The same scenario was repeated with standard TCP. Figure 3
shows the throughput for both cases. The figure shows that the file gets better throughput in case
of MPTCP as expected. YouTube server does not support MPTCP and the video download was
using WiFi interface only. Thus, the total capacity of the3G interface is used for the FTP
download and the WiFi is shared between FTP and video download. Before time 150seconds, the
through put of the MPTCP is not steady because of the shared link capacity.When YouTube
video started at about 280seconds, the throughput dropped to 60 KB/s for standard TCP and to
170 KB/sfor MPTCP, this shows how using multi-paths can enhance MPTCP applications
throughput without affecting the behavior of standard TCPat congestion bottlenecks.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
153
Figure 3: Throughput using MPTCP at heavy traffic
4.3 MPTCP sub-flows over Single Interface
In this experiment, the download throughput is monitored using MPTCP with one sub-flow over a
WiFi interface. It is compared withdownload throughput of two sub-flows over the same
interface. Results show a good enhancement on throughput as the number of sub-flows increase
over the same path. Figure 4 shows that the download speed in case of MPTCP with two sub-
flows is increased by 70 KB/s when it is compared with MPTCP with 1 sub-flow.
Figure 4: MPTCP sub-flows
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
154
4.4 Application Layer Handover
The throughput of TCP with application layer handover is monitored and compared with that of
MPTCP. The throughput of TCP protocol is monitored while downloading a 1GB file from the
server using a TCP connection on WiFi interface. The WiFi access point is switched off during
the download. The application detected that WiFi interface went down and reconnected with a
new TCP connection (switched) to the 3G interface. The same scenario is implemented again
with MPTCP enabled. Figure 5 shows the results from both cases, the handover occurs between
100 – 130 seconds with MPTCP and data keeps flowing despite the lossof one of the interfaces. It
is shown that at the handover time, the download speed does not go to zero in thecase of
MPTCP.In thecase of TCP, the throughput goes to zero for all of the handover periodsuntil anew
connection is established.
Figure 5: MPTCP handover
4.5 Congestion Controls Algorithms Comparison
In this experiment, a comparison of the throughput when downloading a 1 GB file is made
between the four different congestion control algorithms discussed in section three. The file is
downloaded 4 times, each time different congestion control algorithm is used. These are LIA,
OLIA, BALIA and wVegas. WiFi and 3G interfaces are both utilized for MPTCP at normal
traffic load. Experiment results show that LIA has thebest throughput most of the time (150s –
480s) as shown in figure 6. BALIA also has a good throughput for the time from 0s to 320s at this
type of load. OLIA and wVegas did not show good throughput at this load and were not stable
most of the time.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
155
Figure 6: Throughput comparison between MPTCP congestion controls algorithms
4.6 Congestion Controls Algorithms Comparisonunder Heavy Traffic
The congestion control algorithms are designed to improve the throughput at heavy load. The
throughput is monitored at heavy load while downloading the 1GB file four different times. Each
time one of the congestion control algorithm is used and a YouTube video file is started at time
300 seconds to consume most of the bandwidth.The throughput in each case is compared with all
other cases to show the behaviour of the four different congestion control algorithms under heavy
traffic scenario to test how each of them reacts under extreme cases.
Figure 7: Throughput comparison between MPTCP congestion controls algorithms under Heavy Traffic
Load
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
156
Figure 7 shows the comparison results, it clearly shows that BALIA outperforms other congestion
algorithms when the paths are shared with heavy trafficthat is not supported by MPTCP. This
explains the trade-off between friendliness and responsiveness in the old congestion control
implementations in LIA and OLIA. Wvegasoutperforms LIA and OLIA, this is because it uses
packet questing delay as a congestion signal instead of loss based, and this makes wVegas more
sensitive to the changes in the network congestions and can achieve more timely traffic shifting
and faster convergence.
6. CONCLUSIONS
MPTCP is one of the most significant changes to TCP in the past years, it allows TCP streams to
be split over multiple paths to improve the performance of TCP applications and increase
throughput and reliability. MPTCP is implemented in the Linux Kernel and can be compiled and
installed on most of Linux distributions. In this article, we did a performance analysis of
MPTCP.It is shown experimentally that using MPTCP outperforms normal TCP and has many
advantages in different scenarios. The throughput of different congestion MPTCP algorithms is
also compared.
REFERENCES
[1] Postel, Jon. "RFC793: Transmission Control Protocol. USC." Information Sciences Institute 27
(1981): 123-150.
[2] Bonaventure, Olivier, Mark Handley, and Costin Raiciu. "An overview of Multipath TCP.”; login: 37,
no. 5 (2012): 17-23.
[3] Ford, C. Raiciu, and M. Handley. "TCP Extensions for Multipath Operation with Multiple Addresses"
draft-ietf-mptcpmultiaddress (work in progress)." (2010).
[4] Scharf, Michael, and Alan Ford. Multipath TCP (MPTCP) application interface considerations. No.
RFC 6897. 2013.
[5] Raiciu, C., M. Handley, and D. Wischik. "RFC 6356, Coupled Congestion Control for Multipath
Transport Protocols." (2011).
[6] Khalili, Ramin, Nicolas Gast, and Miroslav Popovic. "Opportunistic Linked-Increases Congestion
Control Algorithm for MPTCP." (2013).
[7] Khalili, Ramin, Nicolas Gast, Miroslav Popovic, Utkarsh Upadhyay, and Jean-Yves Le Boudec.
"MPTCP is not pareto-optimal: performance issues and a possible solution." In Proceedings of the 8th
international conference on Emerging networking experiments and technologies, pp. 1-12. ACM,
2012.
[8] Walid, A., Q. Peng, J. Hwang, and S. Low. "Balanced Linked Adaptation Congestion Control
Algorithm for MPTCP." Working Draft, IETF Secretariat, Internet-Draft draft-walid-
mptcpcongestion-control-03, July (2015).
[9] Cao, Yu, Mingwei Xu, and Xiaoming Fu. "Delay-based congestion control for multipath TCP." In
Network Protocols (ICNP), 2012 20th IEEE International Conference on, pp. 1-10. IEEE, 2012.
[10] "MPTCP Linux Kernel Implementation." MultiPath TCP. Accessed March 01, 2016.
http://mptcp.info.ucl.ac.be/.
[11] Wischik, Damon, Costin Raiciu, Adam Greenhalgh, and Mark Handley. "Design, Implementation and
Evaluation of Congestion Control for Multipath TCP." In NSDI, vol. 11, pp. 8-8. 2011.
[12] Honda, Michio, Yoshifumi Nishida, Lars Eggert, Pasi Sarolahti, and Hideyuki Tokuda. "Multipath
congestion control for shared bottleneck." In Proc. PFLDNeT workshop, pp. 19-24. 2009.
[13] Raiciu, Costin, Damon Wischik, and Mark Handley. "Practical congestion control for multipath
transport protocols." University College London, London/United Kingdom, Tech. Rep (2009).
[14] "Ifstat(1) - Linux Man Page." Ifstat(1): Report InterFace STATistics. Accessed March 01, 2016.
http://linux.die.net/man/1/ifstat.
International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016
157
AUTHORS
Hamzah M A Hijawi received his BS in computer system engineering from Birzeit University, Ramallah,
Palestine, in 2011. He is currently working with Exalt technologies as a software engineer since 2010 for
Cisco Systems, Inc. as a software engineer for deep packet inspection project NBAR, and currently
pursuing his Master of Computer Science from Arab American University, Jenin, Palestine. His researches
interest include computer networking, information security, wireless sensor network and data Mining.
Mohammad M N Hamarsheh received his BS in electrical and computer engineering from An-najah
National University, Nablus, Palestine, in 1999, and his MS and PhD degrees in computer and
communication engineering and communications and network engineering, in 2002 and 2006, respectively
from University Putra Malaysia, Serdang, Malaysia. He worked as the head of the FBG fabrication unit
with Photronix, Cyberjaya, Malaysia. He was involved in optical CDMA and fiber Bragg grating research
and development. He worked as a lecturer with faculty of information science and technology, Multimedia
University, Malaysia, from 2005 to 2008. He is currently an assistant professor at Arab American
University, Jenin, Palestine. His research interests include computer networking and security, optical code
division multiple access systems, fiber Bragg gratings, dense wavelength division multiplexing, and
polarization effect on optical fiber communication.

More Related Content

PDF
PERFORMANCE EVALUATION OF SELECTED E2E TCP CONGESTION CONTROL MECHANISM OVER ...
PDF
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
PDF
Assignment2
PDF
E04124030034
PDF
An ecn approach to congestion control mechanisms in mobile ad hoc networks
PDF
Recital Study of Various Congestion Control Protocols in wireless network
PDF
Improving Performance of TCP in Wireless Environment using TCP-P
PDF
Differentiated Classes of Service and Flow Management using An Hybrid Broker1
PERFORMANCE EVALUATION OF SELECTED E2E TCP CONGESTION CONTROL MECHANISM OVER ...
IMPACT OF CONTENTION WINDOW ON CONGESTION CONTROL ALGORITHMS FOR WIRELESS ADH...
Assignment2
E04124030034
An ecn approach to congestion control mechanisms in mobile ad hoc networks
Recital Study of Various Congestion Control Protocols in wireless network
Improving Performance of TCP in Wireless Environment using TCP-P
Differentiated Classes of Service and Flow Management using An Hybrid Broker1

What's hot (19)

PDF
Design, implementation and evaluation of icmp based available network bandwid...
PDF
Implementing True Zero Cycle Branching in Scalar and Superscalar Pipelined Pr...
PDF
30 ijaprr vol1-4-24-28syed
PDF
Design A Congestion Aware Routing Algorithm for Synchronous Cam Design
PDF
RED: A HIGH LINK UTILIZATION AND FAIR ALGORITHM
PDF
DOCX
MC0087 Internal Assignment (SMU)
PDF
Paper jet vol 1 2737 7652-1-pb
PDF
4 fuzzy aqm
PDF
IRJET-A Survey on Red Queue Mechanism for Reduce Congestion in Wireless Network
PPT
Transport Layer
PDF
1 improvement of tcp congestion window over lte
PDF
Week10 transport
PDF
Throughput and Handover Latency Evaluation for Multicast Proxy Mobile IPV6
PDF
I1102014953
PDF
ETFRC: Enhanced TFRC for Media Traffic over Internet
PPTX
Icfcc conference real
 
DOCX
Assignment on data network
PDF
Chapter03 sg
Design, implementation and evaluation of icmp based available network bandwid...
Implementing True Zero Cycle Branching in Scalar and Superscalar Pipelined Pr...
30 ijaprr vol1-4-24-28syed
Design A Congestion Aware Routing Algorithm for Synchronous Cam Design
RED: A HIGH LINK UTILIZATION AND FAIR ALGORITHM
MC0087 Internal Assignment (SMU)
Paper jet vol 1 2737 7652-1-pb
4 fuzzy aqm
IRJET-A Survey on Red Queue Mechanism for Reduce Congestion in Wireless Network
Transport Layer
1 improvement of tcp congestion window over lte
Week10 transport
Throughput and Handover Latency Evaluation for Multicast Proxy Mobile IPV6
I1102014953
ETFRC: Enhanced TFRC for Media Traffic over Internet
Icfcc conference real
 
Assignment on data network
Chapter03 sg
Ad

Viewers also liked (19)

PDF
ADAPTIVE HANDOVER HYSTERESIS AND CALL ADMISSION CONTROL FOR MOBILE RELAY NODES
PDF
HIDING A MESSAGE IN MP3 USING LSB WITH 1, 2, 3 AND 4 BITS
PDF
PERFORMANCE ANALYSIS OF THE LINK-ADAPTIVE COOPERATIVE AMPLIFY-AND-FORWARD REL...
PDF
Using spectral radius ratio for node degree
PDF
Assessment of health monitoring
PDF
On the approximation of the sum of lognormals by a log skew normal distribution
PDF
Maximizing network interruption in wireless
PDF
A NOVEL METHOD TO TEST DEPENDABLE COMPOSED SERVICE COMPONENTS
PDF
PERFORMANCE EVALUATION OF WIRELESS SENSOR NETWORK UNDER HELLO FLOOD ATTACK
PDF
A scheme for maximal resource
PDF
A survey of multimedia streaming in
PDF
The comparison of immunization
PDF
ENHANCEMENT OF TRANSMISSION RANGE ASSIGNMENT FOR CLUSTERED WIRELESS SENSOR NE...
PDF
APPROXIMATING NASH EQUILIBRIUM UNIQUENESS OF POWER CONTROL IN PRACTICAL WSNS
PDF
A predictive framework for cyber security analytics using attack graphs
PDF
Qos evaluation of heterogeneous
PDF
PERFORMANCE ASSESSMENT OF CHAOTIC SEQUENCE DERIVED FROM BIFURCATION DEPENDENT...
PDF
ENERGY SAVINGS IN APPLICATIONS FOR WIRELESS SENSOR NETWORKS TIME CRITICAL REQ...
PDF
Localization for wireless sensor
ADAPTIVE HANDOVER HYSTERESIS AND CALL ADMISSION CONTROL FOR MOBILE RELAY NODES
HIDING A MESSAGE IN MP3 USING LSB WITH 1, 2, 3 AND 4 BITS
PERFORMANCE ANALYSIS OF THE LINK-ADAPTIVE COOPERATIVE AMPLIFY-AND-FORWARD REL...
Using spectral radius ratio for node degree
Assessment of health monitoring
On the approximation of the sum of lognormals by a log skew normal distribution
Maximizing network interruption in wireless
A NOVEL METHOD TO TEST DEPENDABLE COMPOSED SERVICE COMPONENTS
PERFORMANCE EVALUATION OF WIRELESS SENSOR NETWORK UNDER HELLO FLOOD ATTACK
A scheme for maximal resource
A survey of multimedia streaming in
The comparison of immunization
ENHANCEMENT OF TRANSMISSION RANGE ASSIGNMENT FOR CLUSTERED WIRELESS SENSOR NE...
APPROXIMATING NASH EQUILIBRIUM UNIQUENESS OF POWER CONTROL IN PRACTICAL WSNS
A predictive framework for cyber security analytics using attack graphs
Qos evaluation of heterogeneous
PERFORMANCE ASSESSMENT OF CHAOTIC SEQUENCE DERIVED FROM BIFURCATION DEPENDENT...
ENERGY SAVINGS IN APPLICATIONS FOR WIRELESS SENSOR NETWORKS TIME CRITICAL REQ...
Localization for wireless sensor
Ad

Similar to PERFORMANCE ANALYSIS OF MULTI-PATH TCP NETWORK (20)

PDF
Multipath TCP-Goals and Issues
PDF
Bg4101335337
PPTX
8th_sem_final.pptx
PPT
TCP Section5
PDF
U01725129138
PPTX
Multipath TCP as Security Solution
PDF
Towards Seamless TCP Congestion Avoidance in Multiprotocol Environments
PDF
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
PDF
Performance Evaluation of TCP with Adaptive Pacing and LRED in Multihop Wirel...
PPTX
4th Module (1).pptx internet of things..
PDF
A Machine Learning based Network Sharing System Design with MPTCP
PDF
A Machine Learning based Network Sharing System Design with MPTCP
PDF
VEGAS: Better Performance than other TCP Congestion Control Algorithms on MANETs
PPTX
transportlayerUnit4ComputerNetworkUnit4.pptx
PDF
Effective Router Assisted Congestion Control for SDN
PDF
Packet Guide SONET/SDH
PDF
Enhancing HTTP Web Protocol Performance with Updated Transport Layer Techniques
PDF
Enhancing HTTP Web Protocol Performance with Updated Transport Layer Techniques
PDF
Enhancing HTTP Web Protocol Performance with Updated Transport Layer Techniques
PDF
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...
Multipath TCP-Goals and Issues
Bg4101335337
8th_sem_final.pptx
TCP Section5
U01725129138
Multipath TCP as Security Solution
Towards Seamless TCP Congestion Avoidance in Multiprotocol Environments
Comparative Analysis of Different TCP Variants in Mobile Ad-Hoc Network
Performance Evaluation of TCP with Adaptive Pacing and LRED in Multihop Wirel...
4th Module (1).pptx internet of things..
A Machine Learning based Network Sharing System Design with MPTCP
A Machine Learning based Network Sharing System Design with MPTCP
VEGAS: Better Performance than other TCP Congestion Control Algorithms on MANETs
transportlayerUnit4ComputerNetworkUnit4.pptx
Effective Router Assisted Congestion Control for SDN
Packet Guide SONET/SDH
Enhancing HTTP Web Protocol Performance with Updated Transport Layer Techniques
Enhancing HTTP Web Protocol Performance with Updated Transport Layer Techniques
Enhancing HTTP Web Protocol Performance with Updated Transport Layer Techniques
A COMPARISON OF CONGESTION CONTROL VARIANTS OF TCP IN REACTIVE ROUTING PROTOC...

More from IJCNCJournal (20)

PDF
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
PDF
Authenticated Key Agreement Protocol with Forward Secrecy for Securing Cyber ...
PDF
Enhancing IoT Cyberattack Detection via Hyperparameter Optimization Technique...
PDF
Analysis of LTE/5G Network Performance Parameters in Smartphone Use Cases: A ...
PDF
An Energy Hole Detection and Relay Repositioning in Cluster Based Routing Pro...
PDF
Performance of Multi-Hop FSO Systems Under Practical Conditions with Malaga T...
PDF
QoS Based Reliable Route in MANET for Military Applications
PDF
Conflict Flow Avoided Proactive Rerouting Algorithm using Online Active Learn...
PDF
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
PDF
Evaluating OTFS Modulation for 6G: Impact of High Mobility and Environmental ...
PDF
AI-Driven IoT-Enabled UAV Inspection Framework for Predictive Maintenance and...
PDF
Classification of Network Traffic using Machine Learning Models on the NetML ...
PDF
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
PDF
Energy Efficient Virtual MIMO Communication Designed for Cluster based on Coo...
PDF
An Optimized Energy-Efficient Hello Routing Protocol for Underwater Wireless ...
PDF
Evaluating OTFS Modulation for 6G: Impact of High Mobility and Environmental ...
PDF
Simulated Annealing-Salp Swarm Algorithm based Variational Autoencoder for Pe...
PDF
A Framework for Securing Personal Data Shared by Users on the Digital Platforms
PDF
Developing a Secure and Transparent Blockchain System for Fintech with Fintru...
PDF
Visually Image Encryption and Compression using a CNN-Based Autoencoder
Enhancing Cyber Defense Against Zero-Day Attacks using Ensemble Neural Networks
Authenticated Key Agreement Protocol with Forward Secrecy for Securing Cyber ...
Enhancing IoT Cyberattack Detection via Hyperparameter Optimization Technique...
Analysis of LTE/5G Network Performance Parameters in Smartphone Use Cases: A ...
An Energy Hole Detection and Relay Repositioning in Cluster Based Routing Pro...
Performance of Multi-Hop FSO Systems Under Practical Conditions with Malaga T...
QoS Based Reliable Route in MANET for Military Applications
Conflict Flow Avoided Proactive Rerouting Algorithm using Online Active Learn...
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
Evaluating OTFS Modulation for 6G: Impact of High Mobility and Environmental ...
AI-Driven IoT-Enabled UAV Inspection Framework for Predictive Maintenance and...
Classification of Network Traffic using Machine Learning Models on the NetML ...
A Cluster-Based Trusted Secure Multipath Routing Protocol for Mobile Ad Hoc N...
Energy Efficient Virtual MIMO Communication Designed for Cluster based on Coo...
An Optimized Energy-Efficient Hello Routing Protocol for Underwater Wireless ...
Evaluating OTFS Modulation for 6G: Impact of High Mobility and Environmental ...
Simulated Annealing-Salp Swarm Algorithm based Variational Autoencoder for Pe...
A Framework for Securing Personal Data Shared by Users on the Digital Platforms
Developing a Secure and Transparent Blockchain System for Fintech with Fintru...
Visually Image Encryption and Compression using a CNN-Based Autoencoder

Recently uploaded (20)

PPTX
Welding lecture in detail for understanding
PPTX
CH1 Production IntroductoryConcepts.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PDF
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
DOCX
573137875-Attendance-Management-System-original
PDF
composite construction of structures.pdf
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PDF
PPT on Performance Review to get promotions
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PDF
Embodied AI: Ushering in the Next Era of Intelligent Systems
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
Construction Project Organization Group 2.pptx
PPTX
bas. eng. economics group 4 presentation 1.pptx
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Welding lecture in detail for understanding
CH1 Production IntroductoryConcepts.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Automation-in-Manufacturing-Chapter-Introduction.pdf
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
TFEC-4-2020-Design-Guide-for-Timber-Roof-Trusses.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
573137875-Attendance-Management-System-original
composite construction of structures.pdf
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPT on Performance Review to get promotions
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Embodied AI: Ushering in the Next Era of Intelligent Systems
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
Construction Project Organization Group 2.pptx
bas. eng. economics group 4 presentation 1.pptx
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS

PERFORMANCE ANALYSIS OF MULTI-PATH TCP NETWORK

  • 1. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 DOI : 10.5121/ijcnc.2016.8213 145 PERFORMANCE ANALYSIS OF MULTI-PATH TCP NETWORK Hamzah M A Hijawi and Mohammad M. N. Hamarsheh Department of Computer Science, Arab American University, Jenin, Palestine ABSTRACT MPTCP is proposed by IETF working group, it allows a single TCP stream to be split across multiple paths. It has obvious benefits in performance and reliability. MPTCP has implemented in Linux-based distributions that can be compiled and installed to be used for both real and experimental scenarios. In this article, we provide performance analyses for MPTCP with a laptop connected to WiFi access point and 3G cellular network at the same time. We prove experimentally that MPTCP outperforms regular TCP for WiFi or 3G interfaces. We also compare four types of congestion control algorithms for MPTCP that are also implemented in the Linux Kernel. Results show that Alias Linked Increase Congestion Control algorithm outperforms the others in the normal traffic load while Balanced Linked Adaptation algorithm outperforms the rest when the paths are shared with heavy traffic, which is not supported by MPTCP. KEYWORDS TCP, MPTCP, Multi-homed, Congestion Controls 1. INTRODUCTION Transmission control protocol TCP is widely used on the internet today. Most applications use TCP as a reliable transfer protocol to transmit data across the internet. TCP has been evolving since the first design from the 1970s. One of the early design decisions in TCP still frustrating users; the separation between transport and network layers is not completely transparent. However, in order to differentiate between individual data streams among incoming traffic, the receiver demultiplexes packets based on the five tuples; source IP, destination IP, source port, destination port and the protocol identifier, this is also called socket. Thus, any TCP connection is a single path and bounded to a unique socket between the source and destination [1]. This means that after the connection is established if for some reason the IP address is changed in the source or destination then the whole connection will fail. Today networks are becoming multipath, most of the servers are multi-homed, mobile devices have multiple wireless interfaces like WiFi and GSM, and data centers have many redundant links. This type of redundancy evolves the need for a new TCP design to make it operational over multipath, this is called multipath TCP [2]. MPTCP is a major modification to TCP, which allows multiple paths to be used simultaneously by a single TCP transport connection. It was first proposed by IETF [3]. MPTCP has obvious benefits for reliability in case of link failures and for load balancing in case of multi-homed servers and data centers. MPTCP also can achieve better performance and it is more robust than a single path TCP while maintaining compatibility with existing applications. This is achieved by providing a regular TCP interface to applications and let the transport layer handles the multipath connections. MPTCP is presented as a sublayer under TCP layer, it spreads data over multi-paths which are called sub-flows [3].
  • 2. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 146 The design of MPTCP has been influenced by many requirements. Mainly, application and network compatibilities [2]. Application compatibility means that applications that currently run over TCP should work over MPTCP without any change. Network compatibility means that MPTCP should work with any network on which TCP operates. MPTCP connection is established by using three-way handshake with TCP options. MP_CAPABLE option in the SYN packet indicates that the source can perform multipath TCP. If the destination also supports multipath TCP, then it replies with SYNACK packet, which also contains MP_CAPABLE option, after that source replies with ACK packet which again contains MP_CAPABLE option to confirm that the connection will use MPTCP. Other options like using a random key in the three-way handshake can be used for security purposes. Once the connection established any of participants can create additional sub-flow if it finds a new path to the destination by sending a new SYN packet with MP_JOIN option and information on which MPTCP session to join. Once the connection has more than one sub-flow, it is up to the system on each end to decide how to split the traffic between sub-flows. Each sub-flow looks like a normal TCP connection; it has its own sequence numbers and congestion control which are different from other sub-flows. New sub-flow can come up if a new path is available and can vanish if one of the paths becomes unavailable [4]. One of the most important components of TCP is its congestion control mechanism, which allows it to adjust throughput according to the network congestions. Each TCP connection maintains a variable called congestion window. It governs the amount of traffic that the sender can send without waiting for an acknowledgment from the receiver. The same approach is applied in MPTCP in which each sub-flow has its own congestion window and it is updated dynamically according to the congestion in the path it takes to reach the destination. Few congestion control algorithms for MPTCP has been developed like coupled congestion control [5], opportunistic linked-increases congestion control [6, 7], balanced linked adaptation congestion control [8] and delay based congestion control [9]. The main goal of this paper is to evaluate the new emerging MPTCP protocol over single and multiple interfaces. The throughput of different scenarios is measured using the Linux operating system. Outputs from all scenarios are compared with each other and the performance of different MPTCP congestion control algorithms is compared. 2. RELATED WORK MPTCP is a new approach towards efficient load balancing, it does balance at the end nodes as part of TCP process. MPTCP was described in RFC 6897 [4], an active working group in the IETF. Many attempts have been made in order to implement MPTCP in the Linux Kernel. An effort was made in [10]where the Kernel can be tuned and customized by system call variables. With the possibility of using multiple paths for TCP, concerns have arisen about congestion controls on these paths. An effort was made to implement effective and robust congestion control mechanisms that effectively use the paths without harming the original TCP path. In [11], it was shown that implementing some congestion control algorithms for multipath TCP could be harmful. Equally-Weighted TCP EWTCP is an example of these harmful algorithms [12]. It is a weighted version of multipath TCP which distributes the data fairly compared to the regular MPTCP. It is not very efficient because it doesn’t split traffic evenly across the available paths. COUPLED congestion control algorithm makes better decisions than EWTCP and solved some fairness problems [5]. The weakness of this algorithm is obvious when the available paths have different throughputs like the case in WiFi and GSM. It makes unequal round trip times (RTTs) because the COUPLED algorithm tends to send all its traffic on the less congested path, which makes the use of low throughput path inefficient. The proposed solution to these problems is
  • 3. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 147 given in [12]. It is called SEMI-COUPLED congestion control algorithm. It is implemented based on some design goals like good path selection, balanced congestion, and compatibility with existing regular TCP. A practical multipath congestion control algorithm is proposed in [13]. It focuses on improving throughput and balance the congestion. It also compares the proposed algorithm with other three congestion control algorithms: Fully coupled, linked increases and uncoupled TCP. The simulation was carried out using CWNDSim. It was shown that the proposed algorithm succeeded in keeping total throughput close to the target rate, and the traffic is pushed into the less congested path. An overview of fully functional MPTCP is provided in [2]. The results performed on the Linux machines that implemented MPTCP protocol in their Kernels. They studied the most used cases for MPTCP which are the mobile devices and data canters. The data transfer measurements of the mobile focus on the typical mode of operation in which the mobile device is connected to WiFi, then connection goes down and the device switched to 3G. The results were compared with the single path TCP and showed a smooth handover in the case of MPTCP, this is because data keeps flowing despite the interface changed. The other scenario is load balancing in the datacenter; the comparison was made with standard TCP, two flows MPTCP, and four flows MPTCP when tested on EC2 test bed with 40 instances. They showed that MPTCP with four paths outperforms both standard TCP and two paths MPTCP. 3. MPTCP CONGESTION CONTROL MPTCP distributes loads through the creation of multiple sub-flows across potential paths between source and destination. Congestion control in MPTCP is different from regular TCP. The simplest way is to run the standard TCP congestion control on each sub-flow. However, this solution is not efficient as it will give the multi-path flow more than its fair share if more than one sub-flow across the same bottleneck link which is also shared with standard TCP flow.Furthermore, it is desirable that the source with multiple paths will transfer more traffic using the least congested path, achieving the resource pooling where a group of links behaves like one shared link with bigger capacity [5]. Any multipath congestion control algorithm must meet a set of requirements which are summarized in three different goals. The first goal is improving the throughput; a multipath connection should perform at least as well as single path TCP would on the best of available paths, this means that in the worst case the MPTCP would have throughput same as standard TCP. The second goal does not harm;a multipath sub-flow should not take capacity more than single path TCP would on the same link, this ensure that multipath sub-flow will not harm other flows. The third goal is balancing the congestion; the multipath flow should move as much as traffic to the least congested paths [3, 5, 11]. The first and second goals together ensure the fairness at bottlenecks while the third goal achieves the concept of the resource pooling. However, if each multipath flow sends more traffic through its least congested path, the network traffic will move away from congested paths resulting in improvements in robustness and overall network throughput. Many congestion control algorithms were proposed, most of them were implemented in Linux Kernels. The following four congestion control algorithms were implemented in most of Linux distributions [10].
  • 4. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 148 3.1 Alias Linked Increase Congestion Control Alias Linked Increase Algorithm LIA couples the congested control algorithms that are running on different sub-flows by linking their increase functions and dynamically adapts the congestion window [5],the algorithm is only applied to the increase part of the congestion avoidance phase. The resultis an algorithm that is fair to standard TCP at bottlenecks and at the same time moving the traffic away from congested paths. The additive increase and subtractive decrease behaviors can be described asfollows: • For each ACK received on sub-flow i, the congestion window cwndi is increased by: . . , . !"# $ (1) Where: α: A parameter that describes the aggressiveness of the multipath flow. Back: Number of acknowledged bytes. Mssi: Maximum segment size on sub-flow i. n:Total number of sub-flows. • For each loss on sub-flow i, decrease cwndi by cwndi/2. Formula (1) describes the increase behavior of the algorithm in Bytes, thefirst argument computes the window increase value for the multipath sub-flow and the second one computes the increasevalue for TCP in the same scenario. Taking the minimum of these values ensures that any multipath sub-flow will not take capacity more than single path TCP, hence achieving the second design goal. Alpha is a parameter used to adjust the aggressiveness of the multipath flow, its valueis chosen such that the total throughput of the multipath flow is equal to the throughput which TCP would get on the best path and this meets the first design goal. According to the first term in formula (1), the total throughput for a multipath flow depends on alpha, maximum segment sizes, and round trip times of its paths. In order to meet the first design goal, it is impossible to choose a single value of alpha that achieves the desired throughput at each time. Hence, alpha is computed based on the observed behaviors of all paths as shown in formula (2), alpha is derived by equalizing the rate of multipath flow with TCP flow running on the same path. &∑ () *++,- . /01 2 3 4556 7 89 2 3 455 : 6 (2) Where: ;< =>>6 ?:Maximim value of any possible path. @ =>>+,- : Summation of all possible values of all paths.
  • 5. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 149 3.2 Opportunistic Alias Linked Increase Congestion Control Through analysis and measurements provided in [7], it was proven that current LIA implementation forces a tradeoff between optimal resource pooling and the responsiveness, both goals can’t be achieved at the same time, this leads to the fairness problem to TCP users. However, upgrading part of users from standard TCP to MPTCP can reduce the throughput for other users without any benefit to MPTCP users and can also violate the third design goal. OLIA, the opportunistic linked increases algorithm wasintroduced as an alternative for LIA,it a window based congestion control algorithm. It couples the increase of congestion windows and uses the same behavior in regular TCP in case of loss. This algorithm is only applied to the increase part of the congestion avoidance phase, slow start algorithm is the same as the one used in regular TCP with a small modification in case of multiple paths are established [6, 7].The additive increase behavior can be described as follows: • For each ACK received on path i, increase congestion window cwndiby: ABC 4556 &D E.& 2 3F 455F ..6 + (3) Where: cwndp:Window size of a path p with largest congestion window. RTTp:Round trip time of a path p with largest congestion window. αi: Adjust parameter for a path i. n: is the total number of sub-flows. • For each loss on sub-flow i, decrease cwndi by cwndi/2. The first term in formula (3) provides the optimal resource pooling, it is a TCPcompatible version that compensates for different RTTs. The second term with alpha guarantees the responsiveness and non-flappiness of the algorithm. 3.3 Balanced Linked Adaptation Congestion Control Recent MPTCP congestion protocols like LIA and OLIA suffer from either unfairness to the single path TCP or unresponsiveness to network changes under certain conditions especially when all paths used for MPTCP have the same round trip time. However, the trade-off between these two issues is inevitable. Balances linked adaptation algorithm BALIA judiciously balances this trade-off [8],it strikes a good balance between friendliness and responsiveness. The additive increase and subtractive decrease behaviors of BALIA can be described as follows: • For each ACK on path i, increase cwndi by: H I =>> .J∑ 0 K 6L . D MN / O E . D PN / Q E (4) Where: <+ = () *+ STT+
  • 6. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 150 ;+ = ;<{<V } xY n: is the total number of sub-flows. • For each loss on path i, decrease cwndi by: D !"# O E . {;+, 1.5} (5) If there is only a single path available then ;+ will be one and the increment and decrement formulas will be reduced to those of TCP Reno algorithm. 3.4 Delay-Based Congestion Control A Delay-based congestion control algorithm called wVegas is introduced in [9]. Unlike LIA which is based on packet loss events, wVegas uses packet queuing delay as a congestion signal. Compared with loss based congestion control algorithms described previously, wVegas is more sensitive to the changes of network congestions, and can achieve more timely traffic shifting and faster convergence. The following operations must be performed at the end of each transmission round: • For a sub-flowi, calculate the difference between the expected sending rate and actual sending rate. * + = D !"# ]/ ^_=>> − !"# =>> E . a;bc_STT+ (6) Where, RTTi is the average RTT on the last round on sub-flow i, and base_RTTi is the RTT of a sub-flow i when the path is not congested. If the sub-flow is in the slow start phase and the diffi is larger than a threshold called gamma, the algorithm must enter the congestion avoidance phase. • In the congestion avoidance phase, if the diffi is not less than unfairness ;i, then the rate must be updated. d;ec+ = !"# =>> (7) )c fℎe+ = hijk lml/n o/l^ mp /nn + (8) ;+ = )c fℎe+ . eqe;r_; (9) If diffiis larger than ;i, then () *+ = cwndY – 1 else,() *+ = cwndY + 1 • The last task that wVegas tries to do is improving the accuracy of base_RTTi by making the congestion window back off once detecting a queuing delay larger than some thresholds. By this task, bottleneck link can drain off the backlogged packets. However, all flows involved have a chance to obtain the most accurate propagation delay. wVegas first calculates the queuing delay as follows: xycyc_*cr;z+ = STT+ − a;bc_STT+ (10)
  • 7. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 If the current queuing delay is less than the saved replaced by the current one. If the current queuing delay is twice following operation: cwndY = &cwndY.. &0.5. . & ]/ ^ 4. EXPERIMENTAL RESULTS Experimental evaluation of MPTCP is performed using Ubuntu Linux. The with Ubuntu Kernel, which supports MPTCP [ using a laptop that had WiFi and 3G figure 1. Ubuntu 14.04 is installed on Kernel is replaced with multipath TCP v0.90 Kernel.Each of the network interfaces has a speed of 4Mbps. 4.1 Comparison between Regular TCP and MPTCP In this experiment, we downloaded a 1GB file from a server through the internet in three different scenarios. The first scenario by using regular TCP over 3G interface, a the same time. The comparison of figure shows that using MPTCP over all available interfaces can enhance the throughput expected. It also shows that the throughput.Sometimes the throughput using a link with shared capacity to the called ifstat [14], the summation of drawn as an average value for each ten readings; clear that that the 3G link stability is not as good as the W performance of the MPTCP link. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 If the current queuing delay is less than the saved queue_delayi then the queue_delay replaced by the current one. If the current queuing delay is twice queue_delayi then pe ]/ ^_=>> =>> . ESULTS Experimental evaluation of MPTCP is performed using Ubuntu Linux. The Kernel is replaced with Ubuntu Kernel, which supports MPTCP [10]. Multiple experimental scenarios are done using a laptop that had WiFi and 3G interfaces. The topology of the system used is described in Ubuntu 14.04 is installed on a laptop which represents the FTP client, and the Linux Kernel is replaced with multipath TCP v0.90 Kernel.Each of the network interfaces has a speed of Figure 1: System Topology 4.1 Comparison between Regular TCP and MPTCP In this experiment, we downloaded a 1GB file from a server through the internet in three different using regular TCP over WiFi interface, thesecond g regular TCP over 3G interface, and the last scenario by using MPTCP over WiFi and 3G at ison of the throughput for the three scenarios is shown in Figure 2 that using MPTCP over all available interfaces can enhance the throughput the throughput using MPTCP is almost the sum of each path throughput.Sometimes the throughput is less than the sum because the experiments are shared capacity to the internet. Throughput is monitored using a Linux tool the summation of download speed for each network interface is collected for each ten readings; this is to make the graph smoother. ility is not as good as the WiFi link and this is reflected on the . This explains the odd behaviour at 150, 300 and 550 s. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 151 queue_delayi must be then perform the (11) Kernel is replaced ]. Multiple experimental scenarios are done . The topology of the system used is described in represents the FTP client, and the Linux Kernel is replaced with multipath TCP v0.90 Kernel.Each of the network interfaces has a speed of In this experiment, we downloaded a 1GB file from a server through the internet in three different second scenario by sing MPTCP over WiFi and 3G at is shown in Figure 2. The that using MPTCP over all available interfaces can enhance the throughput as ughput using MPTCP is almost the sum of each path experiments are done Throughput is monitored using a Linux tool is collected and is to make the graph smoother. It is also flected on the This explains the odd behaviour at 150, 300 and 550 s.
  • 8. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 152 Figure 2: Throughput using MPTCP at normal traffic 4.2 Heavy Load Comparison In this experiment, we use the FTP to download 1GB file using MPTCP over WiFi and 3G interfaces. While the file is downloading, YouTube video fileat time 300 seconds is started and consumes most of the bandwidth. The same scenario was repeated with standard TCP. Figure 3 shows the throughput for both cases. The figure shows that the file gets better throughput in case of MPTCP as expected. YouTube server does not support MPTCP and the video download was using WiFi interface only. Thus, the total capacity of the3G interface is used for the FTP download and the WiFi is shared between FTP and video download. Before time 150seconds, the through put of the MPTCP is not steady because of the shared link capacity.When YouTube video started at about 280seconds, the throughput dropped to 60 KB/s for standard TCP and to 170 KB/sfor MPTCP, this shows how using multi-paths can enhance MPTCP applications throughput without affecting the behavior of standard TCPat congestion bottlenecks.
  • 9. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 153 Figure 3: Throughput using MPTCP at heavy traffic 4.3 MPTCP sub-flows over Single Interface In this experiment, the download throughput is monitored using MPTCP with one sub-flow over a WiFi interface. It is compared withdownload throughput of two sub-flows over the same interface. Results show a good enhancement on throughput as the number of sub-flows increase over the same path. Figure 4 shows that the download speed in case of MPTCP with two sub- flows is increased by 70 KB/s when it is compared with MPTCP with 1 sub-flow. Figure 4: MPTCP sub-flows
  • 10. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 154 4.4 Application Layer Handover The throughput of TCP with application layer handover is monitored and compared with that of MPTCP. The throughput of TCP protocol is monitored while downloading a 1GB file from the server using a TCP connection on WiFi interface. The WiFi access point is switched off during the download. The application detected that WiFi interface went down and reconnected with a new TCP connection (switched) to the 3G interface. The same scenario is implemented again with MPTCP enabled. Figure 5 shows the results from both cases, the handover occurs between 100 – 130 seconds with MPTCP and data keeps flowing despite the lossof one of the interfaces. It is shown that at the handover time, the download speed does not go to zero in thecase of MPTCP.In thecase of TCP, the throughput goes to zero for all of the handover periodsuntil anew connection is established. Figure 5: MPTCP handover 4.5 Congestion Controls Algorithms Comparison In this experiment, a comparison of the throughput when downloading a 1 GB file is made between the four different congestion control algorithms discussed in section three. The file is downloaded 4 times, each time different congestion control algorithm is used. These are LIA, OLIA, BALIA and wVegas. WiFi and 3G interfaces are both utilized for MPTCP at normal traffic load. Experiment results show that LIA has thebest throughput most of the time (150s – 480s) as shown in figure 6. BALIA also has a good throughput for the time from 0s to 320s at this type of load. OLIA and wVegas did not show good throughput at this load and were not stable most of the time.
  • 11. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 155 Figure 6: Throughput comparison between MPTCP congestion controls algorithms 4.6 Congestion Controls Algorithms Comparisonunder Heavy Traffic The congestion control algorithms are designed to improve the throughput at heavy load. The throughput is monitored at heavy load while downloading the 1GB file four different times. Each time one of the congestion control algorithm is used and a YouTube video file is started at time 300 seconds to consume most of the bandwidth.The throughput in each case is compared with all other cases to show the behaviour of the four different congestion control algorithms under heavy traffic scenario to test how each of them reacts under extreme cases. Figure 7: Throughput comparison between MPTCP congestion controls algorithms under Heavy Traffic Load
  • 12. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 156 Figure 7 shows the comparison results, it clearly shows that BALIA outperforms other congestion algorithms when the paths are shared with heavy trafficthat is not supported by MPTCP. This explains the trade-off between friendliness and responsiveness in the old congestion control implementations in LIA and OLIA. Wvegasoutperforms LIA and OLIA, this is because it uses packet questing delay as a congestion signal instead of loss based, and this makes wVegas more sensitive to the changes in the network congestions and can achieve more timely traffic shifting and faster convergence. 6. CONCLUSIONS MPTCP is one of the most significant changes to TCP in the past years, it allows TCP streams to be split over multiple paths to improve the performance of TCP applications and increase throughput and reliability. MPTCP is implemented in the Linux Kernel and can be compiled and installed on most of Linux distributions. In this article, we did a performance analysis of MPTCP.It is shown experimentally that using MPTCP outperforms normal TCP and has many advantages in different scenarios. The throughput of different congestion MPTCP algorithms is also compared. REFERENCES [1] Postel, Jon. "RFC793: Transmission Control Protocol. USC." Information Sciences Institute 27 (1981): 123-150. [2] Bonaventure, Olivier, Mark Handley, and Costin Raiciu. "An overview of Multipath TCP.”; login: 37, no. 5 (2012): 17-23. [3] Ford, C. Raiciu, and M. Handley. "TCP Extensions for Multipath Operation with Multiple Addresses" draft-ietf-mptcpmultiaddress (work in progress)." (2010). [4] Scharf, Michael, and Alan Ford. Multipath TCP (MPTCP) application interface considerations. No. RFC 6897. 2013. [5] Raiciu, C., M. Handley, and D. Wischik. "RFC 6356, Coupled Congestion Control for Multipath Transport Protocols." (2011). [6] Khalili, Ramin, Nicolas Gast, and Miroslav Popovic. "Opportunistic Linked-Increases Congestion Control Algorithm for MPTCP." (2013). [7] Khalili, Ramin, Nicolas Gast, Miroslav Popovic, Utkarsh Upadhyay, and Jean-Yves Le Boudec. "MPTCP is not pareto-optimal: performance issues and a possible solution." In Proceedings of the 8th international conference on Emerging networking experiments and technologies, pp. 1-12. ACM, 2012. [8] Walid, A., Q. Peng, J. Hwang, and S. Low. "Balanced Linked Adaptation Congestion Control Algorithm for MPTCP." Working Draft, IETF Secretariat, Internet-Draft draft-walid- mptcpcongestion-control-03, July (2015). [9] Cao, Yu, Mingwei Xu, and Xiaoming Fu. "Delay-based congestion control for multipath TCP." In Network Protocols (ICNP), 2012 20th IEEE International Conference on, pp. 1-10. IEEE, 2012. [10] "MPTCP Linux Kernel Implementation." MultiPath TCP. Accessed March 01, 2016. http://mptcp.info.ucl.ac.be/. [11] Wischik, Damon, Costin Raiciu, Adam Greenhalgh, and Mark Handley. "Design, Implementation and Evaluation of Congestion Control for Multipath TCP." In NSDI, vol. 11, pp. 8-8. 2011. [12] Honda, Michio, Yoshifumi Nishida, Lars Eggert, Pasi Sarolahti, and Hideyuki Tokuda. "Multipath congestion control for shared bottleneck." In Proc. PFLDNeT workshop, pp. 19-24. 2009. [13] Raiciu, Costin, Damon Wischik, and Mark Handley. "Practical congestion control for multipath transport protocols." University College London, London/United Kingdom, Tech. Rep (2009). [14] "Ifstat(1) - Linux Man Page." Ifstat(1): Report InterFace STATistics. Accessed March 01, 2016. http://linux.die.net/man/1/ifstat.
  • 13. International Journal of Computer Networks & Communications (IJCNC) Vol.8, No.2, March 2016 157 AUTHORS Hamzah M A Hijawi received his BS in computer system engineering from Birzeit University, Ramallah, Palestine, in 2011. He is currently working with Exalt technologies as a software engineer since 2010 for Cisco Systems, Inc. as a software engineer for deep packet inspection project NBAR, and currently pursuing his Master of Computer Science from Arab American University, Jenin, Palestine. His researches interest include computer networking, information security, wireless sensor network and data Mining. Mohammad M N Hamarsheh received his BS in electrical and computer engineering from An-najah National University, Nablus, Palestine, in 1999, and his MS and PhD degrees in computer and communication engineering and communications and network engineering, in 2002 and 2006, respectively from University Putra Malaysia, Serdang, Malaysia. He worked as the head of the FBG fabrication unit with Photronix, Cyberjaya, Malaysia. He was involved in optical CDMA and fiber Bragg grating research and development. He worked as a lecturer with faculty of information science and technology, Multimedia University, Malaysia, from 2005 to 2008. He is currently an assistant professor at Arab American University, Jenin, Palestine. His research interests include computer networking and security, optical code division multiple access systems, fiber Bragg gratings, dense wavelength division multiplexing, and polarization effect on optical fiber communication.