1. Introduction
With the development of wireless network devices, it has become possible to collect a wide range of information and form flexible topologies through various small network devices. However, due to the wide range of activities or mobility, it is difficult for all equipment to be directly connected to the Internet’s backbone. In environments where it is difficult to connect directly to the Internet, many devices can connect to the Internet with a wireless ad hoc network. There are various techniques based on wireless multi-hop environments; for example, Unmanned aerial vehicle (UAV)-based network system [
1,
2,
3], multiple Internet of Things (IoT) devices [
4,
5], 5G network with small mesh networks for fast data transmission speed [
6], VANET technology for vehicles [
7,
8], and MANET technology [
9,
10]. However, various wireless multi-hop networks including UAV network (e.g., flying ad hoc network) often suffers from segment loss [
11]. UAVs have an unstable network because they are difficult to load high-performance device due to limited payload size and moves around frequently to carry out various tasks. As a result, UAV networks often suffer from segment losses due to unstable networks. In this situation, since the formation information and the control message necessary for UAV must be received, the transmission control protocol (TCP), which is a reliable communication protocol, is used to recover the segment loss [
12]. Based on this observation, this paper suggests an improvement technique of TCP to enhance the performance of the overall UAV network.
If the segment loss occurs, TCP considers the network to be congested and decreases the congestion window (CWND) to reduce the transmission speed. The reason for reducing the transmission speed is that segment losses are caused by heavy traffic exceeding link capacity in most of wired environment. However, in wireless multi-hop environments such as UAV networks, segment losses are caused by not only buffer overflow but also transient link instability. For example, if power drained UAV is dropped from the network, a routing change occurs. In this case, data transmission is disconnected until the transmission path is reconstructed. Also, the mobility of UAV in most wireless multi-hop networks causes connection loss, resulting in time delay to find an alternative path to handle packet delivery. The delay misleads the end nodes to understand the phenomenon as a buffer overflow due to heavy traffic and will make the sender reduce traffic. Indeed, we frequently experienced the aforementioned phenomena in UAV network performance experiments based on ad hoc networks. However, aforementioned transient link interference should not be a reason to reduce the transmission throughput of TCP link because a path that recovered from the transient problems may have or tends to have enough capacity to support existing transmission throughput. Therefore, it is necessary to adjust TCP, which is characterized by a decrease in throughput when segment loss occurs.
End-to-end controls including TCP cannot distinguish between whether segment loss occurs due to excessive traffic or transient link instability [
13]. TCP therefore should have an additional solution for congestion incurred by reasons other than buffer overflow. To propose the solution, this paper suggests Adaptive Ssthresh Reviser for flying Ad hoc Network (
ASRAN) that is designed to quickly recover the reduced throughput caused by transient link instability, which is suitable for UAV network. The contribution of
ASRAN is listed as follows:
The ASRAN modifies the TCP to be suitable for UAV network.
The ASRAN deals with the transient link instability, separated from heavy traffic, which is a factor of reduced transmission performance in a UAV network.
In transient link instability situation, ASRAN quickly recovers unnecessarily reduced throughput.
This paper is organized as follows.
Section 2 shows related work on enhancing performance and analyzing TCP in wireless network or ad hoc network. Details of
ASRAN are described in
Section 3 and
Section 4 proposes a mathematical model to predict the effect of
ASRAN. To prove the performance of
ASRAN, experimental setup and results are shown in
Section 5. At the end,
Section 6 concludes the paper and lists several future works to be done.
2. Related Work
This section lists several related work focusing on TCP performance enhancement in ad hoc network. There is some research about modifying TCP for ad hoc networks or wireless networks. Khurshid et al. [
14] suggested new congestion control algorithm for better performance in wireless networks. They argued that the major problem of random segment loss in the wireless networks is the bit error. Therefore, the arrival of duplicate acknowledgement or even the retransmission timeout is not enough to denote actual reason of congestion. They provided fast transmission solution by adjusting CWND size according to count of timeouts, 3 dup ACKs and timeout interval of the retransmission timer. However, this algorithm was only implemented for TCP-NewReno and was not considered about any other TCP protocols. Zhang et al. [
15] provided a solution named AFStart which acts like a slow-start algorithm for the network environment with long-distance and high end-to-end latency. They proposed a solution that finds available bandwidth to set the
ssthresh and adjust the congestion window. To estimate the available bandwidth, they used ImTCP [
16] which derives the available bandwidth based on round trip time (RTT). If there is enough bandwidth to be used, this algorithm ramps up CWND aggressively which is faster than traditional slow-start algorithm for fast transmission. Jude et al. [
17] said that TCP performs poorly under Vehicular Ad hoc Network (VANET) due to its high mobility and wireless errors such as transmission path change (fading) and interferences that lead to unpredicted packet drop. Therefore, they analyzed various TCP such as Vegas, Compound, Westwood, NewReno, BIC and CUBIC under vehicular environment for variable speed and traffic. They argued that TCP-CUBIC is the best algorithm in the aspect of throughput and TCP-Vegas has strong aspects of delay control. Although improvement of the algorithm was not included, they showed that various aspects of congestion avoidance should be considered in the wireless environment with mobility. Gururaj et al. [
18] suggested High speed TCP to improve the performance of TCP connections with large congestion windows for Ad hoc environment with no guaranteed bandwidth and node mobility. This algorithm was based on the relation between an average congestion window and packet drop rate. The characteristic of HSTCP algorithm is increasing and decreasing CWND abruptly to improve the retransmission time and to avoid congestion in dynamic conditions where node mobility is completely random. Using CWND increase and decrease factor seems flexible and suitable for an unstable ad hoc network. However, they implemented in experiment with assumed value of CWND increase factor and decrease factor with lack of explaining. Also, their evaluation study was performed with fixed CWND increase and decrease factors, which cannot satisfy the various network environments.
Also, there is some research about TCP-CUBIC for an ad hoc network. Tomita et al. [
19] presented an algorithm that solves a problem of significant packet losses due to small buffer size in Linux TCP. This problem especially occurs when small memory devices (such as digital cameras and digital camcorders) upload photos or movies via long distance network. The proposed solution analyzed the shape of the throughput curve of TCP-CUBIC in order to decide whether or not to increase the sender buffer. Bao et al. [
20] proposed a Markovian model to determine the steady state throughput of TCP-CUBIC in wireless environment. The proposed model considered both congestion loss and random packet loss due to fading. Also, they proposed a solution which increases the throughput performance of TCP-CUBIC by moderately increasing the window growth factor and the multiplicative decrease factor. However, they presented normalized throughput only, but they did not show the total throughput or comparison with original TCP-CUBIC. Evaluation of normalized throughput showed that throughput is improved by the reduced packet loss. However, reduced packet loss can be achieved with lowered throughput, but it cannot be easily recognized in evaluating normalized throughput. Therefore, this evaluation cannot suggest that throughput is improved. Pilimon et al. [
21] showed a simulation-based analysis of the robustness of high-speed TCP-CUBIC connections when random packet losses increase in a network with large bandwidth-delay product and different TCP connections. They showed strong point of TCP-CUBIC compared with other TCP algorithm under high packet loss environment.
3. ASRAN
This section describes the development motivation and design of the
ASRAN.
Section 3.1 describes motivation and
Section 3.2 describes the detailed design and effects of the
ASRAN. Then,
Section 3.3 describes how
ASRAN distinguishes transient link instability from buffer overflow.
3.1. Motivation
The UAV network is flexible and highly scalable. However, UAV network lacks network transmission stability. We experienced network instability while experimenting with UAV network. We constructed a flying ad hoc network based on multiple UAVs and experimented to transmit data. The throughput measurement data is set to be transmitted at 1000 kbps, and no additional traffic was generated in the UAV network. The cumulative distribution function (CDF) of the measured throughput in this environment is shown in
Figure 1. As shown in
Figure 1, the rate at which the network maintains the maximum transmission rate is less than 50% of total transmission time. In addition, the interval measured at 0 Kbps was 19% of the total transmission time because data transmission was impossible. In other words, transmission via UAV network has also been temporarily disconnected.
As shown in our previous experiments, transient link instability occurs frequently in UAV networks. In other words, in a UAV network environment, data loss can occur frequently without buffer overflow due to heavy traffic. To cope with UAV network environment, we tried to improve the throughput of UAV network by improving TCP. Since the original TCP assumes that data loss is caused by buffer overflow due to heavy traffic, TCP reduces throughput to reduce network traffic and avoid congestion. However, since the transient link instability that occurs in a UAV network is not caused by heavy traffic, it is unnecessary to reduce the throughput. Therefore, we propose an ASRAN that improves TCP to UAV network. ASRAN operates by distinguishing transient link instability from buffer overflow due to heavy traffic. With this distinction, ASRAN quickly recover throughput in case of transient link instability and acts as on original TCP to avoid congestion in case of heavy traffic.
3.2. Design for ASRAN
The main concept of ASRAN is adjusting TCP parameter of ssthresh to decide CWND increase rate according to the main reason of congestion. If the congestion is due to heavy traffic, CWND is reduced, and then it should increase slowly, like original TCP, not to incur frequent congestion later on. On the other hand, CWND should increase fast in order to fully use the wireless link which was momentarily unstable. For this purpose, ASRAN adjusts ssthresh value as shown in Algorithm 1.
Algorithm 1 Modified ssthresh calculator. |
- 1:
while segment_loss = do - 2:
function () - 3:
= /2 - 4:
= - 5:
= - 6:
return - 7:
end function - 8:
end while
|
When a segment loss occurs, the data sender receives duplicated ACKs (Retransmission timeout may also occur, but this means that a more serious problem occurred with the network, so ASRAN behaves the same as before). In this case, a typical TCP (TCP-NewReno) reduces the CWND size in half. Also, the ssthresh value is updated to half of the CWND size. If CWND size is larger than ssthresh value, TCP switches from Slow-Start phase to congestion avoidance phase. In other words, after segment loss, TCP automatically activates congestion avoidance phase. Using the TCP feature of switching phase according to ssthresh, the ASRAN adjusts the ssthresh value to induce Slow-Start rather than congestion avoidance when a segment loss occurs due to transient link failure. To choose appropriate ssthresh value, ASRAN uses the latest CWND size prior to the previous segment loss event, named . Because is the CWND size of successful transmission until the segment loss occurs, ASRAN exploits the presumption that reflects the available capacity of the network for transmission. When a segment loss occurs, is compared to the originally calculated ssthresh value, . The bigger value will be the new ssthresh value, named . After that, will be updated to the latest CWND size prior to the current segment loss for ssthresh decision of future segment loss. Also, as shown in Algorithm 1, every segment loss event updates the value which means that ASRAN always reflects fluctuation of network environment.
3.3. How to Distinguish Transient Link Instability from Buffer Overflow
The TCP cannot distinguish whether the segment loss occurs due to transient link instability or buffer overflow. Unlike original TCP, the
ASRAN distinguishes between transient link instability and buffer overflow based on the
presented in
Section 3.2.
represents the most recently available transmission capacity of network. Therefore, if the size of the CWND is smaller than
after the segment loss occurs, the
ASRAN determines that transient link instability occurs in the network and restores the throughput quickly. If the size of the CWND is larger than
after the segment loss occurs, the
ASRAN determines that the buffer overflow is caused by the data transmission exceeding the transmission capacity.
Figure 2a,b shows CWND fluctuation modeling of TCP using
ASRAN. CWND fluctuation modeling follows the TCP-NewReno algorithm, and each figure shows how
ASRAN works with CWND fluctuations when transient link instability and buffer overflow occur. Detailed description of each situation is given in the following subsections.
3.3.1. Dealing with Transient Link Instability
Figure 2a shows the effectiveness of the
ASRAN with CWND size fluctuations between original TCP-NewReno and
ASRAN in transient link instability situation. The initial rise of CWND is the result of TCP slow-start. In addition, it takes the first segment loss which results in halving CWND value. At this moment, original TCP-NewReno updates its current ssthresh,
, as the halved CWND in order to enter congestion avoidance phase. For the first time,
ASRAN also enters congestion avoidance phase because
is not updated before. Assuming
is 0 at this moment, maximum
ssthresh value becomes
, resulting in congestion avoidance phase after all. Then
is updated to CWND size before halved, which will be used for the next segment loss event. At the second segment loss event in
Figure 2a, updated
is larger than
value. Because the size of CWND is less than the recalculated
ssthresh value (
value in Algorithm 1), TCP flow quickly recovers CWND by using the slow-start algorithm rather than congestion avoidance. After the second segment loss, CWND rising curve of
ASRAN seems like a linear curve. However, it is a quadratic curve that is increased by slow-start. This is due to the method of CWND size increases in Slow-Start algorithm. Slow-Start algorithm increases CWND size per ACK received. This method results in a quadratic increase in CWND size, unlike congestion avoidance which CWND size increases linearly. Since slow-start phase increases CWND size quadratically, the transmission speed of
ASRAN recovers rapidly, resulting in better performance than original TCP-NewReno.
3.3.2. Dealing with Buffer Overflow
If CWND always rises rapidly in the slow-start phase, wireless link can frequently experience buffer overflow due to excessively large amount of data stream generated by overgrown CWND size. If
ASRAN uses
to calculate
, TCP will always increase CWND using the Slow-Start algorithm after segment loss even in the case of congestion due to buffer overflow. In order to prevent such the case,
ASRAN uses the
. If
is larger than currently reduced CWND size after segment loss, the
ASRAN recovers the CWND size using slow-start until it is the same size as
. If not, the
ASRAN uses the
as the
, so the TCP flow executes the congestion avoidance phase as usual TCP congestion control does.
Figure 2b shows such the scenario that lets
ASRAN perform congestion avoidance. In
Figure 2b, on the second CWND drop, the saved
of the previous segment loss is smaller than
. In this case, the value of the
will be the
value. Because
is smaller than reduced CWND size, congestion avoidance algorithm is executed.
4. ASRAN throughput Model
This section shows the throughput model of
ASRAN.
ASRAN modeling has two purposes. The first purpose is to verify the result of real experiment. Under environment of wireless multi-hop network, packet arrival period and segment loss event are unstable and aperiodic. Therefore, it is difficult to figure out whether experiment result is affected by
ASRAN or just an accidental result caused by unstable environment. To decide whether the experiment result is credible or not, modeling the algorithm and calculating the expected throughput gain of
ASRAN are necessary. The second purpose is to prove mathematically that
ASRAN outperforms TCP-CUBIC. Please note that TCP-CUBIC is faster than TCP-NewReno and TCP-Reno to recover communication when segment loss occurred, which is shown in
Section 5. TCP-CUBIC is developed in consideration of the wireless communication environment with both high bandwidth and high latency [
22]. The congestion avoidance of TCP-CUBIC increases CWND size as cubic [
23]. We confirmed through modeling that the
ASRAN can show better throughput than the TCP-CUBIC.
As shown in
Figure 3, CWND size of the
ASRAN reaches to the
faster than TCP-CUBIC. After that, even if
ASRAN increases with cubic curve as the same as TCP-CUBIC, difference of CWND size between
ASRAN and TCP-CUBIC is getting larger. Because of CWND size of
ASRAN reaches
faster than TCP-CUBIC,
ASRAN obtains more time to increase CWND with a cubic curve, compared to TCP-CUBIC. In the subsequent modeling, these effects are proved by calculating total throughput gain of
ASRAN. To obtain the expected throughput gain of
ASRAN, simplified modeling was used to calculate the throughput ratio between throughput of TCP-CUBIC and throughput of
ASRAN.
Total throughput can be calculated by integrating graph of CWND size fluctuation shown in
Figure 3. Predicted total throughput of
ASRAN in
Figure 3 will be the following equation:
In Equation (
1),
x indicates the time variable,
i indicates the initial CWND size,
T indicates the time until the next segment loss occurs, and
K represents the time that CWND reaches the
. In
ASRAN, before
x reaches
K, CWND will be increased in Slow-Start phase. After that, CWND is increased by the congestion avoidance algorithm of TCP-CUBIC in probing phase which is cubic curve. For calculating
K value, CWND size will be recovered with quadratic curve of slow-start until CWND reaches the
. At this moment,
x value will be
K value. Part of the quadratic CWND increase equation is shown in the front part of Equation (
1). Calculating
K value is:
Since CWND goes up every time an ACK arrives, the rise of CWND is discrete event. Therefore, the total throughput should be calculated by summing CWND value at each discrete time, instead of calculating predicted total throughput obtained by integrating graph of modeling.
Figure 3 shows discrete time at regular interval. Sum of each CWND size at each discrete
x value represents the total throughput.
The gain of
ASRAN compared to TCP-CUBIC ratio value can be calculated by dividing total throughput obtained from
ASRAN by the total throughput of TCP-CUBIC. To show the difference of throughput between
ASRAN and TCP-CUBIC, we set the example model to calculate the gain value.
,
,
were arbitrarily assigned in example model, and
Figure 3 is drawn based on the example model. Based on example model, the throughput gain of
ASRAN is calculated as follows:
In the general case, to see the CWND fluctuation of TCP-CUBIC transmission, congestion avoidance phase is shown continuously over the whole transmission phase regardless of throughput increase phase or throughput decrease phase [
22]. Considering unstable network performance of wireless multi-hop network, congestion avoidance occurs in almost every time and
ASRAN can be activated in whole transmission time. Therefore, in the recovery phase right after segment loss, the throughput of
ASRAN can be expected 1.622 times larger than that of TCP-CUBIC. In the evaluation section, the real experiment result will show similar value to the result calculated by the proportion from modeling.
6. Conclusions
This paper presents the ASRAN for TCP that is suitable for UAV network environment. When a network is deployed through multiple UAVs, transient link instability can occur due to mobility and transient link failure, which in turn triggers frequent changes in network topology. Since transient link instability is not caused by heavy traffic, there is no need to reduce the transmission speed, like the original TCP. In order to cope with an unstable network environment, ASRAN adjusts the TCP parameter to improve the network throughput by recovering unnecessarily reduced throughput when transient instability occurs in the UAV network. As a result, if the ASRAN is applied to UAV, the transmission speed of the overall UAV network can be improved. In addition, since ASRAN uses the Slow-Start algorithm as the basic technique of TCP to increase the throughput, even if there is data loss or buffer overflow, ASRAN can operate in similar way to the original TCP.
As future work, we will apply ASRAN to multi-path TCP (MPTCP). Our goal is to improve the throughput of each subsocket through ASRAN, thereby improving the overall throughput of MPTCP. In addition, we plan to enhance the throughput model of ASRAN when it is applied to MPTCP.