You are on page 1of 5

TCP QIC: Quadric Increase Congestion Control algorithm

Implementation and simulation


Girish Paliwal Swapnesh Taterh
gpaliwal@jpr.amity.edu staterh@jpr.amity.edu
Amity University Rajasthan Jaipur Amity University Rajasthan Jaipur

Abstract: Now these days most of the devices having internet connections that increased the traffic over the server and TCP provide the
connection-oriented connection. TCP may be experiencing issues with using the total bandwidth of the communication channel. Numbers
of congestion control proposals have already been suggested to reduce this problem. This paper presents the implementation of a quadric
increase congestion control algorithm and it’s a simulation through the ns3. This algorithm is based on binary increased congestion control
algorithm (TCP BIC). In ns3 TCP QIC is separately implemented and tested with the different congestion control algorithms. These
congestion control algorithms are TCP Westwood, BIC, NewReno, scalable and Illinois. The performance of the TCP QIC having the
significance over the other congestion control algorithms in respect of throughput, goodput, delay variance and round-trip time.
Keywords: Congestion control algorithm, TCP, NS3, TCP QIC: Quadric Increase Congestion control algorithm.

1. Introduction 2. TCP Basics


Over the past decades, so much work has been already done This provides a connection-oriented connection between
to enhance the TCP performance and the result many different sender and receiver. The Connection-oriented communication
congestion control algorithms. The number of congestion means TCP send packets between computers and provides an
control algorithms are already developed and implemented after acknowledgment number through the sequence number.
finding some enhancement result over the existing congestion Unacknowledged TCP packets are retransmitted based on the
control algorithms (Nagori, Balachandran, Deepak, Tahiliani y information about successfully received sequence number and in
Chandavarkar). The implementation and comparing them with some cases, round trip time out of the packet is used for
other congestion control algorithms is troublesome without retransmission of the packet. TCP congestion control algorithm
network simulators. proposed over the last 30 years, roughly to maximize the
In the real world scenario, it is very difficult to compare throughput and avoiding the congestion at the internet routers
algorithm performance on the basis of actual devices it is and provide the services effectively and efficiently.
possible with the simulators it is less time to consume and less TCP congestion control algorithms have been having some
expensive and given the moral as actual results. Computer common features these features are on the basis of changing in
simulator provides valuable insight into potential congestion window acknowledgment received round trip time of
implementation before extending the considerable effort that a packet. On the basis of these parameters each and every TCP
may be required to build a technology simulator allow us to congestion control algorithm wants to provide good throughput
measure and compare the existing algorithm as well as we can and Plus latency time and use the maximum capacity of the
introduce a new algorithm and compare in light of existing channel (Grieco y Mascolo, 2004).
algorithms. It provides a much more flexible way to implement TCP congestion window control the amount of packets a
a new algorithm and finding out the related result on the basis of TCP flow they've in the network whenever you want the
some existing networking topology (Yang et al., 2014). congestion window is defined using additive increase
This paper presents an implementation of the QIC congestion multiplicative decrease AMD mechanism that probes the
control algorithm that is based on the TCP BIC. In order to the available bandwidth dynamically adapting to changing network
ns3 TCP BIC that is most widely used by the Linux operating conditions the AMD mechanism work well when the sender
system (Brett Levasseur, Mark Claypool,Robert Kinicki, 2014). continuously has data to send as is typically the case for TCP
I enhance the congestion control algorithm TCP back that use used for bulk data transfer current TCP implementation have a
the methodology of the congestion window increase in a binary variety of the behaviours for setting up after an ideal period
manner whereas I will change a little bit in this algorithm to some current TCP implementation slow start after an ideal
check the performance of quadric congestion control window period longer than the RTO estimates as suggested in ("RFC
increase the effect is immense to attract our attention. 2581 - TCP Congestion Control") RFC 2581.
The rest of this paper is organized as in the following while other implementations don't reduce their congestion
sections the basic of the TCP in section II, section III related window after an ideal period. Once the congestion window is
work of the TCP congestion control algorithm, section IV reduced the slow start threshold remains as a memory of the
simulation setup, and section V have the simulation result matrix recent condition window. sending of back again to back packets
the last section is the conclusion of the present quadric are facing packets out over the period of a circular trip time and
congestion control algorithm performance. old congestion window that has not been fully using for some
time can't be trusted being an indication of the bandwidth the midpoint and then we adjust the mark and apply binary
currently readily available for a floor we'd contain that the search it has an effect to reduce the increasing rate of the big
mechanism to piss out packet allowed by the congestion window window allows the smaller window to catch up this strategy
are largely used to determine the correct size of the congestion called first convergence (L. Xu y K. Harfoush and I. Rhee,
window. ("RFC 3465 - TCP Congestion Control with 2004).
Appropriate Byte Counting …ABC—") The detailed description of TCP BIC algorithm could be
The Mechanic to determine the amount of RTO in the most found in (SeyedShams Feyzabadi). A diagram of this algorithm
up-to-date ideal period could also be implemented using the during the Congestion Avoidance phase is shown in figure 1
timer that expires every RTO after the past week it was Centre
Street of a check always per packet.

3. Related Work Figure 1 TCP BIC congestion avoidance representation


That is very challenging task to style a fresh protocol that
may satisfy all of the criteria like in congestion control these
criteria are RTT fairness TCP friendliness and scalability (Hua y
Jian, 2012). A protocol should adopt its window control with
regards to the size of the window. TCP Bic the congestion
control problem is viewed as a research problem
("https://www.nsnam.org/docs/models/html/tcp.html."). The
TCP BIC binary increase congestion control that consists two
parts binary search increase and additive increase.

3.1. Binary search increase


Starting points with this search our current maximum
window size and maximum window size usually Wmin and W
max are the windows I just before the past recovery. The
algorithm rapidly computes the midpoint between Wmax and
Wmin set the present window size to the midpoint and check for
feedback in the proper execution of packet loss.
If there is a package loss and then present threshold
minimum increments. This technique is called binary search 4. Simulation set up
increase allow bandwidth propping to become more aggressive
In this section, I have evaluated and analyzed the different
initially when the difference from the present window size to the
type of congestion control algorithms as TCP Westwood, BIC,
mark window size is large and become less aggressive as the
NewReno, scalable, Illinois, and QIC. I am using a simple
present window size gets nearer to the mark window size (L. Xu
network scenario and applied through the network simulator
y K. Harfoush and I. Rhee, 2004).
NS3. To test the behavior of each Protocol in the bottleneck
bandwidth network, I used simple simulation Technology
3.2. Additive Increase consisting of a single sender and a single receiver interconnected
To make certain convergence at RTT fairness the binary to each other through a router at the other end, this is shown in
search in trees having an additive increase strategy also. Once Figure 2. Here I create a point to point connection between the
the distance from the midpoint to a current minimum is too big sources and sink and simulate according to different bandwidth
increase window size right to the midpoint. Once the distance channel between server to the router and varying the time of
from the present window size of the mark is less compared to simulation. Each TCP congestion control algorithm is an
the Smax, during those times window increase right to the mark analysis on the basis of the congestion window, Round trip time
(L. Xu y K. Harfoush and I. Rhee, 2004). and finally get the throughput. Table 1 shows the network
simulator parameters that used in simulation through NS3.
3.3. Slow Start (Girish Paliwal and Swapnesh Taterh, 2018).
The TCP congestion control algorithm runs a “slow start”
strategy to probe for a fresh maximum, once the present window
size is more than Wmax but smaller than Wmax+Smax. The Figure 2 TCP congestion Simulation network Scenario
congestion window increases in each RTT round in steps.
Under the fast convergence, the binary search increase
combines in multiplicative decrease converges to great amount
search. Considering that the large window reduces more and
multiplicative decrease. The fast convergence strategy the binary
search increase following a window reduction new maximum
and minimum are set. Than Readjust the new condition window
maximum size to be the same as the new target window that is

2
Table 1 Simulation variables and its values Packet delivery time = Transmission time + Propagation
delay

Parameters Values 5.5. Packet Loss


Bottleneck Bandwidth 2 Mb/s
The number of dropped packet when the buffered becomes
Time of Simulation 50 seconds
Queue Type PfifoFastQueueDisc
full or stored, packed time to live exceeds
Nodes 2
Delay 0.01 ms 6. TCP QIC analysis with others
TCP Congestion Control TCP Westwood, BIC, NewReno, On the basis of the simulation result, it is studied that the
Algorithms scalable, Illinois, and QIC
throughput of the TCP QIC having some substantial value with
Access Bandwidth 10 Mb/s
comparing to another congestion control algorithm. This is
Access Delay 0.45 ms
represented by the figure 3. In this graph the throughput
representation in increasing order.

5. Result evaluation matrix Figure 3 Throughput comparison between congestion control


Where the performance of the congestion control algorithms algorithms in increasing order
evaluated three major performance metrics is really as average
throughput, average goodput , average Queue delay and the
typical package reception. These metrics are calculated on the
bottleneck link in both directions. To pull these values trade
shows are established along the network device on the router
every time a packet is received by the unit the method. Which
calculates performance metrics assignment of the timestamp to
packet while they enqueue and dequeue is implemented by the
callback function.

5.1. Throughput
It's measured as the ratio of the full total amount of receiving
data and the full total simulation run time (Girish Paliwal and
Swapnesh Taterh, 2018).
Average Throughput =Total data received /
Simulation time

5.2. Goodput
In computer networks, goodput is the application- level
throughput. The quantity of data considered excludes protocol
Figure 4 Goodput graph for bottleneck bandwidth 2Mb/s in
overhead bits as well as retransmitted data packets increasing order

5.3. Delay (End to End)


dend-end= N[ dtrans+dprop+dproc+dqueue]
Where
dend-end= end-to-end delay
dtrans= transmission delay
dprop= propagation delay
dproc= processing delay
dqueue= Queuing delay
N= number of links (Number of routers - 1)
Note: we have neglected queuing delays.
The average end-to-end delay measured by the full total time
taken by sent packets, divided by the full total time taken by
received packets.

5.4. Packet Delivery Ratio


It's a percentage of a bundle generated by the source and the
number of packets sent to the destination (Girish Paliwal and
Swapnesh Taterh, 2018). In figure 4 represent the goodput graph. The throughput and
goodput result of the simulation 50 seconds for 2 Mb/s

3
bottleneck bandwidth. I have simulated with different cases of
bandwidth (2,5,10) and simulation time(25,50,80) but the Figure 7 represents the data packet transmission speed that is
observation is that the when bandwidth increasing the represented by the lambda. Lambda is the data packet send per
congestion windows is increasing significantly and congestion second. If data packet sends per second is higher that means the
does not occur for this scenario that’s why here only one data packed acknowledgment received speed is higher, that
simulation results describe. show the congestion prevention and congestion control is
In the figure 5shows the end to end delay in transmission. In efficiently handled by the TCP QIC rather than TCP BIC,
this graph, the average delay calculated that show the lowest Westwood, NewReno, Illinois and Scalable.
average delay TCP Westwood, NewReno, and Scalable and
highest average delay TCP Illinois and BIC. Whereas TCP QIC Figure 7 packet send speed
has an average delay between lowest and highest. In this respect,
the TCP QIC performance is more honest than the TCP BIC and
Illinois.

Figure 5 Average end to end delay representation

If the data packet sends speed higher, but receiving speed not
similar to the sending speed in this situation congestion occur
and data packets are left out and retransmission of same data
The following figure 6 indicates the number of packets sends
packets. This is affecting the throughput and average end to end
by each TCP congestion control algorithm in increasing order
delay.
these are interpreted by the graph. It is very simple logic when
the number of packets sent by any algorithm then data more
transmitted and it shows the maximum utilization of the 7. Conclusion
bandwidth and produced maximum throughput. It is proved by This paper proposes a TCP congestion control algorithm
the above and below graphs that the TCP QIC is having an based on the TCP BIC that is a quadric congestion control
advantage in terms of throughput and data transmitting. (QIC). TCP QIC is a simulation of the different parameter
values using the ns3 simulator. The simulation metrics are
Figure 6 Packet received in 50 seconds simulation generated after 50-second simulation each of the congestion
control algorithms simulated same time. The different variety of
graph plotted on the basis of simulation Matrix result that
represents the TCP QIC having better throughput and Goodput.
TCP QIC having efficient data packet transmission speed and it
also receives a maximum number of packets within a 50 second
of simulation time. TCP QIC average delay time is higher from
lowest delay time but it is lower than the highest delay time.
Finally, I say that the TCP QIC having better performance than
the other TCP congestion control algorithms as Westwood,
Illinois, NewReno, BIC and scalable.

REFERENCE
Brett Levasseur, Mark Claypool,Robert Kinicki. (2014).
A TCP CUBIC Implementation in ns-3 ∗, In
Proceedings of the 2014 Workshop on ns-3 (p. 3).

4
ACM., 1–12. L. Xu y K. Harfoush and I. Rhee. (2004). Binary Increase
https://doi.org/10.1002/9781118266892.ch1 Congestion Control (BIC) for Fast Long-Distance
Girish Paliwal and Swapnesh Taterh (Ed.). (2018). Networks. Piscataway, N.J: IEEE. Recuperado de
Advances in Intelligent Systems and Computing: Vol. http://ieeexplore.ieee.org/servlet/opac?punumber=936
583. Impact of Dense Network in MANET Routing 9
Protocols AODV and DSDV Comparative Analysis Nagori, K., Balachandran, M., Deepak, A., Tahiliani, M.
Through NS3: Proceedings of SoCTA 2016, Volume 1. P. y Chandavarkar, B. R. Common TCP Evaluation
Singapore: Springer Singapore. Recuperado de Suite for ns-3, 9–16.
http://dx.doi.org/10.1007/978-981-10-5687-1 https://doi.org/10.1145/3067665.3067676
Grieco, L. A. y Mascolo, S. (2004). Performance RFC 2581 - TCP Congestion Control.
evaluation and comparison of Westwood+, New Reno, RFC 3465 - TCP Congestion Control with Appropriate
and Vegas TCP congestion control. ACM SIGCOMM Byte Counting …ABC—.
Computer Communication Review, 34(2), 25.
SeyedShams Feyzabadi. Identifying TCP Congestion
https://doi.org/10.1145/997150.997155
Control Mechanisms Using Active Probing.
https://www.nsnam.org/docs/models/html/tcp.html.
Yang, P., Shao, J., Luo, W., Xu, L., Deogun, J. y Lu, Y.
Hua, W. y Jian, G. (2012). Analysis of TCP BIC (2014). TCP Congestion Avoidance Algorithm
Congestion Control Implementation. En 2012 Identification. IEEE/ACM Transactions on
International Conference on Computer Science and Networking, 22(4), 1311–1324.
Service System (pp. 781–784). IEEE. https://doi.org/10.1109/TNET.2013.2278271

You might also like