0% found this document useful (0 votes)
17 views

TCP ACC Another Congestion Control Algorithm BIC Simulation and Analysis Using The NS3

1. The document discusses TCP congestion control algorithms and proposes a new algorithm called TCP ACC. 2. It analyzes TCP ACC and other algorithms like TCP New Reno and TCP BIC using the NS3 network simulator. 3. The results show TCP ACC has slightly better performance than TCP BIC in utilizing channel bandwidth and avoiding congestion.

Uploaded by

GirishPaliwal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

TCP ACC Another Congestion Control Algorithm BIC Simulation and Analysis Using The NS3

1. The document discusses TCP congestion control algorithms and proposes a new algorithm called TCP ACC. 2. It analyzes TCP ACC and other algorithms like TCP New Reno and TCP BIC using the NS3 network simulator. 3. The results show TCP ACC has slightly better performance than TCP BIC in utilizing channel bandwidth and avoiding congestion.

Uploaded by

GirishPaliwal
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

TCP ACC: Another Congestion Control Algorithm

Simulation and Analysis using the NS3

Girish Paliwal* and Swapnesh Taterh


Amity University Rajasthan Jaipur
Email: [email protected]
Email: [email protected]
*Corresponding author
Abstract: Now these days most of the electronic devices are connected with
internet through wire or wireless computer network. This is very popular
networking terminology known as internet of things IOT, In background each
and every internet networking devices. They are connecting to the backbone
networking server. If this backbone network route is congested then IOT
devices are suffered from their services and all these things are lacking in
performance. The high throughput and low latency internet services are
required for each device to do well. There are number of reasons behind the
internet speed. The most important reasons are that the TCP/IP protocol not
uses the actual channel bandwidth and congestion occurrence during the data
transmission. The congestion occurance attracts the research to find out new
innovative way to avoid the congestion or make a congestion free network. The
researches try to develop congestion control algorithm more effective and
efficient to resolve the congestion situation. The different bandwidth of
communication medium used by the computer network that’s why congestion
occurs and not get the maximum throughput. The TCP congestion control
algorithm can make the server congestion free and provide reliable data
communication. In this paper we are analysis different congestion control
algorithm as TCP New Reno, TCP BIC, TCP Scalable and TCP Westwood on
the basis of different parameters. We also proposed a new algorithm TCP ACC
Another Congestion Control Base on the TCP BIC congestion control
algorithm and it is also analysis with others algorithms that show the little bit
better results in comparison of the actual TCP BIC algorithm.
Keywords: TCP, Congestion Control Algorithm, TCP BIC, TCP New Reno,
NS3, TCP ACC: TCP Another Congestion Control

1. Introduction

TCP is the heart of current Internet (Patriciello, 2017, p. 1) .The transmission


