NexGen D-TCP: Next Generation Dynamic TCP Congestion Control Algorithm

With the advancement of wireless access networks and mmWave New Radio (NR), new applications emerged, which requires a high data rate. The random packet loss due to mobility and channel conditions in a wireless network is not negligible, which degrades the significant performance of the Transmission Control Protocol (TCP). The TCP has been extensively deployed for congestion control in the communication network during the last two decades. Different variants are proposed to improve the performance of TCP in various scenarios, specifically in lossy and high bandwidth-delay product (high-BDP) networks. Implementing a new TCP congestion control algorithm whose performance is applicable over a broad range of network conditions is still a challenge. In this article, we introduce and analyze a Dynamic TCP (D-TCP) congestion control algorithm over mmWave NR and LTE-A networks. The proposed D-TCP algorithm copes up with the mmWave channel fluctuations by estimating the available channel bandwidth. The estimated bandwidth is used to derive the congestion control factor $N$ . The congestion window is increased/decreased adaptively based on the calculated congestion control factor. We evaluated the performance of D-TCP in terms of congestion window growth, goodput, fairness and compared it with legacy and existing TCP algorithms. We performed simulations of mmWave NR during LOS <-> NLOS transitions and showed that D-TCP curtails the impact of under-utilization during mobility. The simulation results and live air experiment points out that D-TCP achieves 32.9% gain in goodput as compared to TCP-Reno and attains 118.9% gain in throughput as compared to TCP-Cubic.


