Presentation on theme: "Transport Layer3-1 TCP AIMD multiplicative decrease: cut CongWin in half after loss event additive increase: increase CongWin by 1 MSS every RTT in the."— Presentation transcript:
Transport Layer3-1 TCP AIMD multiplicative decrease: cut CongWin in half after loss event additive increase: increase CongWin by 1 MSS every RTT in the absence of loss events: probing Long-lived TCP connection
Transport Layer3-2 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 Layer3-3 Why is TCP fair? Two competing sessions: r Additive increase gives slope of 1, as throughout increases r multiplicative decrease decreases throughput proportionally R R equal bandwidth share Connection 1 throughput Connection 2 throughput congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2
Transport Layer3-4 Controlling Best-effort Traffic r Deployment of packet scheduling disciplines in routers to isolate each flow r End-to-end congestion control and use of incentives r Pricing mechanisms r All three approaches are not mutually exclusive
Transport Layer3-5 Unresponsive Flows r Do not use end-to-end congestion control and in particular, do not reduce their load on the network when subjected to packet drops r The result is both unfairness and congestion collapse
Transport Layer3-6 Unfairness r Bandwidth starvation that unresponsive flows can inflict on well-behaved responsive traffic r 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 Layer3-7 Unfairness(2) r Unresponsive UDP flows can effectively shut out the responsive TCP traffic under FCFS scheduling (Fig. 2) r Even when all flows are responsive TCP flows, FCFS scheduling does not always result in even distribution of bandwidth among those flows. (Fig.2) r Per-flow scheduling mechanisms like WRR results in fair distribution (Fig. 3)
Transport Layer3-8 Congestion Collapse r Classical congestion collapse -- resulting from unnecessary retransmission of packets r Still a stable condition that can result in a goodput that is a small fraction of normal. r Generally corrected by timer improvements
Transport Layer3-9 Congestion Collapse(2) r From undelivered packets r wasted bandwidth by delivering packets that are eventually dropped before reaching their destination r As UDP source rate increases linearly, the TCP goodput decreases roughly linearly and the UDP goodput is nearly constant. r As UDP flow increases its offered load, its only effect is to hurt the TCP (and aggregate) goodput (Fig. 4)
Transport Layer3-10 Router-based CC r Routers identify and regulate the misbehaving flows m efficiently estimate the arrival rate of high- bandwidth flows m They regulate a flow’s bandwidth by differentially scheduling packets from that flow or by preferentially dropping packets from that flow at the router r Active queue management using RED m a flow with significant fraction of dropped packets is likely to have a significant fraction of arriving packets
Transport Layer3-11 TCP-Friendly r A flow is TCP-friendly if its arrival rate does not exceed the arrival of a conformant TCP connection in the same circumstances r Conformant TCP connection throughput: m T <= (1.5 * sqrt(2/3) * B) / (R * sqrt(p)) --(1)
Transport Layer3-12 TCP Friendly Test r 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. m The router can estimate p by measuring the aggregate packet drop rate for each link output queue over a recent time interval r Given p, R and B, we can use (1) to calculate max arrival rate for a conformant TCP connection in similar circumstances
Transport Layer3-13 TCP-friendly Test r Identify a high-bandwidth best-effort flow as not TCP-friendly if its estimated arrival rate is greater than 1.45B/(R*sqrt(p)) r Remove restriction if its arrival rate returns to less than 1.22B /(R*sqrt(p)) for the new packet drop rate p.
Transport Layer3-14 Unresponsive flows r 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 r 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 Layer3-15 Disproportionate B/W r 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. r 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 Layer3-16 Discussion r Granularity: each TCP connection a flow? r Tests for aggregate flows r FCFS versus per-flow scheduling -- two extremes? r Middle range m FCFS with differential dropping? m Scheduling based on Class-based queueing(CBQ) or stochastic fair queueing (SFQ) r Parallel TCP connections?