control protocol TCP widely used on the computer communication network through
Internet in the most of the traffic is passing through TCP protocol. so the performance of
the Internet is depend significantly on the transmission control protocol performance, if
the TCP performance is better than the respectively Internet performance is also better.
One of the most important internet aspects of controlling the traffic and avoiding the
congestions, there are several type of TCP congestion control algorithm developed by the
researchers. each of them has their own properties and implemented their own congestion
control techniques to controlling the congestion.(Ahmed, 2014). The computer network
communication is much faster and stable for transmitting information one location to
another rather than another traditional ways. We found that the scalability and robustness
of the computer network internet connection is proven by the transmission control
protocol. The TCP/IP protocol provides a reliable internet connection to this community.
We need to provide the high speed internet accessibility and connectivity for the internet
enabled devices. We need to increase the transmission channel bandwidth of the internet
as well as the congestion avoidance or congestion free internet connectivity’s. The TCP
protocol provides connection oriented computer communication that provides fast and
error free internet data transmission. The term connection oriented means the two
computer applications must establish a TCP connection to each other before they can
start data transmission. TCP is a full duplex protocol, its meaning that each TCP
connection between a pair of computer devices data transmission in the form of byte
streams. Both connected devices can stream data in each direction. TCP includes data
packets flow-control mechanism that allows the receiver device to limit how much data
sender device can transmit. TCP also implements a congestion-control mechanism for
resolving the congestion problem.
However the numbers of congestion control algorithms are developed to avoid
congestion into the connection channel. so that the peoples are get high speed internet
connectivity without losing data packets during the data transmission but till now no
congestion control algorithm was completely utilize the full channel capacity. This is
motivated to the number of researcher to improvise the existing TCP congestion control
algorithm or developed a new congestion control algorithm that provide high throughput
and low latency time. (Nguyen, Gangadhar y Sterbenz, 2016, p. 21) Today’s mobile
communication networking technology is people-centric revolution rather than the device
centric that means the people put in the center and build the devices network to fulfill the
people requirements without the failure of the internet connectivity. These devices are
required a high speed internet connectivity with best congestion control algorithm.
(Girish Paliwal y Swapnesh Taterh, 2017, p. 327). In computer network communication
the TCP/IP provides the most reliable network connection where as authors (Girish
Paliwal, Ankur Prakash Mudgal y Swapnesh Taterh, 2015) describe the number of
attacks at transport layer architecture. These attacks are like as TCP Session highjack,
TCP SYN attack, DOS and jellyfish attack etc. The researcher also required to control
these types of security attacks over the TCP to get real reliable transmission protocol. Till
now the TCP protocol having the numbers of properties like reliability, flow control,
multiplexing, and stream data transfer, logical data connection and full duplex
connectivity.
In the TCP congestion control algorithm are designed to adjust the sending data rate
to the data sender through the parameter called congestion window Cwnd, using this
congestion window the network bandwidth is maximum utilized without dropping the
data packets and without creating any congestion into the network.
Most of the TCP congestion control algorithms are used two kinds of mechanism for
packet loss detection. The first technique is that the sender retransmission timeout that is
considered as a packet lost by the sender because it does not received the corresponding
acknowledgment after some amount of time (RTO). The another technique is fast
retransmission of data packets on the basis of receipt of duplicate acknowledgements
(DUPACK) in this mode the receiver keep track of the sequence numbers of the data
packets that generate duplicate acknowledgement. if the sender received three or more
duplicate acknowledgements in a row it will retransmit the lost data packet immediately
without waiting of round trip time out and reducing the congestion window at the same
time. On the basis of their efficiency and reliability, these packet loss detection
mechanisms are directly or indirectly incorporated to the entire congestion control
algorithm (Jun Zhang, 2014)
The TCP having four congestion control algorithms to implementation: First slow
start, second congestion avoidance, third fast retransmit and fourth fast recovery
explained in details into (RFC2581).

1.1. Slow start and congestion avoidance algorithm implementation

In the phase of Slow start and congestion avoidance algorithm implementation must
be used by a TCP sender data controlling to inject outstanding data into the network. this
can be handled by two variables the congestion window (Cwnd) this is a sender side limit
of data amount transmission before receiving an acknowledgment (ACK) and receiver
advertised window (RWND) is the receiver side limit of data amount outstanding for
processing. Another variable is slow start threshold (ssthresh), it is used for determining
the congestion avoidance algorithm is used to data transmission control. the initial cwnd
size depends on the SENDER MAXIMUM SEGMENT SIZE (SMSS) and cwnd set to
less or equal to 2 * SMSS. on receiving every ACK cwnd is increased by full segment
size until not detected duplicate ACK. when packet loss detected then set the maximum
ssthresh by the maximum value between flightsize/2 and 2*SMSS, where flightsize is the
amount of outstanding data in network.

1.2. Fast Retransmit/Fast Recovery

The TCP sender SHOULD use the "fast retransmit" algorithm to detect and repair
loss, based on incoming duplicate ACKs. After receiving 3 duplicate ACKs, TCP
performs a retransmission of what appears to be the missing segment, without waiting for
the retransmission timer to expire.
1. If 3DUPACK is received, set ssthresh to max(flightsize/2, 2*SMSS)
2. Retransmit the lost segment and set cwnd to ssthresh plus 3*SMSS.
3. For each additional duplicate ACK received, increment cwnd by SMSS.
4. Transmit a segment, if allowed by the new value of cwnd and the rwnd.
5. When the next ACK arrives that acknowledges new data, set cwnd to ssthresh
This ACK should be the acknowledgment elicited by the retransmission from step 1,
one RTT after the retransmission. ("RFC 2581," 2001) figure 1 show the TCP congestion
control algorithm implementation data flow diagram with the different stages.