I. INTRODUCTION
Mobile networks have been making significant progress over the last decade and will be performing an important role in access networks. The next generation mobile networks (5G) are expected to provide Gbps uplink/downlink speeds, ubiquitous availability and massive connectivity. With the evolution of smart phone technology and mobile networks, many real time application has emerged demanding high throughput and low end-to-end delay, which may cause congestion The associate editor coordinating the review of this manuscript and approving it for publication was Angelos Antonopoulos .
at the network. The 5G networks exploit mmWave to meet the higher bandwidth and low latency requirements of different services. However, mmWave wireless links experience excessive path and penetration losses [1]. Moreover, with the introduction of next generation mobile network services like Device to Device (D2D) communications, Internet of Things (IoT), Internet of Vehicles (IoV), etc., the mobile network will change dynamically. The mobile networks are usually interconnected using wired backbone networks. The aforesaid network changes will affect the transport and network layer protocol. The Transmission Control Protocol (TCP) has been adopted widely since last two decade for reliable and error-checked delivery of data. Many applications on the network work over the Transmission Control Protocol/Internet Protocol (TCP/IP) e.g. HyperText Transfer Protocol (HTTP), steaming media, peer-to-peer file sharing, telnet, file transfer, simple mail transfer protocol, secure shell and the like [2].
Over the last decade, TCP has been extensively studied for mobile wireless networks mostly sub-6 GHz LTE/LTE-A networks. However, the impact of 5G mmWave links on TCP is much more disruptive than LTE/LTE-A networks. This is due to propagation characteristics of mmWave like: (i) The blockage sensitivity causing outage leading to slow growth of Congestion Window (CWND) and multiple retransmission timeouts; (ii) Highly variable channel fluctuations i.e. Nonline of sight (NLOS)/Line of sight (LOS) transitions. Particularly in NLOS conditions channel losses are masked with the help of re-transmissions at link level but TCP remains unaware of such variable channel conditions. Due to such characteristics of mmWave, the packets keep on buffering in different layers due to an increase in CWND. This in turn leads to bufferbloat phenomenon causing a significant impact on end-to-end performance [3]- [5]. To avoid the same, Active Queue Management (AQM) methodologies and cross-layer approach for downlink have been proposed for mmWave channel [6], [7]. There are several techniques are proposed to detect packet loss either due to congestion or due to disconnection caused by mmWave, which can be prevented with the help of retransmission timeouts. Existing research works on TCP mmWave New Radio (NR) does not explore mobility scenarios where high channel fluctuations (NLOS/LOS transitions) with multiple gNBs.
The analysis of TCP performance on live air and in more realistic scenarios with multiple base stations are not explored yet. Timely adaptation of serving gNBs is beneficial for TCP, however considering the frequent handover case in mmWave based 5G NR, it can negatively affect the throughput and end-to-end system performance [8]. The mmWave enabled 5G networks are high Bandwidth-Delay (BDP) networks. This is because of the availability of Gbps order bandwidth at the physical layer. Hence, high BDP network conditions has to considered while designing congestion control for 5G mmWave. Moreover, while designing backhaul and core networks for mmWave based 5G NR, it is crucial to curtail NLOS <-> LOS fluctuations and end to end system performance. Therefore, it is necessary to adapt mobility techniques that minimize the delay caused due to switching between different gNBs or different radio access technologies in case of 5G HetNet scenarios. The existing TCP algorithms consider either fluctuation in bandwidth or high BDP conditions and none of them addresses both simultaneously.
In LTE/LTE-A, during edge scenarios, the standard congestion control algorithms (like TCP Reno [9], TCP NewReno [10], TCP Tahoe [11]) force to unnecessary drops in Congestion Window (CWND), which significantly decrease the efficiency of TCP mobile receivers/senders. On the other hand, few algorithms such TCP BIC [12] increase the CWND aggressively to overcome the losses, but does not maintain inter and intra fairness. To tackle this, TCP Cubic [13] was developed to improve the scalability of TCP over high BDP conditions and miantain the fairness [14]. Since, Wi-Fi networks experiences high bandwidth fluctuation due to high loss rate. Authors in [2], [15] introduce TCP Veno, TCP Westwood to address the bandwidth fluctuation scenarios, but these variants failed to attain higher goodput as compare to TCP CUBIC. Hence, Google proposed TCP BBR [16], which mitigate the losses in high BDP scenario and adapts the fluctuating bandwidth. Some recent studies [4], [17]- [19] analyze the performance of TCP in 5G mmWave Networks. They have highlighted that high variability of the signal quality over mmWave links and blockage results in low utilization of resources and degrades the TCP goodput. Motivated from these limitations posed by 5G mmWave, we designed a dynamic congestion control algorithm to achieve the higher goodput as compared to existing algorithms while maintaining friendliness and fairness.
Contributions: In this paper, we propose Dynamic TCP (D-TCP) congestion control algorithm for next generation mobile networks, which not only considers the dynamics of mmWave but also adapts the High BDP and low lossy rate conditions. More precisely, the contributions of this work are summarized as follows: 1) In mmWave NR, the available bandwidth oscillates from a few Mbps to Gbps, as channel conditions are highly variable (transition between LOS/NLOS). D-TCP understands the varying dynamics and adapts to the mobility. 2) To model the D-TCP, we first estimate the available bandwidth. We apply Continuous to Discrete (C2D) time variant filter using Tustin approximation to extract the network attributes (like: traffic intensity on the link, packet transmission rate, signal conditions) and to estimate the available bandwidth. 3) We derive the congestion control factor (N ), using estimated bandwidth. The calculated N is utilized to increase/decrease the congestion window during the loss detection and Round Trip Time (RTT) update. Moreover, the congestion window is increased/decreased adaptively. 4) We derive the expression for throughput using calculated bandwidth and congestion control factor N. Subsequently, we analyze the efficiency, friendliness and fairness. 5) The D-TCP performance is analyzed in 5G NR and LTE-A network. The simulations are carried out using NS3-mmWave module and NS3 LTE-A module. The simulation results of D-TCP are compared with legacy TCP algorithms BBR, CUBIC, RENO, Westwood, Tahoe and the existing CLTCP algorithm [20]. 6) Additionally, we experimented D-TCP on a live network using two Samsung Galaxy S8 configured with proposed D-TCP and TCP-Cubic algorithms. The live experiment results show that D-TCP achieve 124.92% gain in goodput as compared to TCP-Cubic when the server is located in Seoul (135 ms RTT).
The initial version of this work is published in [21]. In [21], we proposed a Dynamic TCP congestion control algorithm (D-TCP) for LTE-A networks. D-TCP estimates the channel bandwidth and adjusts the congestion window dynamically. The performance analysis carried out using NS3 based simulation experiments. However, this work lacks in analysis and performance evaluations of D-TCP over mmWave NR. This paper extends the work [21] in several aspects, as mentioned below: 1) This work is extended considering the varying channel conditions of 5G mmWave and mobility, which are major challenges of TCP congestion control in 5G. 2) Section II is significantly extended. Section II presents an overview of different TCP algorithms. We categorize the TCP algorithms into (i) loss-based, (ii) delaybased and (iii) hybrid algorithms. Moreover, we have summarized the recent studies on the performance of TCP in mmWave enabled 5G networks. 3) We added a new analysis in section III. The analysis is extended in terms of throughput model, efficiency, friendliness and fairness of the proposed model. 4) In section IV, we had added new simulation results using the NS3-mmWave module for 5G New Radio (NR). Moreover, Table. 1, Fig. 3, Fig. 4, Fig. 5, Fig. 6, Fig. 7, Fig. 8 and Fig. 9 are new and unpublished.
The rest of the paper is organized as follows. In Section II we review the existing TCP congestion control algorithms. Section III introduces the D-TCP proposal, bandwidth estimation, congestion control factor and congestion window adjustment. The D-TCP throughput model, efficiency, friendliness and fairness are also presented in section III. Section IV demonstrates the performance evaluations based on simulation studies conducted using NS3 (mmWave 5G NR and LTE-A) followed by real time experiment results. Finally, we conclude the paper in Section V.

