Fuzzy Controller based TCP-Vegas Enhancement for Congestion Control

Document Type : Original Article

Authors

1 Department of Industrial Electronics Engineering and Control, Faculty of Electronic Engineering, Menoufia.

2 Computer Science Faculty of Electronic Engineering Menoufia

3 Industrial Electronics and Control Faculty of Electronic Engineering Menoufia

Abstract

Due to the serious effectiveness of congestion
problem in the Internet performance, congestion control has
the most concern in the network community. Several End-to-
End mechanisms were developed to overcome this problem.
However, most of the existing mechanisms adapt the sending
rate at the sender, when detecting congestion, without
considering the network status. This behavior degrades the
Internet performance. This paper presents a new fuzzy
controller to adjust the sending rate at the sender dynamically
based on the network load. The intended controller is
employed to enhance the TCP-Vegas and the performance is
evaluated by using the well-known Network Simulator NS-2.
The results indicate that the intended controller the AT&T
real network increases the throughput and decreases both the
packet loss and packet delay.

Highlights


In this research work, an efficient fuzzy based TCP
congestion controller is developed to avoid network
collapse. The algorithm dynamically estimates the available
network bandwidth at any time and adapts the sending rate
at the TCP sender according to the changes in traffic load.
The proposed mechanism efficiently utilizes available
capacity of the network as it adapts the sending rate
dynamically. The results indicate that the proposed
controller real network is more effective than TCP Vegas
real network.

 

Keywords


During the past few years, several changes have been
made to the Transmission Control Protocol (TCP) [1], and
different mechanisms have been implemented to avoid
congestion problem [2]. The most popular mechanisms
include TCP Tahoe [3], Reno , New-Reno [12], Sack [6] and
Vegas [4,5,7,8,10]. However, most of the existing
mechanisms adapt the sending rate at the sender without
considering the network load. Briefly, when detecting
congestion, some mechanisms adjust the congestion window
size to one segment and go back to slow start phase. Other
mechanisms adjust the congestion window to slow-start
threshold and go back to congestion avoidance phase. This
behavior decreases the network throughput especially at high
traffic load because the protocol does not use the available
network capacity.
This paper presents a new fuzzy controller to enhance the
TCP-Vegas for congestion control. The intended controller
changes the sanding rate at the sender dynamically based on
the network load. It detects the load by using the Round Trip
Time (RTT) and then adjusts the congestion window size
that in turn adjusts the sending rate. The achievement of the
intended TCP-Vegas fuzzy controller is evaluated by using
the well-known Network Simulator NS-2.
The remainder is regular as follows, Section 2 describes
the behavior of the TCP Vegas while section 3 presents the
problems of TCP Vegas. Section 4 describes the intended
Fuzzy based TCP congestion controls while section 5
presents performance evaluation. Finally, the paper
conclusions.
II. TCP Vegas
TCP Vegas is prefectly different from TCP Tahoe, Reno and
their modifications. It uses packet delay, rather than packet
loss, as a signal to detect congestion at an incipient stage
and then determine the sending packet rate at the sender . In
other words, TCP Vegas develops the congestion avoidance
and fast retransmission phases of TCP Reno to linearly
increase or decrease the window size at the sender
conformity to the observed Round Trip Time (RTT) of the
packets that it has already sent. Commonly, Vegas works by
observation the difference between the expected and the
actual flow rates and adjusts the congestion window. It first
sets Base RTT to the smallest measured RTT, and calculates
the expected flow rate according to
(1)
Where, cwnd is the current window size.
In addition, it calculates the actual flow rate as follows.
(2)
Where, RTT is computed by the difference between the time
at which the ACK comes back and the sending time of the
packet.
Then, it computes the difference between the expected and
the actual flow rates as follows.
(3)

