FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
Congestion control in tcp
1. Presented By
Abhijit Bagchi (IT/2008/32)
Bikash Chandra Pal (IT/2008/07)
Soumya Sarkar (IT/2008/14)
Under The Guidance of Prof Moumita Deb
2. • Basics of Congestion Retransmission
C • Congestion a Algorithm(TCP
Reno)
Catastrophe?
o • Basics Strategy to • Issues in wireless
combat congestion Network.
n • Congestion window • TCP New Reno
• Slow Start Phase • TCP Vegas .
t • Congestion • TCP Westwood.
Avoidance Phase • Proposed Algorithm
e • Congestion • Future Works
Detection Phase
n • Illustration of
Congestion Control
t • Fast Retransmit
s • Fast Recovery
• Adaptive
3. Basics of Congestion
A network is considered
congested when too many
packets try to access the
same router’s buffer, resulting
in a large amount of packets
being dropped.
4. Congestion a catastrophe?
• Impact of congestion may be
temporary but if not handled it will
be catastrophic .
• A congestive collapse effects
network stability, throughput and
fair resource allocation to network
users
• Congestion control in a TCP/IP
based internet is complex and
challenging and over the years a lot
of effort and resources have been
dedicated to the research in this
area.
5. Basic Strategy to Combat Congestion
• In case of network congestion TCP limits sender transmission
rate to reduce load in the path between sender and receiver
• TCP employs a window-based scheme to control the
transmission rate where size of the window directly impacts
transmission
• Acknowledgements are used to pace the transmission of
packets by the sender
6. Congestion Window
Congestion Window (cwnd) is a variable held by the TCP source
for each connection
Cwnd is set based on the perceived level of Congestion in the
network
7. Slow Start Phase
• When a new connection is established the congestion window is
initialized to one MSS(Maximum Segment Size)
• Each time an ACK is received, the congestion window is
increased by one MSS.
• The sender can transmit up to the minimum of the congestion
window and the advertised receiver window size.
• Thus, the size of congestion window increases exponentially
until a threshold value is reached
8. Slow Start Phase(contd..)
The sender keeps track of a variable called ssthresh (slow start
threshold) When cwnd reaches this threshold slow start ends and
next phase starts
9. Congestion Avoidance Phase
• Every connection is associated with a threshold
value(ssthresh) .
• When cwnd reaches the due threshold, congestion
avoidance (additive increase) algorithm takes over.
• In this phase the window size increases linearly until timeout
occurs or duplicate acknowledgement is received
10. Congestion Detection Phase
• Congestion may be detected via either timeout or reception
of duplicate acknowledgement packets
• If detection by timeout then, ssthresh=0.5 X window size and
a new slow start phase starts with cwnd=1MSS
• If detection by 3 duplicate acknowledgement then,
ssthresh=0.5 X window size and cwnd=ssthresh and a new
congestion avoidance phase starts
• This is called Multiplicative decrease where in either case the
ssthresh variable is reinitialized to half the current cwnd
12. Fast Retransmit
• Hence congestion avoidance algorithm was later modified
• 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 more than 3 ACK is received for same segment the sender
sends that particular segment even before its timer expires
13. Fast Recovery
• After fast retransmit sends what appears to be the missing
segment, congestion avoidance, but not slow start is
performed. This is the fast recovery algorithm.
• It is an improvement that allows high throughput under
moderate congestion, especially for large windows.
• It was added with Tcp Reno , another variant of Tcp
14. Adaptive Retransmission Algorithm
tout calculated as a function of RTT
Send packet and keep timestamp ts
When ACK arrives, record timestamp ta
SampleRTT=ts – ta
EstimatedRTT=α EstimatedRTT + (1 – α) SampleRTT(0.8<α<0.9)
tout=ß × EstimatedRTT (ß=2)
15. Issues of Wireless Networks
• In wireless network, current TCP network cannot recognize
packet loss from congestion or from fading radio signals
• This results in unnecessary shrinking of congestion window
which results in degradation of performance
• However via significant research certain techniques have been
discovered to solve these problems
16. TCP New Reno
• New Reno is a slight modification over Tcp Reno. It is able to detect
multiple packet losses
• Like Reno, New-Reno also enters into fast-retransmit when it receives
multiple duplicate packets, however It differs from Reno in that it doesn’t
exit fast-recovery until all the data which was outstanding at the time it
entered fast recovery is acknowledged
• Thus it over comes the problem faced by Reno of reducing the cwnd
multiples times
• Disadvantage:-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.
17. TCP Vegas
• TCP Vegas emphasizes on packet delay rather than on packet loss.
• Vegas sets Base RTT to the smallest measured RTT, and the
expected throughput is computed according to
Expected throughput =window size/ Base RTT .
Actual throughput= window size/ current RTT.
• Vegas Calculates the difference in throughputs
Diff=ӀActual throughput-Expected Throughputӏ .
• If Diff < α, Vegas increases the window size linearly during the next
RTT. If Diff > β, then Vegas decreases the window size linearly
during the next RTT. Otherwise, it leaves the window size
unchanged.
19. Tcp Westwood
• In TCP Westwood the sender continuously computes the
connection BandWidth Estimate (BWE) which is defined as the
share of bottleneck bandwidth used by the connection.
• After a packet loss indication, the sender resets the congestion
window and the slow start threshold based on BWE. More
precisely,
cwnd=BWE x RTT.
• Disadvantage :- TCPW performs poorly when random packet
loss rate exceeds a few percent
21. Proposed Algorithm
• We would first set the baseRTT to minimum of
measured round-trip times
• Calculate the
Expected ACK rate(e)=cwnd/baseRTT;
Actual ACK rate(a)=cwnd/RTT;
• Compare the Actual throughput with the expected
throughput .
22. Proposed Algorithm(contd.)
• If (e==a)||(e<a) then , cwnd =BWE x RTT
• Else cwnd= β x (BWE x RTT) where 0< β< 1
• Bandwidth Estimate(BWE)=dk /tk-t(k-1)
where dk=data sent between tk-t(k-1)
interval.
23. Future Works
• In this project we intend to simulate the devised algorithm via
ns 2.34 simulator and find out results in various test cases
• This test case results will be compared with existing values to
come to a proper conclusion about the merits of this
algorithm