Open Access
This article is

- freely available
- re-usable

*Sustainability*
**2018**,
*10*(5),
1337;
doi:10.3390/su10051337

Article

A Performance Analysis Model of TCP over Multiple Heterogeneous Paths for 5G Mobile Services

^{1}

School of Electronic Information and Engineering, Beijing Jiaotong University, Beijing 10044, China

^{2}

Department of Computer and Information Sciences, Temple University, Philadelphia, PA 19122, USA

^{3}

Department of Electrical and Computer Engineering, University of Idaho, Moscow, ID 83844, USA

^{*}

Author to whom correspondence should be addressed.

Received: 30 March 2018 / Accepted: 22 April 2018 / Published: 25 April 2018

## Abstract

**:**

Driven by the primary requirement of emerging 5G mobile services, the demand for concurrent multipath transfer (CMT) is still prominent. Yet, multipath transport protocols are not widely adopted and CMT schemes based on Transport Control Protocol (TCP) will still be in dominant position in 5G. However, the performance of TCP flow transferred over multiple heterogeneous paths is prone to the link quality asymmetry, the extent of which was revealed to be significant by our field investigation. In this paper, we present a performance analysis model for TCP over multiple heterogeneous paths in 5G scenarios, where both bandwidth and delay asymmetry are taken into consideration. The evaluation using large-scale simulation and field experiment shows that the proposed model can achieve high accuracy in practical environments. Some interesting inferences can be drawn from the proposed model, such as the dominant factors that affect the performance of TCP over heterogeneous networks, and the criteria of determining the appropriate number of links to be used under different circumstances of path heterogeneity. Thus, the proposed model can provide a guidance to the design of TCP-based CMT solutions for 5G mobile services.

Keywords:

5G; TCP performance; multipath; transport protocols; wireless networks; heterogeneous networks## 1. Introduction

For emerging and promising 5G mobile services, despite their diverse application scenarios, it is widely agreed that they share a common primary requirement: either high data rate or high reliability. To meet such requirement, evolving wireless techniques and novel network infrastructures for 5G are no doubt necessary. However, we believe that the existing Concurrent Multipath Transfer (CMT) [1] technology could also contribute to the fulfillment of needs of 5G mobile services. CMT can not only improve communication throughput, but also provide communication reliability. CMT in 5G scenarios will pool multiple heterogeneous wireless resources by employing a variety of Radio Access Technologies (RATs) concurrently. Thus, the bandwidth of every RAT will be aggregated [2], achieving higher throughput. Also, thanks to diversity gain of heterogeneous RATs, the communication reliability can be improved [3]. Meanwhile, it is potentially more viable to adopt CMT for mobile services in 5G, since 5G is envisioned to consist of various types of RATs (such as millimeter wave communication, LTE-A and Wi-Fi). Meanwhile, more and more mobile devices have been equipped with multiple wireless interfaces [4].

Multipath techniques that can achieve CMT are still in development, while TCP-based CMT solutions will be in the dominant position. There are many reasons why multipath is not widely used. First, they cannot be widely applied to a variety of network environments. For example, the performance of Multipath TCP (MPTCP) [5], the most popular multipath protocol working at a transport layer, will be severely degraded in some cases [6,7]. Second, the vast majority of operating systems, such as Windows, Linux, and MacOS, do not support multipath protocols well. Since most mobile services will still use TCP for now and for the foreseeable future, feasible CMT solutions for 5G services will be based on TCP. These solutions can be viewed as a middleware between the transport layer and network layer, which is transparent to the existing operating systems. Also, the interoperability between existing TCP based network infrastructure will not be compromised.

However, the performance of TCP flow transferred over multiple heterogeneous wireless networks would be adversely affected by path heterogeneity. This will be a critical feature of the highly integrative 5G system [8]. Briefly, such performance degradation is due to the packet reordering issue [9] caused by the different link quality of employed heterogeneous wireless networks. The inherent re-sequencing mechanism of TCP can correct the problem when the packet reordering is no more than two positions [10]. However, the throughput may drop drastically due to the reduction of the TCP transmission window caused by more serious packet reordering [4]. Some contributions were proposed to solve the problem. Earliest Delivery Path First (EDPF) [11] schedules packets over different links based on their estimated delivery time. Delay Aware Packet Scheduling (DAPS) [12] distributes packets over different links depending on the ratio between slowest and fastest Round-Trip Time (RTT) as well as congestion window. Yet, without the thorough understanding of TCP performance in the given situation, these contributions only provide limited improvement.

If we can analyze how heterogeneous networks affect the performance of TCP flow concurrently transferred over them, more efficient and elegant CMT schemes for 5G mobile services can be developed based on TCP and TCP-like congestion control protocols. Such TCP-based CMT schemes would be more deployable in 5G heterogeneous wireless networks since they are compatible with the current Internet infrastructure.

In this paper, a performance analysis model for TCP over multiple heterogeneous wireless networks is presented. To the best of our knowledge, no similar model has been reported in the literature. The proposed model can provide guidance to the design of novel CMT solutions for 5G mobile services. The main contributions of this paper are as follows:

- (1)
- We have taken field investigation on present heterogeneous wireless networks to reveal the severe extent of link quality asymmetry in terms of delay and bandwidth. This proves that the impact of network heterogeneity in future 5G is anything but empty talk.
- (2)
- A performance analysis model is derived based on the careful analysis of segments transmission and acknowledgement response over multiple heterogeneous paths. Both bandwidth asymmetry and delay asymmetry are taken into consideration in the proposed model.
- (3)
- High analytical accuracy is validated by comparison to the simulation study and field experiment. It proves that our model can be applied in practical environments. Simulation of TCP over multiple heterogeneous paths is created in NS3, while the field measurement is performed in a real-world mobile scenario. The predicted throughput using the proposed model can fit the simulation results and the field measurement results with high accuracy.
- (4)
- Some interesting inferences are drawn from the proposed model. First, compared to bandwidth asymmetry, delay asymmetry between multiple links is the dominant factor that affects the performance of TCP over heterogeneous paths. Second, the criteria of determining the appropriate number of links to be employed to optimize the TCP multipath performance is discussed.

The remainder of this paper is organized as follows. Some related work is introduced in Section 2. Section 3 details the issue of link quality asymmetry based on the results of field investigation. In Section 4, the performance analysis model for TCP over heterogeneous paths is derived. The accuracy of the proposed model is validated in Section 5. In Section 6 we investigate the effect of path heterogeneity based on the proposed model. Section 7 provides some discussion and design guidance. Section 8 concludes the paper.

## 2. Related Work

To meet the requirement for high data rate and reliability, some contributions were proposed to try to achieve stable and high-quality communication based on multipath transmission. Stream Control Transmission Protocol (SCTP) [13,14] and its extensions [15,16] try to aggregate the bandwidth of multiple paths. MPTCP, a multipath extension to TCP, has also been standardized to transmit data over multiple paths simultaneously to improve reliability and throughput. IETF Multiple Interfaces (MIF) working group is developing the standards [17] for nodes with multiple interfaces. Recently, the cellular-based multipath solutions are generating more interest with the rapid development of 5G heterogeneous networks. For example, femocells-based schemes [18,19] were proposed to support seamless mobility and maximize the network recourse utilization using multiple interfaces. Device to Device (D2D) communication using multiple access technologies were deployed to support massive connectivity [20,21].

However, apart from the practical deployment challenges, such as the existence of various types of middle boxes [6], the main difficulty is that the performance of multipath solutions may decrease significantly under the circumstances of path heterogeneity, especially when there are some bottleneck paths [7,22,23,24].

Packet reordering is considered the dominant challenge for multipath transmission because it leads to an undesirable reduction in throughput [1]. RFC5236 [25] introduces a metric named reorder density to show how far packets are displaced from their original position. Therefore, an efficient multipath solution must reduce the impact of packet reordering to alleviate its effects. Multipath forwarding is the main reason of packet out-of-order [26]. Different technologies and different paths can lead to significant differences in delay and bandwidth. When packets are forwarded over paths with different characteristics, they are likely to arrive at the receiver out of order.

Some state-of-the-art research [27,28] has measured the characteristics of heterogeneous paths in terms of delays. However, their main purpose is to analyze the performance of different scheduling algorithms in heterogeneous networks, rather than theoretically analyze the relationship between path diversity and TCP performance.

