Download presentation
Presentation is loading. Please wait.
1
Transport Layer 3-1 09-Congestion control
2
Transport Layer 3-2 Approaches towards congestion control End-to-end congestion control: r no explicit feedback from network r congestion inferred from end-system observed loss, delay r approach taken by TCP Network-assisted congestion control: r routers provide feedback to end systems m bits indicating congestion m explicit rate sender should send at Two broad approaches towards congestion control:
3
Transport Layer 3-3 Case study: ATM ABR congestion control ABR: available bit rate: r “elastic service” r if sender’s path “underloaded”: m sender should use available bandwidth r if sender’s path congested: m sender throttled to minimum guaranteed rate RM (resource management) cells: r sent by sender, interspersed with data cells r bits in RM cell set by switches (“network-assisted”) r RM cells returned to sender by receiver, with bits intact
4
3-4 Case study: ATM ABR congestion control r EFCI (explicit forward congestion indication) bit in data cells: set to 1 in congested switch m if data cell preceding RM cell has EFCI set, sender sets CI bit in returned RM cell r CI(congestion indication) and NI(no increase) bits in RM cells m Switch sets NI to 1 (mild congestions) CI bit to 1(severe congestion) r two-byte ER (explicit rate) field in RM cell m congested switch may lower ER value in cell m sender’s send rate thus minimum supportable rate on path
5
Transport Layer 3-5 r end-end control (no network assistance) How does sender limit the rate? CongWin (congestion window) is dynamic, function of perceived network congestion r LastByteSent-LastByteAcked CongWin TCP Congestion Control How does sender perceive congestion? r loss event = timeout or 3 duplicate acks Three mechanisms to adapt CongWin: m AIMD m slow start m conservative after timeout events
6
Transport Layer 3-6 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 Long-lived TCP connection
7
Transport Layer 3-7 TCP Slow Start When connection begins, CongWin = 1 MSS r available bandwidth may be >> MSS/RTT m desirable to quickly ramp up to respectable rate r When connection begins, increase rate exponentially fast until first loss event m For every successful ACK, send two packets.
8
Transport Layer 3-8 TCP Slow Start (more) r When connection begins, increase rate exponentially until first loss event: double CongWin every RTT done by incrementing CongWin for every ACK received r Summary: initial rate is slow but ramps up exponentially fast Host A one segment RTT Host B time two segments four segments
9
Transport Layer 3-9 Refinement r After 3 dup ACKs: (AIMD) CongWin is cut in half m window then grows linearly r But after timeout event: CongWin instead set to 1 MSS; m window then grows exponentially to a threshold, then grows linearly 3 dup ACKs indicates network capable of delivering some segments timeout before 3 dup ACKs is “more alarming” Philosophy:
10
Transport Layer 3-10 Refinement (more) Q: When should the exponential increase switch to linear? A: When CongWin gets to 1/2 of its value before timeout. Implementation: r Variable Threshold r At loss event, Threshold is set to 1/2 of CongWin just before loss event 0 2 4 6 8 10 12 14 123456789101112131415 Transmission round congestion window size (segments) threshold
11
Transport Layer 3-11 Summary: TCP Congestion Control When CongWin is below Threshold, sender in slow-start phase, window grows exponentially. When CongWin is above Threshold, sender is in congestion-avoidance phase, window grows linearly. When a triple duplicate ACK occurs, Threshold set to CongWin/2 and CongWin set to Threshold. When timeout occurs, Threshold set to CongWin/2 and CongWin is set to 1 MSS.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.