Veno-A: Adaptive Congestion Control Approach for Hybrid Network

Similar documents
IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online):

TCP Veno: Solution to TCP over Wireless

Improving Host-to-Host Congestion Control Protocols by Dynamic Bandwidth Estimation of the Network

MEASURING PERFORMANCE OF VARIANTS OF TCP CONGESTION CONTROL PROTOCOLS

TCP based Receiver Assistant Congestion Control

ISSN: Index Terms Wireless networks, non - congestion events, packet reordering, spurious timeouts, reduce retransmissions.

Fuzzy based Tuning Congestion Window for Improving End-to-End Congestion Control Protocols

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

Comparing TCP Congestion Control Algorithms Based on Passively Collected Packet Traces

TCP VARIANTS TO CONTROL CONGESTION

Performance Analysis of Transmission Control Protocol Variants

HOST TO HOST CONGESTION CONTROL USING TCP ENHANCED NEWRENO

Rate Based Pacing with Various TCP Variants

Analysis of Reno: A TCP Variant

Transmission Control Protocol (TCP)

TCP Congestion Control in Wired and Wireless Networks

An Enhanced Slow-Start Mechanism for TCP Vegas

Delayed ACK Approach for TCP Performance Improvement for Ad Hoc Networks Using Chain Topology

TCP Congestion Control in Wired and Wireless networks

Congestion Control Techniques In Transport Layer For Wired Connections

Experimental Study of TCP Congestion Control Algorithms

CS4700/CS5700 Fundamentals of Computer Networks

Problems and Solutions for the TCP Slow-Start Process

Internet Networking recitation #10 TCP New Reno Vs. Reno

Review: Performance Evaluation of TCP Congestion Control Mechanisms Using Random-Way-Point Mobility Model

Implementation of TCP Algorithms in Combination with NACK Feature of Adhoc Networks

Performance Analysis of TCP Variants under MANET Environment and using NS-2

Inferring TCP Congestion Control Algorithms by Correlating Congestion Window Sizes and their Differences

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

TCP congestion control:

CS3600 SYSTEMS AND NETWORKS

A Survey on Quality of Service and Congestion Control

Flow and Congestion Control Marcos Vieira

ENSC 835: COMMUNICATION NETWORKS

ENSC 835 project (2002) TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments

Performance Analysis of TCP Variants

Experimental Analysis of TCP Behaviors against Bursty Packet Losses Caused by Transmission Interruption

Performance Study of TCP Veno over WLAN and RED Router

100 Mbps. 100 Mbps S1 G1 G2. 5 ms 40 ms. 5 ms

DEPLOYMENT OF FAIR SHARE AND SMART START TECHNIQUE FOR OPTIMAL USE OF AVAILABLE CAPACITY IN TCP CONGESTION CONTROL

image 3.8 KB Figure 1.6: Example Web Page

TCP Congestion Control

TCP Congestion Control

Design of Network Dependent Congestion Avoidance TCP (NDCA-TCP) for Performance Improvement in Broadband Networks

An Implementation of Cross Layer Approach to Improve TCP Performance in MANET

Studying Fairness of TCP Variants and UDP Traffic

THE NETWORK PERFORMANCE OVER TCP PROTOCOL USING NS2

PERFORMANCE ANALYSIS OF TCP IN WIRELESS MULTI-HOP ENVIRONMENT

ISSN: International Journal of Advanced Research in Computer Engineering & Technology (IJARCET) Volume 2, Issue 4, April 2013

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Exploring Congestion Control Mechanism of TCP Variants over Wired & Wireless Networks

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Prasanthi Sreekumari, 1 Sang-Hwa Chung, 2 Meejeong Lee, 1 and Won-Suk Kim Introduction

cs/ee 143 Communication Networks

Design and Performance Evaluation of High Efficient TCP for HBDP Networks

Chaoyang University of Technology, Taiwan, ROC Nan-Kai Institute of Technology, Taiwan, ROC

Communication Networks

Recap. TCP connection setup/teardown Sliding window, flow control Retransmission timeouts Fairness, max-min fairness AIMD achieves max-min fairness

Enhancing TCP Throughput over Lossy Links Using ECN-Capable Capable RED Gateways

