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
• Basics of Congestion RetransmissionC • 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 Algorithme • Congestion • Future Works Detection Phasen • Illustration of Congestion Controlt • Fast Retransmits • Fast Recovery • Adaptive
Basics of CongestionA network is consideredcongested when too manypackets try to access thesame router’s buffer, resultingin a large amount of packetsbeing dropped.
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.
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
Congestion Window Congestion Window (cwnd) is a variable held by the TCP source for each connectionCwnd is set based on the perceived level of Congestion in the network
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
Slow Start Phase(contd..)The sender keeps track of a variable called ssthresh (slow startthreshold) When cwnd reaches this threshold slow start ends andnext phase starts
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
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
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
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
Adaptive Retransmission Algorithmtout calculated as a function of RTTSend packet and keep timestamp tsWhen ACK arrives, record timestamp ta SampleRTT=ts – ta EstimatedRTT=α EstimatedRTT + (1 – α) SampleRTT(0.8<α<0.9) tout=ß × EstimatedRTT (ß=2)
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
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.
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.
TCP Vegas(Contd.)Disadvantage:-Since Vegas changes the window size linearly , it may not be utilizing bandwidthproperly
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
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 .
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.
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