16
Transport Layer 3-1 TCP AIMD 8 K bytes 1 6 K b ytes 2 4 K b ytes time congestion window 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

Congestion

Embed Size (px)

DESCRIPTION

Congestion

Citation preview

Page 1: Congestion

Transport Layer 3-1

TCP AIMD

8 Kbytes

16 Kbytes

24 Kbytes

time

congestionwindow

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

Page 2: Congestion

Transport Layer 3-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

bottleneckrouter

capacity R

TCP connection 2

TCP Fairness

Page 3: Congestion

Transport Layer 3-3

Why is TCP fair?

Two competing sessions: Additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally

R

R

equal bandwidth share

Connection 1 throughputConnect

ion 2

th

roughput

congestion avoidance: additive increaseloss: decrease window by factor of 2

congestion avoidance: additive increaseloss: decrease window by factor of 2

Page 4: Congestion

Transport Layer 3-4

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

Page 5: Congestion

Transport Layer 3-5

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

Page 6: Congestion

Transport Layer 3-6

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

Page 7: Congestion

Transport Layer 3-7

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)

Page 8: Congestion

Transport Layer 3-8

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

Page 9: Congestion

Transport Layer 3-9

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)

Page 10: Congestion

Transport Layer 3-10

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

Page 11: Congestion

Transport Layer 3-11

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)

Page 12: Congestion

Transport Layer 3-12

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

Page 13: Congestion

Transport Layer 3-13

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.

Page 14: Congestion

Transport Layer 3-14

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.

Page 15: Congestion

Transport Layer 3-15

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.

Page 16: Congestion

Transport Layer 3-16

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?