Enhancement of IFTP for Transmission over Wireless Access Networks

Transport Layer (Congestion Control)

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

Selective-TCP for Wired/Wireless Networks

ENHANCING TCP OVER SATELLITE LINKS USING CANIT ALGORITHM

Wireless-Aware Congestion Control for Transmission over Heterogeneous Networks

ENSC 835 project TCP performance over satellite links. Kenny, Qing Shao Grace, Hui Zhang

304 IEEE COMMUNICATIONS SURVEYS & TUTORIALS, VOL. 12, NO. 3, THIRD QUARTER Host-to-Host Congestion Control for TCP

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

COMP/ELEC 429/556 Introduction to Computer Networks

8. TCP Congestion Control

Congestion Control End Hosts. CSE 561 Lecture 7, Spring David Wetherall. How fast should the sender transmit data?

Study of TCP Variants Compression on Congestion Window and Algorithms in Dynamic Environment

RED behavior with different packet sizes

TCP over Wireless. Protocols and Networks Hadassah College Spring 2018 Wireless Dr. Martin Land 1

ROBUST TCP: AN IMPROVEMENT ON TCP PROTOCOL

Discrete TCP: Differentiating Slow Start and Congestion Avoidance

Gallop-Vegas: An Enhanced Slow-Start Mechanism for TCP Vegas

Impact of False RTT on the Efficiency of TCP-NJ in WLAN

EJTCP: Enhanced Jitter-based TCP for Wireless Broadband Networks *

Congestion Collapse in the 1980s

INTERNATIONAL JOURNAL OF ADVANCED RESEARCH IN ENGINEERING AND TECHNOLOGY (IJARET)

Comparative Analysis of TCP Variants using NS and Netanim on Ubuntu Version Platform

CS Transport. Outline. Window Flow Control. Window Flow Control

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

TCP over Wireless Networks:

CSCI-1680 Transport Layer II Data over TCP Rodrigo Fonseca

Performance Analysis of Loss-Based High-Speed TCP Congestion Control Algorithms

Advanced Slow Start TCP Algorithm

Improving the Ramping Up Behavior of TCP Slow Start

CS321: Computer Networks Congestion Control in TCP

A New Fair Window Algorithm for ECN Capable TCP (New-ECN)

ANALYSIS OF VARIOUS TCP SUB-VERSIONS AND MECHANISM FOR CONGESTION AVOIDENCE

RD-TCP: Reorder Detecting TCP

EVALUATING THE DIVERSE ALGORITHMS OF TRANSMISSION CONTROL PROTOCOL UNDER THE ENVIRONMENT OF NS-2

Performance Analyses of TCP Westwood

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

ANALYSIS OF TCP ALGORITHMS IN THE RELIABLE IEEE b LINK

Performance Improvement of Wireless Network Using Modern Simulation Tools

Chapter II. Protocols for High Speed Networks. 2.1 Need for alternative Protocols

Transcription:

Volume 120 No. 6 2018, 447-458 ISSN: 1314-3395 (on-line version) url: http://www.acadpubl.eu/hub/ http://www.acadpubl.eu/hub/ Veno-A: Adaptive Congestion Control Approach for Hybrid Network Sanjesh S. Pawale 1, Sandeep B. Vanjale 2 1 Research Scholar, 2 Professor, 1,2 Department of Computer Engineering, Bharati Vidyapeeth Deemed University, College of Engineering, Pune, India. 1 sanjeshpawale@gmail.com, 2 sbvanjale@bvucoep.edu.in July 5, 2018 Abstract Transport Control Protocol (TCP) carries most of the traffic of internet, so the behavior of internet depends on the performance of TCP. One of the factors affecting the performance of TCP is Congestion Control Approach. Many Congestion Control Algorithms work well for the wired network but for wireless and hybrid network they fail to perform well. The original TCP design assumes packet loss is always induced by congestion. This assumption can lead to significant performance degradation in wireless networks as often packet loss is due to random losses. Hence TCP Veno was modeled as it has the ability to distinguish random and congestion loss. Veno has a variable called beta which is constant and which limits the increment in the window size. As a result, TCP Veno fails to utilize the network resources fully. This paper proposes a modification in a congestion control mechanism called TCP Veno which is able to deal with random loss effectively and changes the beta value dynamically. The proposed Algorithm, TCP VENO-A, deals 1 447

