Lesson 6 Congestion Control Mike Flashcards
What is the goal of Congestion Control?
The goal of Congestion Control is to “fill the internet’s pipes” without overflowing them
- Efficient throughput, fairness amongst resources & avoiding Congestion Collapse
What is Congestion Collapse?
- It is where an “increase in load causes a decrease in useful work”
- Happens when two streams merge together inefficiently
What causes Congestion Collapse and what are the solutions?
- Retransmissions of packets -> solved by better timers and to use TCP Congestion Control
- Undelivered packets -> solved by Congestion Control
What are the two different approaches to Congestion Control?
- End-To-End (TCP Congestion Control)
* Network Assisted
What is End-To-End (TCP) Congestion Control?
- all rates are inferred by packets loss & delays
- just keeps increasing rates until packets are lost then TCP interprets packet loss as congestion and backs off the rate
What are the two ways to adjust sending rates in End To End Congestion Control?
- Window-Based
* Rate-Based
What is Additive Increase?
It’s the part of the window based algorithm that increases the packet size by one every time the sender receives a successful ACK from the receiver
What is Multiplicative Decrease?
It’s the part of the window based algorithm that reduces the window size by half because we didn’t receive a successful ACK
What does AIMD stand for?
Additive Increase, Multiplicative Decrease
What is the Window-Based way to adjust sending rates?
AIMD - only allowed a certain number of packets “in flight” until it receives an Acknowledgement from the receiver
What is the Rate-Based way to adjust sending rates?
It monitors loss rates and uses timers to modulate rates
What is Network-Assisted congestion control?
It’s where routers provide feedback on sending rates and update sender if there is congestion and even give specific rates that the sender should be sending at
Given the below variables, what is the sending rate?
- RTT = 100 milliseconds
- Packet = 1 kB (1 Byte = 8 bits)
- Window Size = 10 packets
- 1 kB = 8 * 1000 = 8000 bits per packet
- 10 packets –> 8000 * 10 = 80,000 bits per window size
- So rate is 80,000 bits per 100 milliseconds or 80000/100 = 800 kB per second OR 800,000 bits per second
What increases when Additive Increase is applied?
EFFICIENCY
What increases when Multiplicative Decrease is applied?
FAIRNESS