6 Congestion Control and Streaming Flashcards
What is congestion control
Fill the pipes without overflowing them
What is congestion collapse
throughput less than bottleneck link due to competing resources
What are causes of congestion collapse
Spurious retransmission
Undelivered packets
What are goals of congestion control
- Use network resources efficiently
- Preserve fair allocation of resources
- Avoid congestion collapse
What are two approaches for congestion control
- End-to-end (TCP)
- Network-assisted
End-to-end Network congestion control
- No feedback from network
- Congestion inferred by loss and delay
Network assisted congestion control
- Routers provide feedback
- single bit TCP(ECN) Explicit Congestion Notifications Extension
- Explicit rates
How does TCP Congestion Control work
- Sender increases rate until packets are dropped
- TCP interprets packet loss as congestion and slows down
1. Increase algorithm
2. Decrease algorithm
What are two approaches to adjusting rates
- Window based (AIMD)
- Rate-based
How does window-based congestion control work?
-Increased window size increases rate
Success: one packet increased window per round trip “additive increase”
Failure: window size reduced by half “multiplicative decrease”
How does rate-based congestion control work?
- monitor loss rate
- use timer to modulate
What is fairness in congestion control
everyone gets fair share
What is efficiency in congestion control
network resources are used well
Goal of AIMD
converge to fairness and efficiency
What part of AIMD addresses efficiency
additive increase improves efficiency
What part of AIMD address fairness
multiplicative decrease improves fairness
What is the TCP “Incast” problem
Data centers -small buffers -High "fan-in" -bursty retransmissions -TCP timeouts RTT << timeouts
Incast solution
- microsecond granularity retransmission
- acks for every other packet
Multimedia and Streaming Challenges
- Large volume of data
- Data volume varies over time
- Low tolerance for delay variation
- Low tolerance for delay, period (some loss is acceptable)
2 types of video compression
- spatial redundancy
- temporal redundancy
Spatial redundancy
image compression
Temporal redundancy
compression across images
What is an anchor frame
i frame -> reference frame
What is a derived frame
p frame -> anchor frame + “motion vectors”
Why is TPC not a good fit for streaming
- Reliable delivery
- Slowing down upon loss
- Protocol overhead
Why is UDP a fit for streaming?
- No retransmission
- No sending rate adoption
- ->higher layers must solve “TCP friendly”
What is a CDN
content distribution network
What is QoS?
Quality of service: marking and policing
What does QoS do?
- Apps compete for bandwidth
- scheduling using priority queues at router