with the random losses and suppresses the effect imposed due to the beta variable by making it dynamic. It also uses the alpha variable which is used in TCP Vegas to decide when to enter slow start phase. TCP VENO-A modifies the Congestion Avoidance phase of original TCP VENO. Key Words:TCP, Congestion Control, Congestion Window. 1 INTRODUCTION Congestion is a problem that occurs on shared networks when multiple users contend for access to the same resources (bandwidth, buffers, and queues). Analogues to this are roadways. Many vehicles enter on the road without bothering about the traffic on road. Due to this traffic on road increases, and more congestion occurs. In the similar way as flow increases the number of packets too increases beyond the network capacity and eventually, packets are lost. For minimizing the rate congestion control[1] uses a window which limits the number of packets to flow in the network at given time. The size of a window is changed dynamically by TCP variants. TCP variants are categories as per their nature; proactive, reactive or both. Proactive use delay as network parameter to detect congestion i.e. before a packet is actually lost it takes care of congestion window (cwnd)[2]. Reactive uses packet loss as to check whether it is in congestive or non- congestive state. It reacts after loss i.e. it decreases cwnd when it observes that packet is lost. The Hybrid combines the feature of proactive and reactive. When the network is underutilized, it operates in a delay mode and exploits the residual capacity of the bandwidth. When the network becomes congested, it moves to a reactive mode and behaves as Reno[3][4][5] until next packet losses happen. In this paper, we have used Veno and modified it when it operates in delay mode i.e. modified only TCP Vegas part. 2 448

2 TCP VEGAS TCP Vegas[2] is a delay based congestion control TCP variant which means it decreases the cwnd before the packet is lost. Thus it is less aggressive than Reno[6]. Vegas maintain two variables, alpha and beta, which controls the size of cwnd dynamically. Whenever the network is not congested the expected flow rate will be the actual flow rate. In a congested network scenario, the expected flow rate is larger than actual flow rate. With the help of difference between expected and actual flow rate, TCP Vegas[7] estimates available network bandwidth. Using this difference (d), it estimates the congestion level in the network and updates the window size accordingly. This difference in the flow rates can be easily translated into the difference between the window size and the number of acknowledged packets during the round trip time. Thus TCP Vegas tries to keep at least alpha packet but no more than beta packets in the queues and maintains the equilibrium state of cwnd. The following is the algorithm of Vegas: If (d < alpha) then cwnd = cwnd + 1 AI If (d > beta) then cwnd = cwnd 1 AD if (alpha< d < beta) No change in cwnd equilibrium point 3 TCP VENO Veno [4][8][9]is hybrid TCP variant i.e. it is the mechanism of delay and loss based. It combines the proactive nature of Vegas and reactive nature of Reno. Veno was proposed to eliminate TCP performance suffering from wireless links. Since in wireless network there may be multiple reasons [10] for packet loss rather than congestion. Veno uses the same logic as that of Vegas to estimate the state of the connection. If packet loss is detected while the connection is in the congestive state, Veno assumes the loss is due to congestion; otherwise, it assumes the loss is random. TCP Veno [11] makes use of the state distinguishing scheme from TCP Vegas and integrates 3 449

it into congestion window evolution scheme of TCP Reno. In Vegas, the sender measures the so-called Expected and Actual rates: Expected = cwnd / Base Round Trip Time (RTT) Actual = cwnd / RTT Where cwnd is the current congestion window size, BaseRTT is the minimum of the measured round-trip time, and RTT is the smoothed round-trip time measured. The difference of the rate is : D = Expected - Actual When RTT > BaseRTT, there is a bottleneck link where the packets of the connection accumulate. Let the backlog at the queue be denoted by N. We have: RTT = BaseRTT + (N / Actual) Rearranging, we have: N = Actual (RTT BaseRTT) = D BaseRTT = (cwnd / BaseRTT cwnd / RTT) BaseRTT The main idea of Veno is to use the measurement of N as an indication of whether the network is in congestive state or noncongestive state. At any time, if N = beta, Veno deduces the link as in congestive state and considers the packet loss as congestion loss. Otherwise if N beta, the link is in non-congestive state and the packet loss is a random loss. Here beta is normally set to be 3. Based on the differentiated state, Veno applies different algorithms to Renos additive increase (AI) and multiplicative decrease (MD) phases, thus makes cwnd evolution more efficient. In AI phase, IF (N<beta) THEN set cwnd = cwnd + 1 //cwnd for every new acknowledge (ACK) ELSE IF (N >= beta) THEN set cwnd = cwnd +1 //cwnd for every other new ACK In MD phase, 1. Retransmit the missing packet, and IF (N<beta) THEN set Slow Start Threshold (ssthresh) = cwnd 4/5 4 450

