260 likes | 355 Views
Internet as a Dynamic System. Polly Huang NTU, EE http:/cc.ee.ntu.edu.tw/~phuang. Modeling TCP. Outlines: Reno TCP Queuing network approach Control theoretical approach Engineering approach. Reno TCP. Increase congestion window size slow start (cwnd < ssh): cwnd += 1
E N D
Internet as a Dynamic System Polly Huang NTU, EE http:/cc.ee.ntu.edu.tw/~phuang
Modeling TCP Outlines: Reno TCP Queuing network approach Control theoretical approach Engineering approach
Reno TCP • Increase congestion window size • slow start (cwnd < ssh): cwnd += 1 • steady state (cwnd ssh): cwnd += 1/cwnd • Decrease congestion window size • duplicated acknowledges: cwnd = cwnd/2 • timeout: cwnd = 1 • ssh = cwnd/2
TCP With Different ssh cwnd=1 cwnd=2 cwnd=4 ssh = 20 source sink cwnd=1 cwnd=2 cwnd~3 ssh = 2 source sink 2+1/2 = 5/2 5/2 + 2/5 = 29/10
cwnd/RTT (Round Trip Time) cwnd/packet 10-second Quiz Both curves represent some TCP attribute’s behavior. What are they? ssh ssh
Queuing Approach Assume fixed packet size: MSS BW = A*MSS/(Te-Ts) cwnd ssh A Time Ts Te
The Magical (1/p)1/2 • Show in a simplified analysis • infinitely long TCP connections • only in the steady state • cwnd += 1 per RTT • no timeouts • only duplicated acknowledges • cwnd /= 2 per drop • Average Bandwidth = • MSS/RTT * (3/2p)1/2
W3 W1 W2 W3/2 W1/2 W2/2 Saw Tooth Behavior
Deriving BW W: average tooth tip W/2: average tooth dip Total number of packets sent between two packet drops is: (W/2 + W) * (W/2) /2 = (3/8)W2 W W/2 p: probability of packet loss (3/8) W2 = 1/p W = (8/3p)1/2 BW = MSS * (3/8) W2 / (RTT * W/2) = MSS/RTT * (3/2p)1/2 RTT * W/2
Lakshman (Bell Lab) Jun 97’ Floyd (LBL) Oct 91’ Ott (Bellcore) Aug 96’ Mathis (PSC) Jul 97’ Padhye (U Mass) Sep 98’ Heidemann (ISI) Jun 97’ Cardwell (U Wash) Jul 00’ A Brief History Steady Connections Constant RTT! Short Connections
Control Theory Approach • A set of coupled differential equations • dW(t) as a function of RTT(t) • dRTT(t) as a function of W(t)
Dynamics of Window Size • steady state • cwnd += 1 per RTT • no timeouts • cwnd /=2per drop • dW(t) = 1/RTT(t) - W(t)/2 * p(drop)
Dynamics of RTT • dRTT(t) = Tfixed + dq(t) • In a bottleneck queue • Packets coming in : W(t)/RTT(t) • Packets going out : C (link rate) • dq(t) = -C + W(t)/RTT(t)
Deriving W(t), RTT(t), q(t) • 3 equations • dW(t) = 1/RTT(t) - W(t)/2 * p(drop) • dRTT(t) = Tfixed + dq(t) • dq(t) = -C + W(t)/RTT(t) • 4 variables? • W(t), RTT(t), q(t), p(drop) • p(drop): function of q(t)
Hybrid Modeling • p(drop) = 1, q(t)=qmax/C • dq(t) = 0 • non-stable state • p(drop) = 0, q(t)<qmax/C • dq(t) = -C + W(t)/RTT(t) • stable state
Normalization • Non-linear • dq(t) = -C + W(t)/RTT(t) • Take RTT as time unit, T • dt/dT = RTT(t) = Tfixed + q(t)/C • Linear • dq(T) = -C Tfixed – q(T) + W(T) • Can calculate # of steps to leave non-stable state
A Brief History Steady Connections Shenker (Xerox) Aug 90’ Keshav (UCB) Aug 91’ Misra (U Mass) Aug 00’ Hespanha (USC) Mar 01’ Steady state! TCP as smooth fluid!
Engineer’s Approach • Take results of traffic analysis seriously • Closed-loop control (fractal scaling) • Back-to-back packets (burstiness) • Model these two properties explicitly • TCP as packet trains • Use exhaustive tests to obtain • sizes and schedules of the trains • Represented as a finite state machine
n0 n1 TCP • A batch of packets per RTT or Timeout
2 4 ... ... 2 2 2 1 ... win=1, ssh=2 Constructing a Finite State Automata win=1, ssh=20 1
Light-weight TCP • Coarse-grain TCP behavior • FSA for Short TCP connections • Numbers of packets sent per round trip time or timeout • Combinations of packet drops • Preservation of the close-loop feedback control (the KEY property)
1 2 4 8 16 28-30 15-27 12 14 1 7 10 (7,7) 6 8 1 6 7 (6,6) 4 6 4 6 1 5 6 7 (5,5) 2+2 2 2 4 4 5 6 (4,4) 3 3 4 5 6 (3,3) 1 2 2 3 4 5 6 7 7 (wnd, ssh) = (1,2) Reno TCP (Partial)
Self-similar Periodic Multifractal Traffic Fingerprint FSA TCP’s delay difference is ~10msec!! Time series are taken every 10msec!! Not appropriate for multifractal analysis!!!
Quick Summary • Analyzing Internet • Characteristics • Efficient high-fidelity simulations • Performance analysis and protocol design • Modeling TCP • Queuing: average, fixed RTT • Control: variable RTT, smooth fluid • Engineering: bursty packet train, fractal
Questions? Polly Huang NTU, EE http://cc.ee.ntu.edu.tw/~phuang