The research of TCP performance analysis, especially in terms of throughput, is still making progress, as TCP is one of most widely deployed transport protocols in today’s Internet. The research can be categorized into two kinds: one aims at improving the accuracy of prior model by novel methods [29,30,31], the other focuses on the performance of TCP applied in emerging scenarios [32,33]. However, the proposed models in these papers only analyze the situation where single path is used for transmitting TCP segments.

Overall, to the best of our knowledge, no one has given a performance analysis model to analyze TCP performance over multiple paths with different link quality in heterogeneous networks, although there are many schemes [34] working at different protocol layers that are proposed to try to improve the performance over multiple paths. We believe that this model can help us design more practical multipath schemes in the future wireless networks.

## 3. Problem Description and Network Model

Network heterogeneity will become a concrete issue in 5G with the popularity of multi-access devices and deployment of emerging heterogeneous RATs. Multi-access devices that can connect to more than one wireless networks are gaining bigger market share, such as smart phones supporting dual-SIM dual stand-by mode. These devices can concurrently use up to three interfaces, including Wi-Fi, for data transmission. For such a device, the connected multiple wireless networks may share heterogeneous access technologies (e.g., WLAN vs. cellular network), heterogeneous standards or heterogeneous service providers [35]. Even if two interfaces are connected to an identical wireless network, the wireless signals are likely to experience heterogeneous pass loss due to small scale fading. Considering that in 5G more heterogeneous RATs will be deployed and utilized by multi-access devices, the network heterogeneity issue will become more severe than in previous four generations.

Network heterogeneity of multi-access devices is intuitively revealed by the difference in network link quality. For two heterogeneous wireless networks, their network link quality is normally different from each other, to which we refer as network link quality asymmetry. Generally, Data Rate (DR) and RTT are used to describe the network link quality. DR reveals the capacity of a network link, while RTT directly reflects the transmission delay. Accordingly, the network link quality asymmetry can be indicated by DR asymmetry and RTT asymmetry.

Intuitively, the performance of TCP transmission would be prone to network link quality asymmetry, if multiple heterogeneous wireless networks are concurrently employed for delivering segments. Consequently, the performance of TCP-based CMT in 5G will also be degraded by link quality asymmetry. This is because the transmitted segments would suffer different transmission delays due to the dissimilar network link quality of employed wireless networks. This results in segments reaching the receiver out-of-order. This segment reordering issue is widely regarded as the major challenge that undermines the performance of concurrent multipath transmission, as it causes unnecessary retransmission, prevents the congestion window from growing and disrupt ACK-clocking. The higher network link quality asymmetry becomes, the more negative impact it has on TCP performance. The analytical discussion of the relationship between the performance of TCP over multiple wireless networks and the link quality asymmetry will be detailed in Section 4.

To investigate the extent of network link quality asymmetry in a real-world situation, we have taken a filed measurement on a group of heterogeneous wireless networks, and found that their link quality deviated significantly from each other. The measurement was carried out in a test train running on a newly constructed high-speed railway before its service, where few passengers were on board. Thus the interference from other wireless devices can be eliminated. Inside the test train, a dedicated box PC with our proprietary measuring program was deployed to automatically measure and store the download DR and RTT of a certain wireless network. Incorporating different kinds of wireless modems, this device can simultaneously access multiple heterogeneous mobile networks. In the measurement, up to eight modems were adopted, including three FDD-LTE (Frequency Division Duplexing-Long Term Evolution) modems of China Telecom (CT), three FDD-LTE modems of China Unicom (CU) and two TD-LTE (Time Division-Long Term Evolution) modems of China Mobile (CM). After the measurement, a group of RTT dataset and two download DR values (average and maximum) were collected on each modem. We need to clarify that the modem is a factor that can influence the link quality of wireless networks. Different modems connecting to the same wireless network may also cause link quality asymmetry. To minimize this influence, we used identical modems to access wireless networks with same communication standards.

The statistics from the measurement result is shown in Figure 1. Regarding RTT, a boxplot diagram is depicted based on collected dataset of each modem. The blue rectangle in a boxplot diagram represents the interquartile ranges (IQR) of the variation, while the band inside the rectangle represents the median. The red crosses depict the outliers. By visually comparing the two boxplot diagrams, statistical inference can be made about the difference of two dataset. If the median of one dataset does not overlap the IQR of the other dataset, it can be inferred that difference exists between two datasets. Further, if two IQRs don’t overlap, the difference is significant. Applying this criterion to Figure 1, we can infer that the RTT of CT1, CU3, CM1 and CM2 are significantly higher than those of CT2, CU1, CU2. Meanwhile, the RTT of CT1, CU3, CM1 and CM2 are different from the others. These conclusions can reveal the dispersion of RTT among eight modems.

Regarding download DR, the average and maximum values are shown using bar graphs. For maximum download DR, the ratio between the highest (CT1) and the lowest (CU3) is 8.2. As for average download DR, this ratio is even more pronounced, reaching 15.1. This means that notable deviation exists in download DR among eight modems.

To sum up, the field measurement results allow to conclude that the network link quality asymmetry in a real-world situation is truly significant. Besides, it is revealed that the link quality asymmetry not only exists between two heterogeneous networks, but also between two modems using access technology operated by same telecommunication company. According to the above conclusions, we can infer that the network heterogeneity in future 5G will be more severe and become a concrete threat, since the wireless networks in 5G will become more diverse than nowadays with the deployment of emerging RATs.

As we have demonstrated, the network heterogeneity will affect the performance of TCP-based CMT solutions for 5G mobile services. Thus, it is very essential to create a quantitative performance analysis model regarding the relationship between the link quality asymmetry and TCP multipath performance. To build such a performance analysis model, we first present the network model of TCP flow transferred over multiple heterogeneous links, as shown in Figure 2. In this network model, the segments of single TCP connection are concurrently distributed over multiple paths between two endpoints. We use $L=\left\{{l}_{1},{l}_{2},\dots ,{l}_{n}\right\}$ to denote the set of all available heterogeneous links, the number of elements in $L$ is $n$. Let $D=\left\{{d}_{1},{d}_{2},\dots ,{d}_{n}\right\}$ denote the set of round-trip propagation delay, and $B=\left\{{b}_{1},{b}_{2},\dots ,{b}_{n}\right\}$ denote the set of bandwidth. The number of elements in $D$ and $B$ are both $n$. The bandwidth and round-trip propagation delay of link $l$ is ${b}_{l}$ and ${d}_{l}$ To simplify the analysis, we assume that the propagation delay from the receiver to sender is zero. Round Robin (RR) is used to dispatch packets in the given network mode, which let multiple paths take turns in transferring data packets in a periodically repeated order. We choose NewReno [36] as the congestion control algorithm since it is still the widely deployed variant of TCP.

## 4. Performance Analysis Model

In this section, the performance analysis model of TCP over multiple heterogeneous paths is built by analyzing the average throughput. We divide the TCP flow into consecutive transmission round. The duration time as well as the number of segments transmitted at each round are first analyzed. Then, the average throughput is derived using an iteration model. At last, the effect of link quality asymmetry on average throughput is discussed. Table 1 summarizes important parameters used in this paper.

#### 4.1. Analysis of i-th Transmission Round

First, we focus on the transmission of segments at sender side. Let $i$ denote the number of transmission round from the beginning of the transmission. At $i$-th round, sender transmits a certain number of unsent segments and waits for the acknowledgements. Since in most TCP implementations (such as NS3) only non-duplicate ACK triggers the transmission of previously unsent data, we can conclude that the $i$-th round begins with the arrival of $\left(i-1\right)$-th non-duplicate ACK.

Let ${C}_{i}$ denote the total number of segments transmitted at $i$-th round. ${C}_{i}$ equals the free space in the congestion window, which is composed of two parts: the increment in size of congestion window and the decrement in number of outstanding segments. We define ${w}_{i}$ as the size of the congestion window of $i$-th round, and ${\delta}_{w}^{i}={w}_{i}-{w}_{i-1}$ as the increment of the congestion window. Let ${A}_{i}$ denote the number of segments newly acknowledged by $i$-th non-duplicate ACK, then ${C}_{i}$ can be expressed as:

