Upload
bibin-raj-b-s
View
19
Download
0
Embed Size (px)
DESCRIPTION
Congestion
Citation preview
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
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
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
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
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
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
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)
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
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)
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
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)
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
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.
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.
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.
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?