II. BACKGROUND
Several studies have been carried out to improve the performance of TCP congestion control algorithms. All the proposals employ the approach of the entire usage of bandwidth to improve the goodput while minimizing the packet drop. Authors in [20] proposed an adaptive TCP congestion control algorithm CLTCP. The CLTCP uses congestion level to control the number of virtual flow numbers in a TCP connection. This could prevent the delay measurements error observed in the TCP-FIT [22]. Jingyian Wang et al. [23] proposed CUBIC-FIT, that simultaneously maintains the fairness among widely deployed TCP CUBIC servers and improved the performance over a large range of network conditions. The above TCP variant does not consider energy efficiency. Authors in [24] propose ecMTCP, a multipath TCP congestion control algorithm. The ecMTCP achieves load-balancing and energy-saving. The energy efficiency is achieved by  shifting the traffic from high energy cost path to the low energy cost path. Moreover, the load-balancing is attained by moving the traffic from the most congested paths to the more lightly loaded path. For improving the steaming services, authors in [25] proposed a congestion control algorithm based on MAC layer contention state. Packets of each flow are marked to estimate the contention in each state. The estimated contention is used to control the transmission at each flow.
Since the original TCP, different algorithm has been presented in the literature for estimating the congestion. These algorithms are estimating congestion based on checking the buffer (when the buffer is not empty) or calculating Round Trip Time (RTT) and detect the congestion if a dramatic increase in RTT is noticed. These algorithms are categorized into three groups: (1) Loss-based (2) Delay-based and (3) Hybrid algorithm considers both packet loss and queuing delay.
Loss-based algorithms: The Loss-Based algorithm considers packet loss as congestion and the packet is lost only when the network is overloaded. TCP Reno was first that widely deployed. In TCP Reno congestion window is increased on receiving of Acknowledgment (ACK). The congestion window is set to half in case of 3 duplicate ACK's [26]. Fig. 1 shows the simplified packet (Pkt) transmission, ACK's reception and 3 duplicate ACK's. In TCP Tahoe if a packet is lost, the connection is restarted and it should go through a procedure call 'slow-start'. During the slow-start the sender set the congestion window to 1. The congestion windows is increased by 1 after each ACK is received. The setting of CWND to half in TCP Reno [26] and a slow-start in TCP Tahoe [9] is a problem. TCP NewReno [11] can identify the multiple packet loss and overcome the problem of decreasing the CWND several times. The TCP CUBIC [13] is widely used and default algorithm in Linux kernel [27]. TCP CUBIC considers single CUBIC function for calculation of CWND size and enforce RTT-fairness through a congestion window function which is independent of RTT. It is less complex than High speed TCP [28] and Hamilton TCP [29] but cannot utilize 100% resources, as loss is utilized for the indication of congestion.
Delay-based algorithms: The delay-based algorithms are proactive and keep track of RTT. Fig. 2, shows the RTT between two hosts connected at the bottleneck [30]. An unaffected RTT indicates that there is no congestion. In contrast, an increase in RTT or packet loss indicates congestion. The RTT provides more timely feedback and the degree of network congestion. It is important for a large BDP network [30]. Moreover, the delay based algorithms are also efficient in a network environment where packet drop is high. When a packet drop occurs irrelevant to congestion the RTT time remains steady and packet delivery time remains the same. As a result, the delay-based algorithm has the capability to control the random packet loss and may perform better in a lossy network. The delay-based congestion control algorithms can control the packet sending rate before the queue delay becomes high or packet loss occurs [30].
TCP dual was the first algorithm, which identifies the congestion using queuing delay. It calculates maximum, minimum RTT and uses a fraction of maximum RTT as a threshold for congestion detection. The problem with TCP dual is, in case of multiple flows the RTT time is overestimated and available resources are not efficiently utilized due to conservative nature [27]. The first improvement to this algorithm was TCP Vegas [31]. TCP Vegas uses CWND, RTT and RTT base (derived from the minimum witnessed RTT) to calculate the number of in-flight bytes, that inhabit inside the bottleneck buffer and try to maintain this number smaller. Later studies [32], [33] demonstrated issues with TCP Vegas: (i) low fair share of bandwidth with loss based congestion control algorithms and (ii) low throughput based flow with sudden increase in RTT. Authors in [34] propose FAST TCP to utilize available resources in high-speed networks. The congestion window in Fast TCP algorithm is updated periodically after every x ms. TCP Fast include a parameter ζ in Vegas congestion windows function to show the compromise between stability and high throughput. The throughput is high in case of high ζ and behaves as Vegas for a low value of ζ . Authors in [35] propose an extension of FAST, VFAST to minimize the oscillations in the queue and throughput. Elastic-TCP [36] is another algorithm in the literature that estimates the bottleneck bandwidth utilization with the help of RTT to achieve high average throughput.
Hybrid algorithms: The hybrid algorithms identify congestion using loss and delay both. The hybrid algorithm are designed to detect the congestion in loss based network well before queues is full while keeping throughput high in VOLUME 8, 2020 presence of other variances. These algorithms are useful in high speed network, where resource utilization is very low and a technique with fast CWND value is required. TCP Veno proposed by Cheng Peng Fu et al. [2] was the first hybrid congestion control algorithm. TCP Veno detects the congestion or non-congestion state by integrating the congestion detection technique of Vegas TCP into Reno TCP and adjust the congestion window accordingly. Moreover, it extends an additive increase phase to exploit the available bandwidth and reduce the losses due to congestion.
Africa [37], Compound [38], YeAH [39] made similar modification on Vegas to identify the congestion and make efficient use of available bandwidth in a broadband network. Illinois [40], TCP-Adaptive Reno (AReno) [41] and Libra [42] modified the congestion window to follow both bottleneck link capacity and RTT. In 2016, Google developed a Bottleneck Bandwidth and Round Trip Time (BBR) congestion control algorithm [16]. BBR aims to improve TCP throughput and resolve the bufferbloat problem. BBR controls the congestion by sending the packets according to estimated bottleneck bandwidth and RTT min . To align with varying network conditions and to examine the available bandwidth, BBR increases the packet sending rate periodically and inflight size to 125% for an RTT period. If there is no change in bandwidth the packet sending rate and inflight size are reduced to 75%. This process carried out every eight cycle for each lasing RTT [16], [27], [30]. BBR maintains one BDP for packets are inflight and guarantees the full utilization of resources with minimum queuing delay. The problem with BBR is the wrong estimation of RTT min can affect the operation. Moreover, contingent with new flow time and RTT bandwidth can be shared unfairly. It is not clear how well this algorithm works with other congestion algorithms in the presence of long standing queues.
Besides, there exist several TCP studies related to mmWave communications. Authors in [4] demonstrated the performance of TCP and how high link variability of mmWave impacts the end-to-end performance. Zhang et al. [19] presented a comprehensive simulation study of TCP in mmWave cellular system, considering various factors and identified the open challenges in this area. Work in [17] presented the impact of the mmWave links on the performance of the transport layer and points out the challenges for reducing latency while maintaining high throughput. Authors in [43] proposed a novel MPTCP congestion control scheme named delay-equalized FAST (DEFT) to achieve high throughput and low end-to-end (E2E) delay in 5G networks. In Table 1, we presented the comparison of the different TCP algorithms. The above mentioned TCP algorithm does not consider the specious wireless losses while adjusting the congestion window and does not exploit the available bandwidth. This results in a reduction in goodput despite of the enough accessible bandwidth. This motivates us to propose a dynamic approach to control the congestion. We (a) utilize the currently available bandwidth for calculation of congestion control factor; (b) adjust the congestion window adaptively; (c) demonstrate the goodput gain and intra/inter algorithm fairness.