Figure 1 TCP Congestion control algorithm with fast recovery flow representation

In this paper, we propose an improved version of TCP congestion control algorithm,


named TCP-ACC based on the TCP BIC. The algorithm TCP ACC is simulated and
analysis with the other congestion control algorithms as TCP NewReno and TCP BIC.
Experimental results obtained using network simulators NS3 that show the performance
of the algorithm is significantly improved as compared to other.
The rest of this paper is organized as follows. In section II, we give an overview of
the background and related work for wireless network TCP. In III, we give a description
of the proposed TCP-ACC algorithm. Section IV analyzes the TCP-ACC algorithm using
the approximate stable state throughput model. Section V shows the simulation and
experiment results. Finally, we summarize the findings in section VI.
2. Related work

The internet has recently been used by different type of devices. So that it is
change from homogeneous congestion control to heterogeneous congestion
control scenario. A few years ago, only the TCP congestion control algorithm
mainly used for controlled the Internet traffic. The TCP congestion control
algorithm used the AIMD standard Additive-Increase-Multiplicative-Decrease
algorithm. However, different TCP algorithms are used to control internet
traffics. (Yang et al., 2014, p. 1312). First of all we start the analysis of existing
congestion control algorithm TCP NewReno and TCP BIC according to the
following simulation scenario setup into the NS3 network simulator.

3. Simulation Setup in NS3

In this section we evaluate and analysis the different type of congestion


control algorithms as TCP NewReno and TCP BIC. We are using a simple
network scenario and applied through the network simulator NS3. We are
creating a point to point connection between source and sink and simulate
according to different bandwidth with varying time of simulation. Each TCP
congestion control algorithm is analysis on the basis of congestion window and
Round trip time. The following table 1 shows the network simulator parameters
that we are using in simulation through NS3. (Grieco y Mascolo, 2004) .

Figure 2 Simulation network scenario implemented

Table 1 Simulation Scenario parameters and their values

Parameters Values
Bandwidth 2, 5, 10 Mb/s
Time of Simulation 25, 50,80 seconds
Queue Type PfifoFastQueueDisc
Nodes 2
Delay 0.01 ms
TCP TCP NewReno, Bic
Access Bandwidth 10 Mb/s
Access Delay 0.45 ms

3.1. TCP NewReno congestion control algorithm

The TCP RENO is the default congestion control algorithm that implemented in NS3.
It is incorporated the slow start and fast recovery congestion control. it is identify three
consecutive the packet loss ACK then restart retransmission. TCP NewReno does not
wait for round trip time out. (Khalid Hussain Mohammadani, Safi Faizullah, Arshad
Shaikh, Nazish Nawaz Hussaini y Rahat Ali Khan, 2017). Figure 2 show the simulation
result of the TCP NewReno congestion control algorithm for 2Mbps bandwidth and the
simulation time is 25 and 50 seconds. In following figure the comparison between
congestion windows size, acknowledgement growth and the round trip time. In the
following figure 2 the cwnd graph having three color representation the blue color means
flow open , yellow color means fast recovery after congestion detection and red color
represent the packet lost.

Figure 2 Simulation results of TCP NewReno for 25 and 50 Seconds

Figure 3 show the comparison between average round trip time for the bandwidth
2,5,10 Mbps and simulation time 25,50 and 80 seconds. This is show that the less
bandwidth and high simulation time increase the RTT.

Figure 3 comparative results of TCP NewReno RTT for different bandwidth

NewReno
0.3
Average RTT (s)

0.2
2Mbps
0.1
5Mbps
0 10Mbps
25 50 80
Simulation Time (s)

