6-Congestion control & streaming Flashcards
..deals with handling bandwidth constraints on links
Resource control
Goal: “Fill the pipes without overflowing them”
Congestion control (remember the sink analogy)
Throughput that is less than the bottleneck link
Congestion collapse
Increase in load -> decrease in work
Collapse
Causes of collapse
1) Spurious re-transmission
2) Undelivered packets
Have better timers and use TCP congestion control
Solution to Spurious re-transmission
Apply congestion control to all traffic
Solution to Undelivered packets
Possible causes of congestion collapse
1) Spurious re-transmissions of packets in flight
2) Undelivered packets that consume resources in the network but achieve no useful work
2 main goals of congestion control:
1) Use network resources efficiently
2) Preserve fair allocation of resources for all senders
3) avoid congestion collapse
2 approaches to congestion control
1) End to End: Network provides no explicit feedback to the senders on when they should slow down their rates. No feedback from network (TCP)
Instead Congestion inferred by packet loss and delay
2) Network -Assisted: Routers provide feedback
-> set bit
-> explicit rates
TCP Congestion control
Senders continue to increase their rates until they see packet drops in the network. (Also known as AIMD)
TCP interprets packet loss as congestion and
slows down
TCP Congestion control
Increase algorithm: sender must test the network to determine if the network can sustain a higher sending rate
Decrease algorithm: Senders react to congestion to achieve optimal loss rates, delays and sending rates
Two approaches to adjusting rates
1) Window- based (AIMD) or additive increase/multiplicative decrease (Most common approach)
2) Rate-based: sender monitors the loss rate and uses a timer to modulate the transmission rate.
Main two goals of TCP congestion control
1) Efficiency: network resources are used well.
2) Fairness: every sender gets their “fair share” of the network resources.