III. PROPOSED APPROACH: D-TCP
In this section, we first present the D-TCP proposal. We then estimate the bandwidth for D-TCP and calculate the congestion control factor (N ). We utilize the congestion control factor to adjust the CWND and presents the D-TCP throughput analysis. We prove the efficiency of D-TCP in terms of fairness, friendliness and network utilization. Table 2 lists the major notations used in this paper.

A. D-TCP PROPOSAL
In this article, we propose a TCP enhancement (D-TCP) for congestion control in next generation mmWave 5G network. D-TCP learn the available Bandwidth (BW) based on channel conditions. It is important to learn bandwidth as mmWave enabled wireless links suffer with excessive path and penetration losses [1], which result in high variations in Reference Signal Received Power (RSRP). In case when there is no line of sight path between transmitter and receiver the channel losses are masked with the help of transmission and TCP algorithm is unaware of such variations. We used discrete time filter to approximate the available bandwidth based on traffic intensity on link and channel conditions. After approximating the bandwidth, we calculate the congestion control factor (N ) which is used to control the congestion window. The congestion factor (N ) is calculated using window size, estimated bandwidth and queue length at the i th period. The N is used to adjust the congestion window is Adaptive Increase/Adaptive Decrease (AIAD) paradigm, in place of traditional approach additive increase/multiplicative decrease. The congestion window is increased by N i on the successful delivery of packet (received ACK) and congestion window is decreased by (1 − y) in case of packet loss (where y is given in section III-D). If a packet drop is detected, the D-TCP algorithm tries to take the congestion window to the previous level, with the help of calculated bandwidth. This results in better utilization of network resources particularly in case of high Bandwidth-delay (high-BDP) and lossy network conditions.

