Enhanced TCP Westwood Congestion Control ...

3 downloads 0 Views 766KB Size Report
TCP Westwood proposed a mechanism to estimate the available network's ... halving the ssthresh value and resting the cWnd to one segment as Reno and ...
Enhanced TCP Westwood Congestion Control Mechanism over Wireless Networks Mohanad Al-Hasanat, Kamaruzzaman Seman, Kamarudin Saadan Faculty of Science and Technology, Universiti Sains Islam Malaysia Nilai, Negri Sembilan, Malaysia [email protected], {drkzaman, kamarudin}@.usim.edu.my

Abstract— The poor performance of TCP over wireless networks is a well study issue. Intensive optimizations to the TCP congestion control mechanisms have been proposed in the past few years. TCPW presents a novel solution to enhance the performance of the TCP congestion control over wired and wireless networks. TCPW proposed a new mechanism to estimate the network bandwidth to properly calculate both the congestion window and the slow start threshold whenever congestion is observed. Nevertheless, TCPW still behave like traditional TCP variants whenever a packet is dropped. Once a packet’s timeout is expired, TCPW starts a hard congestion avoidance procedure. In this paper, a new modification to the TCPW congestion control mechanism is presented. In this method, we have changed the TCPW response whenever a packet is dropped. We tried to prevent it from unnecessary resting the congestion window unless real congestion is shaped. The new presented method is validated through ns-3 simulator. As a result, significant improvement has been shown using the new modification scheme comparing to the traditional TCPW.

I. INTRODUCTION Wireless technologies have experienced intensive improvements in the past two decades. This in turn led to develop expansive applications and services. Rapidly, new technologies have been introduced the latest were the Long Term Evaluation (LTE) and (LTE-Advance). Naturally, new technologies need new mechanisms to drive its expected potential. TCP –Transmission Control Protocol is the most popular transport protocol over the internet. In fact, TCP tries to achieve a seemingly impossible task; it uses the unreliable Internet Protocol (IP) service to provide a reliable data delivery service. Unfortunately, TCP fails to support the new wireless technologies. Significant unfairness and low performance over wireless networks have been reported [7, 8, & 9]. TCP congestion control mechanisms originally design according the wired networks assumptions. On the other hand wireless network environments have different specifications which make the TCP congestion control mechanisms fail to recognize the congestion packet dropped from other reasons of packet losses such as; path attenuation, wireless channels error rate, and etc. Over the past few years many variants of TCP have been produced with new features and enhancements to overcome this issue. These variants could be categorized into three main alternative approaches: End-To-End (E2E), Split Connection, and Localized Link Layer methods.

TCP Westwood proposed a mechanism to estimate the available network’s bandwidth by monitoring the acknowledgment receiving rate at the sender side. The estimated bandwidth then used to set the congestion window (cWnd) and the slow start threshold (ssthresh) rather than halving the ssthresh value and resting the cWnd to one segment as Reno and NewReno behave [3]. TCPW shows remarkable enhancement over the wireless networks throughput. However, its performance seriously degraded whenever more packets dropped over high bit error rate networks. This paper is organized as follows. A study background is presented in section two including a brief introduction of the main TCP variants. Section three discusses the new modification scheme proposed in this paper. Section four shows the simulation results. Finally, section five concludes the presented work. II. BACKGROUND Many TCP variants have been proposed in the past few years. This section will briefly discuss the core TCP congestion control mechanisms and then elaborate more about TCPW.

A. TCP Tahoe TCP Tahoe [2] is the first member of the TCP family that introduced a congestion control mechanism. TCP Tahoe introduced the slow start and Additive Increase Multiplicative Decrease mechanism (AIMD). It started with the Slow Start Phase by incrementing the cWnd by one MSS (Maximum Segment Size) every Acknowledgment received. The slow start exponential growth is limited by Slow Start Threshold (ssthresh). Then a new phase is started called the congestion avoidance. During this phase the cWnd is incremented by one MSS every Round Trip Time (RTT). Whenever a Time-Out occurs i.e. RTO timer expired, the TCP Tahoe halving the ssthresh value and rest cWnd to one MSS and starts the slow start phase again.

