tcp vegas: new techniques for congestion detection and control

Post on 14-Jan-2016

226 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

Techniques

Fast retransmission

Congestion avoidance

Slow-start

New retransmission Mechanism

RTT Measurement

Reno: coarse-grained timer.

Vegas: fine-grained clock values.

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

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.

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

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.

Congestion avoidance Mechanism

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.

The algorithm

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

windowSize – the size of the current congestion window.

expected = windowSize / baseRTT

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: <

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

Modified Slow-start Mechanism

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

Experiments

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

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

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

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

Background Traffic Experiment – cont.

Traffic over1 MB Transfer

RenoVegas

Reno (KB/S)6882

Vegas (KB/S)8485

Throughput of Background Traffic

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

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?

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).

Conducted experiment

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

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

Summary

TCP Vegas – Is it really that good?

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

top related