B. BANDWIDTH ESTIMATION (BW E )
Bandwidth estimation is a key attribute for congestion control algorithm design. The algorithms like TCP Westwood, TCP BBR estimate the bandwidth to control the CWND. However, they do not consider the varying 5G network conditions. D-TCP not only estimates the bandwidth using the packet flow but also adapts to the varying mmWave characteristics considering SINR fluctuations.
Let d i be the data transferred during time period t i−1 and t i . Then the Bandwidth B i at time instance i is defined as the ration of amount data transferred in a given time interval and it is given as where i is time difference between t i − t i−1 . We model the predicted available bandwidth as a discrete time linear system and employ a discrete time filter. Using the Tustin approximation [15] the filtered available bandwidth B I at interval i is given as where 1 τ is the cut off frequency and B i−1 is bandwidth at previous time instant. Let consider κ i as a constant and it is given as Hence, by utilizing the κ i , equation (2) can be simplified as The constant κ i has high impact on filtered available bandwidth B I . The higher value of κ i imply that more weightage to previous learning and lower value of κ i imply more weightage to current learning. As, we want to utilize the previous learning, so we considered κ i as 0.90. Hence equation (4) can be rewritten as As we are considering discrete time filter, packet aliasing may occur. To remove the packet aliasing effect, we normalize B I using a low pass filter and obtained estimated bandwidth BW E . According to Shannon Equation, the channel capacity is directly related to the Signal to Interference Noise Ratio (SINR). We estimate the variation in the SINR and feedback the difference in the normalization factor. The SINR information can be exposed to TCP layer through a cross-layer implementation (Section IV-C). In mmWave NR, the available bandwidth oscillates, as channel conditions are highly variable (transition between LOS/NLOS). Let, SINR i and SINR A is the current SINR and average SINR respectively. Hence, we normalize the fluctuations in the filtered bandwidth as follows: where norm is an error normalization parameter to cope up the ad-hoc network conditions and g is clock granularity. The clock granularity (g) is set as 0.5 to match with the epoch timer.
In the next subsection we calculate the congestion control factor N .

C. CALCULATION OF CONGESTION CONTROL FACTOR (N)
To compute the Congestion Control Factor (N ), first we have to calculate the expected queue length. The queue length of a D-TCP flow is proportional to TCP window size W . Let, E[W SF ] is the expected window size of the single TCP flow, the expected queue length E(Q) is computed as: where α is TCP fairness factor explained in Section III-F3. (8), we have

As we are creating N different flow in D-TCP, the E[W SF ] for N different flows is given as E[W ] E[N ] , where E[W ] is expected window size and E[N ] is expectation of the congestion control factor of N flows. By substituting E[W SF ] in equation
Next we update the parameter N i+1 . Let N i , Q i and W i are N , queue length and window size of the i th period, respectively, then using E(Q), equation (9) during (i + 1) th time, the parameter N i+1 updated as Let BW C is the current bandwidth and by using estimated bandwidth BW E , Q i can be calculated as: By combining equations (10) and (11), the updated congestion control factor (N ) is given as: According to equation (12), the expectation of the N can be written as where δB = E[BW E ] − E[BW C ] is the over/under-utilized bandwidth estimation.

D. CWND ADJUSTMENT
In D-TCP algorithm, congestion window is adjusted using congestion control factor (N ). The congestion window is adjusted in adaptive increase or decrease paradigm depending on ACKed packets or loss packets. On each RTT, the congestion window is increased by N i and in case of packet drop the congestion window is decrease by (1 − y). The congestion window adjustment is given by: where y is given by equation (16) and η is convergence factor for fairness. The convergence factor is set as 2 (η = 2) in our trails to prevent the aggressiveness (explained in Section III-E). By substituting η = 2, y = 2 3N +1 . For TCP Reno N = 1, hence y = 1 2 . The congestion window W is adjusted in adaptive increase adaptive decrease manner, as shown in Fig. 3. If two packets drop consecutively, we consider this period as No Loss Period (NLP). The first packet loss has happened (filled box) as delineated in the Fig. 3, the congestion window W is adjusted using equations (14) ∼ (16). The overall D-TCP algorithm is delineated in Algorithm. 1.

E. D-TCP THROUGHPUT MODEL
In this subsection, we derive an approximate throughput model for D-TCP. We adopt most of our terminology from J. Padhye et al. [46] and assume that readers are familiar with TCP Reno Congestion control algorithm. As depicted in Fig. 3, the congestion window W is on Adaptive Increase or Adaptive Decrease paradigm. During time T i , P i packets is being transferred for the i th iteration. Hence, expected TCP throughput (TP) during steady state can be written as where E[P] is expected packet transmitted and E[T ] is expected packet transmission time. Since, in D-TCP algorithm during NLP i for each RTT the congestion window W is increase by N i and reduced by (1 − y) for each loss. Hence, the Packet received (P i ) at the i th duration can be computed as And the congestion window (W i ) at the end of NLP i is calculate as where X i is the packet round. There would be multiple rounds of data transfer. We consider at round X i , where packet loss happens. By substituting W i equation (19) in equation (18), we have The packet expectation during the transmission is inversely proportional to the expected packet loss probability ρ, hence  15: if tcp_time_stamp() -epoch_start > update_epoch then 16: epoch_start ← time_stamp 17: if current BW < estimated BW then 18: temp ← max(1.0, prenValue) 19: nValue ← nValue + temp 20: prenValue ← nValue 21: end if 22: else if current BW > estimated BW then 23: nValue ← nValue +1 24: prenValue ← nValue 25: end if ρ . Using equation (20), 1 ρ is given as where E[X ] and E[y] is expectation of X i and y i respectively. Using equation (19), the expectation E[X ] in round X i can be given as Solving equations (21) and (22) for E[X ] Assuming ρ to be very small, we can write equation (23) as Assuming r i,j as a randomly distributed value of j th iteration of NLP, with P i = X i j=1 r i,j . Following the assumption in [46], the value of r i,j are independent of j and congestion window. Therefore, we can write E[T ] as By substituting equations (24) and (25) in equation (17), we derive throughput (TP) as

