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
Servers are ____ bandwidth and ____ latency
high bandwidth (can send a lot at one time)
low latency (have a short RTT to the sender and back)
What is Throughput Collapse occur?
It occurs because switches get overloaded due to small switch buffer lines
What is Barrier Synchronization and what problem does it fix?
It fixes Throughput Collapse by adjusting the granularity of retransmission timers to microseconds and ACK’ing every other packet
What are the challenges of multi-media streaming?
- Large volumes of data
- No constant rate due to variable volume of data
- low tolerance for delay variation or delay in general )but can tolerate some loss)
In video compression what are the main 2 types of compression called?
- Spatial Redundancy
* Temporal Redundancy
What is Spatial Redundancy?
It’s the video compression of a SINGLE image
What is Temporal Redundancy?
It’s the video compression across MULTIPLE images
What are Reference/Anchor frames?
They are the base frames that are used
What are Derived Frames (aka P Frames)?
a small variation on the base Anchor frame plus a few motion vectors