Congestion Control Algorithhms
Congestion Control Algorithhms
CONTROL
ALGORITHMS
Aviral Soni
Md Ashif Jamal
Md Tauqeer Alam
Table of Content
Introduction
TCP Tahoe
TCP Reno
TCP New Reno
TCP SACK
TCP VEGAS
TCP CONGESTION
Congestion refers to a network state where - The message traffic becomes so heavy
that it slows down the network response time. Congestion is an important issue that
can arise in Packet Switched Network. Congestion leads to the loss of packets in
transit.
Retransmission can occur in one of two cases: when a timer times out or
when three Duplicate ACKs are received. In both cases, the size of the
threshold is dropped to one-half, a multiplicative decrease
Fast Recovery
The fast-recovery algorithm is optional in TCP.
The old version of TCP did not use it, but the new versions use it.
It starts when 3 duplicate ACKs arrive, which is interpreted as light
congestion in the network.
Since TCP does not know whether a duplicate ACK is caused by a lost
segment or just a reordering of segments, it waits for a small number of
duplicate ACKs to be received. It is assumed that if there is just a
reordering of the segments, there will be only one or two duplicate ACKs
before the reordered segment is processed, which will then generate a
new ACK. If three or more duplicate ACKs are received in a row, it is a
strong indication that a segment has been lost. TCP then performs a
retransmission of what appears to be the missing segment, without
waiting for a retransmission timer to expire.
TCP Reno
Advantages of Reno TCP:
Faster recovery from congestion events: Reno TCP can recover from
congestion events more quickly than Tahoe TCP because it uses the fast-
recovery state.
More efficient use of network resources: Reno TCP can use network
resources more efficiently than Tahoe TCP because it does not restart slow
start from scratch after each congestion event.
Limitation of Reno
can only detect a single packet loss in one RTT.
the information about the second packet which was lost will come
only after the ACK for the retransmitted first segment reaches the
sender after one RTT.
Also it is possible that the CWD is reduced more than for packet losses
which occurred in one window
Another problem is that if the window is very small when the loss occurs
then we would never receive enough duplicate acknowledgements for a
fastretransmit and we would have to wait for a coarse grained timeout.
Thus is cannot effectively detect multiple packet loss.
New-Reno suffers from the fact that its take one RTT to detect
each packet loss. When the ACK for the first retransmitted segment
is received only then can we deduce which other segment was lost.
TCP SACK
Base RTT=minRTT(measured )
Expected and Actual sending rate
expected=cwnd/BaseRTT
diff=expected-actual
if(diff<a)cwnd=cwnd+1 per RTT
else if(diff>b)cwnd=cwnd-1 per RTT
Cubic
A loss based algorithm
https://inst.eecs.berkeley.edu/~ee122/fa05/projects/Project2/S
ACKRENEVEGAS.pdf
https://www.geeksforgeeks.org/basic-concept-of-tcp-vegas/
https://www.ripublication.com/acst17/acstv10n6_17.pdf
THANK YOU