F. D-TCP EFFICIENCY
In this section, we prove the efficiency of D-TCP in terms of resource utilization, friendliness and fairness.

1) EQUILIBRIUM AND STABILITY
We study a network model which The link l has RTT D l and packet loss rate P l which is independent of the congestion and depends on the link l. Each link has congestion metrics x l which is measured using the packet loss due to congestion p l and queuing delay q l . Hence x l = m l (p l , q l ), where m l is price mapping function. The throughput for a session (T s ) can be given as According to [47] the network reaches equilibrium when Theorem 1: The equilibrium defined in [48] exists if the network meets the following three conditions: Proof: The packet loss and queuing delay due to congestion p l and q l increase as the network gets more congested. Hence we can make the following assumptions: 1) If there is no congestion then p l = q l = 0. Hence m(0, 0) = 0 2) x l = m l (p l , q l ) is a strictly increasing function of p l and q l 3) For each link l, p l is non-decreasing as q l increases and vice versa. We define packet loss p s and delay q s , due to congestion in a particular TCP session s as (1 − R l,s p l ) , q s = l L R l,s .q l VOLUME 8, 2020 The end-to-end RTT (D s ) and random packet loss (P s ) of session s are We can express the throughput function in equation (31) for D-TCP as According to the assumption (1) and (2) and equation (25), we know that, • If R l,s = 1, then T s is a strictly decreasing function of x l • If R l,s = 0, then T s is a constant • Letting T s = , x max = f −1 s (T s ) and x l > x max implies x s (p l ) < x s = Therefore, T s is a non-increasing function and the first condition holds. To prove the third condition, lets assume that equilibrium is at X = 0, then p s = q s = 0 ∀ session in S. From the throughput equation (33) of D-TCP, we have x s → ∞. This contradicts the first proof that RT ≤ B. Therefore, D-TCP satisfy (RT − B) = 0. Hence, network with D-TCP can reach equilibrium.

2) D-TCP FRIENDLINESS
A TCP congestion control algorithm is TCP friendly if it operates fair with existing TCP algorithms. To analyze the friendliness of D-TCP we consider a scenario where S TCP Reno devices share same bottleneck link. LetT R be the average throughput of S TCP Reno flows and we replace K of the S Reno flows with D-TCP flows. LetT D be average throughput of rest M flows given by M = S − K and the throughput difference of the TCP Reno flows and D-TCP flows can be given asT IfT δ is close to 0, then D-TCP is said to be Reno friendly.
where q r is queuing delay for TCP Reno and D DTCP stands for D-TCP delay. Proof: We can writeT R aŝ And from equation (33), the throughput of the D-TCP can be written as, where q d and p d is the queuing delay and packet loss respectively, when we replace K TCP Reno connection with our proposed D-TCP congestion algorithm. Solving equations (35) and (36), we obtain that when α ≤ q r D DTCP +q r thenT R =T D . HenceT δ =T R −T D = 0. In our experiments we select α in such a way that it is TCP friendly (α {0.1, .. 0.5}).

3) D-TCP FAIRNESS
According to [52], the TCP algorithm is fair if throughput remains same for different RTTs, with similar packet loss rate.   experiments α is set as the same value for all the flows. Setting an higher value might impact the friendliness as depicted in equation (36). Therefore, we set 0.2 in our experiment to maintain fairness and friendliness. The ratio of the two flows is written as As i and j shares the same bottleneck link, p i = p j and q i = q j . Therefore, TP i = TP j and γ DTCP = TP i TP j = 1. Hence, D-TCP maintains intra fairness.

IV. PERFORMANCE EVALUATION
In this section, we evaluate the performance of our proposed model. We analyze the performance of D-TCP algorithm in 5G NR and LTE-A using NS3-mmWave and NS-3 LTE-A simulator, respectively. The simulation results are compared with different TCP algorithms. In last the D-TCP is evaluated in real time experiments.

