Download presentation
Presentation is loading. Please wait.
Published byTrevor Hawkins Modified over 9 years ago
1
Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides
2
2 TOC: Congestion Control Congestion control for bandwidth sharing Cheating TCP Buffer Size ECN RED TCP Unfairness TCP Vegas
3
3 Congestion Control: Questions How to avoid network congestion? How to recover from congestion? Congestion occurs at access link and access network How to share the links bandwidth? If bandwidth is allocated and enforced properly, no congestion should occur. Can improve treatment of flows E.g., one flow should not get a much smaller fraction of bandwidth Some flows might need some guaranteed bandwidth Discovering available bandwidth What is fair?
4
4 Questions: Available bandwidth? Example: = router = host 3 = link with bandwidth of 3Mbps (same for 6 and 10) x, y, z = throughput of flows
5
5 Questions: Available bandwidth? Example: What is available bandwidth? (See later) How does A “discover” the available bandwidth to B? Some approaches: 1.Reservation: e.g., TelephoneReservation 2.Adapt to congestion: TCPAdapt 3.Pricing congestion: research topicPricing
6
6 Available bandwidth: Reservation 1.Routers (or manager) keep track of reserved rates 2.A requests a rate R to B from the network 3.The network figures out if R is available 4.If R is available, routers (or manager) update reservations and confirm to A 5.Note: complex, slow, requires connection setup and enforcement
7
7 Available bandwidth: Adapt 1.Transmit and slow down if congestion occur 2.Example: Initially: x= 0, y = 3, z = 3 Then A increases its rate; C and E notice congestion and slow down Later, C stops: A and E increase rates 3.Notes: No guarantees: throughput may drop Key question: how to adapt rates, e.g., TCP
8
8 Available bandwidth: Pricing Example: When they get saturated, routers mark packets If a flow with rate R uses saturated links, it gets marks with rate R Each mark costs one unit Source slows down if price becomes excessive x= 1+, y = 2+, z = 2+ pA = 1 + 1; pC = pE = 2 x = 2+, y = 1+, z = 1+ pA = 2 + 2; pC = pE = 1
9
9 Questions: What is Fair? Example: x = y = z = 1.5: fair in max-min sense x = 0, y = z = 3: maximizes x + y + z 5x = 4y = 4z: equalizes resources flows use with x = 1.33, y = z = 1.67 What if A B needs 2Mbps? (and is willing to pay for it)
10
10 Cheating: Increase Faster AB x C DE y Limit rates: x = 2y C x y x increases by 2 MSS/RTT per RTT y increases by 1 MSS/RTT per RTT
11
11 Cheating: Increase Faster AB x C = 50 DE y time Rate
12
12 Cheating: Start SS with CongWin > 1 AB x C DE y x starts SS with CongWin = 4 y starts SS with CongWin = 1
13
13 Cheating: Open Many Connections AB x C DE y Assume A starts 10 connections to B D starts 1 connection to E Each connection gets about the same throughput Then A gets 10 times more throughput than D
14
14 ECN: Explicit Congestion Notification Standard TCP: Losses needed to detect congestion Wasteful and unnecessary ECN: When congested, routers mark (IP) packets instead of dropping them Destination marks ACKs of marked packets Source set CongWin = CongWin /2 when it sees mark Advantages: No time wasted to retransmit Link errors not confused with congestion Example: without ECN, at wireless link, packets can get corrupted by noise and interference, and get dropped eventually. Sender will think congestion has occurred.
15
15 Explicit Congestion Notification Illustration: AB CongWin = CongWin / 2 AB
16
16 Explicit Congestion Notification Backward Compatibility: Unused bits from TCP and IP headers are used for ECN. One bit in IP header indicates if hosts implement ECN If it does, router marks packet If it does not, router drops packet
17
17 RED Random Early Detection: As queue builds up, drop or mark packets with increasing probability (before queue gets full) Advantages: Avoids penalizing streams with large bursts This is done by keeping the queue size smaller than the buffer size Earlier marking reduces dropped packets De-synchronizes the source behaviors
18
18 RED: Illustration C Mbps PACKETS Calculate recent average of queue length: Qav Qav(n+1) = (1 – b) Qav(n) + b Q(n) 0 < b < 1 Determine drop or mark probability p(Qav): 1 0 k L H Qav
19
19 Router Buffers: Rule of Thumb Imagine that all connections on input port with rate R “burst” for RTT seconds (until stopped by RED) Router must store RxRTT for each port Example: 40 Gbps throughput (sum of port rates) RTT = 200 ms (worst case?) Then storage = 8 Gbits = (about) 1 GByte Question: Is this reasonable?
20
20 Unfairness Fact: TCP favors connections with short RTT Cause: Increase rate is 1 MSS/RTT, so that it is faster for connections with small RTT Recall our discussion of “Cheating RTT” It is quite possible for a connection to get only a few percent of its fair share Solutions: Modify TCP to increase in proportion to RTT? Problem: Estimate of RTT is noisy TCP Vegas (see next)
21
21 TCP Vegas Consider one queue: AB x C DE y Assume both connections have the same backlog Then they have the same throughput … Vegas Algorithm: Estimate backlog by Q = Outstanding – Rate Base_RTT Rate = Bytes_Sent_Successfully / Current_RTT If Q > 3 MSS, then slow down; otherwise, speed up Problem: Reno clobbers Vegas (unlike in real life)
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.