Why end-to-end control not enough?
Problem: with common FCFS schedulers at routers, delay and delay variance increase very rapidly with load
average delay = 1 / [ServiceRate - ArrivalRate]
= 1 / [ServiceRate (1 - Load)]
delay variance = 1 / [ (1 - Load)]
As load increases, buffer overflows and router starts dropping packets
Solution: TCP reduces load (slow start and congestion avoidance algorithm)
2 TCP users on different hosts sharing the same bottleneck may get different share of the bandwidth (uncontrolled unfairness) ==> users should not trust network
Some users may not “play by the rules” and reduce their sending rates upon congestion, i.e. not TCP-friendly sources like a voice or video UDP-based application ==> network should not trust users