A. 5G NR BASED SIMULATION RESULTS
The performance evaluation of D-TCP are carried out using the mmWave NS-3 module, as explained in [53]. We considered mmWave carrier frequency of 28 GHz, Tx power of 30 dBm and mmWave bandwidth of 1 GHz. Table 4 outlines a list of parameters with values, including the buffer size of 10 MB, the packet size of 1400 bytes, core network latency  of 1 ms and remote host latency of 10 ms. Fig. 4 provides an overview of the simulation setup. The simulations have been performed in the two scenarios where UE moves with a speed of 1.5 m/s and downloading a D-TCP flow with source rate up-to 2Gbps. We considered small buildings scenario 1 shown in Fig. 5 (a) and large buildings in experiment scenario 2 shown in Fig. 5 (b). Fig. 6 depicts the SINR with varying time in scenario 1. The SINR varies as UE toggles between LOS and NLOS. In the case of LOS, the SINR is up to 40 dB as a direct path exists between gNB and UE. The SINR is less than 0 when UE is in NLOS as UE receives a diffracted signal. Fig. 7 presents the throughput for D-TCP, TCP BBR, TCP BIC, TCP Cubic and TCP NewReno for scenario 1. From Fig. 7, we can infer that, during idle conditions, the congestion control variants perform the same. However, when the UE moves from NLOS to LOS, our proposed D-TCP algorithm aware of the network conditions and immediately restores the full bandwidth. As observed from Fig. 7, TCP BBR and TCP BIC achieve the maximum throughput in 2 s and 4 s respectively and they are fastest in reaching the maximum throughput values among the state-of-the-art TCP algorithms. VOLUME 8, 2020   The other variants probe for a longer duration to reach the maximum throughput. Fig. 8 and Fig. 9 delineate the SINR with varying time and throughput for scenario 2 respectively. It is observed from Fig. 8, when SINR is less than −50 dBm, UE is in outage as large building blocks the direct path. As depicted in Fig. 9, when the NLOS is for a longer duration, the problem with state-of-the art TCP algorithms are still worse. In the case of D-TCP, thanks to the information on the fluctuation in the SINR, that immediately restores to fully utilize the resources. It is also noticed from Fig. 9 that there is a small outage duration in the UE path. This outage duration does not affect the congestion window growth, as lower layer retransmission mechanisms mask the channel conditions. We also performed high-speed 5G test and observed from Fig. 10, D-TCP, TCP-BBR and BIC copes up better to the high speed network conditions. Cubic and NewReno probe for longer time to reach maximum throughput.