ELSE IF (N >= beta) THEN set ssthresh = cwnd 1 2 2. Each time another dup ACK arrives, increment cwnd by one packet. 3. When the next ACK acknowledging new data arrives, set cwnd to ssthresh (value in step 1). 4 PROBLEM WITH VEGAS AND VENO In both Vegas and Veno the variables, alpha and beta are constant. These variables are responsible for the increment of cwnd. As they are set constant, they restrict the further growth of cwnd even if the network is not fully occupied. Thus their throughput decreases. If we make this variable dynamic then they will not limit the cwnd size if the network is not fully occupied. Veno in congestion avoidance stage checks if N is greater than beta (which is constant); then increases window by 1 every other RTT, making it less aggressive. Thus even if there is scope to increase cwnd per RTT, it doesnt allow it. Vegas-A suggests a modification of alpha and beta variables and makes it dynamic and it was proposed for Vegas. Hence we tried to use it with Veno with some modification as Veno is a combination of both Vegas and Reno. In wired network TCP performance enhanced by modifying TCP NewReno[12]. We have kept Renos part as it is, and has changed only its congestion avoidance phase (specifically in AI phase). Original Veno does not use variable alpha, but the modification in Vegas used it for deciding when to switch to Slow Start from Congestion Avoidance (RFC 2582)[13]. 5 VENO-A Veno-A (VEno-A+reNO) makes the alpha and beta variable dynamic so that it does not restrict the increment of a window. Veno- A keeps the Slow Start and Multiplicative Decrease phase same as Veno[7][14]. The following is the modification done in Additive Increase phase. Original Venos Algorithm: 5 451

if (N < beta) then cwnd = cwnd + 1 //every RTT else if (N >= beta) then cwnd = cwnd + 1 //every other RTT Proposed Algorithm (Veno-A): Initialize alpha = 2 & beta = 4 Case 1: N in between alpha and beta Its time to increase the limitation of beta (making alpha and beta dynamic) if current rate increases. if (beta>n && N>alpha) cwnd ++; //every RTT if (current rate > prev rate) alpha++; beta++; Case 2: N is below alpha Its time to be more aggressive hence enters in slow start phase. elseif (N < alpha) slowstart(); Case 3: N goes above beta Its time to be lenient hence increase cwnd every second RTT and also decrease the value of alpha and beta. elseif (N > beta) if (alpha>1) alpha ; beta ; cwnd ++; //every other RTT Once packet is lost it behaves same as Veno. 6 SIMULATION OVER A HYBRID NET- WORK (WIRED-CUM-WIRELESS NETWORK) To check the effect of the modification done in Veno, we have simulated it in NS-2. For Simulation purpose, we have used Agent/TCP/Linux/ from NS-2 and selected Vegas and Veno in-built code for comparison and modification. The sample network is shown in fig. 1. 6 452

Fig. 1: Wired-Cum-Wireless Network The sample network consists of two wireless nodes (client 1 and client 2), one access point and one wired node (server). Client 1 and client 2 are mobile and are registered with an access point. Client 1 starts sending packets at time 10 and client 2 sends at 20 and eventually both stops at 100. A link between AP and server is of 5Mbps and that of wireless is 10Mbps. A link delay of the wired link is 50ms. After applying Vegas, Veno and Veno-A, we received results shown in fig.2. Fig. 2: CWND vs Time The above graph is plotted using Xgraph where Veno1 (Veno-A) is our proposed algorithm. As there are two flows we can see two variations in cwnd for each algorithm. Table 1 shows the average congestion window size of Vegas, Veno, and Veno-A and their comparison: TABLE 1: AVERAGE CWND SIZE 7 453