$${C}_{i}=({A}_{i}+{\delta}_{w}^{i}).$$

The $j$-th segment of ${C}_{i}$ is defined as ${\mathrm{SGM}}_{\mathrm{i},\mathrm{j}}$. Let ${\eta}_{i,j}$ denote the number of the link used to send the ${\mathrm{SGM}}_{\mathrm{i},\mathrm{j}}$, where ${l}_{{\eta}_{i,j}}\in L$ and ${\eta}_{i,j}\in \left\{1,2,\dots ,n\right\}$. Supposing segments are scheduled over $n$ links in a round-robin manner, and the first one travels over link ${l}_{1}$. Hence ${\eta}_{i,j}$ can expressed as:

$${\eta}_{i,j}=\left[\left(j-1+{\displaystyle \sum}_{k=1}^{i-1}{C}_{k}\right)modn\right]+1.$$

The round-trip propagation delay as well as the bandwidth of link ${l}_{{\eta}_{i,j}}$ are ${d}_{{\eta}_{i,j}}$ and ${b}_{{\eta}_{i,j}}$ respectively. Let ${D}_{i,j}$ be the time elapsed between the beginning of $i$-th round and when ${\mathrm{SGM}}_{\mathrm{i},\mathrm{j}}$ reaches the receiver, which is the sum of queuing delay and propagation delay experienced by ${\mathrm{SGM}}_{\mathrm{i},\mathrm{j}}$. Thus,

$${D}_{i,j}=\frac{\left(\lfloor \frac{j}{n}\rfloor +1\right)s}{{b}_{{\eta}_{i,j}}}+{d}_{{\eta}_{i,j}}.$$

In Equation (3), $\lfloor \frac{j}{n}\rfloor $ is the quotient of j and n, while $S$ is the average size of segments. The queuing delay is represented by $\left[\left(\lfloor \frac{j}{n}\rfloor +1\right)s\right]/{b}_{{\eta}_{i,j}}$, while ${d}_{{\eta}_{i,j}}$ represents the propagation delay.

Then we discuss the arrival of segments and the response of ACKs at receiver side. We define ${T}_{i}$ as the latency between the beginning of $i$-th round and the time when sender receives the first non-duplicate ACK that starts the $\left(i+1\right)$-th round from the receiver. The number of segments the first non-duplicate acknowledges is exactly ${A}_{i+1}$. A non-duplicate ACK will be fired by the receiver only if: (1) an expected number of consecutive segments are received; (2) the first out-of-order segments arrives after some consecutive segments or (3) a segment that fills the gap in the receiver’s buffer arrives. The satisfaction of these criteria highly associates with the arrival order of the first segment transmitted at $i$-th round, which is ${\mathrm{SGM}}_{\mathrm{i},1}$. Hence, based on whether ${\mathrm{SGM}}_{\mathrm{i},1}$ is the first to reach the receiver, we respectively calculate ${T}_{i}$ and ${A}_{i+1}$.

#### 4.1.1. Case I: ${\mathrm{SGM}}_{\mathrm{i},1}$ is the First to Reach the Receiver

We define $P\left(F\right)$ as the probability that ${\mathrm{SGM}}_{\mathrm{i},1}$ arrives at the receiver first, which can be presented as:

$$P\left(F\right)=P\left({D}_{i,1}=\underset{j\in \left\{1,2,\dots ,{C}_{i}\right\}}{\mathrm{min}}\left\{{D}_{i,j}\right\}\right).$$

The segments are scheduled over the links in a round-robin manner, thus ${D}_{i,j}$ follows a uniform distribution after a large amount of transmission rounds. Hence $P\left(F\right)$ approximately equals $1/{C}_{i}$.

Most TCP implementations (such as NS3) utilize a counter to delay replying cumulative ACK. Let ${m}_{ACK}$ denote this counter, after receiving ${m}_{ACK}$ consecutive segments the receiver will reply an ACK. In this case, since the receiver receives ${\mathrm{SGM}}_{\mathrm{i},1}$ first, it will wait for the following ${m}_{ACK}-1$ segments before replying an ACK until the arrival of first out-of-order segment, as shown in Figure 3. Let $m$ be the number of consecutive segments received before the arrival of first out of order segments. In other words, ${\mathrm{SGM}}_{\mathrm{i},2}$ to ${\mathrm{SGM}}_{\mathrm{i},\mathrm{m}}$ arrive consecutive and ${\mathrm{SGM}}_{\mathrm{i},\mathrm{m}+1}$ is out-of-order. Thus, the receiver will reply the first non-duplicate ACK acknowledging $m$ segments approximately after the arrival of ${\mathrm{SGM}}_{\mathrm{i},\mathrm{m}}$.

If $m$ is smaller than ${m}_{ACK}$, we have ${T}_{i}\cong {D}_{i,m}$ and ${A}_{i+1}=m,$ where ${D}_{i,m}$ is the time between the beginning of $i$-th round and arrival of ${\mathrm{SGM}}_{\mathrm{i},\mathrm{m}}$. The probability $P(m<{m}_{ACK}|F)$ can be calculated as:

$$P(m<{m}_{ACK}|F)={\displaystyle \sum}_{k=1}^{{m}_{ACK}-1}\frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{\left({C}_{i}-1\right)!}.$$

If $m$ is equal to or larger than ${m}_{ACK}$, ${T}_{i}\cong {D}_{i,{m}_{ACK}}$ and ${A}_{i+1}={m}_{ACK}$. The corresponding probability $P(m\ge {m}_{ACK}|F)$ can be calculated as:

$$P(m\ge {m}_{ACK}|F)=\frac{1}{\left({C}_{i}-1\right)!}+{\displaystyle \sum}_{k={m}_{ACK}}^{{C}_{i}-2}\frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{\left({C}_{i}-1\right)!}.$$

Let ${E}^{\prime}\left({T}_{i}\right)$ and ${E}^{\prime}\left({A}_{i+1}\right)$ denote the expected value of ${T}_{i}$ and ${A}_{i+1}$ under the condition that ${\mathrm{SGM}}_{\mathrm{i},1}$ is the first to reach the receiver. Based on the probabilities calculated in Equations (5) and (6), and the corresponding ${T}_{i}$ and ${A}_{i+1}$, ${E}^{\prime}\left({T}_{i}\right)$ and ${E}^{\prime}\left({A}_{i+1}\right)$ can be derived as:

$$\begin{array}{ccc}\hfill {E}^{\prime}\left({T}_{i}\right)={\displaystyle \sum}_{k=1}^{{m}_{ACK}-1}& {D}_{i,k}\frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{\left({C}_{i}-1\right)!}\hfill & \\ & +{D}_{i,{m}_{ACK}}{\displaystyle \sum}_{k={m}_{ACK}}^{{C}_{i}-2}& \frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{\left({C}_{i}-1\right)!}+\frac{{D}_{i,{m}_{ACK}}}{\left({C}_{i}-1\right)!},\end{array}$$

$$\begin{array}{ccc}\hfill {E}^{\prime}\left({A}_{i+1}\right)={\displaystyle \sum}_{k=1}^{{m}_{ACK}-1}& k\frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{\left({C}_{i}-1\right)!}\hfill & \\ & +{m}_{ACK}{\displaystyle \sum}_{k={m}_{ACK}}^{{C}_{i}-2}& \frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{\left({C}_{i}-1\right)!}+\frac{{m}_{ACK}}{\left({C}_{i}-1\right)!}.\end{array}$$

#### 4.1.2. Case II: ${\mathrm{SGM}}_{\mathrm{i},1}$ is not the First to Reach the Receiver

$P\left(\overline{F}\right)$ is defined as the probability of the ${\mathrm{SGM}}_{\mathrm{i},1}$, where it is not the first to reach the receiver, which approximately equals $\left(1-1/{C}_{i}\right)$. In this case, the receiver will not reply any non-duplicate ACK before the arrival of ${\mathrm{SGM}}_{\mathrm{i},1}$. Moreover, since the segments transmitted subsequent to ${\mathrm{SGM}}_{\mathrm{i},1}$ arrives at the receiver earlier than it, there must be gaps in the receiver’s buffer before the arrival of ${\mathrm{SGM}}_{\mathrm{i},1}$. As shown in Figure 4, the receiver will immediately reply a non-duplicate ACK after receiving ${\mathrm{SGM}}_{\mathrm{i},1}$, since the ${\mathrm{SGM}}_{\mathrm{i},1}$ will fill part of the existing gap. Hence, ${T}_{i}\text{}$ equals ${D}_{i,1}$.