B. TCP Reno TCP Reno [4] implements the TCP Tahoe’s slow start and (AIMD) algorithms to maintain the congestion window (cWnd) size. TCP Reno proposed the Fast Retransmission algorithm. Whenever three duplicate acknowledgments received the TCP sender side set the ssthresh equal to the last cWnd and will half

ICAT’14 International Conference on Advanced Technology & Sciences 12-15 August 2014, Antalya, Turkey

the cWnd and then retransmit the acknowledged packet instead of waiting the RTO to expire.

C. TCP NewReno

loses. Here we proposed to use the estimate to check whenever a timeout is occurred to recognize the cause of the packet dropped. The following pseudocode explains the method.

TCP NewReno [5, 6] is the most used TCP variant nowadays. If (coarse Time Out) If (cWnd < EBW/2) It is a slight modification of the TCP Reno fast retransmission. If (Last_RTT ssthresh) /*congestion avoidance */ cwin = ssthresh; endif endif /*Where BWE is the estimated bandwidth, RTTmin is the minimum recoded Round Trip Time, seg_Size=512 bits, cwin is the congestion window.*/

On the other hand, TCPW performs as Reno once coarse timeout. Firstly, set the ssthresh to (BWE*RTTmin)/seg_size, and then rest the cwin to one segment. TCPW shows significant improvement over wired and wireless networks, however we believe that better performance could be achieved by modifying the timeout procedure. We propose to check the values of the estimated bandwidth along with last RTT before changing ssthresh and cWnd. The key idea is that check the network status before performing unnecessary congestion avoidance procedure. The following section presents the proposed modification. III. TCP PETRA TCPW uses the estimated bandwidth values to properly compute both cWnd and ssthresh values. However, it behaves just like other congestion control mechanism once time out occurs. TCPW rests the cWnd size to one segment each time a packet is dropped. It does not check what causes the packet

cWnd = cWnd + seg_size; Else /* Congestion */ cWnd=1; Endif

The key idea of the new modification is that once time out expired, we check the current link status by using two indicators, the estimated bandwidth and the last RTT. If a packet is dropped and the cWnd is less than the half of the estimated bandwidth this mean the link is not congested. Then if the last RTT is less than the estimated RTT (i.e. the link is in a good condition). We can increment the cWnd instead of rest it to one segment. In wireless networks timeout coarse frequently due to the lose nature of the radio channel. Using the proposed modification will prevent the TCPW from unnecessary halving the cWnd whenever timeout is occurred without congestion (both RTT and EBW values indicate no congestion condition). Simulation results show that the proposed modification substantially enhanced the TCPW performance, particularly over high bit error rate channels. IV. EVALUATION In this section, the performance of the TCP PETRA algorithm is assessed. The network throughput and congestion window of the new modified algorithm is compared with the TCPW. For consistent comparison, the same simulation scenario that had been considered to present the original TCPW [3] is adopted in this experiment. Network Simulator NS-3 is used to conduct the simulation all over the evaluation process. A. Simulation Setup The topology presented in this experiment represents a single source and sink connected via a gat-way (PGW), as shown in Figure 1. Two links, source-router links named access link and the router-sink link labelled bottleneck link. A P2P connection is used for both the bottleneck links using the PointToPointHelper provided by ns-3. For the bottleneck link we used the RateErrorModel class to generate sending errors. Errors are assumed to follow uniform distributed to simulate the wireless networks channel.

Fig. 1 Simulation Topology

ICAT’14 International Conference on Advanced Technology & Sciences 12-15 August 2014, Antalya, Turkey

BulkSendApplication class is used to generate a single flow of traffic stared at the source and destined for the sink along the simulation period. Table1 summarize the simulation parameters.

Figure 3 shows the throughput of TCPW and PETRA over different values of bottleneck propagation delay. The throughput is computed for a constant bottleneck bandwidth of 2Mbps and PER of 0.005.

TABLE I SIMULATION PARAMETERS

Parameter

Value

Mobility Access link bandwidth Access link Propagation Delay Bottleneck link bandwidth Bottleneck link Propagation Delay Packet Size Error model Packet Error Rate (PER) Application type Simulation time

Fixed Position 10Mb/s 45 ms 2Mb/s 0.01 ms 512bits Uniform error model 0.005 Bulk send application 100 seconds

