4. Window Management
Slow Start
Increase cwnd by 1 for each ACK
Exponential Increase
Dynamic Window Sizing on Congestion
Reset cwnd on packet loss and restart slow start
Linear increase after threshold
5. Window Management
Fast Retransmit
On receiving out-of-order segment send an ACK
for last in-order segment.
Sender should wait atleast 3 duplicate ACKs
before retransmission
FAST Recovery
Set cwnd = ssthreshold + 3
Increase by 1 on each duplicate ACK
Set cwnd = ssthreshold on ACK
6. TCP Tahoe and Reno
Measure Tahoe Reno
Slow Start
Dynamic Window Sizing on
Congestion
Fast Retransmit
Fast Recovery
7. Problems with TCP Reno
Packet Level
Slow additive increase and Fast Multiplicative
decrease
Oscillations due to binary congestion singal
Flow Level
Very small loss probability required
Instability because of oscillations
8. TCP Vegas
Delay Based Congestion Control
New Retransmission Mechanism
On duplicate ACK retransmit if RTT > RTO, don’t
wait till 3 DACKs
Congestion Aviodance
Diff = Expected – Actual
Modified Slow Start
Alow exponential growth every other RTT
9. Congestion Window Update
TCP Vegas
cwnd + 1 if Diff<α
Cwnd = cwnd – 1 if Diff>β
cwnd otherwise
TCP FAST
cwnd + γ(α – Diff) if Diff<α
Cwnd = cwnd – γ(Diff - α) if Diff>α
cwnd otherwise
10. Implementation
___________________________________________
For earh source i :
Per ACK 1. Initialization : count i = wi and fastOni = 1
2. On arrival of each ACK of packet l
(a) RTTi (l ) = CurrentTime − TimeStampi (l )
3 1
(b) ρ = min ,
w 8
i
(c) ARTTi (l ) = (1 − ρ ) ARTTi (l ) + ( ρ ) RTTi (l )
(d) If fastOni = 1 :
wi (l )
i. Calculate ∆wi = γ d i + α i − wi
ARTTi (l )
ii. If ∆wi > β : wi = wi + 1
iii. If ∆wi < − β : wi = wi − 1
(e) count i = counti − 1
(f) If counti ≤ 0 : (One RTT is finished)
i. fastOni = 1 − fastOni
ii. count i = wi
iii. Call Fine Tuning Algorithm
___________________________________________
11. Implementation
Per RTT
___________________________________________
For each source i, on completetion of each RTT
wi (l )
1. Calculate ∆wi = γ d i + α i − wi
ARTTi (l )
2. If ∆wi ≥ 1 : wi = wi + 1
3. If ∆wi ≤ −1 : wi = wi − 1
___________________________________________