tcp vegas: new techniques for congestion detection and avoidance

37
1 TCP Vegas: New Techniques for Congestion Detection and Avoidance Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science University of Arizona Tucson, AZ 85721 Presented By Khandoker Nadim Parvez Computer Science University of Calgary

Upload: curry

Post on 23-Jan-2016

41 views

Category:

Documents


0 download

DESCRIPTION

TCP Vegas: New Techniques for Congestion Detection and Avoidance. Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science University of Arizona Tucson, AZ 85721. Presented By Khandoker Nadim Parvez Computer Science University of Calgary. Outline. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

12

Vegas: Modified Congestion Avoidance

Page 13: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

20

Simulation Topology

• Target TCP runs from 1a to 1b• Background traffic runs from 3a to 3b

Page 21: TCP Vegas: New Techniques for Congestion Detection and Avoidance

21

TCP Reno with no Background Traffic

Page 22: TCP Vegas: New Techniques for Congestion Detection and Avoidance

22

TCP Vegas with no Background Traffic

Page 23: TCP Vegas: New Techniques for Congestion Detection and Avoidance

23

Vegas with Background Traffic

Page 24: TCP Vegas: New Techniques for Congestion Detection and Avoidance

24

Vegas: Simulation Result

Page 25: TCP Vegas: New Techniques for Congestion Detection and Avoidance

25

Vegas: Internet Experiments

Page 26: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

31

Vegas CA: Condition of Increment

RTTbaseRTT

WindowSize

RTT

baseRTTWindowSize

baseRTTRTT

WindowSize

baseRTT

WindowSizebaseRTT

ughputActualThroroughputExpectedTh

1

1*

*

)(

Page 32: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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 35: TCP Vegas: New Techniques for Congestion Detection and Avoidance

35

Questions ?

Page 36: TCP Vegas: New Techniques for Congestion Detection and Avoidance

36

THANKS

Page 37: TCP Vegas: New Techniques for Congestion Detection and Avoidance

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.