28
TCP Vegas: New Techniques for Congestion Detection and Control

TCP Vegas: New Techniques for Congestion Detection and Control

Embed Size (px)

Citation preview

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

TCP Vegas:

New Techniques for Congestion Detection and Control

Page 2: TCP Vegas: New Techniques for Congestion Detection and Control

Abstract

Vegas is a new implementation of TCP that achieves between 40% and 70% better throughput, with one-fifth to one-half the losses, as compared to the Reno implementation.

Page 3: TCP Vegas: New Techniques for Congestion Detection and Control

Techniques

Fast retransmission

Congestion avoidance

Slow-start

Page 4: TCP Vegas: New Techniques for Congestion Detection and Control

New retransmission Mechanism

Page 5: TCP Vegas: New Techniques for Congestion Detection and Control

RTT Measurement

Reno: coarse-grained timer.

Vegas: fine-grained clock values.

More accurate calculations of timeout, resulting faster detection of lost segments

Page 6: TCP Vegas: New Techniques for Congestion Detection and Control

Retransmission decision

Reno: when receiving n (usually 3) duplicate ACKs.

Vegas: when receiving duplicate ACK, checks if

timeout expired and if so, retransmits.when receiving a non-duplicate ACK (1st or

2nd after retransmission) , checks if timeout expired and if so, retransmits.

Page 7: TCP Vegas: New Techniques for Congestion Detection and Control

Retransmission exampleRcvd ACK for Packet 10 (11 and 12 are in transit).

Send packet 13 (which is lost).

Rcvd ACK for Packet 11. Send packet 14.

Rcvd ACK for Packet 12. Send packet 15 (which is lost)

Should have gotten ACK for packet 13

Rcvd dup ACK for packet 13 (due to packet 14). Vegas checks timeout for packet 13 and retransmits it. (Reno would need to wait for the 3rd dup ACK) Rcvd ACK for packet 13 and packet 14. Vegas checks timeout for packet 15 and retransmits it. (Reno would need to wait for the 3rd dup ACK)

One RTT

One RTT

Page 8: TCP Vegas: New Techniques for Congestion Detection and Control

Congestion window decrease

Reno: possible to decrease the congestion window more than once during one RTT.

Vegas: in case of multiple segment loss and more than one fast retransmission the congestion window is reduced only for the first fast retransmission.

Page 9: TCP Vegas: New Techniques for Congestion Detection and Control

Congestion avoidance Mechanism

Page 10: TCP Vegas: New Techniques for Congestion Detection and Control

Congestion detection

Reno: reactive – uses the loss of segments as a signal that there is congestion in the network.

Vegas: proactive – tries to detect incipient congestion by comparing the measured throughput to its notion of expected throughput.

Page 11: TCP Vegas: New Techniques for Congestion Detection and Control

The algorithm

baseRTT – RTT of a segment when the connection is not congested.

windowSize – the size of the current congestion window.

expected = windowSize / baseRTT

Page 12: TCP Vegas: New Techniques for Congestion Detection and Control

The algorithm – cont.

rttLen – number of bytes transmitted during the last RTT.

rtt – average RTT of the segments acknowledged during the last RTT.

actual = rttLen / rtt

diff = expected – actual

Define two thresholds: <

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

The algorithm – cont.

diff < increase the congestion window linearly during the next RTT.

diff > decrease the congestion window linearly during the next RTT.

< diff < do nothing

Page 14: TCP Vegas: New Techniques for Congestion Detection and Control

Modified Slow-start Mechanism

Page 15: TCP Vegas: New Techniques for Congestion Detection and Control

Congestion window increase

Reno: doubles congestion window size every RTT.Vegas: doubles congestion window size every other RTT (valid comparison of the expected and the actual rates).

Detect and avoid congestion during slow-start

Page 16: TCP Vegas: New Techniques for Congestion Detection and Control

Experiments

Page 17: TCP Vegas: New Techniques for Congestion Detection and Control

One-on-One Experiments

How TCP connections interfere with each other?

Network Configuration:

R1 R2

HOST 1A

HOST 2A

HOST 3A

HOST 1B

HOST 3B

HOST 2B

200 KB/S

50 ms delay

Page 18: TCP Vegas: New Techniques for Congestion Detection and Control

One-on-One Experiments - cont.

Reno/

Reno

Reno/ Vegas

Vegas/ Reno

Vegas/ Vegas

Throughput

(KB/s)

60/10961/12366/11974/131

Throughput

Ratios

1.00/

1.00

1.02/

1.13

1.10/

1.09

1.23/

1.2

Retransmissions30/2243/1.81.5/180.3/0.1

Retransmit

Ratios

1.00/

1.00

1.43/

0.08

0.05/

0.82

0.01/

0.01

Page 19: TCP Vegas: New Techniques for Congestion Detection and Control

Background Traffic Experiment

What is the performance of a TCP connection when the network is loaded with traffic?

Two kinds of experiments:Background traffic using RenoBackground traffic using Vegas

Page 20: TCP Vegas: New Techniques for Congestion Detection and Control

Background Traffic Experiment – cont.

RenoVegas-1,3Vegas-2,4

Throughput58.389.491.8

Throughput Ratios11.531.58

Retransmissions55.427.129.4

Retransmit Ratios10.490.53

Coarse Timeouts5.60.90.9

1 MB Transfer- Generated Background Reno Traffic

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

Background Traffic Experiment – cont.

Traffic over1 MB Transfer

RenoVegas

Reno (KB/S)6882

Vegas (KB/S)8485

Throughput of Background Traffic

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

Conclusions

When most of the traffic is from Reno connections it’s better to run Vegas.

When the whole world running VegasEnough buffers in the routers Vegas

Congestion mechanism is effective Load increases and/or number of router

buffers decreases Vegas behaves similarly to Reno

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

Algorithms In TCP Vegas

Q: Which of the techniques Q: Which of the techniques incorporated in TCP Vegas are incorporated in TCP Vegas are responsible for the performance responsible for the performance gains?gains?

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

2k Factorial Design

Determine the effect of k factors, each of them having two levels.

In case of TCP Vegas, these factors are the different algorithms. The factor levels are “on” and “off” (indicate whether the TCP Vegas algorithm is used or not).

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

Conducted experiment

The Vegas algorithms were clustered into three groups according to the phase they affect:Slow startCongestion avoidanceCongestion recovery

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

Experiment Results

Slow-start and Congestion recovery have the most influence on throughputCongestion detection mechanism during congestion avoidance, has only minor or negative effect on throughputCongestion detection mechanism may exhibit problems related to fairness among competing connections

Page 27: TCP Vegas: New Techniques for Congestion Detection and Control

Summary

TCP Vegas – Is it really that good?

Page 28: TCP Vegas: New Techniques for Congestion Detection and Control

References

Lawrence S. Brakmo, Sean W. O’Malley and Larry L. Peterson. TCP Vegas: New Techniques For Congestion Detection And Avoidance

U. Hengartner, J. Bolliger and Th. Gross. TCP Vegas Revisited