Let $\left(q-1\right)$ denote the number of received consecutive segments counting from ${\mathrm{SGM}}_{\mathrm{i},2}$ before the arrival of ${\mathrm{SGM}}_{\mathrm{i},1}$. Hence, the number of segments the non-duplicate ACK can acknowledge equals $q$, consequently we have ${A}_{i+1}=q$. The probability of $P(q=k|\overline{F})$ is derived as follows:

$$P(q=k|\overline{F})=\{\begin{array}{cc}\frac{\left({C}_{i}-2\right)\left({C}_{i}-1\right)!}{2{C}_{i}!-2\left({C}_{i}-1\right)!},\hfill & \hfill k=1\\ \frac{({C}_{i}-1)!}{{C}_{i}!-({C}_{i}-1)!},\hfill & \hfill k={C}_{i}\\ \frac{\left({C}_{i}-k-1\right)\left[{{\displaystyle \sum}}_{l=k+1}^{{C}_{i}}\frac{\left(l-2\right)!}{\left(l-k-1\right)!}\left({C}_{i}-l+1\right)\right]}{{C}_{i}!-\left({C}_{i}-1\right)!},\hfill & \hfill 1k{C}_{i}.\end{array}$$

Let ${E}^{\u2033}\left({T}_{i}\right)$ and ${E}^{\u2033}\left({A}_{i+1}\right)$ denote the expected value of ${T}_{i}$ and ${A}_{i+1}$ under the condition that ${\mathrm{SGM}}_{\mathrm{i},1}$ is not the first to reach the receiver, which can be derived as:

$${E}^{\u2033}\left({T}_{i}\right)={D}_{i,1},$$

$${E}^{\u2033}\left({A}_{i+1}\right)=\frac{\left(3{C}_{i}-2\right)\left({C}_{i}-1\right)!}{2{C}_{i}!-2\left({C}_{i}-1\right)!}+{\displaystyle \sum}_{k=2}^{{C}_{i}-1}k\frac{\left({C}_{i}-k-1\right)\left[{{\displaystyle \sum}}_{l=k+1}^{{C}_{i}}\frac{\left(l-2\right)!}{\left(l-k-1\right)!}\left({C}_{i}-l+1\right)\right]}{{C}_{i}!-\left({C}_{i}-1\right)!}.$$

Based on case I and case II, we can derive the expected value of ${T}_{i}$ and ${A}_{i+1}$ as $E\left({T}_{i}\right)={E}^{\prime}\left({T}_{i}\right)\text{}P\left(F\right)+{E}^{\u2033}\left({T}_{i}\right)P\left(\overline{F}\right)$ and $E\left({A}_{i+1}\right)={E}^{\prime}\left({A}_{i+1}\right)\text{}P\left(F\right)+{E}^{\u2033}\left({A}_{i+1}\right)P\left(\overline{F}\right)$. Given that $P\left(F\right)=1/{C}_{i}$ and $P\left(\overline{F}\right)=\left(1-1/{C}_{i}\right)$, $E\left({T}_{i}\right)$ and $E\left({A}_{i+1}\right)$ can be calculated as follows:

$$E\left({T}_{i}\right)={E}^{\u2033}\left({T}_{i}\right)+\frac{1}{{C}_{i}}\left({E}^{\prime}\left({T}_{i}\right)-{E}^{\u2033}\left({T}_{i}\right)\right),$$

$$E\left({A}_{i+1}\right)={E}^{\u2033}\left({A}_{i+1}\right)+\frac{1}{{C}_{i}}\left({E}^{\prime}\left({A}_{i+1}\right)-{E}^{\u2033}\left({A}_{i+1}\right)\right).$$

From Equations (8) and (11) we can find that the expected value of ${A}_{i+1}$ depends on ${C}_{i}$, which means ${A}_{i+1}$ is a function of ${C}_{i}$. For simplicity, we define ${A}_{i+1}=F\left({C}_{i}\right)$. Since ${C}_{i+1}$ equals the sum of ${A}_{i+1}$ and ${\delta}_{w}^{i+1}$, the increment of the congestion window needs to be discussed.

In the slow start phase, the congestion window is incremented by one segment for each ACK, thus ${\delta}_{w}^{i}$ equals 1. Let ${W}_{s}$ denote the slow start threshold of congestion window, and ${W}_{I}$ the initial size of congestion window. Let ${I}_{s}$ be the number of rounds that the slow start phase ends. Since the congestion window is increased by one every round, thus:

$${I}_{s}={W}_{s}-{W}_{I}.$$

In the congestion avoidance phase, the congestion is increased by $1/w$ on every incoming ACK that acknowledges new data. Thus, we have ${\delta}_{w}^{i}=1/{w}_{i-1}$. The congestion window at $\left(i+1\right)$-th round can be expressed as:

$${w}_{i+1}=\{\begin{array}{c}{w}_{i}+1,i{I}_{s}\\ {w}_{i}+\frac{1}{{w}_{i}},i\ge {I}_{s}\end{array}.$$

Based on the above analysis, the relationship between ${C}_{i+1}$ and ${C}_{i}$ can be derived as Equation (15), where function $F\left(\ufffd\right)$ is defined in Equation (13):

$${C}_{i+1}=\{\begin{array}{c}F\left({C}_{i}\right)+1,i{I}_{s}\\ F\left({C}_{i}\right)+\frac{1}{{w}_{i}},i\ge {I}_{s}\end{array}.$$

#### 4.2. Iteration for Average Throughput

According to Equation (16), the number of segments transmitted at next round can be derived based on that at the current round. Thus, the total segments transmitted from the beginning to current round of transmission can be calculated by iteration from the first round. The total time spent on transmitting can also be obtained by summing up the duration time of each transmission round. Consequently, the average throughput can be derived.

Therefore, we formulate the performing process of the model iteration as follows:

**Step****1**- Supposing $E$ bytes of data are expected to be received by the receiver. At the first round of transmission, ${C}_{1}$ segments are sent within $E({T}_{1})$ seconds, where ${C}_{1}$ equals the initial size of the congestion window, which is ${W}_{I}$. $E({T}_{1})$ can be calculated according to (12).
**Step****2**- At $i$-th round ($i\ge 2$), substituting ${w}_{i-1}$ into (15), we can get ${w}_{i}$.
**Step****3**- At $i$-th round ($i\ge 2$), substituting ${C}_{i-1}$ and ${w}_{i-1}$ into (16), we can get ${C}_{i}$. Further, according to (12), $E\left({T}_{i}\right)$ is computed.
**Step****4**- Compute total transmitted bytes from beginning to $i$-th round, which is:$$\mathrm{Total}\text{}\mathrm{Transmitted}\text{}\mathrm{Bytes}=s{\displaystyle \sum}_{k=1}^{i}{C}_{k}.$$
**Step****5**- Let $\widehat{T}$ denote total transmission time from beginning to $i$-th round, which can be computed as:$$\widehat{T}={\displaystyle \sum}_{k=1}^{i}E\left({T}_{k}\right).$$
**Step****6**- If total transmitted bytes is smaller than $E$, which is the number of bytes expected by the receiver, repeat Steps 2–5. Otherwise, the iteration stops, and the average throughput can be calculated as:$$\mathrm{Average}\text{}\mathrm{Throughput}=\frac{E}{\widehat{T}}.$$

#### 4.3. Discussion of Link Quality Asymmetry

Here we discuss how link quality asymmetry affects the throughput of TCP transferred over multiple heterogeneous links. According to the proposed model, when transmitting a certain number of bytes, the average throughput is inversely proportional to the total transmission time $\widehat{T}$. Since $\widehat{T}$ is the sum of $E\left({T}_{i}\right)$ defined in Equation (12), the average throughput decreases with increasing $E\left({T}_{i}\right)$. Substituting ${E}^{\prime}\left({T}_{i}\right)$ defined in (7) and ${E}^{\u2033}\left({T}_{i}\right)$ defined in (10) into (12), $E\left({T}_{i}\right)$ can be evaluated as:

$$\begin{array}{c}E\left({T}_{i}\right)={\displaystyle \sum}_{k={m}_{ACK}}^{{C}_{i}-2}({D}_{i,{m}_{ACK}}-{D}_{i,1})\frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{{C}_{i}!}+\frac{({D}_{i,{m}_{ACK}}-{D}_{i,1})}{{C}_{i}!}+{D}_{i,1}\\ +{\displaystyle \sum}_{k=1}^{{m}_{ACK}-1}({D}_{i,k}-{D}_{i,1})\frac{\left({C}_{i}-k-1\right)\left({C}_{i}-k-1\right)!}{{C}_{i}!}.\end{array}$$

Apart from parameter ${D}_{i,1}$, $E\left({T}_{i}\right)$ is primarily associated with $({D}_{i,k}-{D}_{i,1})$, where $k\in \left[1,{m}_{ACK}\right]$. $({D}_{i,k}-{D}_{i,1})$ represents the time difference between the arrival of the first transmitted segment ${\mathrm{SGM}}_{\mathrm{i},1}$ and the $k$-th transmitted segment ${\mathrm{SGM}}_{\mathrm{i},\mathrm{k}}$ at the receiver side. Longer time difference increments the overall $E\left({T}_{i}\right)$. Substituting (3), $({D}_{i,k}-{D}_{i,1})$ can be evaluated as:

$${D}_{i,k}-{D}_{i,1}=\left({d}_{{\eta}_{i,k}}-{d}_{{\eta}_{i,1}}\right)+\frac{\left({b}_{{\eta}_{i,1}}-{b}_{{\eta}_{i,k}}\right)s}{{b}_{{\eta}_{i,k}}{b}_{{\eta}_{i,1}}}+\frac{\lfloor \frac{k}{n}\rfloor s}{{b}_{{\eta}_{i,k}}}.$$

As demonstrated in Equation (18), $({D}_{i,k}-{D}_{i,1})$ is mainly dominated by two elements, $\left({d}_{{\eta}_{i,k}}-{d}_{{\eta}_{i,1}}\right)$ and $\left({b}_{{\eta}_{i,1}}-{b}_{{\eta}_{i,k}}\right)$. $\left({d}_{{\eta}_{i,k}}-{d}_{{\eta}_{i,1}}\right)$ and $\left({b}_{{\eta}_{i,1}}-{b}_{{\eta}_{i,k}}\right)$ are respectively the delay difference and bandwidth difference between two links that transmit ${\mathrm{SGM}}_{\mathrm{i},1}$ and ${\mathrm{SGM}}_{\mathrm{i},1}$, i.e., ${l}_{{\eta}_{i,1}}$ and ${l}_{{\eta}_{i,k}}$. Increasing $\left({d}_{{\eta}_{i,k}}-{d}_{{\eta}_{i,1}}\right)$ and $\left({b}_{{\eta}_{i,1}}-{b}_{{\eta}_{i,k}}\right)$ leads to greater $({D}_{i,k}-{D}_{i,1})$, and consequently causes larger $E\left({T}_{i}\right)$, which eventually results in a decrease in average throughput.

As mentioned earlier, when scheduled in round-robin manner, the possibility of selecting one of $n$ available links to transmit a certain segment follows a uniform distribution after a large amount of transmission rounds. Thus, ${l}_{{\eta}_{i,1}}$ and ${l}_{{\eta}_{i,k}}$ can represent any two links of set $\left\{{l}_{1},{l}_{2},\dots ,{l}_{n}\right\}$. Note that ${l}_{{\eta}_{i,1}}$ is not the first link of $n$ available links, but the link used to transmit ${\mathrm{SGM}}_{\mathrm{i},1}$. Equally, $\left({d}_{{\eta}_{i,k}}-{d}_{{\eta}_{i,1}}\right)$ and $\left({b}_{{\eta}_{i,1}}-{b}_{{\eta}_{i,k}}\right)$ can be the delay difference and bandwidth difference between any two links. From this point of view, $\left({d}_{{\eta}_{i,k}}-{d}_{{\eta}_{i,1}}\right)$ and $\left({b}_{{\eta}_{i,1}}-{b}_{{\eta}_{i,k}}\right)$ reflect the extent of deviation in link quality of all links. We refer to such delay difference and bandwidth difference between any two links as delay asymmetry and bandwidth asymmetry. Therefore, it can be concluded that the average throughput is subject to delay asymmetry and bandwidth asymmetry. The more significant these two parameters become, the lower average throughput will be.

To quantify delay asymmetry, we introduce Average Delay Asymmetry, which is defined as the average absolute delay difference between any two links of $n$ available links. Average Delay Asymmetry can be calculated as:

$$\mathrm{Average}\text{}\mathrm{Delay}\text{}\mathrm{Asymmetry}=\frac{2{{\displaystyle \sum}}_{q=2}^{n}{{\displaystyle \sum}}_{r=1}^{q-1}\left|{d}_{r}-{d}_{q}\right|}{n\left(n-1\right)},{d}_{q},{d}_{r}\in D.$$

Similarly, Average Bandwidth Asymmetry can be defined as:

$$\mathrm{Average}\text{}\mathrm{Bandwidth}\text{}\mathrm{Asymmetry}=\frac{2{{\displaystyle \sum}}_{q=2}^{n}{{\displaystyle \sum}}_{r=1}^{q-1}\left|{b}_{r}-{b}_{q}\right|}{n\left(n-1\right)},{b}_{q},{b}_{r}\in B.$$

Average Delay Asymmetry and Average Bandwidth Asymmetry can both affect the performance of TCP transferred over multiple heterogeneous links. Comparison of extent of these two parameters on TCP performance will be presented in Section 6.

## 5. Model Evaluation

The proposed model in Section 4 is first carefully evaluated through a large scale simulation study. The parameters in both model prediction and simulation are taken from the datasets collected in the measurement discussed in Section 3. The simulation of TCP over multiple heterogeneous links is implemented in Network Simulator 3 (NS3) [37]. To verify that our model can be used in practical environments, the comparison between the model and the field experiment results is further presented.

#### 5.1. Evaluation Using Simulation Study

#### 5.1.1. Simulation Implementation

Figure 5 depicts the simulation topology. Two endpoints are connected by multiple Point-to-Point Protocol (PPP) links. At each point, apart from two PPP network adapters, a virtual network device (VND) that works at the network layer was added. An IP address is assigned to VND. Between two endpoints, a TCP connection binding to the IP addresses of two VNDs is established. At both endpoints, TCP NewReno is used. When a TCP segment of the established connection is pushed down to the network layer, the corresponding IP packet will be forwarded to VND. VND then passes the IP packet to a dedicated packet-processing program attached to it. The IP packet will be encapsulated into a UDP datagram and then sent to the peer from one of the PPP network adapters. A Round-Robin scheduling algorithm is employed to decide which network adapter will be used to transmit the subsequent encapsulated packets. Thus, the segments of the single TCP connection established between two endpoints will be concurrently transmitted from all the available PPP network adapters.

To measure the throughput of simulated TCP over multiple heterogeneous links in NS3, a sending application is installed on endpoint A, and a receiving application is installed on endpoint B. A then sends $C$ bytes data to B, and B records the transfer finish time as $T$ seconds. Thus, the throughput can be calculated as $C/T$ bytes per second.

#### 5.1.2. Evaluation Methodology

Using the proposed model and the simulation respectively, two sets of throughputs of TCP over multiple heterogeneous links are obtained for comparison. For each case, the derivation of throughput is performed under different number of heterogeneous links employed for concurrent transmission. When utilizing a certain number of links, the bandwidth of a link remains constant but different from those of the other links. The value of delay of a link is fetched from an individual dataset associated with that link. For example, if $m$ links are employed for a concurrent transmission, and the delay dataset of each link contains $n$ values, then there will be ${n}^{m}$ combinations of delay values. The Average Delay Asymmetry of ${n}^{m}$ groups of delay will be calculated and sorted, from which 36 groups of delay will be evenly selected. For selected groups of delay values, the derivation of throughput is repeated using simulation and proposed model correspondingly.

#### 5.1.3. Parameter Settings

The parameters for model prediction or simulation are taken from the measurement results of field investigation towards the wireless network heterogeneity, as described in Section 3. Since eight modems were measured during the investigation, up to eight links can be employed for concurrent transmission in model prediction or simulation, namely link I to link VIII. For example, if our links are needed, Link I, II, III and IV will be utilized. Link I, II and III represents FDD-LTE of China Telecom, Link IV, V and VI represents FDD-LTE of China Unicom, link VII and VIII represents TD-LTE of China Mobile. The bandwidth of link I to link VII are set as the maximum measured download data rates shown in Figure 1b, which are respectively 35.9 Mbps, 18.4 Mbps, 33.3 Mbps, 14.7 Mbps, 14.8 Mbps, 4.4 Mbps, 22.5 Mbps and 12.5 Mbps.

The field measurement results of RTT of a modem are directly adopted as the delay dataset of corresponding link in the simulation.

The other parameters used in proposed model are set according to Table 2.

#### 5.1.4. Evaluation Results

We introduce prediction accuracy to evaluate the proposed model’s consistency to simulation results. Supposing the predicted throughput using the proposed model is ${T}_{M}$, the derived throughput using simulation under same circumstance is ${T}_{S}$, then prediction accuracy is defined as:

$$\mathrm{Prediction}\text{}\mathrm{Accuracy}=1-\frac{\left|{T}_{S}-{T}_{M}\right|}{{T}_{S}}.$$

The evaluation results with number of links varying from 2 to 8 are depicted in Figure 6, where throughput is plotted against the cyan circles, which represent the simulation results, and the red crosses indicate the predicted values using the proposed model. It can be observed that there is a good match between the model prediction and the simulation results in all cases. With the number of links employed for concurrent transmission varying from 2 to 8, the prediction accuracies are 89.68%, 83.14%, 79.26%, 75.99%, 73.24%, 71.06% and 69.50%. The prediction accuracies slightly drop as the number of utilized links increases. This is due to that the error introduced by the randomness becomes larger in the proposed mode when the number of links available for transmission grows. In the model derivation, we assumed that the probability with which ${\mathrm{SGM}}_{\mathrm{i},1}$ arrives at the receiver first follows an uniform distribution after a large number of transmission round. This means ${\mathrm{SGM}}_{\mathrm{i},1}$ could be transferred through any link with the same probability. This assumption greatly simplifies the modeling effort, and holds true for the situation when the number of links is not very large. However, if the number of available links becomes large, the number of rounds needed to complete the transmission reduces. Thus the corresponding probability may not be uniformly distributed any more. Even so, the average prediction accuracy can reach 77.41%. Besides, it can be observed that the throughput decreases as the number of links increases when average delay asymmetry is large. This is because a large number of links multiplies the effect of delay asymmetry on throughput.

#### 5.2. Evaluation Using Field Experiment

To further prove the accuracy of the proposed model, we measured the throughput of multipath TCP in real-world heterogeneous mobile scenarios and compared the results to our model. Like the field investigation for link quality asymmetry described in Section 3, this field measurement for multipath TCP throughput was also conducted on a high-seed train. As shown in Figure 7, a client on the train tried to download a large file from the server through the wireless router that can access to 6 heterogeneous wireless networks. The hardware of wireless router was the same as the measurement device described in Section 3, while the forwarding scheme was designed using the same the methodology as in simulation implementation. The wireless router ran Linux 3.13.11.11 and adopted its default TCP congestion control algorithm. The throughput of client was recorded by a bandwidth monitoring software running on it. During the measurement for client throughput, the RTT and data rate of each wireless network were measured at wireless router using the same measuring programs described in Section 3. The collected dataset of RTT and data rate served as the input to our proposed model, which generated the corresponding throughput results.

The comparison between the results of the field measurement and the proposed model is shown in Figure 8. It can be observed that the derived throughput of the proposed agree well with the results of field measurement. Compared to the measured throughput, the accuracy of proposed model can reach 71.25%, which is similar to the result of simulation evaluation using 6 links in Section 5.1.4. Thus, we can conclude that the proposed model is also accurate for TCP over multiple heterogeneous links in practical environment.

## 6. Analysis Based on the Proposed Model

In this section, the effect of path heterogeneity on performance of TCP flow transferred over multiple heterogeneous paths is analyzed based the proposed model. Firstly, the influence of Average Delay Asymmetry as well as Average Bandwidth Asymmetry on the throughput is investigated. Then we discuss the policy of determining appropriate number of links to transmit the segments of TCP flow over multiple heterogeneous paths.

#### 6.1. The Influence of Delay and Bandwidth Asymmetry

In Section 4 we concluded that the performance of TCP over multiple heterogeneous links is subject to link quality asymmetry. But, to what extent do Average Delay Asymmetry and Average Bandwidth Asymmetry affect the performance? Which is the main factor that affects the TCP performance, Average Delay Asymmetry or Average Bandwidth Asymmetry? It is an interesting issue to study these subjects.

To answer these questions, we use the proposed performance analysis model to evaluate the TCP throughput as a function of both Average Delay Asymmetry and Average Bandwidth Asymmetry. The minimum delay and bandwidth are 5 ms and 100 kbps. The Average Delay Asymmetry and Average Bandwidth Asymmetry are set to vary from 0 ms to 35 ms and from 0 kbps to 700 kbps. In this case, the maximum of Average Delay Asymmetry and Average Bandwidth Asymmetry are both seven times of minimum delay and bandwidth. The number of links utilized for concurrently transmitting data varies from 1 to 4. The evaluation results are shown in Figure 9.

Figure 9 shows that the average throughput drops significantly to the axis of Average Delay Asymmetry but decreases at a much slower pace to the axis of Average Bandwidth Asymmetry. This phenomenon is particularly obvious when four links are used to concurrently transfer the TCP flow. In this case, under highest level of Average Delay Asymmetry, the average throughput decreases by 1.8 times as the Average Bandwidth Asymmetry varies from zero to maximum. In contrast, when Average Bandwidth Asymmetry remains at highest level, and the Average Delay Asymmetry varies from zero to maximum, the average throughput is reduced by 2.8 times.

Based on the above analysis, we can conduct that the Average Delay Asymmetry is the main factor that affects the throughput performance of TCP flow over multiple heterogeneous paths. Equations (20) and (21) can explain this phenomenon. From Equation (20) it is observed that the transmission time is subject to $({D}_{i,k}-{D}_{i,1})$, and $({D}_{i,k}-{D}_{i,1})$ is comprised of three factors. According to Equation (21), the average delay asymmetry contributes more to the value of $({D}_{i,k}-{D}_{i,1})$ than average bandwidth asymmetry. Thus, the throughput performance is more affected by average delay asymmetry. This inference can guide the design of multipath transmission mechanism in heterogeneous networks.

#### 6.2. Relationship between the Throughput Performance and the Number of Links

Knowing that Average Delay Asymmetry is the dominant factor that affects the TCP throughput transferred over multiple heterogeneous paths, we can now investigate the relationship between the TCP performance and the number of links employed for transmission under different level of Average Delay Asymmetry. Further, the optimal number of links should be used to achieve optimized performance is discussed.

Under four groups of minimum delay, we evaluate the throughput of TCP flows employing different number of links as a function of Average Delay Asymmetry. During the evaluation, up to 4 links are utilized and the bandwidth of each link is 100 kbps. Along with the Average Delay Asymmetry varying from 10 to 90 ms, the throughput is derived using the proposed model under the minimum delay of 5 ms, 20 ms, 35 ms and 50 ms respectively. The results of the evaluation are depicted in Figure 10.

According to Figure 10, we can find that the Average Delay Asymmetry of heterogeneous networks compromised the benefits of aggregating bandwidth by utilizing multiple links. Meanwhile, large minimum delay exacerbates the effect of Average Delay Asymmetry on throughput performance using multiple links. Under the minimum delay of 5 ms, when the Average Delay Asymmetry increases to 35.6 ms, the throughput of TCP concurrently transferred over four links decreases to that of TCP using only one link. When minimum delay increases from 5 to 50 ms, such threshold of Average Delay Asymmetry at which the throughput of four links equals to that of one link decreases from 35.6 to 30.6 ms. Also, it can be observed that the performance of TCP degrades as the number of links increases when the average delay asymmetry is at high level. This is because the effect of link quality asymmetry on throughput is magnified by large number of utilized links, especially when the extent of link quality asymmetry is severe. In this situation, the more links used for transmitting a TCP flow, the lower throughput will be. Based on the above evaluation results, we can roughly derive a criterion of determining the number of links to optimize the throughput performance. For example, when the minimum delay is more than 5 ms and the Average Delay Asymmetry is more than 20 ms, utilizing two links to transfer the TCP flow will achieve maximum throughput.

## 7. Discussion

The proposed model reveals how network heterogeneity can affect the performance of TCP over multiple heterogeneous paths for 5G mobile services. In a nutshell, link quality asymmetry of heterogeneous transmission paths could lead to packet reordering issue, which can deteriorate the throughput of TCP due to the inherent inefficiency of Additive Increase Multiplicative Decrease (AIMD) congestion control. The proposed model and some inferences discussed in Section 6 shows that the performance of TCP over multiple heterogeneous paths can be improved in two directions. One way is to directly reduce the occurrence of packet reordering. For example, one can design a novel scheduling algorithm that stripes packets over multiple paths as a function of link quality asymmetry. Another way is to improve the TCP itself to better tolerate packet reordering. The key is to prevent congestion control from reacting to packet reordering as if real congestion happens. Some similar efforts have been made to design congestion control mechanisms that can differentiate real congestion from other events, such as random loss. Among these efforts, TCP-Friendly Rate Control (TFRC) is a successful attempt [38]. It used a control equation to determine how fast the sender can transmit based on recent loss event rate. Another good source of inspiration is Opportunistic Hybrid Transport Protocol (OHTP), which proposed a congestion control mechanism for cognitive radio sensor networks that can differentiate interruption loss from real congestion [39].

## 8. Conclusions

In this paper, the severe extent of link quality asymmetry in real world situations is revealed based on field measurement, and then a performance analysis model for TCP over multiple heterogeneous paths for 5G services is derived regarding average throughput. Taking into the consideration of both bandwidth and delay asymmetry, we carefully investigated the transmission of TCP segments over multiple heterogeneous links and derived the corresponding performance analysis model. The proposed model is validated by comparison with the simulation experiment as well as the field experiment. The results prove that the proposed performance analysis model can achieve high analytical accuracy in practical environment. Further analysis based on the proposed model reveals some interesting inferences. First, compared to bandwidth asymmetry, delay asymmetry is the dominant factor that affects the performance of TCP over heterogeneous networks. Second, the criteria of determining appropriate number of links to be used to optimize the TCP multipath performance is discussed. The proposed model can provide a guidance to the design of CMT solutions for 5G mobile services.

## Author Contributions

Conceptualization, J.S., P.D., H.Z., T.Z., X.D. and M.G.; Methodology, J.S. and P.D.; Software, J.S.; Validation, J.S., P.D. and H.Z.; Formal Analysis, J.S., P.D.; Investigation, J.S., T.Z.; Resource, H.Z., X.D. and M.G.; Data Curation, J.S. and T.Z.; Writing-Original Draft Preparation, J.S. and P.D.; Writing-Review & Editing, H.Z., T.Z., X.D. and M.G.; Visualization, J.S.; Supervision, X.D.; Project Administration, P.D. and H.Z.; Funding Acquisition, P.D. and X.D.

## Acknowledgments

This work was supported by the Beijing Municipal Natural Science Foundation under Grant No. 4182048 and NSAF under Grant No. U1530118. An earlier version of this paper was presented at 2017 IEEE Global Communications Conference (GLOBECOM 2017).

## Conflicts of Interest

The authors declare no conflict of interest.

## References

- Iyengar, J.R.; Amer, P.D.; Stewart, R. Concurrent multipath transfer using SCTP multihoming over independent end-to-end paths. IEEE/ACM Trans. Netw.
**2006**, 14, 951–964. [Google Scholar] [CrossRef] - Yang, S.N.; Ho, S.W.; Lin, Y.B.; Gan, C.H. A multi-RAT bandwidth aggregation mechanism with software-defined networking. J. Netw. Comput. Appl.
**2016**, 61, 189–198. [Google Scholar] [CrossRef] - Kilinc, C.; Ericson, M.; Rugeland, P.; Da Silva, I.; Zaidi, A.; Aydin, O.; Venkatasubramanian, V.; Filippou, M.C.; Mezzavilla, M.; Kuruvatti, N.; et al. 5G Multi-RAT integration evaluations using a common PDCP layer. In Proceedings of the IEEE Vehicular Technology Conference (VTC Spring), Sydney, Australia, 4–7 June 2017; pp. 1–5. [Google Scholar]
- Ramaboli, A.L.; Falowo, O.E.; Chan, A.H. Bandwidth aggregation in heterogeneous wireless networks: A survey of current approaches and issues. J. Netw. Comput. Appl.
**2012**, 35, 1674–1690. [Google Scholar] [CrossRef] - IETF RFC 6824. TCP Extensions for Multipath Operation with Multiple Addresses. Available online: https://tools.ietf.org/html/rfc6824 (accessed on 25 April 2018).
- Raiciu, C.; Paasch, C.; Barre, S.; Ford, A.; Honda, M.; Duchene, F.; Handley, M. How hard can it be? designing and implementing a deployable multipath TCP. In Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, San Jose, CA, USA, 25–27 April 2012; p. 29. [Google Scholar]
- Zhou, D.; Song, W.; Shi, M. Goodput improvement for multipath TCP by congestion window adaptation in multi-radio devices. In Proceedings of the IEEE Consumer Communications and Networking Conference (CCNC), Las Vegas, NV, USA, 11–14 Januray 2013; pp. 508–514. [Google Scholar]
- Zhang, H.; Chen, S.; Li, X.; Ji, H.; Du, X. Interference Management for Heterogeneous Networks with Spectral Efficiency Improvement. IEEE Wirel. Commun.
**2015**, 22, 101–107. [Google Scholar] [CrossRef] - Przybylski, M.; Belter, B.; Binczewski, A. Shall we worry about packet reordering. Comput. Methods Sci. Technol.
**2005**, 11, 141–146. [Google Scholar] [CrossRef] - Bennett, J.; Partridge, C.; Shectman, N. Packet reordering is not pathological network behavior. IEEE/ACM Trans. Netw.
**1999**, 7, 789–798. [Google Scholar] [CrossRef] - Chebrolu, K.; Rao, R.R. Bandwidth aggregation for real-time applications in heterogeneous wireless networks. IEEE Trans. Mob. Comput.
**2006**, 5, 388–403. [Google Scholar] [CrossRef] - Kuhn, N.; Lochin, E.; Mifdaoui, A.; Sarwar, G.; Mehani, O.; Boreli, R. DAPS: Intelligent delay-aware packet scheduling for multipath transport. In Proceedings of the IEEE International Conference on Communications (ICC), Sydney, Australia, 10–14 June 2014; pp. 1222–1227. [Google Scholar]
- IETF RFC 4960. Stream Control Transmission Protocol. Available online: https://tools.ietf.org/html/rfc4906 (accessed on 25 April 2018).
- IETF RFC 3758. Stream Control Transmission Protocol (SCTP) Partial Reliability Extension. Available online: https://tools.ietf.org/html/rfc3758 (accessed on 25 April 2018).
- Huang, C.M.; Tsai, C.H. WiMP-SCTP: Multi-path transmission using stream control transmission protocol (SCTP) in wireless networks. In Proceedings of the Advanced Information Networking and Applications Workshops (AINAW), Niagara Falls, ON, Canada, 21–23 May 2007; pp. 209–214. [Google Scholar]
- Liao, J.; Wang, J.; Zhu, X. cmpSCTP: An extension of SCTP to support concurrent multi-path transfer. In Proceedings of the IEEE International Conference on Communications (ICC), Beijing, China, 19–23 May 2008; pp. 5762–5766. [Google Scholar]
- IETF RFC 7556. Multiple Provisioning Domain Architecture. Available online: https://tools.ietf.org/html/rfc7556 (accessed on 25 April 2018).
- Lee, C.; Chuang, M. Seamless handover for high-speed trains using femtocell-based multiple egress network Interfaces. IEEE Trans. Wirel. Commun.
**2014**, 13, 6619–6628. [Google Scholar] [CrossRef] - Huang, L.; Zhu, G.; Du, X. Cognitive Femtocell Networks: An Opportunistic Spectrum Access for Future Indoor Wireless Coverage. IEEE Wirel. Commun. Mag.
**2013**, 20, 44–51. [Google Scholar] [CrossRef] - Zhai, D.S.; Sheng, M.; Wang, X.J.; Sun, Z.S.; Xu, C.; Li, J.D. Energy-Saving Resource Management for D2D and Cellular Coexisting Networks Enhanced by Hybrid Multiple Access Technologies. IEEE Trans. Wirel. Commun.
**2017**, 16, 2678–2692. [Google Scholar] [CrossRef] - Kai, Y.; Zhu, H.L. Resource Allocation for Multiple-pair D2D Communications in Cellular Networks. In Proceedings of the IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 2955–2960. [Google Scholar]
- Zhao, J.; Xu, C.; Guan, J.; Zhang, H. A fluid model of multipath TCP algorithm: Fairness design with congestion balancing. In Proceedings of the IEEE International Conference on Communications (ICC), London, UK, 8–12 June 2015; pp. 6965–6970. [Google Scholar]
- Du, X.; Lin, F. Maintaining Differentiated Coverage in Heterogeneous Sensor Networks. EURASIP J. Wirel. Commun. Netw.
**2005**, 5, 565–572. [Google Scholar] [CrossRef] - Zhang, M.; Du, X.; Nygard, K. Improving Coverage Performance in Sensor Networks by Using Mobile Sensors. In Proceedings of the IEEE Military Communications Conference (MILCOM), Atlantic City, NJ, USA, 17–20 October 2005; pp. 1–6. [Google Scholar]
- IETF RFC 5236. Improved Packet Reordering Metric. Available online: https://tools.ietf.org/html/rfc5236 (accessed on 25 April 2018).
- Kaspar, D. Multipath aggregation of heterogeneous access networks. ACM SIGMultimedia Rec.
**2012**, 4, 27–28. [Google Scholar] [CrossRef] - 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, Chicago, IL, USA, 18 August 2014; pp. 27–32. [Google Scholar]
- Partov, B.; Leith, D.J. Experimental evaluation of multi-path schedulers for LTE/wifi devices. In Proceedings of ACM International Workshop on Wireless Network Testbeds, Experimental Evaluation, and Characterization (WiNTECH), New York City, NY, USA, 3–7 October 2016; pp. 41–48. [Google Scholar]
- Benet, C.H.; Kassler, A.; Zola, E. Predicting Expected TCP throughput using genetic algorithm. Comput. Netw.
**2016**, 108, 307–322. [Google Scholar] [CrossRef] - Parvez, N.; Mahanti, A.; Williamson, C. An Analytic Throughput Model for TCP NewReno. IEEE/ACM Trans. Netw.
**2010**, 18, 448–461. [Google Scholar] [CrossRef] - Romero-Angeles, R.I.; Garcia-Ruiz, R.; Lara-Rodriguez, D. An Algorithm for the Evaluation of the Throughput of a TCP NewReno Bulk Data Flow. IEEE Commun. Lett.
**2015**, 19, 941–944. [Google Scholar] [CrossRef] - Alrshah, M.A.; Othman, M.; Ali, B.; Hanapi, Z. Modeling the Throughput of the Linux-based Agile-SD Transmission Control Protocol. IEEE Access
**2017**, 4, 9724–9732. [Google Scholar] [CrossRef] - Panda, M.; Vu, H.L.; Mandjes, M.; Pokhrel, S.R. Performance Analysis of TCP NewReno over a Cellular Last-Mile: Buffer and Channel Loss. IEEE Trans. Mob. Comput.
**2015**, 14, 1629–1643. [Google Scholar] [CrossRef] - Li, M.; Lukyanenko, A.; Ou, Z. Multipath transmission for the internet: A survey. IEEE Commun. Surv. Tutor.
**2016**, 18, 2887–2925. [Google Scholar] [CrossRef] - Zhang, H.; Zhang, Q.; Du, X. Toward Vehicle-Assisted Cloud Computing for Smartphones. IEEE Trans. Veh. Technol.
**2015**, 64, 5610–5618. [Google Scholar] [CrossRef] - IETF RFC 6582. The NewReno Modification to TCP’s Fast Recovery Algorithm. Available online: https://tools.ietf.org/html/rfc6582 (accessed on 25 April 2018).
- The ns-3 Network Simulator. Available online: http://www.nsnam.org (accessed on 20 March 2018).
- Floyd, S.; Handley, M.; Padhye, J.; Widmer, J. Equation-based Congestion Control for Unicast Applications. In Proceedings of the Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication; ACM: New York, NY, USA, 2000; pp. 43–56. [Google Scholar]
- Zikria, Y.B.; Nosheen, S.; Ishmanov, F.; Kim, S.W. Opportunistic Hybrid Transport Protocol (OHTP) for Cognitive Radio Ad Hoc Sensor Networks. Sensors
**2015**, 15, 31672–31686. [Google Scholar] [CrossRef] [PubMed]

**Figure 1.**Results of field measurement regarding link quality asymmetry of heterogeneous wireless networks. CT1, CT2 and CT3 are Frequency Division Duplexing-Long Term Evolution (FDD-LTE) of China Telecom, CU1, CU2 and CU3 are FDD-LTE of China Unicom, CM1 and CM2 are Time Division-Long Term Evolution (TD-LTE) of China Mobile. (

**a**) depicts the boxplot of round-trip time (RTT) statistics; (

**b**) shows the maximum and average download data rate, both of which can reveal the significant difference in link quality of heterogeneous wireless networks.

**Figure 3.**Case I: SGM

_{i}

_{,1}is first to reach the receiver, and the consecutive received segments may be smaller (

**a**) or larger (

**b**) than m

_{ACK}.

**Figure 6.**Comparison between the proposed model and simulation experiment. The number of links employed for concurrent transmission varies from 2 to 8, and the corresponding comparison results are depicted in (

**a**–

**g**). The results prove that the proposed model can achieve high accuracy compared to the simulation experiments.

**Figure 9.**The throughput of TCP over multiple heterogeneous links on axes of both Average Bandwidth Asymmetry and Average Delay Asymmetry. The minimum delay is 5 ms and the minimum bandwidth is 100 kbps. (

**a**–

**d**) are the results using 1, 2, 3, and 4 links. Darker red squares represent higher throughput, lighter blue squares represent lower throughput. It is shown that the throughput is more prone to the effect of Average Delay Asymmetry.

**Figure 10.**The throughput of TCP over multiple heterogeneous links as function of Average Delay Asymmetry using 1, 2, 3, and 4 links. (

**a**–

**d**) are the results with the minimum delay of 5 ms, 20 ms, 35 ms and 50 ms. It is shown that Average Delay Asymmetry compromises the benefits of aggregating bandwidth by utilizing multiple links.

Parameter Description | |
---|---|

L | The set of available links |

n | The number of elements in L |

D | The set of round-trip propagation delay of available links |

B | The set of bandwidth of available link |

s | The size of a segment |

m_{ACK} | Receiver reply an ACK after receiving m_{ACK} consecutive segments |

SGM_{i}_{,j} | The j-th segment that sender transmits at i-th round |

w_{i} | The congestion window of i-th round |

${\delta}_{w}^{i}$ | The increment of congestion window at i-th round |

A_{i} | The number of segments acknowledged by i-th non-duplicate ACK |

C_{i} | The number of segments that can be transmitted at i-th round |

T_{i} | The time between the i-th round and (i + 1)-th round |

η_{i,j} | The number of the link used to transmit the j-th segment of C_{i} at i-th round |

D_{i,j} | The propagation delay and queuing delay of j-th segment of C_{i} at i-th round |

I_{s} | The number of rounds that the slow start phase ends |

W_{s} | The slow start threshold of congestion window |

W_{I} | The initial value of congestion window |

Parameter | Value | Parameter | Value |
---|---|---|---|

${\mathrm{W}}_{\mathrm{I}}$ | 536 bytes | ${\mathrm{W}}_{\mathrm{S}}$ | 65,535 bytes |

$\mathrm{S}$ | 536 bytes | ${\mathrm{m}}_{\mathrm{ACK}}$ | 2 segments |

© 2018 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 (http://creativecommons.org/licenses/by/4.0/).