What is congestion?

Congestion in communication networks such as the Internet causes large communication delays and packet loss, both of which degrade overall network efficiency. Congestion-control algorithms in transmission protocols like TCP exist to mitigate this.

Framed in control terms: the system is the network, the controlled output is congestion, the controllers are the congestion-avoidance algorithms inside protocols, and the control input is the user's sending rate. That sending rate is computed from a congestion window (the number of in-flight packets we wish to maintain) and from a congestion measure that reflects the level of congestion along the route. Common congestion measures are packet loss and delay. Loss-based measures are simple but tend to provoke congestion in order to detect it; delay-based protocols can preempt congestion but require separating round-trip time into queuing delays (variable) and propagation delays (constant).

Performance objectives

Beyond stability, several performance criteria matter in congestion-control design. Efficiency demands full use of the available bandwidth. Fairness demands that bandwidth is shared equitably among users in some defined sense. Cross-traffic adaptation requires that unregulated external traffic can pass through without destabilizing the controlled flows.

Users generally know almost nothing about the network they are using: not the number of intermediate queues, not the capacities of the links, not the path they take or its delays, not the number of other users on that path, and not the protocols those other users implement. They are asked to control a complex process with almost no information, which is what makes the design of efficient congestion-control protocols genuinely hard.

Why model congestion mathematically?

The first reason is rigor: a precise model is essential for analysis. The second is performance: a good model lets us prove stability properties, characterize trade-offs, and design protocols whose behavior can be predicted rather than merely tested. Delays here are particularly subtle: they are state-dependent and tied to queue lengths, making this one of the most interesting cases of time-delay control in practice.

Related publications

For the full list, see the publications page (search for "congestion", "TCP", or "network").