106 Views

Download Presentation
##### TCP AIMD

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**multiplicative decrease: cut CongWin in half after loss**event TCP AIMD additive increase: increase CongWin by 1 MSS every RTT in the absence of loss events: probing Long-lived TCP connection Transport Layer**Fairness goal: if K TCP sessions share same bottleneck link**of bandwidth R, each should have average rate of R/K TCP connection 1 bottleneck router capacity R TCP connection 2 TCP Fairness Transport Layer**Two competing sessions:**Additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally Why is TCP fair? equal bandwidth share R loss: decrease window by factor of 2 congestion avoidance: additive increase Connection 2 throughput loss: decrease window by factor of 2 congestion avoidance: additive increase Connection 1 throughput R Transport Layer**Controlling Best-effort Traffic**• Deployment of packet scheduling disciplines in routers to isolate each flow • End-to-end congestion control and use of incentives • Pricing mechanisms • All three approaches are not mutually exclusive Transport Layer**Unresponsive Flows**• Do not use end-to-end congestion control and in particular, do not reduce their load on the network when subjected to packet drops • The result is both unfairness and congestion collapse Transport Layer**Unfairness**• Bandwidth starvation that unresponsive flows can inflict on well-behaved responsive traffic • For instance, TCP flows competing with unresponsive UDP flows for scarce bandwidth. TCP flows reduce their sending rates in response to congestion, leaving uncooperative UDP flows to use the available bandwidth Transport Layer**Unfairness(2)**• Unresponsive UDP flows can effectively shut out the responsive TCP traffic under FCFS scheduling (Fig. 2) • Even when all flows are responsive TCP flows, FCFS scheduling does not always result in even distribution of bandwidth among those flows. (Fig.2) • Per-flow scheduling mechanisms like WRR results in fair distribution (Fig. 3) Transport Layer**Congestion Collapse**• Classical congestion collapse -- resulting from unnecessary retransmission of packets • Still a stable condition that can result in a goodput that is a small fraction of normal. • Generally corrected by timer improvements Transport Layer**Congestion Collapse(2)**• From undelivered packets • wasted bandwidth by delivering packets that are eventually dropped before reaching their destination • As UDP source rate increases linearly, the TCP goodput decreases roughly linearly and the UDP goodput is nearly constant. • As UDP flow increases its offered load, its only effect is to hurt the TCP (and aggregate) goodput (Fig. 4) Transport Layer**Router-based CC**• Routers identify and regulate the misbehaving flows • efficiently estimate the arrival rate of high-bandwidth flows • They regulate a flow’s bandwidth by differentially scheduling packets from that flow or by preferentially dropping packets from that flow at the router • Active queue management using RED • a flow with significant fraction of dropped packets is likely to have a significant fraction of arriving packets Transport Layer**TCP-Friendly**• A flow is TCP-friendly if its arrival rate does not exceed the arrival of a conformant TCP connection in the same circumstances • Conformant TCP connection throughput: • T <= (1.5 * sqrt(2/3) * B) / (R * sqrt(p)) --(1) Transport Layer**TCP Friendly Test**• To apply the test, for each output link, a router should know the maximum packet size B in bytes for packets on that link and a minimum roundtrip time R for any flows using that link. • The router can estimate p by measuring the aggregate packet drop rate for each link output queue over a recent time interval • Given p, R and B, we can use (1) to calculate max arrival rate for a conformant TCP connection in similar circumstances Transport Layer**TCP-friendly Test**• Identify a high-bandwidth best-effort flow as not TCP-friendly if its estimated arrival rate is greater than 1.45B/(R*sqrt(p)) • Remove restriction if its arrival rate returns to less than 1.22B /(R*sqrt(p)) for the new packet drop rate p. Transport Layer**Unresponsive flows**• The steady-state drop rate increases by a factor of x and the presented load for a hi-b/w flow does not decrease by a factor reasonably close to sqrt(x) or more • test: identify a hi-b/w best-effort flow as unresponsive if the packet drop rate increases by more than a factor of 4, but the flow’s arrival rate has not decreased to below 90% of its previous value. Transport Layer**Disproportionate B/W**• Goal is to prevent flows from using a highly disproportionate share of the bandwidth when there is likely to be sufficient demand from other best-effort flows. • Identify as disproportionate b/w flow if the estimated arrival rate is greater than 12,000/sqrt(p) and the arrival rate is also greater than a fraction log(3n)/n of the best-effort bandwidth. Transport Layer**Discussion**• Granularity: each TCP connection a flow? • Tests for aggregate flows • FCFS versus per-flow scheduling -- two extremes? • Middle range • FCFS with differential dropping? • Scheduling based on Class-based queueing(CBQ) or stochastic fair queueing (SFQ) • Parallel TCP connections? Transport Layer