In the figure 4 show the comparison between average Congestion windows segment
size for the bandwidth 2,5,10 Mbps and simulation time 25,50 and 80 seconds. This is
show that the less bandwidth and high simulation time increase the congestion window
size.
Figure 4 comparative results of TCP NewReno cwnd for different bandwidth

NewReno
200000
Average cwnd ( Segments)

150000
100000 2Mbps
50000 5Mbps
0 10Mbps
25 50 80
Simulation Time (s)
3.2. TCP BIC congestion control algorithm
The TCP BIC (Binary Increase Congestion Control) is the default congestion control
algorithm of Linux operating system. It improves TCP Rount Trip Time fairness and
effectively utilizing the available bandwidth of high BDP network environments. The core
of the BIC are four algorithms: binary search increase, additive increase, slow start, and
fast recovery (Nguyen et al., 2016, p. 23). Following figure 5 shows the performance of
the TCP BIC for the 2Mb/s bandwidth and simulation time 25 and 50 seconds. In both
cases the TCP BIC drop some packets to calculating the next fast recovery ssthreshold. The
comparison graph show the growth of cwnd , ACK and Round trip time correspondingly.

Figure 5 Simulation results of TCP BIC for 25 and 50 Seconds

Figure 6 show the comparison between average round trip time for the bandwidth
2,5,10 Mbps and simulation time 25,50 and 80 seconds. This is show that the when
bandwidth increase then average RTT is decreased but in TCP BIC when simulation time
increased then not much more effect on the average RTT its remain about to same.

Figure 6 comparative results of TCP BIC RTT for different bandwidth

TCP BIC
0.4
Average RTT (s)

0.3
0.2 2Mbps
0.1 5Mbps
0 10Mbps
25 50 80
Simulation Time (s)

In the figure 7 show the comparison between average Congestion windows segment
size for the bandwidth 2,5,10 Mbps and simulation time 25,50 and 80 seconds. This is
show that the less bandwidth and high simulation time increase the congestion window
size. This is observed by the following figure in bandwidth 2Mb/s average cwnd
increased much corresponding to the bandwidth 10 Mb/s when increasing simulation
time 25 to 80 seconds.
Figure 7 comparative results of TCP BIC cwnd for different bandwidth

TCP BIC
200000
Average cwnd ( Segments)
150000
100000 2Mbps
50000 5Mbps
0 10Mbps
25 50 80
Simulation Time (s)

4 TCP ACC (Another Congestion Control) Algorithm Analysis

On the basis of the above simulation result the TCP BIC performance is better than
the TCP NewReno. We are decided to improve the result of the TCP BIC. The modified
TCP BIC named ACC (Another Congestion Control) approach. In TCP ACC approach
change made in fast recovery method then TCP ACC simulate in the same scenario we
applied for the TCP NewReno and TCP BIC. After simulation result we get the better
output than in some of the existing TCP BIC that why we given a new name of TCP
congestion control algorithm as TCP ACC based on TCP BIC.

In the figure 8 comparison between TCP BIC and ACC on the basis of Congestion
window growth, Acknowledgement growth and round trip time for the scenario 2Mb/s
bandwidth and 25 second simulation time. In this result we observed that in TCP BIC
some data packet lost and then fast recovery method apply as well as we observed RTT
difference.

Figure 8 Comparison TCP BIC Vs TCP ACC for bandwidth 2Mb/s and 25 seconds simulation

In the figure 9 comparison between TCP BIC and ACC on the basis of Congestion window
growth, Acknowledgement growth and round trip time for the scenario 5Mb/s bandwidth and
25 second simulation time. In this result we observed that in TCP BIC have more data packet
lost rather than TCP ACC and also we observed that RTT is greater than the TCP ACC RTT
growth in first look of the graph.
Figure 9 Comparison TCP BIC Vs TCP ACC for bandwidth 5Mbps and 25 seconds simulation

In the figure 8 comparison between TCP BIC and ACC on the basis of above similar types for
the scenario 10Mb/s bandwidth and 25 second simulation time. In this result we observed that
in TCP BIC lost data packet as well as have more times to apply fast recovery method also we
observed RTT graph difference.
Figure 10 Comparison TCP BIC Vs TCP ACC for bandwidth 10Mbps and 25 seconds simulation