B. Simulation Results As mention before, the ns-3’s RateErrorModel class is used to generate random errors along the bottleneck link to simulate the wireless channels. For the first scenario the Packet Error Rate (PER) value is set to 0.005. The Bottleneck link bandwidths varies from 1Mb/s to 8 Mb/s. Firstly, we compare the performance of TCPW with TCP Tahoe, TCP Reno, and TCP NewReno. Then we plot the average throughput corresponding to the bottleneck bandwidth for both TCPW and TCP PETRA in Figure 2.

Fig. 3 Throughput vs. Bottleneck [PER=0.005]

As can be seen from this figure, the new modification algorithm exhibits better performance than the original TCPW for all bottleneck link delay values. Next, we turn to assess the effectiveness of using our method on the congestion windows. Figure 4 shows the congestion window of both TCPW and PETRA algorithms and for the same simulation parameters listed in Table 1. In this figure, the congestion window is plotted for the first 10s of the simulation time in order to show how the new modification preserved a larger window size. It is apparent that TCPW is frequently resting its congestion window to one segment whenever a packet is dropped.

Fig. 2 Throughput vs. Bottleneck [PER=0.005]

The propagation delay is 45 and 0.01 ms for the bottleneck and the access link, respectively. It is clear from this figure that the new modification algorithm outperforms the original TCPW in terms of average throughput. Moreover, it can be observed that as the bottleneck bandwidth increases the throughput is increased; taking into consideration that both implementations utilized the whole available bandwidth.

Fig. 4 Congestion window for the first 10s of the simulation time

Again the average throughput is computed as a function of increasing PER levels and shown in Figure 5. The bottleneck bandwidth is kept at 2Mbps. As we can see, the higher PER is the lower average throughput computed. Although both implementations almost utilized the available bandwidth as the

ICAT’14 International Conference on Advanced Technology & Sciences 12-15 August 2014, Antalya, Turkey

PER is near to zero, the new modification algorithm shows further improvement of the average throughput as PER increases.

intend to extend our simulation scenarios to include more TCP implementations.

REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] Fig. 5 Throughput vs. PER of bottleneck link

Figure 6 shows the congestion windows of the two algorithms. In this scenario the links bandwidth is 1Gbps, the PER set to 0.05, and the simulation period is 100 Seconds. As we can figure, the new modification scheme recorded larger widow size.

[9]

The ns-3 Network Simulator Doxygen Documentation. http://www.nsam.org/doxygen/group_tcp.html, December 2013. V. Jacobson and M. J. Karels, "Congestion avoidance and control," ACM Computer Communication, vol. 18, pp. 314-329, 1988. S. Mascolo, C. Casetti, M. Y. Sanadidi, and R. Wang, "TCP westwood: Bandwidth estimation for enhanced transport over wireless inks," ACM SIGMOBILE, pp. 287-297, 2001. V. Jacobson. “Modified TCP Congestion avoidance algorithm,” April 1990. S. Floyed, T. Hendrson, and A. Gurtov, "The NewReno Modification to TCP's Fast Recovery Algorithm,” RFC 3782, 2004. J. C. Hoe, "Improving the start-up behavior of a congestion control scheme for TCP," SIGCOMM'96, pp. 270-280, 1996. James F. Kurose and K. W. Ross, Computer Networking: A Top-Down Approch Featuring the Internet, 4th ed.: Addison Wesley, 2008. Jemish V. Maisiria and R. M. Patel, "Overview of Techniques for Improving QoS of TCP over Wireless Links," IEEE, pp. 366-370, 2012. Lei Niu and D. Liu, "Improvement of TCP Reno Congestion Control Based on RTT," IEEE, 2012.

Fig. 6 Congestion window over PER [0.05]

V. CONCLUSIONS In this paper a new modification algorithm, to the TCPW congestion control mechanism, referred to as PETRA, is presented. In comparison with TCPW, the new modification algorithm showed conspicuous performance improvements in terms of system throughput and congestion window size. The results of the new modification scheme were assessed and validated through the ns-3 simulation. In future work, it would be useful to study the fairness and the friendless of the new modification scheme. Moreover, we

ICAT’14 International Conference on Advanced Technology & Sciences 12-15 August 2014, Antalya, Turkey