Page 1
1
TCP Vegas: New Techniques for Congestion
Detection and Avoidance
Lawrence S. Brakmo Sean W. O’Malley Larry L. PetersonDepartment of Computer Science
University of ArizonaTucson, AZ 85721
Presented By
Khandoker Nadim ParvezComputer Science
University of Calgary
Page 2
2
Outline
• Problem Statement / Motivation• Background: TCP/TCP Reno• TCP Vegas[1]
– Modified Congestion Avoidance– Aggressive Retransmission– Aggressive Window Adaptation– Modified Slow-Start
• Simulation Results• Vegas Revisit[2]
– Effectiveness of Vegas Techniques• Conclusion
Page 3
3
Problem Statement / Motivation• Problems of TCP (Reno)
– TCP needs packet loss to infer available bandwidth– TCP reduces transmission rate in response to each
packet loss
• Our motivation– To design a proactive TCP
• To design a TCP that will be able to track the bottleneck bandwidth without incurring packet loss
– To response to a loss event, not each packet loss• Multiple loss in a single window should be considered as a
single loss event and hence should reduce the transmission rate only one once
– To have a more aggressive TCP when we have proactive mechanism
• retransmission and transmission should be more aggressive
Page 4
4
Outline
• Problem Statement / Motivation• Background: TCP/TCP Reno• TCP Vegas
– Modified Congestion Avoidance– Aggressive Retransmission– Aggressive Window Adaptation– Modified Slow-Start
• Simulation Results• Vegas Revisit
– Effectiveness of Vegas Techniques• Conclusion
Page 5
5
Background: TCP
• Reliable ordered delivery– Reliability achieved by means of retransmissions if
necessary
• Cumulative acknowledgements– An acks acknowledges all contiguously received
data
• End-to-end semantics– Acknowledgements sent to TCP sender confirm
delivery of data received by TCP receiver
• Implements Congestion Control– Slow-Start– Congestion Avoidance
Page 6
6
TCP: Congestion Control
• Slow-Start Phase: When cwnd<ssthresh. cwnd increases exponentially,i.e. by 1 for each ACK.
• Congestion Avoidance Phase: When cwnd>ssthresh. Cwnd increases linearly, i.e., by 1 in each RTT.
• Transmission (without loss):– At 0 sec, cwnd=1 & speed= 1KB/S– At 1 sec, cwnd=2 & speed= 2KB/S– At 2 sec, cwnd=4 & speed= 4KB/S – At 3 sec, cwnd=8 & speed= 8KB/S– At 4 sec, cwnd=9 & speed= 9KB/S – At 5 sec, cwnd=10 & speed=10KB/S
0
2
4
6
8
10
12
14
0 1 2 3 4 5 6 7
Time (round trips)
Con
gest
ion
Win
dow
size
(c
wnd
) (se
gmen
ts)
Slow start
Congestionavoidance
Slow start threshold (ssthresh=8)
Receiver Window
SinkTCP
ACK
500ms, 20KB/S
Source
Page 7
7
TCP Reno• Slow-Start• Congestion Avoidance• Fast Retransmit
– Retransmits the loss packet when it receives 3 dupacks
• Fast Recovery– Enters into fast recovery with reception of 3 dupacks
• Sets ssthresh=cwnd/2
• Sets cwnd=cwnd/2+3
– Exits fast recovery when receives the acknowledgement of the lost packet
– Increases the congestion window by one for each received dupack
10 11 12 13 14 15 16 17 18 19
Packet Sequence: Window
Page 8
8
Outline
• Problem Statement / Motivation• Background: TCP/TCP Reno• TCP Vegas
– Modified Congestion Avoidance– Aggressive Retransmission– Aggressive Window Adaptation– Modified Slow-Start
• Simulation Results• Vegas Revisit
– Effectiveness of Vegas Techniques• Conclusion
Page 9
9
TCP Vegas
• Developed over TCP Reno• Modified Congestion Avoidance• Aggressive Retransmission (use fine grained
timer)– With dupacks– With partial acks
• Aggressive Congestion Window Adaptation– With recovery– With multiple loss– Initial setting
• Modified Slow-Start
Page 10
10
Vegas: Modified Congestion Avoidance
• Vegas Calculates (Once per RTT):Expected Throughput=WindowSize/BaseRTTActual Throughput=ActualSentAmount/RTT
• Static Parameters: = 1 pkts/RTT = 3 pkts/RTT
Page 11
11
Vegas: Modified Congestion Avoidance
Exp
ecte
d T
hrou
ghpu
t
Thr
ough
put
Act
ual
Th
rou
gh
pu
t
Act
ual
Th
rou
gh
pu
t
Act
ual
Th
rou
gh
pu
t
( T
x U
nch
ang
ed)
( D
ecre
ase
Tx)
( I
ncr
ease
Tx)
Page 12
12
Vegas: Modified Congestion Avoidance
Page 13
13
Vegas: Modified Congestion Avoidance
• TCP transmission rate = cwnd/RTT• TCP takes congestion window updating decision once per
RTT• The decision is applied throughput the next RTT for each
received ACK as follows:
• Increase Tx Rate (Expected-Actual>): : cwnd = cwnd + 1/cwnd
• Decrease Tx Rate (Expected-Actual<): cwnd = cwnd - 1/cwnd
• Tx Rate Unchanged (<Expected-Actual<): : cwnd = cwnd
Page 14
14
Vegas: Aggressive Retransmission
• With dupacks– When Vegas receives the first dupack or the second
dupacks, it checks the fine grained timer expiry– If timer expirers, it retransmits immediately
• With partial acks– For the first two partial acks, Vegas checks whether
fine grained timer expires– If timer expires, it retransmits immediately
10 11 12 13 14 15 16 17 18 19
Packet Sequence: Window
Page 15
15
Vegas: Aggressive cwnd Updating
• With recovery– Reduce cwnd by one quarter instead of half
when it enters into recovery
• With multiple loss– In case of multiple segment loss from a single
window, it reduces the cwnd only once
• With Initial setting– cwnd is set to 2 instead of 1
Page 16
16
Vegas: Modified Slow-Start
• Vegas Calculates (in every alternate RTT):Expected Throughput=WindowSize/BaseRTTActual Throughput=ActualSentAmount/RTT
• Static Parameters: = 1 pkts/RTT
Page 17
17
Vegas: Modified Slow-Start
Exp
ecte
d T
hrou
ghpu
t
Thr
ough
put
Act
ual
Th
rou
gh
pu
t
Act
ual
Th
rou
gh
pu
t
( S
wit
ch t
o C
A)
( C
on
tin
ue
SS
)
Page 18
18
Vegas: Modified Slow-Start
• TCP keeps the congestion window fixed in every other RTT and it measures the throughput
• On every next RTT, it does the followings:• Continue SS (Expected-Actual<):
Exponential Increase. cwnd = cwnd + 1 for each ACK, that is, Cwnd = 2 * cwnd for each RTT
• Switch to CA (Expected-Actual>): Set ssthresh=cwnd Follow the rules of CA
Page 19
19
Outline
• Problem Statement / Motivation• Background: TCP/TCP Reno• TCP Vegas
– Modified Congestion Avoidance– Aggressive Retransmission– Aggressive Window Adaptation– Modified Slow-Start
• Simulation Results• Vegas Revisit
– Effectiveness of Vegas Techniques• Conclusion
Page 20
20
Simulation Topology
• Target TCP runs from 1a to 1b• Background traffic runs from 3a to 3b
Page 21
21
TCP Reno with no Background Traffic
Page 22
22
TCP Vegas with no Background Traffic
Page 23
23
Vegas with Background Traffic
Page 24
24
Vegas: Simulation Result
Page 25
25
Vegas: Internet Experiments
Page 26
26
Outline
• Problem Statement / Motivation• Background: TCP/TCP Reno• TCP Vegas
– Modified Congestion Avoidance– Aggressive Retransmission– Aggressive Window Adaptation– Modified Slow-Start
• Simulation Results• Vegas Revisit
– Effectiveness of Vegas Techniques• Conclusion
Page 27
27
TCP Vegas Revisit: 3 Mechanisms
• Congestion Avoidance(CA)– Modified Congestion Avoidance
• Congestion Recovery(REC)– Aggressive Retransmission (use fine grained timer)
• With dupacks• With partial acks
– Aggressive Congestion Window Updating• With recovery• With multiple loss
• Slow-Start(SS)– Modified Slow-Start– Initial cwnd
Page 28
28
Percentage of Throughput Variation
LOW BACKGROUND TRAFFIC
RENO BG. VEGAS BG.
SS 28.15 8.28
CA 4.86 5.42
REC 21.89 26.91
Page 29
29
Percentage of Throughput Variation
HIGH BACKGROUND TRAFFIC
RENO BG. VEGAS BG.
SS 0.60 0.11
CA 1.20 0.23
REC 69.69 54.19
Page 30
30
Effectiveness of Vegas Mechanisms
• Congestion Avoidance(CA)– Modified Congestion Avoidance
• Congestion Recovery(REC)– Aggressive Retransmission (use fine grained timer)
• With dupacks• With partial acks (Retransmission with 1st/2nd partial ack)
– Aggressive Congestion Window Updating• With recovery (Reduction of cwnd by quarter)• With multiple loss
• Slow-Start(SS)– Modified Slow-Start– Initial cwnd
Page 31
31
Vegas CA: Condition of Increment
RTTbaseRTT
WindowSize
RTT
baseRTTWindowSize
baseRTTRTT
WindowSize
baseRTT
WindowSizebaseRTT
ughputActualThroroughputExpectedTh
1
1*
*
)(
Page 32
32
Vegas: Problems of CA [3]
• Unfair Treatment of Old Connections– Old connections have smaller baseRTT– Vegas decreases Tx Rate if
– Vegas increases Tx Rate if
• Persistent Congestion
RTTbaseRTT
WindowSize
1
RTTbaseRTT
WindowSize
1
Page 33
33
Outline
• Problem Statement / Motivation• Background: TCP/TCP Reno• TCP Vegas
– Modified Congestion Avoidance– Aggressive Retransmission– Aggressive Window Adaptation– Modified Slow-Start
• Simulation Results• Vegas Revisit
– Effectiveness of Vegas Techniques• Conclusion
Page 34
34
Vegas: Conclusion
• Less fluctuation– Less fluctuation in bottleneck queue– Less fluctuation in send rate
• Enhanced Throughput
• Better Utilization of bottleneck capacity
• Unfair treatment of old connection
• Ineffectiveness of congestion avoidance
Page 37
37
Bibliography
[1] Lawrence S. Brakmo and Larry L. Peterson, “TCP Vegas: End to end congestion avoidance on a global internet”, IEEE Journal on Selected Areas in Communication, 13(8):1465--1480, October 1995.
[2] U. Hengartner, J. Bolliger, and Th. Gross, "TCP Vegas Revisited," in Proc. of IEEE Infocom '2000, March 2000.
[3] Mo, R. J. La, V. Anantharam, and J. Walrand, “Analysis and comparison of TCP Reno and Vegas” , Proc. of IEEE INFOCOM'99, New York, NY, March 1999.