The figure 11 show the clear comparison between TCP BIC and TCP ACC on the basis of
average round trip time (RTT) that show the TCP ACC having low RTT in corresponding to
the TCP BIC RTT. This is also seen in the graph it is observed for all bandwidth 2, 5 and 10
Mb/s and different time of simulation. This is not much higher then the TCP BIC but it having
the impact when congestion occur.
Figure 11 Comparison TCP BIC Vs TCP ACC for Average RTT of different bandwidth

TCP BIC Vs TCP ACC


0.35
0.3
Average RTT (s)

0.25
0.2
0.15 BIC
0.1 ACC
0.05
0
2 5 10
Bandwidth Mb/s
The figure 12 show the comparison between TCP BIC and ACC on the basis of average
congestion windows growth. In this graph we notice that it is not having much more difference
but due to maintain the cwnd TCP ACC produce the difference in average round trip time.
Figure 12 Comparison TCP BIC Vs TCP ACC for Average cwnd of different bandwidth

TCP BIC Vs TCP ACC


200000
Average cwnd ( Segments)

150000

100000
BIC
50000 ACC

0
2 5 10
Bandwidth Mb/s

4. Conclusion
In this research paper we analysis the already implemented congestion control
algorithms. These algorithms are TCP NewReno and TCP BIC. The Performance of the
both congestion control algorithms simulated through the network simulator NS3. In NS3
a simple network scenario implemented and simulated for bandwidth 2, 5 and 10 Mb/s
and the simulation Time 25 , 50 and 80 Second. The analysis result of the TCP BIC is
efficient than the TCP NewReno. Further we analysis our new TCP ACC (Another
Congestion Control) Algorithm based on TCP BIC. After analysis of both TCP BIC and
ACC in the same scenario we get better performance result than the TCP BIC. In
corresponding of the Average Round Trip time is less than the TCP BIC. We also
analysis the throughput and Goodput for both and we get the better throughput of TCP
ACC. So that the new congestion control algorithm TCP ACC having better result than
TCP BIC.

References
Ahmed, M. (2014). TCP Congestion Control Identification. Recuperado de
http://arxiv.org/pdf/1411.3742v1
Girish Paliwal, Ankur Prakash Mudgal y Swapnesh Taterh. (2015). A Study on various
attacks of TCP/IP and security challanges in MANET Layer Architecture, 195–209.
Girish Paliwal y Swapnesh Taterh. (2017). Impact of Dense Network in MANET Routing
Protocols AODV and DSDV Comparative Analysis Through NS3, 327–335.
Grieco, L. A. y Mascolo, S. (2004). Performance evaluation and comparison of
Westwood+, New Reno, and Vegas TCP congestion control. ACM SIGCOMM
Computer Communication Review, 34(2), 25. https://doi.org/10.1145/997150.997155
Jun Zhang, J. W. (2014). TCP-ACC: An Active Congestion Compensation TCP for
Wireless Networks, 1–7.
Khalid Hussain Mohammadani, Safi Faizullah, Arshad Shaikh, Nazish Nawaz Hussaini y
Rahat Ali Khan. (2017). Empirical Examination of TCP in MANET, 22–27.
Nguyen, T. A. N., Gangadhar, S. y Sterbenz, J. P. G. (2016). Performance Evaluation of
TCP Congestion Control Algorithms in Data Center Networks, 21–28.
https://doi.org/10.1145/2935663.2935669
Patriciello, N. (2017). A SACK-based Conservative Loss Recovery Algorithm for ns-3
TCP, 1–8. https://doi.org/10.1145/3067665.3067666
RFC 2581. (2001).
Yang, P., Shao, J., Luo, W., Xu, L., Deogun, J. y Lu, Y. (2014). TCP Congestion
Avoidance Algorithm Identification. IEEE/ACM Transactions on Networking, 22(4),
1311–1324. https://doi.org/10.1109/TNET.2013.2278271

You might also like