Network congestion occurs when a link or node is carrying so much data that its quality of service deteriorates. Typical effects include queueing delay, packet loss or the blocking of new connections. A consequence of the latter two effects is that an incremental increase in offered load leads either only to a small increase in network throughput, or to an actual reduction in network throughput.

Network protocols which use aggressive retransmissions to compensate for packet loss tend to keep systems in a state of network congestion, even after the initial load has been reduced to a level which would not normally have induced network congestion. The stable state with low throughput is known as congestive collapse. A fundamental problem is that all network resources are limited, including router processing time and link throughput.

Congestive collapse (or congestion collapse) is the condition in which congestion in a packet-switched computer network prevents or limits useful communication. Congestion collapse generally occurs at “choke points” in the network, where the total incoming traffic to a node exceeds the outgoing bandwidth. Connection points between a local area network and a wide area network are the most likely choke points.

A couple of mechanisms have been invented to prevent network congestion or to deal with a network collapse:

  • Network scheduler – a program in routers to do Active Queue Management
  • Explicit Congestion Notification – adds a flow control mechanism upon which both ends react appropriately
  • TCP congestion-avoidance algorithm – several implementations of efforts to deal with network congestion