2
Finally, it updates the cwnd continuously to:
Where, α and β are two thresholds more than zero [10] .
In TCP Vegas, the difference is used to adapt the window
size. TCP Vegas defines two threshold
values . When Diff < ,
Vegas increases the window size linearly during the next
RTT. If Diff > reduced then Vegas decreases the window
size linearly during the next RTT. Otherwise, it leaves the
window size unchanged. This means that, if the observed
RTT becomes large, the network is encounter congestion,
causing TCP Vegas to reduce its window size. In addition, if
the observed RTT becomes small, the network is not
encounter congestion causing TCP Vegas to increase its
window size.
III. Problem statement
TCP Vegas has some problems that have critical impacts on
its performance ,When route of a connection changes, the
RTT increases and Vegas misreads it as the outcome of the
network congestion and accordingly decreases its own
sending rate to one segment in some mechanisms and to the
threshold value in other mechanisms . This behavior
inefficiently utilizes the available capacity of the network.
In case of no congestion, it leads to a considerable decrease
of network throughput since the number of packets to be
transmitted is less than the available capacity of the
network.
When a flow reaches to the network later than other flows
and faces with congested queues, it wrongly assesses the
measured RTT as its initial Base RTT. This means that
while other flows decrease their sending rates due to
running congestion, this flow does not sense the congestion
and inequitable increases its sending rate .
To overcome these problems, a new design is required to
adjust the sending rate at the sender according to the
available bandwidth of the network at any time.
IV. Intended Design
In this section, a new congestion control design is developed
to enhance the TCP Vegas. The main idea of the intended
design is to employ fuzzy logic capabilities to dynamically
adapt the congestion window (cwnd) that in turn adjust the
sending rate. To do this, the controller changes the window
size based on five distance values between the Diff value
and the two thresholds instead of changing the window size
according to the comparison between the Diff with the two
fixed thresholds only. That is, if the distance between the
Diff value and thresholds is very low, low, medium,
high or very high, the controller changes the window size
very low, low, high or very high, respectively.
Generally, designing fuzzy controller requires awareness of
the effect of the membership functions on the efficiency of
the controller. In other words, the challenging tasks
associated with fuzzy controller are to choose appropriate
membership functions, shape of membership functions i.e.
triangular, Gaussian etc., inference mechanism, minimum
rule base and the most convenient fuzzifier and defuzzifier .
Research results have shown that singleton fuzzifier,
triangular and trapezoid input membership functions, center
average defuzzifier and product inference engine works best
for the fuzzy controller [9,11,13,14].

[1] J. Postel, “Transmission Control Protocol,” IETF RFC
793, September 1981.
[2] J. Nagle, “Congestion control in IP/TCP
Internetworks,” Request for Comments (RFC) 896,
Internet Engineering Task Force, January 1984.
[3] V. Jacobson, “Congestion Avoidance and Control,”
ACM SIGCOMM Computer Communication Review,
Vol. 18, No. 4, pp. 314-329, August 1988.
[4] L. S. Brakmo, S. W. O’Malley and L. L. Peterson,
“TCP Vegas: New Techniques for Congestion Detection
and Avoidance” Proceedings of ACM SIGCOMM,
London, August 31-September 2, pp. 24–35, 1994.
[5] L. Brakmo and L. Peterson, “TCP Vegas: End-to-End
Congestion Avoidance on Global Internet” IEEE Journal on
Selected Areas in Communications, Vol. 13, No. 8, pp.
1465-1480, 1995.
[6] M. Mathis, J. Mahdavi, S. Floyd and A. Romanow,
“TCP Selective Acknowledgment Options” RFC 2018,
Internet Engineering Task Force, October 1996.
[7] U. Hengartner, J. Bolliger and Th. Gross, “TCP Vegas
Revisited “ Proceedings of the IEEE Nineteenth Annual
Joint Conference of the IEEE Computer and
Communications Societies (INFOCOM 2000), 2000.
[8] Richard J. La, Jean Walrand, and Venkat
Anantharam,“ Analysis and comparison of TCP Reno and
Vegas” 2001.
[9] P. Carbonell, Z. P. Jiang, and S. S. Panwar, “Fuzzy
TCP: A Preliminary Study”, Proceedings of the 15th IFAC
World Congress (IFAC 2002), Barcelona, Spain, July 21-26,
2002.
[10] Cheng P. Fu and Soung C. Liew, “A Remedy for
Performance Degradation of TCP Vegas in Asymmetric
Networks” IEEE COMMUNICATIONS LETTERS, VOL.
7, NO, 1, pp. 42-44, JANUARY 2003.
[11] H. Nejad, M. Yaghamaee, H. Tabatabaee “Modified
Fuzzy TCP: Optimizing TCP congestion control”, IEEE
2006 .
[12] Hanaa Torkey, Gamal Attiya and Ibrahim Z. Morsi,
"Modified Fast Recovery Algorithm for Performance
Enhancement of TCP-NewReno", International Journal of
Computer Applications, Volume 40, No.12, pp. 30-35,
February 2012.
[13] Zainab T. Alisa and Sara Raad Qasim, “A Fuzzy
based TCP Congestion Control for Wired Networks,”
International Journal of Computer Applications (0975–
8887), Vol. 89, No.4, pp. 36-42, March 2014. Article
(CrossRef Link)
[14] Doaa H. Esawi, Gamal Attiya, Mohammad El-Bardini
"Intelligent Controller based Host-to-Host Congestion
Control: Fuzzy Logic Controller", 2019 7th International
Japan- Africa Conference on Electronics, Communications,
and Computations, (JAC-ECC), 2019.