
|
|
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
 |
 |
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.
|
|