tfrc: tcp friendly rate control using tcp equation based congestion model

37
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003

Upload: kiona

Post on 01-Feb-2016

49 views

Category:

Documents


0 download

DESCRIPTION

TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model. CS 218 W 2003 Oct 29, 2003. References. S. Floyd, J. Padhye, J.Widmer “Equation Based Congestion Control for Unicast Applications”, Sigcomm 2000 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

CS 218 W 2003

Oct 29, 2003

Page 2: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

References

• S. Floyd, J. Padhye, J.Widmer “Equation Based Congestion Control for Unicast Applications”, Sigcomm 2000

• J. Padhye, V.Firoiu, D. Towsley, J. Kurose” Modeling TCP Throughput: a Simple Model and its Empirical Validation” Sigcomm 98

Page 3: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Congestion Control of UDP streaming traffic

• Uncontrolled UDP major threat to Internet stability• Best effort streaming traffic must be rate-controlled in a

way that it is TCP-friendly• Existing schemes (eg, RAP – Rate Adaptation Protocol) do

not include retx timeout and slow start; some use AIMD and window halfing (too abrupt)

• Also, some schemes do not scale as they react to each packet loss

• TFRC is TCP friendly in that it adjusts the rate by “mimicking” a TCP Reno connection using the TCP “equation” model; it provides smooth rate adaptation

Page 4: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

The equation was derived for TCP Reno; it relates source rate (Throughput) T to:

•Round trip delay R (measured at source)•Packet size s (measured at source)•Packet loss (congestion) rate p (fed back by rcv each RTT)•Retransmission time out tRTO (measured at source)

TCP Equation Model (Padhye et al)

Page 5: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Key Idea of TFRC

• Sender receives the feed back re packet loss event rate p from receiver every RTT

• Sender calculates new value of allowed sending rate; it increases/decreases current value to match the calculated rate

• In so doing, TFRC behaves like any other TCP Reno session (same equation); it produced the same external effects

Page 6: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Background on TCP cong. control Equation (from J. Padhye et al)

• A simple model relating T to RTT and p already existed (Floyd) – but did not account for TCP time out

The main innovation of Padhye’s work is to includethe Trto and the advertised window Wmax

Trto is important as most of packet loss leads to Time out, rather than 3 Dup ACKs

Page 7: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

The equation model

• Single “saturated” TCP sender pumping into a loaded bottleneck – the other flows are modeled only through bottleneck packet loss p

• TCP behavior modelled as a sequence of “rounds”

• The round begins when the sender sends out W pkts back-to-back (this takes < RTT)

• Round ends when receiver gets first ACK

• Packet loss p independent from round to round

• First model: the renewal interval is terminated by a Triple Dup ACK (TDP)

Page 8: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Model similar to the Markov model used for TCP Westwood – but, here, closed form

TDP = Markov renewal interval terminated by Triple Dup ACK; made up of several RTTs

Page 9: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Detail view of TDP model

b = # of packets acked by a single ACK (typically b =2; see details on Padhye’s paper

Page 10: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

TDP model

Page 11: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Next, include Trto in model

Now, the renewal interval is more complicated..

Page 12: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Finally, the advertised Window

Page 13: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Measurements and Trace Analysis

• Empirical validation from 37 TCP connections between 18 hosts in the US and Europe

• Measurement data gathered with TCP-Dump at sender; analyzed with UMASS tools

• From results, the importance of timeouts is obvious

Page 14: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 15: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 16: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Validation Experiments based on 1hr traces.Hourly traces were subdivided in 36 X 100s segments; each segment maps into a point on the T vs p graph

Summary data for the 100s traces

Page 17: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 18: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 19: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 20: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 21: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 22: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 23: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 24: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 25: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 26: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 27: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 28: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 29: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Full model:

Approximate model:

Page 30: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 31: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Back to TFRC

• Sender: measures various parameters; calculates the TCP-like rate corresponding to the measured parameters

• Receiver: provides feedback to sender to allow it to calculate RTT; also calculates loss event rate p

• The p rate computation critical for performance of TFRC. • Average Loss Interval: weighted average of loss rate over

the last N loss intervals (loss interval = interval of packets between loss episodes)

Page 32: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

NS Simulation results: TCP SACK +TFRC fair sharingNormalized TCP Thr =1 means perfect fairness

N TCP flows +N TFRC flows

Page 33: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

TFRC less aggressive than TCPTFRC internally unevenly “fair”

Page 34: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model
Page 35: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

40 “long lived” flows simulation: the 40 flows start in the first 20 s. We show bottleneck queue dynamics

Comment: TFRC (bottom) is as stable as TCP (top). TCP drop rate =4.9%; TFRC drop rate = 3.5%

Page 36: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Internet Measurements: 3 TCP connections – London to Berkeley. Throughput measured over 1 sec intervals

TFRC much more stable than TCP

Page 37: TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model

Conclusions

• TFRC valuable for best effort unicast streaming

• Simulation and Implementation code available for testing

• Multicast extension very attractive

• Need to include ECN in eq. model

• What about random link loss?