home  about us  research  people  publications  vacancies  seminars  events  contact

Hamilton Logo

TCP Congestion Control for Next Generation Networks

TCP plays a fundamental role in computer networks, including the internet, accounting for around 90% of traffic. TCP serves two purposes - it provides a reliable transport service (receipt of packets is positively acknowledged and dropped/damaged packets are retransmitted) and implements congestion control. The latter was introduced in the late 80's following congestion collapse of the internet, a stable regime where most of the work done by a network is wasted on retransmitted packets which are dropped before reaching their destination. Current versions of TCP probe for available bandwidth by gently increasing their send rate and then backing-off the send rate when network congestion is detected - congestion is inferred from the occurrence of dropped packets. In addition to preventing congestion collapse, this algorithm ensures a degree of fairness in the allocation of network resources between traffic flows. While this congestion control algorithm has proved remarkably durable, it is widely recognised that it is not well suited to next generation networks involving gigabit speed links and wireless connections.

  • On high-speed links, TCP probes for bandwidth too slowly. As a result, TCP sources are unresponsive and high-speed links are underutilised for much of the time leading to low throughput. While most pronounced on long distance gigabit links, underutilisation is a general feature of TCP on links with underprovisioned buffering, i.e. where the queue size is less than the bandwidth-delay product.
  • On wireless links, packets are dropped for many reasons unrelated to congestion - noise, interference, handover etc. Neverheless, TCP interprets all packet loss as indicating congestion and backs-off its send rate. Consequently, achieved throughput may be very low on noisy wireless channels. Forward error correction can be employed to reduce the loss rate on a wireless link, but introduces packet re-ordering and unpredictable delays which again lead to low throughput with current congestion control algorithms. These issues are likely to be greatly exacerbated by the trend towards mobile devices with multiple radio interfaces (802.11, GRPS, 3G, bluetooth) and the associated handover/adaptive routing of packets.

We are developing new congestion control algorithms suited to networks incorporating high-speed and wireless links.


Example of two HighSpeed-TCP (a current proposal - see here for details) flows - the second flow experiences a drop early in slow-start focussing attention on the sluggish response of the congestion avoidance algorithm.
(NS simulation: 500Mb bottleneck link, 100ms delay,
drop-tail queue 500 packets)
Example of two H-TCP (see here for details) flows illustrating the substantial improvement in responsiveness possible - while maintaining steady-state throughput - via alternative strategies .
(NS simulation: 500Mb bottleneck link, 100ms delay, drop-tail queue 500 packets)

For recent tests of H-TCP carried out at SLAC see here

UDP Congestion Control

While TCP currently accounts for around 90% of traffic on the internet, reliable transport is not required for streaming multimedia applications (in streaming audio, video, collabrative computer games etc the data transfer is time sensitive and dropped packets have littlevalue if delivered later) which is therefore usually transmitted using UDP. At present, such applications incorporate little or no congestion control. However, if their level of network penetration increases substantially, UDP congestion control algorithms are likely to become essential.