170 likes | 244 Views
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.
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