B. LTE-A BASED SIMULATION RESULTS
To evaluate the efficiency of D-TCP in LTE-A, NS3 based simulations are carried out where the device is capable of running the proposed algorithm. An overview of the experimental setup is shown in Fig. 11. The UE is connected to the server through eNB and EPC. We considered MTU of 1500 bytes, RTT = 40 ms, effective P2P bottleneck link capacity of 1 Mbps & 5 Mbps and total simulation time is 60 sec. We considered the performance parameters: CWND growth, efficiency in lossy, lossless & ideal state network and intra/inter algorithm fairness to analyze the accuracy of D-TCP. The TCP BBR is supported by Linux since kernel version 4.9 and most of the LTE Smartphones does not have  TCP BBR by default. Hence, the performance results of D-TCP are compared with legacy TCP algorithms (TCP-Tahoe, TCP-Reno, TCP-Cubic, TCP-Westwood) and the present (CLTCP [20]) algorithm.
We set the bottleneck data rate to 1 Mbps and RTT delay as 40 ms, to measure the CWND growth in random loss conditions. Fig. 12 presents the CWND values with iterations of ACKs. It is observed from Fig. 12 in case of CLTCP [20] algorithm, CWND increases aggressively as the deep drops in CWND are acknowledged. Moreover, in the case of bursty traffic conditions, the CLTCP algorithm takes more time to restore to its preceding state. As shown in Fig. 12, for our proposed D-TCP, the drops in CWND are very rare and able to exploit the maximum accessible bandwidth. This is because we utilize the discrete time filter to estimate the bandwidth form current and previous bandwidth values. We normalized the estimated bandwidth, as to remove the packet aliasing that takes place while utilizing the discrete time filter.
To analyze the efficiency of D-TCP, we set the bottleneck data rate of the channel to 5 Mbps, RTT delay equal of 40 ms, MTU as 1500 and considered different packet ratio conditions. We compared the efficiency of D-TCP with TCP-Reno, TCP-Cubic and CLTCP. Fig. 13 (a), Fig. 13 (b) and Fig. 13 (c) depicts the Goodput comparison of D-TCP in lossy, lossless and near ideal conditions, respectively. As depicted in Fig. 13 (a) and Fig. 13 (b) for the packet loss ratio of 0.01 (lossy) and 0.0001 (lossless) respectively, D-TCP achieves higher throughput as compared to other TCP variants, because D-TCP is capable of utilizing the maximum available bandwidth. It is noticed from Fig. 13 (c), a similar trend is observed for the packet loss ratio of 0.000001. Moreover, we introduce the wireless losses and observed that D-TCP able to detect wireless losses and avoid the steepest CWND drops. The other TCP variants TCP-Reno, CLTP and TCP-Cubic assume these losses as congestion in the network whereas D-TCP can differentiate between packet drop due to congestion and wireless losses. D-TCP achieves the maximum goodput of 4927 Kbps. TCP-Cubic, TCP-Reno and CLTCP achieve maximum goodput of 2379.68 Kbps, 3706.93 Kbps and 4579.66 Kbps, respectively. The goodput of D-TCP is 32.9% higher than TCP-Reno, 7.5% higher than CLTCP and more than twice of TCP-CUBIC. We also performed test in high-speed LTE-A network without any bottleneck link. Fig. 14 depicts the goodput comparison of D-TCP in high-speed LTE-A network. D-TCP achieves higher throughput than other congestion algorithms even in high-speed wireless network.
In computer network fairness measure is used to ascertain that different application/protocols are sharing fair system   resources. TCP fairness requires that a connection within an algorithm receives no large share than other connection or a new protocol does not acquire a large share of network resources as compared to other TCP protocols. If a protocol acquires uneven resources, this creates a problem such as a congestion collapse. It is important for the congestion control mechanism to interact well with TCP. To analyze the intraalgorithm fairness of D-TCP, we considered five connections of D-TCP, introduced sequentially. Fig. 15, presents the D-TCP Goodput with five connections. It is observed from Fig. 15 that with the insertion of distinct D-TCP connection consecutively, the bandwidth shared evenly among the five available devices. After introducing all the five connec-tion it converges to the fairness point. The value of γ DTCP (described in section III-F3) is close to 1, after introducing all five connection, which shows that D-TCP is fair. To prove inter-algorithm fairness, we considered five devices configured with D-TCP, TCP-Cubic, TCP-Reno, TCP-Westwood & TCP-Tahoe and a single connection of 5 Mbps, which is shared among all the five variants. Fig. 16 depicts the goodput for different TCP variants. We ascertain from Fig. 16 that D-TCP has very low Bandwidth Plucking Rate (BPR) whereas, other TCP variants have comparatively high BPR. Because of low BPR, D-TCP could utilize the unused bandwidth resulting in higher goodput as compare to other TCP algorithms.

C. LIVE AIR EXPERIMENT RESULTS
To analyze the performance of D-TCP, we carried out a live air experiments in Samsung R&D India-Bangalore (SRI-B). We considered two Samsung Galaxy S8 devices and the devices are connected to different servers situated in Bangalore (India), Mumbai (India), Dhaka (Bangladesh), Seoul (South Korea), New York (USA) and Nigeria (Africa) through WiFi. We considered WiFi as 5G might expected to operate in Unlicensed spectrum bands in order to achieve the multi-Gigabit/s data rates for a large number of devices [54]. In our live air experiment one cellphone is configured with TCP-Cubic algorithm and the other is configured with proposed D-TCP algorithm. To obtain the SINR value needed by the D-TCP algorithm, our implementation exploits the Radio Interface Layer (RIL) of Android that fetches the signal information such as SINR, RSSI, and so on. Then the RIL exposes the SINR information to the TCP/IP stack through a proc variable. We measured the goodput by varying the RTT. Fig. 17 depicts the overall experimental setup. Fig. 18 depicts the goodput for different RTT (Bangalore: 10 ms, Mumbai: 50 ms, Dhaka: 100 ms, Seoul: 135 ms, New York: 220 ms, Nigeria: 250 ms). It is observed from Fig. 18, the average goodput gain attained when the device connected to a server situated in Seoul is 124.92%. The average goodput gain achieved when the servers are situated in Bangalore, Mumbai, Dhaka, New York and Nigeria are 70.98%, 75.42%, 118.99%, 62.83% and 88.4% respectively. The phenomenal percentage gain attributes to the intelligent selection of dynamic factor N , which smartly controls the CWND and does not allow it to fall steeply in case of congestion and wireless losses.

V. CONCLUSION
In this paper, we have proposed a D-TCP congestion control algorithm for mmWave NR. D-TCP estimates the accessible bandwidth and adjusts the congestion window accordingly in an adaptive increase adaptive decrease paradigm. Our proposed congestion control algorithm enables the full utilization of bandwidth in high-BDP network and minimizes the packet loss due to congestion and wireless loss. The performance of D-TCP is analyzed in mmWave NR, LTE-A simulations and live air experiment. The LTE-A simulation results demonstrate that comparing to TCP-Reno, our proposed D-TCP achieves 32.9% higher goodput. Moreover, in case of live air experiment D-TCP attains 124.92% gain in goodput as compared to TCP-Cubic.