Table 2 gives the total data sent using Vegas, Veno, and Veno-A and compares them: TABLE 2: TOTAL DATA SENT Table 3 compares the throughput achieved by Vegas, Veno, and Veno-A and compares them: TABLE 3: THROUGHPUT COMPARISON The fig. 3 shows a graph comparing Vegas, Veno, and Veno-As throughput versus link delay: Fig. 3: Throughput vs Link delay 8 454

The given Table 4 compares the throughput achieved by Vegas, Veno, and Veno-A for a network having different link delay. From these results, we make a conclusion that Veno-A gives better results than Veno and Vegas. Fig.8. Von Mises graph for Bi-Morph structure 7 CONCLUSIONS In this paper, we have modified Veno by making beta variable dynamic and the modified Veno is named as Veno-A, where A stands for adaptive. Thus if difference increases, the beta also increases if the current rate has increased than its previous value. As a result, the difference does not go above beta and cwnd increases with every RTT and not with every other RTT. In Veno-A, we have introduced Vegas variable alpha. Whenever a difference is below alpha, Slow Start procedure is called where it becomes more aggressive. If in case difference goes above beta, cwnd increases every other RTT and checks if alpha is above its default value then both alpha and beta are decreased. Simulation results show that the performance of Veno-A is better than original Vegas and Veno. Veno-A not only performs well in hybrid but also has given better results in wired and wireless networks. But for a network with very less link delay Veno-As throughput is as close as Veno, in fact, is less than Veno. So as link delay increases Veno-A gives much better result than Original Veno. References [1] Van Jacobson, Aug, 1988, Congestion Avoidance and Control SIGCOMM 88, ACM. 9 455

[2] Alexander Afanasyev, Neil Tilley, Peter Reiher, and Leonard Kleinrock 2010. Host to Host Congestion Control for TCP. IEEE Communications survey & tutorials, Vol.12 No.3. third quarter. [3] Ghassan A. Abed, Mahamod Ismail and Kasmiran Jumari. 2011 A survey on the performance of Congestion Control Mechanisms for standard TCP version, Australian Journal of Basic and Applied Science, 5(12) : 1345-1352. [4] Cheng-Yeun Ho, Yaw-Chung Chen, Yi-Cheng Chan, Cheng- Yun Ho,2008, Fast retransmit and Fast recovery schemes of transport protocols: A survey and taxonomy, Elsevier ScienceDirect, computer network 52, 1308-1327. [5] M. Allman, V. Paxson and W. Stevens, April 1999, TCP Congestion Control, RFC 2581. [6] Mrs. Reena Rai and Dr. Maneesh Shreevastava, Performance Improvement of TCP by TCP Reno and SACK Acknowledgement. [7] K.N. Srijith, LillyKutty Jacob, A.L. Ananda, TCP Vegas-A: Improving the Performance of TCP Vegas. [8] Bin Zhou, Cheng Peng Fu, Dah-Ming Chiu, Chiew Tong Lau, and Lek Heng Ngoh, A simple throughput model for TCP Veno. [9] Chengpeng Fu and Soung C. Liew. 2003, TCP Veno: TCP Enhancement for Transmission over Wireless Access Networks, IEEE Journal on selected areas in communications, Vol. 21, No. 2. [10] Ye Tian, Kai Xu, And Nirwan Ansari, 2005, TCP in Wireless Environments: Problem and solutions, IEEE Radio Communication, Volume 43 Issue 3. [11] Jacobson, V., April 30, 1990, Modified TCP Congestion Avoidance Algorithm, end2end-interest mailing list. 10 456

[12] S.S.Pawale, S.J.Wagh, R.S. Jadhav, Dec.2017, An efficient congestion control methodology to enhance the performance of TCP in wired network. [13] Floyd and T. Henderson, April 1999, The NewReno Modification to TCPs Fast Recovery Algorithm, RFC 2582. [14] Yi-Cheng Chan, Chia-Liang Lin, Chia-Tai Chan, Cheng-Yuan Ho, 2010, Code TCP: A competitive delay-based TCP. 11 457

458