6 829 Computer Networks Lecture 4 RouterAssisted Congestion
- Slides: 33
6. 829 Computer Networks Lecture 4: Router-Assisted Congestion Control Mohammad Alizadeh Fall 2016 1
Recap of last time End-to-end congestion control – Congestion signal: Packet loss – (TCP) sources dynamically set window – Goals: Efficiency & “Fairness” Additive increase, multiplicative decrease Window Loss halved t 2
Routers can do more than drop packets Congestion happens at the routers – Have a lot of visibility – Extent of congestion, queue size, which flows are misbehaving, etc. E 2 E congestion control cannot enforce isolation – Where the actions of one flow does not affect others Protecting against uncooperative (e. g. , malicious or buggy) sources needs router support 3
4
Outline How can routers help with congestion control? Active queue management – Random Early Detection (RED) – PI / PIE Explicit congestion control – ECN – XCP 5
How can routers help? Buffer management – Which packets to drop? – When to signal congestion? Today Congestion signaling – Drop, mark, send explicit messages Scheduling – Which flow’s packet to send next? Thursday
Active Queue Management 7
Drop-tail queues Sender 1 Losses due to buffer overflow - De-facto mechanism today Receiver Sender 2 + Very simple to implement - Filled buffers (large delay) - Synchronizes flows 8
Queuing delay in the wild: “Bufferbloat” ² Mark Allman, Comments on bufferbloat, SIGCOMM-CCR, 43(1), Jan. 2013 ² http: //www. icir. org/mallman/papers/bufferbloat-ccr 13. pdf 9
RTT affects soft-real-time apps ² R. Peon & W. Chan, SPDYEssentials, Google Tech Talk, 12/8/11
Random Early Detection (RED) Proposed in 1993 Proactively drop packets probabilistically to – Prevent onset of congestion by reacting early – Remove synchronization between flows
RED Operation Drop based on average queue length x(t) (EWMA algorithm used for averaging) P(drop) - q(t) - x(t) 1. 0 max. P minth maxth Avg queue length x(t): T: smoothed, averaged Every x(t) (1 - wtime – T) + wq *q(t) q) * x(t ² Based on slide by Vishal Misra (Columbia) t ->
RED Problems Many parameters – minth, maxth, wq (EWMA averaging), … Performance very sensitive to parameters – Tuning is difficult; control theory provides framework – Poorly tuned system can be worse than drop-tail Implemented in routers, but usually turned off 13
RED queue length depends on number of flows, RTT, … How does queue length change as the number of (long) TCP flows increases? P(drop) 1. 0 max. P minth maxth Avg queue length x(t) 14
Proportional Integral (PI) Three Ideas: 1. Remove EWMA Faster response than RED 2. Integral control Decouples queue length & number of flows 3. Use derivative of queue Improves stability (less oscillation)
Proportional Integral (PI) Algorithm Goal: Drive error to zero e(t) = q(t) – qref (“error”) q(t) qref Every T: p(t) p(t – T) + α*(q(t) – qref) (“Integral control”) 16
Proportional Integral (PI) Algorithm q(t) What’s different about these two points? qref t Every T: p(t) p(t – T) + α*(q(t) – qref) + β*(q(t) – q(t-T)) 17
PIE – PI “Enhanced” Control delay instead of queue length Auto-tune parameters α and β based on value of p Other heuristics (e. g. burst allowance) 18
Example: Varying TCP Traffic Intensity on 10 Mbps Link 150 Flows 100 Flows 50 Flows ² Credit: Rong Pan (Cisco) 100 Flows 50 Flows 19
PIE vs. RED Queuing Latency ² Credit: Rong Pan (Cisco) 20
PIE Drop Probability ² Credit: Rong Pan (Cisco) 21
Explicit Congestion Control 22
ECN: “mark” instead of drop Sender 1 ECN = Explicit Congestion Notification ECN Mark (1 bit) Receiver Sender 2 23
Beyond binary feedback Marks/drops are crude binary signals – Don’t tell source extent of congestion As a result, TCP must increase window slowly, and back off aggressively upon “congestion” – Esp. problematic in high BDP networks – Could take many RTTs to ramp up – Need big buffers to absorb TCP oscillations How can routers provide more information? 24
XCP: An e. Xplicit Control Protocol 1. Efficiency Controller 2. Fairness Controller ² Credit: Dina Katabi (MIT)
Motivation for Decoupling Router computes a flow’s fair rate explicitly To make a decision, router needs state of all flows Unscalable Shuffle bandwidth in aggregate to converge to fair rates To make a decision, router needs state of this flow Put a flow’s state in its packets [Stoica, CSFQ] Scalable ² Credit: Dina Katabi (MIT)
How does XCP Work? Round Trip Round Time Trip Time Congestion Window Feedback = + 0. 1 packet Congestion Header ² Credit: Dina Katabi (MIT)
How does XCP Work? Round Trip Time Congestion Window Feedback == +- 0. 3 0. 1 packet ² Credit: Dina Katabi (MIT)
How does XCP Work? Congestion Window = Congestion Window + Feedback Routers compute feedback without keeping any per-flow state ² Credit: Dina Katabi (MIT)
How Does an XCP Router Compute the Feedback? Efficiency Controller Fairness Controller Goal: Matches input traffic to link capacity & drains the queue Goal: Divides between flows to converge to fairness Looks at aggregate traffic & queue Looks at a flow’s state in Congestion Header Algorithm: Aggregate traffic changes by ~ Spare Bandwidth ~ - Queue Size So, = davg Spare - Queue Algorithm: If > 0 Divide equally between flows If < 0 Divide between flows proportionally to their current rates
Rate Control Protocol (RCP) Switch stamps packet with a rate: R(t). Receiver feeds back R(t). Source sends at R(t) 31
RCP Algorithm Control interval (average RTT) Estimate of # flows 32
33
- Circumciliary congestion and conjunctival congestion
- Congestion control principles
- Difference between datagram and virtual circuit approach
- Backbone networks in computer networks
- 01:640:244 lecture notes - lecture 15: plat, idah, farad
- Ieee-829
- Ieee 829 standard
- Txt 829
- Keputusan menteri kesehatan ri nomor 829/menkes/sk/vii/1999
- Test plan template ieee 829 на русском
- Network congestion causes
- Effects of traffic jam essay
- General principles of congestion control
- Traffic congestion conclusion
- In2140
- Congestion vs hyperemia
- Tcp congestion control
- Network provisioning in congestion control
- What are the general principles of congestion control
- Eneritis
- Congestion control in virtual circuit
- Udp congestion control
- Lobar pneumonia
- Carmen bove
- Heart failure cells are seen in lungs
- New reno tcp
- Principles of congestion control
- Congestion control in network layer
- Hop by hop choke packet
- Tcp connection management finite state machine
- Congestion
- Pletora mamaria
- Focal crypt abscess
- Circulatory disturbances pathology