TCP Congestion Control NewReno, BIC, Hybrid Illinois, ACC Algorithm Simulation and Analysis Using The NS3
TCP Congestion Control NewReno, BIC, Hybrid Illinois, ACC Algorithm Simulation and Analysis Using The NS3
TCP is the heart of current Internet [1].The transmission control protocol TCP
widely used on the computer communication network through the Internet in the most of
the traffic is passing through TCP protocol. So the performance of the Internet is
depended 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 types of TCP congestion control algorithm developed by the researchers.
each of them has their own properties and implemented their own congestion control
techniques for control the congestion.[2]. The computer network communication is much
faster and stable for transmitting information one location to another rather than other
traditional ways. We found that the scalability and robustness of the computer network
internet connection are 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 connectivities. 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 getting high-speed internet
connectivity without losing data packets during the data transmission but till now no
congestion control algorithm completely utilized the full channel capacity. This is
motivated by the number of the researcher to improvise the existing TCP congestion
control algorithm or developed a new congestion control algorithm that provides high
throughput and low latency time. [3] Today’s mobile communication networking
technology is a people-centric revolution rather than the device centric that means the
people put in the center and build the device's network to fulfill the people requirements
without the failure of the internet connectivity. These devices are required a high-speed
internet connectivity with the best congestion control algorithm. [4] Today most of the
devices work on the basis of wireless networking. The sender and receiver are connected
through wireless with an access point. So we also required a hybrid TCP congestion
control protocol that works on the wire as well as wireless architecture. The TCP
Westwood is intelligently estimating the wireless bandwidth. [5] In computer network
communication the TCP/IP provides the most reliable network connection whereas
authors [6] 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 controlling 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 a mechanism
for packet loss detection. The first technique is that the sender retransmission timeout that
is considered as a packet loss by the sender because it does not receive the corresponding
acknowledgment after some amount of time (RTO). Another technique is a fast
retransmission of data packets on the basis of receipt of duplicate acknowledgments
(DUPACK) in this mode the receiver keeps track of the sequence numbers of the data
packets that generate a duplicate acknowledgment. if the sender received three or more
duplicate acknowledgments in a row it will retransmit the lost data packet immediately
without waiting for round-trip timeout and reduce 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 into the entire congestion control
algorithm [7]. The combination of the packet loss detection Round Trip Timeout and
Duplicate ACK counting if applied it is known as a hybrid.
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 in (RFC2581).
In the phase of a 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 to 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 the network.
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. [8] Figure 1 shows the TCP congestion control
algorithm implementation data flow diagram with the different stages.
Fig 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 NewReno, BIC, and Hybrid
Illinois. 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 goal of the congestion control algorithms. In section III, we give a description of the
NS3 simulation setup and analysis of different algorithm results. In the section, IV
proposed TCP-ACC algorithm analysis with others. Section V Finally, we summarize the
findings.
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 Congestion Control NewReno, BIC, Hybrid
Algorithms Illinois and Another
Congestion Control(ACC)
Access Bandwidth 10 Mb/s
Access Delay 0.45 ms
Figure 4 shows the comparison between average round-trip time for the bandwidth 2,
5 and 10 Mbps with simulation time 25, 50 and 80 seconds. This shows that the less
bandwidth and high simulation time increase the Round Trip Time. Whereas we see in
the graph when increasing the bottleneck bandwidth 2 Mb/s to 10 Mb/s correspondingly
decreasing the average round trip time.
NewReno
0.3
0.25
Average RTT (s)
0.2 2Mbps
0.15 5Mbps
0.1 10Mbps
0.05
0
25 50 80
Simulation Time (s)
In figure 5 shows the comparison between average Congestion windows segment size
for the bandwidth 2, 5, 10 Mbps and simulation time 25, 50 and 80 seconds for each
bandwidth. This shows that the less bandwidth and high simulation time increase the
congestion window size. Whereas the bottleneck bandwidth is increasing then the cwnd
size is also increasing with simulation time that represents the more data packet can push
into the network without congestion.
100000 5Mbps
10Mbps
50000
0
25 50 80
Simulation Time (s)
After regress simulation study we got the figure 7 that shows the comparison between
average round-trip time for the bandwidth 2, 5 and10 Mbps for each bandwidth
simulation time 25,50 and 80 seconds. This shows that the using of BIC congestion
control, when bandwidth increase than averages RTT is decreased but when simulation
time increased then not much more effect on the average RTT its remain about to same.
Through this graph, we observed that TCP BIC not having much more impact when
increasing the simulation time. TCP BIC average RTT is greater than the average RTT
of TCP NewReno.
In figure 8 shows the comparison between average congestion windows segment size
for the bandwidth 2, 5 and 10 Mbps, simulation time 25,50 and 80 seconds for each
bandwidth. This shows that the less bandwidth and high simulation time increase the
congestion window size. This is observed by the following figure 8 for the bandwidth
2Mb/s average cwnd increased much corresponding to the bandwidth 10 Mb/s when
increasing simulation time 25 to 80 seconds. It is also observed that BIC average cwnd
more than the average cwnd of TCP NewReno.
TCP BIC
200000
2Mbps
150000
5Mbps
100000
10Mbps
50000
0
25 50 80
Simulation Time (s)
TCP-Illinois is hybrid congestion control algorithm in which the data packet flow
congestion control by the packet drop detection as well as round-trip timeout estimation.
It is a targeted at high-speed, long-distance communication networks. The TCP-Illinois is
a loss-delay based algorithm, which uses packet loss as the primary congestion
signal to determine the direction of window update and queuing delay as the
secondary congestion signal to determine the amount of change to adjust the pace
of window size [14] [15]. Following figure 9 shows the performance of the Hybrid
TCP Illinois for the 2Mb/s bandwidth and simulation time 25 and 50 seconds. In
both cases, the Hybrid TCP Illinois does not drop any packets to calculating the
next threshold because it starts slowly with low ssthreshold and gradually
increase on the basis of round-trip time. The comparison graph shows the growth
of cwnd, ACK and Round trip time correspondingly.
Fig 9 Simulation results of Hybrid TCP Illinois for 25 and 50 Seconds
Figure 10 shows the comparison between average round-trip time for the bandwidth
2, 5 and 10 Mbps and simulation time 25, 50, 80 seconds for each bandwidth. This is
observed by the graph 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 whereas hybrid TCP Illinois round trip time
increased according to the simulation time increase and its average round-trip time less
than to the TCP BIC.
Fig 10 comparative results of Hybrid TCP Illinois RTT for different bandwidth
0.2
0.15 2Mbps
0.1 5Mbps
0.05 10Mbps
0
25 50 80
Simulation Time (s)
150000
2Mbps
100000 5Mbps
10Mbps
50000
0
25 50 80
Simulation Time (s)
Figure 11 graph shows the comparison between average congestion windows segment
size for the bandwidth 2, 5 and 10 Mbps, simulation time 25, 50 and 80 seconds for each
bandwidth. It is observed through the graph that the when bandwidth increase then
average cwnd increased. The hybrid TCP Illinois average congestion window size is
greater than the TCP NewReno but similar to the TCP BIC.
The TCP ACC is a proposed new congestion control algorithm based on the TCP
BIC. This algorithm called TCP ACC (Another Congestion Control) algorithm. After
modification of TCP BIC, we get the TCP ACC. The BIC is the default LINUX operating
system congestion control TCP; so that this attracts our attention to enhancing its
performance. Till now we are little bit modify in fast recovery method and test with
different TCPs. In TCP ACC approach change made in fast recovery method to gain
maximum throughput, Congestion window and minimum round-trip time. The TCP ACC
simulate in the same scenario we applied for the NewReno, BIC and hybrid Illinois. After
simulation result, we get the better output in some cases of existing well established TCP
congestion control algorithms.
In the figure 12 comparison between TCP NewReno 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 NewReno has an advantage over ACC in respect of RTT whereas ACC has an
advantage over NewReno with respect to the congestion windows growth.
Fig 12 Comparison TCP BIC Vs TCP ACC for bandwidth 2Mb/s and 25 seconds simulation
In the figure 13 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.
Fig 13 Comparison TCP BIC Vs TCP ACC for bandwidth 5Mbps and 25 seconds simulation
In the figure 14 comparison between Hybrid TCP Illinois and ACC on the basis of above
similar types for the scenario 2Mb/s bandwidth and 25 second simulation time. In this result,
we observed that in Hybrid TCP Illinois and ACC do not lose data packet as well as have more
stable output. The RTT is less in Illinois than the ACC but ACC having the more windows
size. Its taking times to apply fast recovery method also we observed through the graph.
Fig 14 Comparison TCP BIC Vs TCP ACC for bandwidth 10Mbps and 25 seconds simulation
Figure 15 shows the clear comparison between TCP NewReno, BIC, Hybrid Illinois 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 whereas NewReno and Hybrid Illinois having less RTT
than ACC. In this regard from the following graph study, we clearly say that TCP NewReno
have minimum RTT and BIC have maximum RTT.
Fig 15 Comparison TCP NewReno, BIC, Hybrid Illinois and ACC for Average RTT of different bandwidth
0.25 BIC
0.2 ACC
0.15 NewReno
0.1 Illinois
0.05
0
2 5 10
Bandwidth Mb/s
Figure 16 shows the comparison between TCP NewReno, BIC, Hybrid Illinois and ACC on the
basis of average congestion windows growth. In this graph, we notice that it is not having
much more difference between TCP ACC and BIC and both are also having greater average
cwnd than the hybrid Illinois and NewReno. It is also observed in the following graph that the
average congestion window increased corresponding to the bandwidth and simulation time.
Fig 16 Comparison TCP NewReno, BIC, Hybrid Illinois and ACC for Average Cwnd of different bandwidth
247
246
Throughput KB/s
Throughput
245
244
243
242
NewReno BIC Illinois ACC
The above figure 17 depicts the throughput for 2Mb/s bandwidth and 25 second
simulation time of TCP NewReno, BIC, Hybrid Illinois and ACC. The graph clearly
showed that proposed new congestion control algorithm ACC having much better
throughput than the other congestion control algorithms.
5. Conclusion
In this research paper, we analyze the already implemented congestion control
algorithms. These algorithms are TCP NewReno, BIC, and Hybrid Illinois. The
Performance of these congestion control algorithms simulated through the network
simulator NS3. In NS3 a simple network scenario implemented and simulated for
bottleneck bandwidth 2, 5 and 10 Mb/s and the simulation Time 25, 50 and 80 Second for
each bandwidth. The analysis result of the new proposed TCP ACC (Another Congestion
Control) is efficient than the other TCP in terms of throughput, Goodput and congestion
windows size but Round Trip Time is similar to BIC. The conclusion of this research
paper analysis is that TCP ACC has better performance in the specified scenario and
produced better performance result rather than the TCP BIC.
References
[1] N. Patriciello, “A SACK-based Conservative Loss Recovery Algorithm for ns-3 TCP,” pp. 1–8,
2017.
[2] M. Ahmed, “TCP Congestion Control Identification,” 2014. [Online] Available:
http://arxiv.org/pdf/1411.3742v1.
[3] T. A. N. Nguyen, S. Gangadhar, and J. P. G. Sterbenz, “Performance Evaluation of TCP
Congestion Control Algorithms in Data Center Networks,” pp. 21–28, 2016.
[4] Girish Paliwal and Swapnesh Taterh, “Impact of Dense Network in MANET Routing Protocols
AODV and DSDV Comparative Analysis Through NS3,” pp. 327–335, 2017.
[5] S. Gangadhar, T. Nguyen, G. Umapathi, and J. Sterbenz, “TCP Westwood(+) Protocol
Implementation in ns-3,” 2013.
[6] Girish Paliwal, Ankur Prakash Mudgal, and Swapnesh Taterh, “A Study on various attacks of
TCP/IP and security challanges in MANET Layer Architecture,” pp. 195–209, 2015.
[7] J. W. Jun Zhang, “TCP-ACC: An Active Congestion Compensation TCP for Wireless
Networks,” pp. 1–7, 2014.
[8] “RFC 2581,” 2001.
[9] J. Prakash, R. Kumar, and J. P. Saini, “A New Congestion Avoidance and Mitigation
Mechanism Based on Traffic Assignment Factor and Transit Routing in MANET,” vol. 469, pp.
501–511.
[10] W. Hua and G. Jian, “Analysis of TCP BIC Congestion Control Implementation,” pp. 781–784.
[11] P. Yang et al., “TCP Congestion Avoidance Algorithm Identification,” IEEE/ACM Trans.
Networking, vol. 22, no. 4, pp. 1311–1324, 2014.
[12] L. A. Grieco and S. Mascolo, “Performance evaluation and comparison of Westwood+, New
Reno, and Vegas TCP congestion control,” SIGCOMM Comput. Commun. Rev., vol. 34, no. 2, p.
25, 2004.
[13] Khalid Hussain Mohammadani, Safi Faizullah, Arshad Shaikh, Nazish Nawaz Hussaini, and
Rahat Ali Khan, “Empirical Examination of TCP in MANET,” pp. 22–27, 2017.
[14] A. Esterhuizen and A.E. Krzesinski, “TCP Congestion Control Comparison,”
[15] https://www.nsnam.org/docs/models/html/tcp.html.